From 251c33074a7ebd1ea37c4ee898432d8cb93b8b15 Mon Sep 17 00:00:00 2001 From: jwillmartin Date: Mon, 18 Mar 2024 18:15:48 -0400 Subject: [PATCH] updated files: src/tmx/Asn_J2735/include/asn_j2735_r2024 updated files: src/tmx/Asn_J2735/src/r2024 modified: src/tmx/TmxUtils/src/Conversions.h modified: src/tmx/TmxUtils/test/J2735MessageTest.cpp modified: src/v2i-hub/CswPlugin/src/DsrcBuilder.h --- .vscode/launch.json | 24 + .../asn_j2735_r2024/AddGrpB_DayOfWeek.h | 59 + .../include/asn_j2735_r2024/Altitude.h | 42 + .../include/asn_j2735_r2024/BMPString.h | 37 + .../BasicSafetyMessage-addGrpCarma.h | 56 + .../asn_j2735_r2024/CCMPartIIcontent.h | 66 ++ .../include/asn_j2735_r2024/DSRC_DayOfWeek.h | 56 + .../include/asn_j2735_r2024/DailySchedule.h | 41 + .../include/asn_j2735_r2024/DaySchedule.h | 41 + .../include/asn_j2735_r2024/DestinationType.h | 42 + .../include/asn_j2735_r2024/Duration.h | 45 + .../include/asn_j2735_r2024/ENUMERATED.h | 35 + .../include/asn_j2735_r2024/EpochMins.h | 46 + .../asn_j2735_r2024/EstimatedTimeType.h | 42 + .../include/asn_j2735_r2024/GeneralString.h | 34 + .../asn_j2735_r2024/GenericLocations.h | 150 +++ .../include/asn_j2735_r2024/ISO646String.h | 35 + .../include/asn_j2735_r2024/ITIScodes.h | 46 + .../asn_j2735_r2024/ITIScodesAndText.h | 69 ++ .../include/asn_j2735_r2024/ITIStext.h | 46 + .../include/asn_j2735_r2024/Id128b.h | 46 + .../Asn_J2735/include/asn_j2735_r2024/Id64b.h | 46 + .../IncidentResponseEquipment.h | 126 ++ .../include/asn_j2735_r2024/Latitude.h | 46 + .../include/asn_j2735_r2024/Longitude.h | 46 + .../asn_j2735_r2024/MobilityDynamicID.h | 44 + .../asn_j2735_r2024/MobilityECEFCoordinate.h | 44 + .../asn_j2735_r2024/MobilityECEFOffset.h | 42 + .../MobilityECEFOffsetCoordinate.h | 44 + .../include/asn_j2735_r2024/MobilityGUID.h | 44 + .../include/asn_j2735_r2024/MobilityHeader.h | 47 + .../asn_j2735_r2024/MobilityLocation.h | 44 + .../asn_j2735_r2024/MobilityLocationOffsets.h | 47 + .../include/asn_j2735_r2024/MobilityNeeds.h | 42 + .../asn_j2735_r2024/MobilityNeedsList.h | 47 + .../asn_j2735_r2024/MobilityNeedsType.h | 50 + .../asn_j2735_r2024/MobilityOperation.h | 42 + .../asn_j2735_r2024/MobilityParameters.h | 44 + .../include/asn_j2735_r2024/MobilityPath.h | 42 + .../asn_j2735_r2024/MobilityPlanType.h | 57 + .../include/asn_j2735_r2024/MobilityRequest.h | 61 + .../asn_j2735_r2024/MobilityResponse.h | 42 + .../asn_j2735_r2024/MobilityResponseFlag.h | 43 + .../asn_j2735_r2024/MobilityStaticID.h | 44 + .../asn_j2735_r2024/MobilityStrategy.h | 44 + .../asn_j2735_r2024/MobilityTimestamp.h | 44 + .../include/asn_j2735_r2024/MobilityUrgency.h | 44 + .../asn_j2735_r2024/ModeOfTransportType.h | 51 + .../include/asn_j2735_r2024/NativeReal.h | 39 + .../include/asn_j2735_r2024/NumericString.h | 35 + .../include/asn_j2735_r2024/ObjectDistance.h | 44 + .../include/asn_j2735_r2024/OffsetPoint.h | 41 + .../include/asn_j2735_r2024/PartII-Id.h | 49 + .../include/asn_j2735_r2024/PartIIcontent.h | 44 +- .../include/asn_j2735_r2024/PathNode.h | 43 + .../asn_j2735_r2024/PersonalMobilityMessage.h | 85 ++ .../PersonalMobilityMessageStatusType.h | 52 + .../include/asn_j2735_r2024/PitchRate.h | 44 + .../asn_j2735_r2024/Position3D-addGrpCarma.h | 48 + .../asn_j2735_r2024/PositionOffsetXYZ.h | 42 + .../include/asn_j2735_r2024/PrintableString.h | 35 + .../Asn_J2735/include/asn_j2735_r2024/REAL.h | 51 + .../include/asn_j2735_r2024/RepeatParams.h | 42 + .../asn_j2735_r2024/ResponderGroupAffected.h | 68 ++ .../include/asn_j2735_r2024/RollRate.h | 44 + .../include/asn_j2735_r2024/Schedule.h | 65 + .../include/asn_j2735_r2024/SeatCount.h | 42 + .../include/asn_j2735_r2024/T61String.h | 34 + .../include/asn_j2735_r2024/TeletexString.h | 34 + .../include/asn_j2735_r2024/TestMessage00.h | 20 +- .../include/asn_j2735_r2024/TestMessage01.h | 20 +- .../include/asn_j2735_r2024/TestMessage02.h | 18 +- .../include/asn_j2735_r2024/TestMessage03.h | 20 +- .../include/asn_j2735_r2024/TestMessage04.h | 20 +- .../include/asn_j2735_r2024/TestMessage05.h | 20 +- .../asn_j2735_r2024/TrafficControlBounds.h | 58 + .../asn_j2735_r2024/TrafficControlDetail.h | 146 +++ .../asn_j2735_r2024/TrafficControlGeometry.h | 66 ++ .../asn_j2735_r2024/TrafficControlMessage.h | 59 + .../TrafficControlMessageV01.h | 61 + .../asn_j2735_r2024/TrafficControlPackage.h | 49 + .../asn_j2735_r2024/TrafficControlParams.h | 53 + .../asn_j2735_r2024/TrafficControlPathPart.h | 56 + .../asn_j2735_r2024/TrafficControlRequest.h | 59 + .../TrafficControlRequestV01.h | 57 + .../asn_j2735_r2024/TrafficControlSchedule.h | 60 + .../asn_j2735_r2024/TrafficControlType.h | 74 ++ .../asn_j2735_r2024/TrafficControlValue.h | 113 ++ .../asn_j2735_r2024/TrafficControlVehClass.h | 73 ++ .../include/asn_j2735_r2024/UTCTime.h | 47 + .../include/asn_j2735_r2024/UTF8String.h | 60 + .../include/asn_j2735_r2024/UUIDType.h | 42 + .../include/asn_j2735_r2024/UniversalString.h | 35 + .../asn_j2735_r2024/VehicleDescriptionType.h | 42 + .../asn_j2735_r2024/VehicleGroupAffected.h | 89 ++ .../include/asn_j2735_r2024/VideotexString.h | 34 + .../include/asn_j2735_r2024/VisibleString.h | 36 + .../include/asn_j2735_r2024/constr_SET.h | 86 ++ .../Asn_J2735/src/r2024/AddGrpB_DayOfWeek.c | 68 ++ src/tmx/Asn_J2735/src/r2024/Altitude.c | 84 ++ .../r2024/BasicSafetyMessage-addGrpCarma.c | 171 +++ .../Asn_J2735/src/r2024/BasicSafetyMessage.c | 2 +- .../Asn_J2735/src/r2024/CCMPartIIcontent.c | 284 +++++ src/tmx/Asn_J2735/src/r2024/DSRC_DayOfWeek.c | 31 + src/tmx/Asn_J2735/src/r2024/DailySchedule.c | 126 ++ src/tmx/Asn_J2735/src/r2024/DaySchedule.c | 126 ++ src/tmx/Asn_J2735/src/r2024/Duration.c | 76 ++ src/tmx/Asn_J2735/src/r2024/EpochMins.c | 70 ++ .../Asn_J2735/src/r2024/GenericLocations.c | 258 ++++ src/tmx/Asn_J2735/src/r2024/ITIScodes.c | 76 ++ .../Asn_J2735/src/r2024/ITIScodesAndText.c | 215 ++++ src/tmx/Asn_J2735/src/r2024/ITIStext.c | 91 ++ src/tmx/Asn_J2735/src/r2024/Id128b.c | 65 + src/tmx/Asn_J2735/src/r2024/Id64b.c | 65 + .../src/r2024/IncidentResponseEquipment.c | 210 ++++ src/tmx/Asn_J2735/src/r2024/Latitude.c | 76 ++ src/tmx/Asn_J2735/src/r2024/Longitude.c | 76 ++ .../Asn_J2735/src/r2024/MobilityDynamicID.c | 79 ++ .../src/r2024/MobilityECEFCoordinate.c | 64 + .../Asn_J2735/src/r2024/MobilityECEFOffset.c | 70 ++ .../src/r2024/MobilityECEFOffsetCoordinate.c | 64 + src/tmx/Asn_J2735/src/r2024/MobilityGUID.c | 79 ++ src/tmx/Asn_J2735/src/r2024/MobilityHeader.c | 90 ++ .../Asn_J2735/src/r2024/MobilityLocation.c | 80 ++ .../src/r2024/MobilityLocationOffsets.c | 52 + .../Asn_J2735/src/r2024/MobilityOperation.c | 60 + .../Asn_J2735/src/r2024/MobilityParameters.c | 79 ++ src/tmx/Asn_J2735/src/r2024/MobilityPath.c | 60 + .../Asn_J2735/src/r2024/MobilityPlanType.c | 64 + src/tmx/Asn_J2735/src/r2024/MobilityRequest.c | 122 ++ .../Asn_J2735/src/r2024/MobilityResponse.c | 60 + .../src/r2024/MobilityResponseFlag.c | 31 + .../Asn_J2735/src/r2024/MobilityStaticID.c | 79 ++ .../Asn_J2735/src/r2024/MobilityStrategy.c | 79 ++ .../Asn_J2735/src/r2024/MobilityTimestamp.c | 79 ++ src/tmx/Asn_J2735/src/r2024/MobilityUrgency.c | 64 + src/tmx/Asn_J2735/src/r2024/ObjectDistance.c | 64 + src/tmx/Asn_J2735/src/r2024/OffsetPoint.c | 126 ++ src/tmx/Asn_J2735/src/r2024/PartII-Id.c | 76 ++ src/tmx/Asn_J2735/src/r2024/PartIIcontent.c | 100 +- src/tmx/Asn_J2735/src/r2024/PathNode.c | 214 ++++ src/tmx/Asn_J2735/src/r2024/PitchRate.c | 64 + .../src/r2024/Position3D-addGrpCarma.c | 104 ++ .../Asn_J2735/src/r2024/PositionOffsetXYZ.c | 72 ++ src/tmx/Asn_J2735/src/r2024/RepeatParams.c | 169 +++ .../src/r2024/ResponderGroupAffected.c | 94 ++ src/tmx/Asn_J2735/src/r2024/RollRate.c | 64 + src/tmx/Asn_J2735/src/r2024/Schedule.c | 328 +++++ src/tmx/Asn_J2735/src/r2024/TestMessage00.c | 49 +- src/tmx/Asn_J2735/src/r2024/TestMessage01.c | 49 +- src/tmx/Asn_J2735/src/r2024/TestMessage02.c | 52 +- src/tmx/Asn_J2735/src/r2024/TestMessage03.c | 52 +- src/tmx/Asn_J2735/src/r2024/TestMessage04.c | 64 +- src/tmx/Asn_J2735/src/r2024/TestMessage05.c | 64 +- .../src/r2024/TrafficControlBounds.c | 159 +++ .../src/r2024/TrafficControlDetail.c | 1053 +++++++++++++++++ .../src/r2024/TrafficControlGeometry.c | 372 ++++++ .../src/r2024/TrafficControlMessage.c | 65 + .../src/r2024/TrafficControlMessageV01.c | 231 ++++ .../src/r2024/TrafficControlPackage.c | 189 +++ .../src/r2024/TrafficControlParams.c | 159 +++ .../src/r2024/TrafficControlPathPart.c | 265 +++++ .../src/r2024/TrafficControlRequest.c | 65 + .../src/r2024/TrafficControlRequestV01.c | 225 ++++ .../src/r2024/TrafficControlSchedule.c | 171 +++ .../Asn_J2735/src/r2024/TrafficControlType.c | 98 ++ .../Asn_J2735/src/r2024/TrafficControlValue.c | 539 +++++++++ .../src/r2024/TrafficControlVehClass.c | 92 ++ .../src/r2024/VehicleGroupAffected.c | 136 +++ src/tmx/TmxUtils/src/Conversions.h | 2 +- src/tmx/TmxUtils/test/J2735MessageTest.cpp | 1 - src/v2i-hub/CswPlugin/src/DsrcBuilder.h | 13 +- 172 files changed, 13696 insertions(+), 398 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/AddGrpB_DayOfWeek.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/Altitude.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/BMPString.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/BasicSafetyMessage-addGrpCarma.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/CCMPartIIcontent.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/DSRC_DayOfWeek.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/DailySchedule.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/DaySchedule.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/DestinationType.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/Duration.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/ENUMERATED.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/EpochMins.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/EstimatedTimeType.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/GeneralString.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/GenericLocations.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/ISO646String.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIScodes.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIScodesAndText.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIStext.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/Id128b.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/Id64b.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/IncidentResponseEquipment.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/Latitude.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/Longitude.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityDynamicID.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFCoordinate.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFOffset.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFOffsetCoordinate.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityGUID.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityHeader.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityLocation.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityLocationOffsets.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeeds.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeedsList.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeedsType.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityOperation.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityParameters.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityPath.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityPlanType.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityRequest.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityResponse.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityResponseFlag.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityStaticID.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityStrategy.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityTimestamp.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityUrgency.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/ModeOfTransportType.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/NativeReal.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/NumericString.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/ObjectDistance.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/OffsetPoint.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/PartII-Id.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/PathNode.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/PersonalMobilityMessage.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/PersonalMobilityMessageStatusType.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/PitchRate.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/Position3D-addGrpCarma.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/PositionOffsetXYZ.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/PrintableString.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/REAL.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/RepeatParams.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/ResponderGroupAffected.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/RollRate.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/Schedule.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/SeatCount.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/T61String.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TeletexString.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlBounds.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlDetail.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlGeometry.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlMessage.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlMessageV01.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlPackage.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlParams.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlPathPart.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlRequest.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlRequestV01.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlSchedule.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlType.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlValue.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlVehClass.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/UTCTime.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/UTF8String.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/UUIDType.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/UniversalString.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/VehicleDescriptionType.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/VehicleGroupAffected.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/VideotexString.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/VisibleString.h create mode 100644 src/tmx/Asn_J2735/include/asn_j2735_r2024/constr_SET.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AddGrpB_DayOfWeek.c create mode 100644 src/tmx/Asn_J2735/src/r2024/Altitude.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage-addGrpCarma.c create mode 100644 src/tmx/Asn_J2735/src/r2024/CCMPartIIcontent.c create mode 100644 src/tmx/Asn_J2735/src/r2024/DSRC_DayOfWeek.c create mode 100644 src/tmx/Asn_J2735/src/r2024/DailySchedule.c create mode 100644 src/tmx/Asn_J2735/src/r2024/DaySchedule.c create mode 100644 src/tmx/Asn_J2735/src/r2024/Duration.c create mode 100644 src/tmx/Asn_J2735/src/r2024/EpochMins.c create mode 100644 src/tmx/Asn_J2735/src/r2024/GenericLocations.c create mode 100644 src/tmx/Asn_J2735/src/r2024/ITIScodes.c create mode 100644 src/tmx/Asn_J2735/src/r2024/ITIScodesAndText.c create mode 100644 src/tmx/Asn_J2735/src/r2024/ITIStext.c create mode 100644 src/tmx/Asn_J2735/src/r2024/Id128b.c create mode 100644 src/tmx/Asn_J2735/src/r2024/Id64b.c create mode 100644 src/tmx/Asn_J2735/src/r2024/IncidentResponseEquipment.c create mode 100644 src/tmx/Asn_J2735/src/r2024/Latitude.c create mode 100644 src/tmx/Asn_J2735/src/r2024/Longitude.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityDynamicID.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityECEFCoordinate.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityECEFOffset.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityECEFOffsetCoordinate.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityGUID.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityHeader.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityLocation.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityLocationOffsets.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityOperation.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityParameters.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityPath.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityPlanType.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityRequest.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityResponse.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityResponseFlag.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityStaticID.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityStrategy.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityTimestamp.c create mode 100644 src/tmx/Asn_J2735/src/r2024/MobilityUrgency.c create mode 100644 src/tmx/Asn_J2735/src/r2024/ObjectDistance.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetPoint.c create mode 100644 src/tmx/Asn_J2735/src/r2024/PartII-Id.c create mode 100644 src/tmx/Asn_J2735/src/r2024/PathNode.c create mode 100644 src/tmx/Asn_J2735/src/r2024/PitchRate.c create mode 100644 src/tmx/Asn_J2735/src/r2024/Position3D-addGrpCarma.c create mode 100644 src/tmx/Asn_J2735/src/r2024/PositionOffsetXYZ.c create mode 100644 src/tmx/Asn_J2735/src/r2024/RepeatParams.c create mode 100644 src/tmx/Asn_J2735/src/r2024/ResponderGroupAffected.c create mode 100644 src/tmx/Asn_J2735/src/r2024/RollRate.c create mode 100644 src/tmx/Asn_J2735/src/r2024/Schedule.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlBounds.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlDetail.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlGeometry.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlMessage.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlMessageV01.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlPackage.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlParams.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlPathPart.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlRequest.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlRequestV01.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlSchedule.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlType.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlValue.c create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficControlVehClass.c create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleGroupAffected.c diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..96463b839 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": false, + "cwd": "/home/willdesk/TestCode/V2X-Hub/src/tmx/Asn_J2735/src/r2024", + "program": "/home/willdesk/TestCode/V2X-Hub/src/tmx/Asn_J2735/src/r2024/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "/usr/bin/gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/AddGrpB_DayOfWeek.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/AddGrpB_DayOfWeek.h new file mode 100644 index 000000000..e60b82fee --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/AddGrpB_DayOfWeek.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _AddGrpB_DayOfWeek_H_ +#define _AddGrpB_DayOfWeek_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum AddGrpB_DayOfWeek { + AddGrpB_DayOfWeek_unknown = 0, + AddGrpB_DayOfWeek_monday = 1, + AddGrpB_DayOfWeek_tuesday = 2, + AddGrpB_DayOfWeek_wednesday = 3, + AddGrpB_DayOfWeek_thursday = 4, + AddGrpB_DayOfWeek_friday = 5, + AddGrpB_DayOfWeek_saturday = 6, + AddGrpB_DayOfWeek_sunday = 7 +} e_AddGrpB_DayOfWeek; + +/* AddGrpB_DayOfWeek */ +typedef long AddGrpB_DayOfWeek_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_AddGrpB_DayOfWeek_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_AddGrpB_DayOfWeek; +extern const asn_INTEGER_specifics_t asn_SPC_AddGrpB_DayOfWeek_specs_1; +asn_struct_free_f AddGrpB_DayOfWeek_free; +asn_struct_print_f AddGrpB_DayOfWeek_print; +asn_constr_check_f AddGrpB_DayOfWeek_constraint; +ber_type_decoder_f AddGrpB_DayOfWeek_decode_ber; +der_type_encoder_f AddGrpB_DayOfWeek_encode_der; +xer_type_decoder_f AddGrpB_DayOfWeek_decode_xer; +xer_type_encoder_f AddGrpB_DayOfWeek_encode_xer; +oer_type_decoder_f AddGrpB_DayOfWeek_decode_oer; +oer_type_encoder_f AddGrpB_DayOfWeek_encode_oer; +per_type_decoder_f AddGrpB_DayOfWeek_decode_uper; +per_type_encoder_f AddGrpB_DayOfWeek_encode_uper; +per_type_decoder_f AddGrpB_DayOfWeek_decode_aper; +per_type_encoder_f AddGrpB_DayOfWeek_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _AddGrpB_DayOfWeek_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/Altitude.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Altitude.h new file mode 100644 index 000000000..693751b62 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Altitude.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _Altitude_H_ +#define _Altitude_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "AltitudeValue.h" +#include "AltitudeConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Altitude */ +typedef struct Altitude { + AltitudeValue_t value; + AltitudeConfidence_t confidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Altitude_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Altitude; +extern asn_SEQUENCE_specifics_t asn_SPC_Altitude_specs_1; +extern asn_TYPE_member_t asn_MBR_Altitude_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Altitude_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/BMPString.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/BMPString.h new file mode 100644 index 000000000..198b9e5e6 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/BMPString.h @@ -0,0 +1,37 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _BMPString_H_ +#define _BMPString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t BMPString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_BMPString; +extern asn_TYPE_operation_t asn_OP_BMPString; +extern asn_OCTET_STRING_specifics_t asn_SPC_BMPString_specs; + +asn_struct_print_f BMPString_print; /* Human-readable output */ +xer_type_decoder_f BMPString_decode_xer; +xer_type_encoder_f BMPString_encode_xer; + +#define BMPString_free OCTET_STRING_free +#define BMPString_print BMPString_print +#define BMPString_compare OCTET_STRING_compare +#define BMPString_constraint asn_generic_no_constraint +#define BMPString_decode_ber OCTET_STRING_decode_ber +#define BMPString_encode_der OCTET_STRING_encode_der +#define BMPString_decode_uper OCTET_STRING_decode_uper +#define BMPString_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _BMPString_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/BasicSafetyMessage-addGrpCarma.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/BasicSafetyMessage-addGrpCarma.h new file mode 100644 index 000000000..2eb779f66 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/BasicSafetyMessage-addGrpCarma.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpCarma" + * found in "J2735_201603_2022-11-21.asn" + * `asn1c -fcompound-names -D ../include/generated/` + */ + +#ifndef _BasicSafetyMessage_addGrpCarma_H_ +#define _BasicSafetyMessage_addGrpCarma_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 Position3D_addGrpCarma; + +/* BasicSafetyMessage-addGrpCarma */ +typedef struct BasicSafetyMessage_addGrpCarma { + struct BasicSafetyMessage_addGrpCarma__routeDestinationPoints { + A_SEQUENCE_OF(struct Position3D_addGrpCarma) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *routeDestinationPoints; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} BasicSafetyMessage_addGrpCarma_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_BasicSafetyMessage_addGrpCarma; +extern asn_SEQUENCE_specifics_t asn_SPC_BasicSafetyMessage_addGrpCarma_specs_1; +extern asn_TYPE_member_t asn_MBR_BasicSafetyMessage_addGrpCarma_1[1]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "Position3D-addGrpCarma.h" + +#endif /* _BasicSafetyMessage_addGrpCarma_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/CCMPartIIcontent.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/CCMPartIIcontent.h new file mode 100644 index 000000000..c792ba3cf --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/CCMPartIIcontent.h @@ -0,0 +1,66 @@ +/* + * 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 _CCMPartIIcontent_H_ +#define _CCMPartIIcontent_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; + +/* CCMPartIIcontent */ +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 /* _CCMPartIIcontent_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/DSRC_DayOfWeek.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/DSRC_DayOfWeek.h new file mode 100644 index 000000000..d826b978d --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/DSRC_DayOfWeek.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _DSRC_DayOfWeek_H_ +#define _DSRC_DayOfWeek_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum DSRC_DayOfWeek { + DSRC_DayOfWeek_sun = 6, + DSRC_DayOfWeek_mon = 5, + DSRC_DayOfWeek_tue = 4, + DSRC_DayOfWeek_wed = 3, + DSRC_DayOfWeek_thu = 2, + DSRC_DayOfWeek_fri = 1, + DSRC_DayOfWeek_sat = 0 +} e_DSRC_DayOfWeek; + +/* DSRC_DayOfWeek */ +typedef BIT_STRING_t DSRC_DayOfWeek_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DSRC_DayOfWeek; +asn_struct_free_f DSRC_DayOfWeek_free; +asn_struct_print_f DSRC_DayOfWeek_print; +asn_constr_check_f DSRC_DayOfWeek_constraint; +ber_type_decoder_f DSRC_DayOfWeek_decode_ber; +der_type_encoder_f DSRC_DayOfWeek_encode_der; +xer_type_decoder_f DSRC_DayOfWeek_decode_xer; +xer_type_encoder_f DSRC_DayOfWeek_encode_xer; +oer_type_decoder_f DSRC_DayOfWeek_decode_oer; +oer_type_encoder_f DSRC_DayOfWeek_encode_oer; +per_type_decoder_f DSRC_DayOfWeek_decode_uper; +per_type_encoder_f DSRC_DayOfWeek_encode_uper; +per_type_decoder_f DSRC_DayOfWeek_decode_aper; +per_type_encoder_f DSRC_DayOfWeek_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DSRC_DayOfWeek_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/DailySchedule.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/DailySchedule.h new file mode 100644 index 000000000..43dddacdc --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/DailySchedule.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _DailySchedule_H_ +#define _DailySchedule_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* DailySchedule */ +typedef struct DailySchedule { + long begin; + long duration; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DailySchedule_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DailySchedule; +extern asn_SEQUENCE_specifics_t asn_SPC_DailySchedule_specs_1; +extern asn_TYPE_member_t asn_MBR_DailySchedule_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _DailySchedule_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/DaySchedule.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/DaySchedule.h new file mode 100644 index 000000000..75c77a2f6 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/DaySchedule.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _DaySchedule_H_ +#define _DaySchedule_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* DaySchedule */ +typedef struct DaySchedule { + long begin; + long duration; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DaySchedule_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DaySchedule; +extern asn_SEQUENCE_specifics_t asn_SPC_DaySchedule_specs_1; +extern asn_TYPE_member_t asn_MBR_DaySchedule_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _DaySchedule_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/DestinationType.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/DestinationType.h new file mode 100644 index 000000000..2fd84bf3e --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/DestinationType.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "../J2735_201603DA_with_PMM.ASN" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` + */ + +#ifndef _DestinationType_H_ +#define _DestinationType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Longitude.h" +#include "Latitude.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* DestinationType */ +typedef struct DestinationType { + Longitude_t lon; + Latitude_t lat; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DestinationType_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DestinationType; +extern asn_SEQUENCE_specifics_t asn_SPC_DestinationType_specs_1; +extern asn_TYPE_member_t asn_MBR_DestinationType_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _DestinationType_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/Duration.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Duration.h new file mode 100644 index 000000000..1dd192aa1 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Duration.h @@ -0,0 +1,45 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _Duration_H_ +#define _Duration_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Duration */ +typedef long Duration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Duration; +asn_struct_free_f Duration_free; +asn_struct_print_f Duration_print; +asn_constr_check_f Duration_constraint; +ber_type_decoder_f Duration_decode_ber; +der_type_encoder_f Duration_encode_der; +xer_type_decoder_f Duration_decode_xer; +xer_type_encoder_f Duration_encode_xer; +oer_type_decoder_f Duration_decode_oer; +oer_type_encoder_f Duration_encode_oer; +per_type_decoder_f Duration_decode_uper; +per_type_encoder_f Duration_encode_uper; +per_type_decoder_f Duration_decode_aper; +per_type_encoder_f Duration_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Duration_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/ENUMERATED.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ENUMERATED.h new file mode 100644 index 000000000..e4df29b4f --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ENUMERATED.h @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2003, 2005 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _ENUMERATED_H_ +#define _ENUMERATED_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef INTEGER_t ENUMERATED_t; /* Implemented via INTEGER */ + +extern asn_TYPE_descriptor_t asn_DEF_ENUMERATED; +extern asn_TYPE_operation_t asn_OP_ENUMERATED; + +per_type_decoder_f ENUMERATED_decode_uper; +per_type_encoder_f ENUMERATED_encode_uper; + +#define ENUMERATED_free ASN__PRIMITIVE_TYPE_free +#define ENUMERATED_print INTEGER_print +#define ENUMERATED_compare INTEGER_compare +#define ENUMERATED_constraint asn_generic_no_constraint +#define ENUMERATED_decode_ber ber_decode_primitive +#define ENUMERATED_encode_der INTEGER_encode_der +#define ENUMERATED_decode_xer INTEGER_decode_xer +#define ENUMERATED_encode_xer INTEGER_encode_xer + +#ifdef __cplusplus +} +#endif + +#endif /* _ENUMERATED_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/EpochMins.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/EpochMins.h new file mode 100644 index 000000000..a116028f7 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/EpochMins.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _EpochMins_H_ +#define _EpochMins_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "INTEGER.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* EpochMins */ +typedef INTEGER_t EpochMins_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_EpochMins_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_EpochMins; +asn_struct_free_f EpochMins_free; +asn_struct_print_f EpochMins_print; +asn_constr_check_f EpochMins_constraint; +ber_type_decoder_f EpochMins_decode_ber; +der_type_encoder_f EpochMins_encode_der; +xer_type_decoder_f EpochMins_decode_xer; +xer_type_encoder_f EpochMins_encode_xer; +oer_type_decoder_f EpochMins_decode_oer; +oer_type_encoder_f EpochMins_encode_oer; +per_type_decoder_f EpochMins_decode_uper; +per_type_encoder_f EpochMins_encode_uper; +per_type_decoder_f EpochMins_decode_aper; +per_type_encoder_f EpochMins_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _EpochMins_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/EstimatedTimeType.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/EstimatedTimeType.h new file mode 100644 index 000000000..3108b5319 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/EstimatedTimeType.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "../J2735_201603DA_with_PMM.ASN" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` + */ + +#ifndef _EstimatedTimeType_H_ +#define _EstimatedTimeType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* EstimatedTimeType */ +typedef long EstimatedTimeType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_EstimatedTimeType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_EstimatedTimeType; +asn_struct_free_f EstimatedTimeType_free; +asn_struct_print_f EstimatedTimeType_print; +asn_constr_check_f EstimatedTimeType_constraint; +ber_type_decoder_f EstimatedTimeType_decode_ber; +der_type_encoder_f EstimatedTimeType_encode_der; +xer_type_decoder_f EstimatedTimeType_decode_xer; +xer_type_encoder_f EstimatedTimeType_encode_xer; +per_type_decoder_f EstimatedTimeType_decode_uper; +per_type_encoder_f EstimatedTimeType_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _EstimatedTimeType_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/GeneralString.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/GeneralString.h new file mode 100644 index 000000000..55b994fa3 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/GeneralString.h @@ -0,0 +1,34 @@ +/*- + * Copyright (c) 2003 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _GeneralString_H_ +#define _GeneralString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t GeneralString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_GeneralString; +extern asn_TYPE_operation_t asn_OP_GeneralString; + +#define GeneralString_free OCTET_STRING_free +#define GeneralString_print OCTET_STRING_print +#define GeneralString_compare OCTET_STRING_compare +#define GeneralString_constraint asn_generic_unknown_constraint +#define GeneralString_decode_ber OCTET_STRING_decode_ber +#define GeneralString_encode_der OCTET_STRING_encode_der +#define GeneralString_decode_xer OCTET_STRING_decode_xer_hex +#define GeneralString_encode_xer OCTET_STRING_encode_xer +#define GeneralString_decode_uper OCTET_STRING_decode_uper +#define GeneralString_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _GeneralString_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/GenericLocations.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/GenericLocations.h new file mode 100644 index 000000000..d2bf6034f --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/GenericLocations.h @@ -0,0 +1,150 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _GenericLocations_H_ +#define _GenericLocations_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum GenericLocations { + GenericLocations_on_bridges = 7937, + GenericLocations_in_tunnels = 7938, + GenericLocations_entering_or_leaving_tunnels = 7939, + GenericLocations_on_ramps = 7940, + GenericLocations_in_road_construction_area = 7941, + GenericLocations_around_a_curve = 7942, + GenericLocations_on_curve = 8026, + GenericLocations_on_tracks = 8009, + GenericLocations_in_street = 8025, + GenericLocations_shoulder = 8027, + GenericLocations_on_minor_roads = 7943, + GenericLocations_in_the_opposing_lanes = 7944, + GenericLocations_adjacent_to_roadway = 7945, + GenericLocations_across_tracks = 8024, + GenericLocations_on_bend = 7946, + GenericLocations_intersection = 8032, + GenericLocations_entire_intersection = 7947, + GenericLocations_in_the_median = 7948, + GenericLocations_moved_to_side_of_road = 7949, + GenericLocations_moved_to_shoulder = 7950, + GenericLocations_on_the_roadway = 7951, + GenericLocations_dip = 8010, + GenericLocations_traffic_circle = 8011, + GenericLocations_crossover = 8028, + GenericLocations_cross_road = 8029, + GenericLocations_side_road = 8030, + GenericLocations_to = 8014, + GenericLocations_by = 8015, + GenericLocations_through = 8016, + GenericLocations_area_of = 8017, + GenericLocations_under = 8018, + GenericLocations_over = 8019, + GenericLocations_from = 8020, + GenericLocations_approaching = 8021, + GenericLocations_entering_at = 8022, + GenericLocations_exiting_at = 8023, + GenericLocations_in_shaded_areas = 7952, + GenericLocations_in_low_lying_areas = 7953, + GenericLocations_in_the_downtown_area = 7954, + GenericLocations_in_the_inner_city_area = 7955, + GenericLocations_in_parts = 7956, + GenericLocations_in_some_places = 7957, + GenericLocations_in_the_ditch = 7958, + GenericLocations_in_the_valley = 7959, + GenericLocations_on_hill_top = 7960, + GenericLocations_near_the_foothills = 7961, + GenericLocations_at_high_altitudes = 7962, + GenericLocations_near_the_lake = 7963, + GenericLocations_near_the_shore = 7964, + GenericLocations_nearby_basin = 8008, + GenericLocations_over_the_crest_of_a_hill = 7965, + GenericLocations_other_than_on_the_roadway = 7966, + GenericLocations_near_the_beach = 7967, + GenericLocations_near_beach_access_point = 7968, + GenericLocations_mountain_pass = 8006, + GenericLocations_lower_level = 7969, + GenericLocations_upper_level = 7970, + GenericLocations_airport = 7971, + GenericLocations_concourse = 7972, + GenericLocations_gate = 7973, + GenericLocations_baggage_claim = 7974, + GenericLocations_customs_point = 7975, + GenericLocations_reservation_center = 8007, + GenericLocations_station = 7976, + GenericLocations_platform = 7977, + GenericLocations_dock = 7978, + GenericLocations_depot = 7979, + GenericLocations_ev_charging_point = 7980, + GenericLocations_information_welcome_point = 7981, + GenericLocations_at_rest_area = 7982, + GenericLocations_at_service_area = 7983, + GenericLocations_at_weigh_station = 7984, + GenericLocations_roadside_park = 8033, + GenericLocations_picnic_areas = 7985, + GenericLocations_rest_area = 7986, + GenericLocations_service_stations = 7987, + GenericLocations_toilets = 7988, + GenericLocations_bus_stop = 8031, + GenericLocations_park_and_ride_lot = 8012, + GenericLocations_on_the_right = 7989, + GenericLocations_on_the_left = 7990, + GenericLocations_in_the_center = 7991, + GenericLocations_in_the_opposite_direction = 7992, + GenericLocations_cross_traffic = 7993, + GenericLocations_northbound_traffic = 7994, + GenericLocations_eastbound_traffic = 7995, + GenericLocations_southbound_traffic = 7996, + GenericLocations_westbound_traffic = 7997, + GenericLocations_north = 7998, + GenericLocations_south = 7999, + GenericLocations_east = 8000, + GenericLocations_west = 8001, + GenericLocations_northeast = 8002, + GenericLocations_northwest = 8003, + GenericLocations_southeast = 8004, + GenericLocations_southwest = 8005 + /* + * Enumeration is extensible + */ +} e_GenericLocations; + +/* GenericLocations */ +typedef long GenericLocations_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_GenericLocations_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_GenericLocations; +extern const asn_INTEGER_specifics_t asn_SPC_GenericLocations_specs_1; +asn_struct_free_f GenericLocations_free; +asn_struct_print_f GenericLocations_print; +asn_constr_check_f GenericLocations_constraint; +ber_type_decoder_f GenericLocations_decode_ber; +der_type_encoder_f GenericLocations_encode_der; +xer_type_decoder_f GenericLocations_decode_xer; +xer_type_encoder_f GenericLocations_encode_xer; +oer_type_decoder_f GenericLocations_decode_oer; +oer_type_encoder_f GenericLocations_encode_oer; +per_type_decoder_f GenericLocations_decode_uper; +per_type_encoder_f GenericLocations_encode_uper; +per_type_decoder_f GenericLocations_decode_aper; +per_type_encoder_f GenericLocations_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _GenericLocations_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/ISO646String.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ISO646String.h new file mode 100644 index 000000000..494831541 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ISO646String.h @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _ISO646String_H_ +#define _ISO646String_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef VisibleString_t ISO646String_t; /* Implemented using VisibleString */ + +extern asn_TYPE_descriptor_t asn_DEF_ISO646String; +extern asn_TYPE_operation_t asn_OP_ISO646String; + +#define ISO646String_free OCTET_STRING_free +#define ISO646String_print OCTET_STRING_print_utf8 +#define ISO646String_compare OCTET_STRING_compare +#define ISO646String_constraint VisibleString_constraint +#define ISO646String_decode_ber OCTET_STRING_decode_ber +#define ISO646String_encode_der OCTET_STRING_encode_der +#define ISO646String_decode_xer OCTET_STRING_decode_xer_utf8 +#define ISO646String_encode_xer OCTET_STRING_encode_xer_utf8 +#define ISO646String_decode_uper OCTET_STRING_decode_uper +#define ISO646String_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _ISO646String_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIScodes.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIScodes.h new file mode 100644 index 000000000..5624a71f5 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIScodes.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _ITIScodes_H_ +#define _ITIScodes_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* ITIScodes */ +typedef long ITIScodes_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ITIScodes_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ITIScodes; +asn_struct_free_f ITIScodes_free; +asn_struct_print_f ITIScodes_print; +asn_constr_check_f ITIScodes_constraint; +ber_type_decoder_f ITIScodes_decode_ber; +der_type_encoder_f ITIScodes_encode_der; +xer_type_decoder_f ITIScodes_decode_xer; +xer_type_encoder_f ITIScodes_encode_xer; +oer_type_decoder_f ITIScodes_decode_oer; +oer_type_encoder_f ITIScodes_encode_oer; +per_type_decoder_f ITIScodes_decode_uper; +per_type_encoder_f ITIScodes_encode_uper; +per_type_decoder_f ITIScodes_decode_aper; +per_type_encoder_f ITIScodes_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ITIScodes_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIScodesAndText.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIScodesAndText.h new file mode 100644 index 000000000..09687c473 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIScodesAndText.h @@ -0,0 +1,69 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _ITIScodesAndText_H_ +#define _ITIScodesAndText_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "asn_SEQUENCE_OF.h" +#include "ITIScodes.h" +#include "ITIStext.h" +#include "constr_CHOICE.h" +#include "constr_SEQUENCE.h" +#include "constr_SEQUENCE_OF.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ITIScodesAndText__Member__item_PR { + ITIScodesAndText__Member__item_PR_NOTHING, /* No components present */ + ITIScodesAndText__Member__item_PR_itis, + ITIScodesAndText__Member__item_PR_text +} ITIScodesAndText__Member__item_PR; + +/* Forward definitions */ +typedef struct ITIScodesAndText__Member { + struct ITIScodesAndText__Member__item { + ITIScodesAndText__Member__item_PR present; + union ITIScodesAndText__Member__item_u { + ITIScodes_t 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; +} ITIScodesAndText__Member; + +/* ITIScodesAndText */ +typedef struct ITIScodesAndText { + A_SEQUENCE_OF(ITIScodesAndText__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ITIScodesAndText_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ITIScodesAndText; +extern asn_SET_OF_specifics_t asn_SPC_ITIScodesAndText_specs_1; +extern asn_TYPE_member_t asn_MBR_ITIScodesAndText_1[1]; +extern asn_per_constraints_t asn_PER_type_ITIScodesAndText_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _ITIScodesAndText_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIStext.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIStext.h new file mode 100644 index 000000000..490c849ff --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ITIStext.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _ITIStext_H_ +#define _ITIStext_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* ITIStext */ +typedef IA5String_t ITIStext_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ITIStext_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ITIStext; +asn_struct_free_f ITIStext_free; +asn_struct_print_f ITIStext_print; +asn_constr_check_f ITIStext_constraint; +ber_type_decoder_f ITIStext_decode_ber; +der_type_encoder_f ITIStext_encode_der; +xer_type_decoder_f ITIStext_decode_xer; +xer_type_encoder_f ITIStext_encode_xer; +oer_type_decoder_f ITIStext_decode_oer; +oer_type_encoder_f ITIStext_encode_oer; +per_type_decoder_f ITIStext_decode_uper; +per_type_encoder_f ITIStext_encode_uper; +per_type_decoder_f ITIStext_decode_aper; +per_type_encoder_f ITIStext_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ITIStext_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/Id128b.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Id128b.h new file mode 100644 index 000000000..0c58f036d --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Id128b.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _Id128b_H_ +#define _Id128b_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "OCTET_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Id128b */ +typedef OCTET_STRING_t Id128b_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Id128b_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Id128b; +asn_struct_free_f Id128b_free; +asn_struct_print_f Id128b_print; +asn_constr_check_f Id128b_constraint; +ber_type_decoder_f Id128b_decode_ber; +der_type_encoder_f Id128b_encode_der; +xer_type_decoder_f Id128b_decode_xer; +xer_type_encoder_f Id128b_encode_xer; +oer_type_decoder_f Id128b_decode_oer; +oer_type_encoder_f Id128b_encode_oer; +per_type_decoder_f Id128b_decode_uper; +per_type_encoder_f Id128b_encode_uper; +per_type_decoder_f Id128b_decode_aper; +per_type_encoder_f Id128b_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Id128b_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/Id64b.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Id64b.h new file mode 100644 index 000000000..703feb0f8 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Id64b.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _Id64b_H_ +#define _Id64b_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "OCTET_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Id64b */ +typedef OCTET_STRING_t Id64b_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Id64b_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Id64b; +asn_struct_free_f Id64b_free; +asn_struct_print_f Id64b_print; +asn_constr_check_f Id64b_constraint; +ber_type_decoder_f Id64b_decode_ber; +der_type_encoder_f Id64b_encode_der; +xer_type_decoder_f Id64b_decode_xer; +xer_type_encoder_f Id64b_encode_xer; +oer_type_decoder_f Id64b_decode_oer; +oer_type_encoder_f Id64b_encode_oer; +per_type_decoder_f Id64b_decode_uper; +per_type_encoder_f Id64b_encode_uper; +per_type_decoder_f Id64b_decode_aper; +per_type_encoder_f Id64b_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Id64b_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/IncidentResponseEquipment.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/IncidentResponseEquipment.h new file mode 100644 index 000000000..73dd57070 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/IncidentResponseEquipment.h @@ -0,0 +1,126 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _IncidentResponseEquipment_H_ +#define _IncidentResponseEquipment_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum IncidentResponseEquipment { + IncidentResponseEquipment_ground_fire_suppression = 9985, + IncidentResponseEquipment_heavy_ground_equipment = 9986, + IncidentResponseEquipment_aircraft = 9988, + IncidentResponseEquipment_marine_equipment = 9989, + IncidentResponseEquipment_support_equipment = 9990, + IncidentResponseEquipment_medical_rescue_unit = 9991, + IncidentResponseEquipment_other = 9993, + IncidentResponseEquipment_ground_fire_suppression_other = 9994, + IncidentResponseEquipment_engine = 9995, + IncidentResponseEquipment_truck_or_aerial = 9996, + IncidentResponseEquipment_quint = 9997, + IncidentResponseEquipment_tanker_pumper_combination = 9998, + IncidentResponseEquipment_brush_truck = 10000, + IncidentResponseEquipment_aircraft_rescue_firefighting = 10001, + IncidentResponseEquipment_heavy_ground_equipment_other = 10004, + IncidentResponseEquipment_dozer_or_plow = 10005, + IncidentResponseEquipment_tractor = 10006, + IncidentResponseEquipment_tanker_or_tender = 10008, + IncidentResponseEquipment_aircraft_other = 10024, + IncidentResponseEquipment_aircraft_fixed_wing_tanker = 10025, + IncidentResponseEquipment_helitanker = 10026, + IncidentResponseEquipment_helicopter = 10027, + IncidentResponseEquipment_marine_equipment_other = 10034, + IncidentResponseEquipment_fire_boat_with_pump = 10035, + IncidentResponseEquipment_boat_no_pump = 10036, + IncidentResponseEquipment_support_apparatus_other = 10044, + IncidentResponseEquipment_breathing_apparatus_support = 10045, + IncidentResponseEquipment_light_and_air_unit = 10046, + IncidentResponseEquipment_medical_rescue_unit_other = 10054, + IncidentResponseEquipment_rescue_unit = 10055, + IncidentResponseEquipment_urban_search_rescue_unit = 10056, + IncidentResponseEquipment_high_angle_rescue = 10057, + IncidentResponseEquipment_crash_fire_rescue = 10058, + IncidentResponseEquipment_bLS_unit = 10059, + IncidentResponseEquipment_aLS_unit = 10060, + IncidentResponseEquipment_mobile_command_post = 10075, + IncidentResponseEquipment_chief_officer_car = 10076, + IncidentResponseEquipment_hAZMAT_unit = 10077, + IncidentResponseEquipment_type_i_hand_crew = 10078, + IncidentResponseEquipment_type_ii_hand_crew = 10079, + IncidentResponseEquipment_privately_owned_vehicle = 10083, + IncidentResponseEquipment_other_apparatus_resource = 10084, + IncidentResponseEquipment_ambulance = 10085, + IncidentResponseEquipment_bomb_squad_van = 10086, + IncidentResponseEquipment_combine_harvester = 10087, + IncidentResponseEquipment_construction_vehicle = 10088, + IncidentResponseEquipment_farm_tractor = 10089, + IncidentResponseEquipment_grass_cutting_machines = 10090, + IncidentResponseEquipment_hAZMAT_containment_tow = 10091, + IncidentResponseEquipment_heavy_tow = 10092, + IncidentResponseEquipment_light_tow = 10094, + IncidentResponseEquipment_flatbed_tow = 10114, + IncidentResponseEquipment_hedge_cutting_machines = 10093, + IncidentResponseEquipment_mobile_crane = 10095, + IncidentResponseEquipment_refuse_collection_vehicle = 10096, + IncidentResponseEquipment_resurfacing_vehicle = 10097, + IncidentResponseEquipment_road_sweeper = 10098, + IncidentResponseEquipment_roadside_litter_collection_crews = 10099, + IncidentResponseEquipment_salvage_vehicle = 10100, + IncidentResponseEquipment_sand_truck = 10101, + IncidentResponseEquipment_snowplow = 10102, + IncidentResponseEquipment_steam_roller = 10103, + IncidentResponseEquipment_swat_team_van = 10104, + IncidentResponseEquipment_track_laying_vehicle = 10105, + IncidentResponseEquipment_unknown_vehicle = 10106, + IncidentResponseEquipment_white_lining_vehicle = 10107, + IncidentResponseEquipment_dump_truck = 10108, + IncidentResponseEquipment_supervisor_vehicle = 10109, + IncidentResponseEquipment_snow_blower = 10110, + IncidentResponseEquipment_rotary_snow_blower = 10111, + IncidentResponseEquipment_road_grader = 10112, + IncidentResponseEquipment_steam_truck = 10113 + /* + * Enumeration is extensible + */ +} e_IncidentResponseEquipment; + +/* IncidentResponseEquipment */ +typedef long IncidentResponseEquipment_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_IncidentResponseEquipment_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_IncidentResponseEquipment; +extern const asn_INTEGER_specifics_t asn_SPC_IncidentResponseEquipment_specs_1; +asn_struct_free_f IncidentResponseEquipment_free; +asn_struct_print_f IncidentResponseEquipment_print; +asn_constr_check_f IncidentResponseEquipment_constraint; +ber_type_decoder_f IncidentResponseEquipment_decode_ber; +der_type_encoder_f IncidentResponseEquipment_encode_der; +xer_type_decoder_f IncidentResponseEquipment_decode_xer; +xer_type_encoder_f IncidentResponseEquipment_encode_xer; +oer_type_decoder_f IncidentResponseEquipment_decode_oer; +oer_type_encoder_f IncidentResponseEquipment_encode_oer; +per_type_decoder_f IncidentResponseEquipment_decode_uper; +per_type_encoder_f IncidentResponseEquipment_encode_uper; +per_type_decoder_f IncidentResponseEquipment_decode_aper; +per_type_encoder_f IncidentResponseEquipment_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _IncidentResponseEquipment_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/Latitude.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Latitude.h new file mode 100644 index 000000000..d74bb8de0 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Latitude.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _Latitude_H_ +#define _Latitude_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Latitude */ +typedef long Latitude_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Latitude_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Latitude; +asn_struct_free_f Latitude_free; +asn_struct_print_f Latitude_print; +asn_constr_check_f Latitude_constraint; +ber_type_decoder_f Latitude_decode_ber; +der_type_encoder_f Latitude_encode_der; +xer_type_decoder_f Latitude_decode_xer; +xer_type_encoder_f Latitude_encode_xer; +oer_type_decoder_f Latitude_decode_oer; +oer_type_encoder_f Latitude_encode_oer; +per_type_decoder_f Latitude_decode_uper; +per_type_encoder_f Latitude_encode_uper; +per_type_decoder_f Latitude_decode_aper; +per_type_encoder_f Latitude_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Latitude_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/Longitude.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Longitude.h new file mode 100644 index 000000000..5e1dac467 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Longitude.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _Longitude_H_ +#define _Longitude_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Longitude */ +typedef long Longitude_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Longitude_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Longitude; +asn_struct_free_f Longitude_free; +asn_struct_print_f Longitude_print; +asn_constr_check_f Longitude_constraint; +ber_type_decoder_f Longitude_decode_ber; +der_type_encoder_f Longitude_encode_der; +xer_type_decoder_f Longitude_decode_xer; +xer_type_encoder_f Longitude_encode_xer; +oer_type_decoder_f Longitude_decode_oer; +oer_type_encoder_f Longitude_encode_oer; +per_type_decoder_f Longitude_decode_uper; +per_type_encoder_f Longitude_encode_uper; +per_type_decoder_f Longitude_decode_aper; +per_type_encoder_f Longitude_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Longitude_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityDynamicID.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityDynamicID.h new file mode 100644 index 000000000..6585d54e0 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityDynamicID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityDynamicID_H_ +#define _MobilityDynamicID_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityDynamicID */ +typedef IA5String_t MobilityDynamicID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MobilityDynamicID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MobilityDynamicID; +asn_struct_free_f MobilityDynamicID_free; +asn_struct_print_f MobilityDynamicID_print; +asn_constr_check_f MobilityDynamicID_constraint; +ber_type_decoder_f MobilityDynamicID_decode_ber; +der_type_encoder_f MobilityDynamicID_encode_der; +xer_type_decoder_f MobilityDynamicID_decode_xer; +xer_type_encoder_f MobilityDynamicID_encode_xer; +oer_type_decoder_f MobilityDynamicID_decode_oer; +oer_type_encoder_f MobilityDynamicID_encode_oer; +per_type_decoder_f MobilityDynamicID_decode_uper; +per_type_encoder_f MobilityDynamicID_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityDynamicID_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFCoordinate.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFCoordinate.h new file mode 100644 index 000000000..886ddd37c --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFCoordinate.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityECEFCoordinate_H_ +#define _MobilityECEFCoordinate_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityECEFCoordinate */ +typedef long MobilityECEFCoordinate_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MobilityECEFCoordinate_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MobilityECEFCoordinate; +asn_struct_free_f MobilityECEFCoordinate_free; +asn_struct_print_f MobilityECEFCoordinate_print; +asn_constr_check_f MobilityECEFCoordinate_constraint; +ber_type_decoder_f MobilityECEFCoordinate_decode_ber; +der_type_encoder_f MobilityECEFCoordinate_encode_der; +xer_type_decoder_f MobilityECEFCoordinate_decode_xer; +xer_type_encoder_f MobilityECEFCoordinate_encode_xer; +oer_type_decoder_f MobilityECEFCoordinate_decode_oer; +oer_type_encoder_f MobilityECEFCoordinate_encode_oer; +per_type_decoder_f MobilityECEFCoordinate_decode_uper; +per_type_encoder_f MobilityECEFCoordinate_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityECEFCoordinate_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFOffset.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFOffset.h new file mode 100644 index 000000000..abdf4de36 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFOffset.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityECEFOffset_H_ +#define _MobilityECEFOffset_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MobilityECEFOffsetCoordinate.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityECEFOffset */ +typedef struct MobilityECEFOffset { + MobilityECEFOffsetCoordinate_t offsetX; + MobilityECEFOffsetCoordinate_t offsetY; + MobilityECEFOffsetCoordinate_t offsetZ; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityECEFOffset_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityECEFOffset; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityECEFOffset_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityECEFOffset_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityECEFOffset_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFOffsetCoordinate.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFOffsetCoordinate.h new file mode 100644 index 000000000..0515352ed --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityECEFOffsetCoordinate.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityECEFOffsetCoordinate_H_ +#define _MobilityECEFOffsetCoordinate_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityECEFOffsetCoordinate */ +typedef long MobilityECEFOffsetCoordinate_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MobilityECEFOffsetCoordinate_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MobilityECEFOffsetCoordinate; +asn_struct_free_f MobilityECEFOffsetCoordinate_free; +asn_struct_print_f MobilityECEFOffsetCoordinate_print; +asn_constr_check_f MobilityECEFOffsetCoordinate_constraint; +ber_type_decoder_f MobilityECEFOffsetCoordinate_decode_ber; +der_type_encoder_f MobilityECEFOffsetCoordinate_encode_der; +xer_type_decoder_f MobilityECEFOffsetCoordinate_decode_xer; +xer_type_encoder_f MobilityECEFOffsetCoordinate_encode_xer; +oer_type_decoder_f MobilityECEFOffsetCoordinate_decode_oer; +oer_type_encoder_f MobilityECEFOffsetCoordinate_encode_oer; +per_type_decoder_f MobilityECEFOffsetCoordinate_decode_uper; +per_type_encoder_f MobilityECEFOffsetCoordinate_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityECEFOffsetCoordinate_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityGUID.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityGUID.h new file mode 100644 index 000000000..b95a26e13 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityGUID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityGUID_H_ +#define _MobilityGUID_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityGUID */ +typedef IA5String_t MobilityGUID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MobilityGUID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MobilityGUID; +asn_struct_free_f MobilityGUID_free; +asn_struct_print_f MobilityGUID_print; +asn_constr_check_f MobilityGUID_constraint; +ber_type_decoder_f MobilityGUID_decode_ber; +der_type_encoder_f MobilityGUID_encode_der; +xer_type_decoder_f MobilityGUID_decode_xer; +xer_type_encoder_f MobilityGUID_encode_xer; +oer_type_decoder_f MobilityGUID_decode_oer; +oer_type_encoder_f MobilityGUID_encode_oer; +per_type_decoder_f MobilityGUID_decode_uper; +per_type_encoder_f MobilityGUID_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityGUID_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityHeader.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityHeader.h new file mode 100644 index 000000000..7b32562ec --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityHeader.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityHeader_H_ +#define _MobilityHeader_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MobilityStaticID.h" +#include "MobilityDynamicID.h" +#include "MobilityGUID.h" +#include "MobilityTimestamp.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityHeader */ +typedef struct MobilityHeader { + MobilityStaticID_t hostStaticId; + MobilityStaticID_t targetStaticId; + MobilityDynamicID_t hostBSMId; + MobilityGUID_t planId; + MobilityTimestamp_t timestamp; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityHeader_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityHeader; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityHeader_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityHeader_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityHeader_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityLocation.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityLocation.h new file mode 100644 index 000000000..f73b68e2a --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityLocation.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityLocation_H_ +#define _MobilityLocation_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MobilityECEFCoordinate.h" +#include "MobilityTimestamp.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityLocation */ +typedef struct MobilityLocation { + MobilityECEFCoordinate_t ecefX; + MobilityECEFCoordinate_t ecefY; + MobilityECEFCoordinate_t ecefZ; + MobilityTimestamp_t timestamp; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityLocation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityLocation; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityLocation_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityLocation_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityLocation_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityLocationOffsets.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityLocationOffsets.h new file mode 100644 index 000000000..f40add688 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityLocationOffsets.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityLocationOffsets_H_ +#define _MobilityLocationOffsets_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 MobilityECEFOffset; + +/* MobilityLocationOffsets */ +typedef struct MobilityLocationOffsets { + A_SEQUENCE_OF(struct MobilityECEFOffset) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityLocationOffsets_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityLocationOffsets; +extern asn_SET_OF_specifics_t asn_SPC_MobilityLocationOffsets_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityLocationOffsets_1[1]; +extern asn_per_constraints_t asn_PER_type_MobilityLocationOffsets_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MobilityECEFOffset.h" + +#endif /* _MobilityLocationOffsets_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeeds.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeeds.h new file mode 100644 index 000000000..4eceaa686 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeeds.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "../J2735_201603DA_with_PMM.ASN" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` + */ + +#ifndef _MobilityNeeds_H_ +#define _MobilityNeeds_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MobilityNeedsType.h" +#include "SeatCount.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityNeeds */ +typedef struct MobilityNeeds { + MobilityNeedsType_t type; + SeatCount_t count; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityNeeds_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityNeeds; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityNeeds_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityNeeds_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityNeeds_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeedsList.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeedsList.h new file mode 100644 index 000000000..05421eb09 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeedsList.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "../J2735_201603DA_with_PMM.ASN" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` + */ + +#ifndef _MobilityNeedsList_H_ +#define _MobilityNeedsList_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 MobilityNeeds; + +/* MobilityNeedsList */ +typedef struct MobilityNeedsList { + A_SEQUENCE_OF(struct MobilityNeeds) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityNeedsList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityNeedsList; +extern asn_SET_OF_specifics_t asn_SPC_MobilityNeedsList_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityNeedsList_1[1]; +extern asn_per_constraints_t asn_PER_type_MobilityNeedsList_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MobilityNeeds.h" + +#endif /* _MobilityNeedsList_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeedsType.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeedsType.h new file mode 100644 index 000000000..9da4492ee --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityNeedsType.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "../J2735_201603DA_with_PMM.ASN" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` + */ + +#ifndef _MobilityNeedsType_H_ +#define _MobilityNeedsType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum MobilityNeedsType { + MobilityNeedsType_noSpecialNeeds = 0, + MobilityNeedsType_wheelchair = 1, + MobilityNeedsType_needsSeat = 2 +} e_MobilityNeedsType; + +/* MobilityNeedsType */ +typedef long MobilityNeedsType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MobilityNeedsType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MobilityNeedsType; +extern const asn_INTEGER_specifics_t asn_SPC_MobilityNeedsType_specs_1; +asn_struct_free_f MobilityNeedsType_free; +asn_struct_print_f MobilityNeedsType_print; +asn_constr_check_f MobilityNeedsType_constraint; +ber_type_decoder_f MobilityNeedsType_decode_ber; +der_type_encoder_f MobilityNeedsType_encode_der; +xer_type_decoder_f MobilityNeedsType_decode_xer; +xer_type_encoder_f MobilityNeedsType_encode_xer; +per_type_decoder_f MobilityNeedsType_decode_uper; +per_type_encoder_f MobilityNeedsType_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityNeedsType_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityOperation.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityOperation.h new file mode 100644 index 000000000..cf865e33b --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityOperation.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityOperation_H_ +#define _MobilityOperation_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MobilityStrategy.h" +#include "MobilityParameters.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityOperation */ +typedef struct MobilityOperation { + MobilityStrategy_t strategy; + MobilityParameters_t operationParams; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityOperation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityOperation; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityOperation_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityOperation_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityOperation_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityParameters.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityParameters.h new file mode 100644 index 000000000..7db88393d --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityParameters.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityParameters_H_ +#define _MobilityParameters_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityParameters */ +typedef IA5String_t MobilityParameters_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MobilityParameters_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MobilityParameters; +asn_struct_free_f MobilityParameters_free; +asn_struct_print_f MobilityParameters_print; +asn_constr_check_f MobilityParameters_constraint; +ber_type_decoder_f MobilityParameters_decode_ber; +der_type_encoder_f MobilityParameters_encode_der; +xer_type_decoder_f MobilityParameters_decode_xer; +xer_type_encoder_f MobilityParameters_encode_xer; +oer_type_decoder_f MobilityParameters_decode_oer; +oer_type_encoder_f MobilityParameters_encode_oer; +per_type_decoder_f MobilityParameters_decode_uper; +per_type_encoder_f MobilityParameters_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityParameters_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityPath.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityPath.h new file mode 100644 index 000000000..2cab5ee68 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityPath.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityPath_H_ +#define _MobilityPath_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MobilityLocation.h" +#include "MobilityLocationOffsets.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityPath */ +typedef struct MobilityPath { + MobilityLocation_t location; + MobilityLocationOffsets_t trajectory; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityPath_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityPath; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityPath_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityPath_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityPath_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityPlanType.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityPlanType.h new file mode 100644 index 000000000..4e971e1aa --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityPlanType.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityPlanType_H_ +#define _MobilityPlanType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum MobilityPlanType { + MobilityPlanType_unknown = 0, + MobilityPlanType_changingLanesToTheLeft = 1, + MobilityPlanType_changingLanesToTheRight = 2, + MobilityPlanType_joinPlatoonAtRear = 3, + MobilityPlanType_platoonFollowerJoin = 4 + /* + * Enumeration is extensible + */ +} e_MobilityPlanType; + +/* MobilityPlanType */ +typedef long MobilityPlanType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MobilityPlanType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MobilityPlanType; +extern const asn_INTEGER_specifics_t asn_SPC_MobilityPlanType_specs_1; +asn_struct_free_f MobilityPlanType_free; +asn_struct_print_f MobilityPlanType_print; +asn_constr_check_f MobilityPlanType_constraint; +ber_type_decoder_f MobilityPlanType_decode_ber; +der_type_encoder_f MobilityPlanType_encode_der; +xer_type_decoder_f MobilityPlanType_decode_xer; +xer_type_encoder_f MobilityPlanType_encode_xer; +oer_type_decoder_f MobilityPlanType_decode_oer; +oer_type_encoder_f MobilityPlanType_encode_oer; +per_type_decoder_f MobilityPlanType_decode_uper; +per_type_encoder_f MobilityPlanType_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityPlanType_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityRequest.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityRequest.h new file mode 100644 index 000000000..83580ddac --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityRequest.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityRequest_H_ +#define _MobilityRequest_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MobilityStrategy.h" +#include "MobilityPlanType.h" +#include "MobilityUrgency.h" +#include "MobilityLocation.h" +#include "MobilityLocationOffsets.h" +#include "MobilityParameters.h" +#include "MobilityTimestamp.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct MobilityLocation; +struct MobilityLocationOffsets; + +/* MobilityRequest */ +typedef struct MobilityRequest { + MobilityStrategy_t strategy; + MobilityPlanType_t planType; + MobilityUrgency_t urgency; + MobilityLocation_t location; + MobilityParameters_t strategyParams; + MobilityLocation_t trajectoryStart /* OPTIONAL */; + MobilityLocationOffsets_t trajectory /* OPTIONAL */; + MobilityTimestamp_t expiration /* OPTIONAL */; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityRequest_1[8]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MobilityLocation.h" +#include "MobilityLocationOffsets.h" + +#endif /* _MobilityRequest_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityResponse.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityResponse.h new file mode 100644 index 000000000..76f7004a4 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityResponse.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityResponse_H_ +#define _MobilityResponse_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MobilityUrgency.h" +#include "MobilityResponseFlag.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityResponse */ +typedef struct MobilityResponse { + MobilityUrgency_t urgency; + MobilityResponseFlag_t isAccepted; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityResponse_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityResponse_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityResponseFlag.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityResponseFlag.h new file mode 100644 index 000000000..30f71521b --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityResponseFlag.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityResponseFlag_H_ +#define _MobilityResponseFlag_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BOOLEAN.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityResponseFlag */ +typedef BOOLEAN_t MobilityResponseFlag_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityResponseFlag; +asn_struct_free_f MobilityResponseFlag_free; +asn_struct_print_f MobilityResponseFlag_print; +asn_constr_check_f MobilityResponseFlag_constraint; +ber_type_decoder_f MobilityResponseFlag_decode_ber; +der_type_encoder_f MobilityResponseFlag_encode_der; +xer_type_decoder_f MobilityResponseFlag_decode_xer; +xer_type_encoder_f MobilityResponseFlag_encode_xer; +oer_type_decoder_f MobilityResponseFlag_decode_oer; +oer_type_encoder_f MobilityResponseFlag_encode_oer; +per_type_decoder_f MobilityResponseFlag_decode_uper; +per_type_encoder_f MobilityResponseFlag_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityResponseFlag_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityStaticID.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityStaticID.h new file mode 100644 index 000000000..74a040938 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityStaticID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityStaticID_H_ +#define _MobilityStaticID_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityStaticID */ +typedef IA5String_t MobilityStaticID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MobilityStaticID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MobilityStaticID; +asn_struct_free_f MobilityStaticID_free; +asn_struct_print_f MobilityStaticID_print; +asn_constr_check_f MobilityStaticID_constraint; +ber_type_decoder_f MobilityStaticID_decode_ber; +der_type_encoder_f MobilityStaticID_encode_der; +xer_type_decoder_f MobilityStaticID_decode_xer; +xer_type_encoder_f MobilityStaticID_encode_xer; +oer_type_decoder_f MobilityStaticID_decode_oer; +oer_type_encoder_f MobilityStaticID_encode_oer; +per_type_decoder_f MobilityStaticID_decode_uper; +per_type_encoder_f MobilityStaticID_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityStaticID_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityStrategy.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityStrategy.h new file mode 100644 index 000000000..e7c93479a --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityStrategy.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityStrategy_H_ +#define _MobilityStrategy_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityStrategy */ +typedef IA5String_t MobilityStrategy_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MobilityStrategy_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MobilityStrategy; +asn_struct_free_f MobilityStrategy_free; +asn_struct_print_f MobilityStrategy_print; +asn_constr_check_f MobilityStrategy_constraint; +ber_type_decoder_f MobilityStrategy_decode_ber; +der_type_encoder_f MobilityStrategy_encode_der; +xer_type_decoder_f MobilityStrategy_decode_xer; +xer_type_encoder_f MobilityStrategy_encode_xer; +oer_type_decoder_f MobilityStrategy_decode_oer; +oer_type_encoder_f MobilityStrategy_encode_oer; +per_type_decoder_f MobilityStrategy_decode_uper; +per_type_encoder_f MobilityStrategy_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityStrategy_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityTimestamp.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityTimestamp.h new file mode 100644 index 000000000..17e94afb7 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityTimestamp.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityTimestamp_H_ +#define _MobilityTimestamp_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityTimestamp */ +typedef IA5String_t MobilityTimestamp_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MobilityTimestamp_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MobilityTimestamp; +asn_struct_free_f MobilityTimestamp_free; +asn_struct_print_f MobilityTimestamp_print; +asn_constr_check_f MobilityTimestamp_constraint; +ber_type_decoder_f MobilityTimestamp_decode_ber; +der_type_encoder_f MobilityTimestamp_encode_der; +xer_type_decoder_f MobilityTimestamp_decode_xer; +xer_type_encoder_f MobilityTimestamp_encode_xer; +oer_type_decoder_f MobilityTimestamp_decode_oer; +oer_type_encoder_f MobilityTimestamp_encode_oer; +per_type_decoder_f MobilityTimestamp_decode_uper; +per_type_encoder_f MobilityTimestamp_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityTimestamp_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityUrgency.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityUrgency.h new file mode 100644 index 000000000..eef5355ff --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/MobilityUrgency.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _MobilityUrgency_H_ +#define _MobilityUrgency_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityUrgency */ +typedef long MobilityUrgency_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MobilityUrgency_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MobilityUrgency; +asn_struct_free_f MobilityUrgency_free; +asn_struct_print_f MobilityUrgency_print; +asn_constr_check_f MobilityUrgency_constraint; +ber_type_decoder_f MobilityUrgency_decode_ber; +der_type_encoder_f MobilityUrgency_encode_der; +xer_type_decoder_f MobilityUrgency_decode_xer; +xer_type_encoder_f MobilityUrgency_encode_xer; +oer_type_decoder_f MobilityUrgency_decode_oer; +oer_type_encoder_f MobilityUrgency_encode_oer; +per_type_decoder_f MobilityUrgency_decode_uper; +per_type_encoder_f MobilityUrgency_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityUrgency_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/ModeOfTransportType.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ModeOfTransportType.h new file mode 100644 index 000000000..8d7f72926 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ModeOfTransportType.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "../J2735_201603DA_with_PMM.ASN" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` + */ + +#ifndef _ModeOfTransportType_H_ +#define _ModeOfTransportType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ModeOfTransportType { + ModeOfTransportType_noPreference = 0, + ModeOfTransportType_transit = 1, + ModeOfTransportType_taxi = 2, + ModeOfTransportType_rideShare = 3 +} e_ModeOfTransportType; + +/* ModeOfTransportType */ +typedef long ModeOfTransportType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ModeOfTransportType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ModeOfTransportType; +extern const asn_INTEGER_specifics_t asn_SPC_ModeOfTransportType_specs_1; +asn_struct_free_f ModeOfTransportType_free; +asn_struct_print_f ModeOfTransportType_print; +asn_constr_check_f ModeOfTransportType_constraint; +ber_type_decoder_f ModeOfTransportType_decode_ber; +der_type_encoder_f ModeOfTransportType_encode_der; +xer_type_decoder_f ModeOfTransportType_decode_xer; +xer_type_encoder_f ModeOfTransportType_encode_xer; +per_type_decoder_f ModeOfTransportType_decode_uper; +per_type_encoder_f ModeOfTransportType_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ModeOfTransportType_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/NativeReal.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/NativeReal.h new file mode 100644 index 000000000..cfdd1bd1c --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/NativeReal.h @@ -0,0 +1,39 @@ +/*- + * Copyright (c) 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +/* + * This type differs from the standard REAL in that it is modelled using + * the fixed machine type (double), so it can hold only values of + * limited precision. There is no explicit type (i.e., NativeReal_t). + * Use of this type is normally enabled by -fnative-types. + */ +#ifndef ASN_TYPE_NativeReal_H +#define ASN_TYPE_NativeReal_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern asn_TYPE_descriptor_t asn_DEF_NativeReal; +extern asn_TYPE_operation_t asn_OP_NativeReal; + +asn_struct_free_f NativeReal_free; +asn_struct_print_f NativeReal_print; +asn_struct_compare_f NativeReal_compare; +ber_type_decoder_f NativeReal_decode_ber; +der_type_encoder_f NativeReal_encode_der; +xer_type_decoder_f NativeReal_decode_xer; +xer_type_encoder_f NativeReal_encode_xer; +per_type_decoder_f NativeReal_decode_uper; +per_type_encoder_f NativeReal_encode_uper; + +#define NativeReal_constraint asn_generic_no_constraint + +#ifdef __cplusplus +} +#endif + +#endif /* ASN_TYPE_NativeReal_H */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/NumericString.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/NumericString.h new file mode 100644 index 000000000..8e4f7ec9d --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/NumericString.h @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2003 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _NumericString_H_ +#define _NumericString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t NumericString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_NumericString; +extern asn_TYPE_operation_t asn_OP_NumericString; + +asn_constr_check_f NumericString_constraint; + +#define NumericString_free OCTET_STRING_free +#define NumericString_print OCTET_STRING_print_utf8 +#define NumericString_compare OCTET_STRING_compare +#define NumericString_decode_ber OCTET_STRING_decode_ber +#define NumericString_encode_der OCTET_STRING_encode_der +#define NumericString_decode_xer OCTET_STRING_decode_xer_utf8 +#define NumericString_encode_xer OCTET_STRING_encode_xer_utf8 +#define NumericString_decode_uper OCTET_STRING_decode_uper +#define NumericString_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _NumericString_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/ObjectDistance.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ObjectDistance.h new file mode 100644 index 000000000..db97608e2 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ObjectDistance.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SDSM" + * found in "J2735_201603_2023-06-22.asn" + * `asn1c -fcompound-names ` + */ + +#ifndef _ObjectDistance_H_ +#define _ObjectDistance_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ObjectDistance */ +typedef long ObjectDistance_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ObjectDistance_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ObjectDistance; +asn_struct_free_f ObjectDistance_free; +asn_struct_print_f ObjectDistance_print; +asn_constr_check_f ObjectDistance_constraint; +ber_type_decoder_f ObjectDistance_decode_ber; +der_type_encoder_f ObjectDistance_encode_der; +xer_type_decoder_f ObjectDistance_decode_xer; +xer_type_encoder_f ObjectDistance_encode_xer; +oer_type_decoder_f ObjectDistance_decode_oer; +oer_type_encoder_f ObjectDistance_encode_oer; +per_type_decoder_f ObjectDistance_decode_uper; +per_type_encoder_f ObjectDistance_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ObjectDistance_H_ */ +#include diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/OffsetPoint.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/OffsetPoint.h new file mode 100644 index 000000000..d46ced7dc --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/OffsetPoint.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _OffsetPoint_H_ +#define _OffsetPoint_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* OffsetPoint */ +typedef struct OffsetPoint { + long deltax; + long deltay; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} OffsetPoint_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_OffsetPoint; +extern asn_SEQUENCE_specifics_t asn_SPC_OffsetPoint_specs_1; +extern asn_TYPE_member_t asn_MBR_OffsetPoint_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _OffsetPoint_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/PartII-Id.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PartII-Id.h new file mode 100644 index 000000000..212c80708 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PartII-Id.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _PartII_Id_H_ +#define _PartII_Id_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* PartII-Id */ +typedef long PartII_Id_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_PartII_Id_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_PartII_Id; +asn_struct_free_f PartII_Id_free; +asn_struct_print_f PartII_Id_print; +asn_constr_check_f PartII_Id_constraint; +ber_type_decoder_f PartII_Id_decode_ber; +der_type_encoder_f PartII_Id_encode_der; +xer_type_decoder_f PartII_Id_decode_xer; +xer_type_encoder_f PartII_Id_encode_xer; +oer_type_decoder_f PartII_Id_decode_oer; +oer_type_encoder_f PartII_Id_encode_oer; +per_type_decoder_f PartII_Id_decode_uper; +per_type_encoder_f PartII_Id_encode_uper; +per_type_decoder_f PartII_Id_decode_aper; +per_type_encoder_f PartII_Id_encode_aper; +#define PartII_Id_vehicleSafetyExt ((PartII_Id_t)0) +#define PartII_Id_specialVehicleExt ((PartII_Id_t)1) +#define PartII_Id_supplementalVehicleExt ((PartII_Id_t)2) + +#ifdef __cplusplus +} +#endif + +#endif /* _PartII_Id_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/PartIIcontent.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PartIIcontent.h index 9aebc6824..6f9e11866 100644 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2024/PartIIcontent.h +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PartIIcontent.h @@ -1,7 +1,7 @@ /* * 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" + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` */ @@ -12,12 +12,12 @@ #include "asn_application.h" /* Including external dependencies */ -#include "CooperativeControlMessage_PartII-Id.h" +#include "BasicSafetyMessage_PartII-Id.h" #include "ANY.h" #include "asn_ioc.h" #include "VehicleSafetyExtensions.h" -#include "LightVehicleCCMExtensions.h" -#include "HeavyTruckCCMExtensions.h" +#include "SpecialVehicleExtensions.h" +#include "SupplementalVehicleExtensions.h" #include "OPEN_TYPE.h" #include "constr_CHOICE.h" #include "constr_SEQUENCE.h" @@ -27,22 +27,22 @@ 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; +typedef enum BSMpartIIExtension__partII_Value_PR { + BSMpartIIExtension__partII_Value_PR_NOTHING, /* No components present */ + BSMpartIIExtension__partII_Value_PR_VehicleSafetyExtensions, + BSMpartIIExtension__partII_Value_PR_SpecialVehicleExtensions, + BSMpartIIExtension__partII_Value_PR_SupplementalVehicleExtensions +} BSMpartIIExtension__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 { +typedef struct BSMpartIIExtension { + BasicSafetyMessage_PartII_Id_t partII_Id; + struct BSMpartIIExtension__partII_Value { + BSMpartIIExtension__partII_Value_PR present; + union BSMpartIIExtension__partII_Value_u { VehicleSafetyExtensions_t VehicleSafetyExtensions; - LightVehicleCCMExtensions_t LightVehicleCCMExtensions; - HeavyTruckCCMExtensions_t HeavyTruckCCMExtensions; + SpecialVehicleExtensions_t SpecialVehicleExtensions; + SupplementalVehicleExtensions_t SupplementalVehicleExtensions; } choice; /* Context for parsing across buffer boundaries */ @@ -51,12 +51,12 @@ typedef struct CCMpartIIExtension { /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; -} CCMpartIIExtension_t; +} BSMpartIIExtension_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]; +extern asn_TYPE_descriptor_t asn_DEF_BSMpartIIExtension; +extern asn_SEQUENCE_specifics_t asn_SPC_BSMpartIIExtension_specs_1; +extern asn_TYPE_member_t asn_MBR_BSMpartIIExtension_1[2]; #ifdef __cplusplus } diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/PathNode.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PathNode.h new file mode 100644 index 000000000..8f92a2e4e --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PathNode.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _PathNode_H_ +#define _PathNode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* PathNode */ +typedef struct PathNode { + long x; + long y; + long *z; /* OPTIONAL */ + long *width; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PathNode_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PathNode; +extern asn_SEQUENCE_specifics_t asn_SPC_PathNode_specs_1; +extern asn_TYPE_member_t asn_MBR_PathNode_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _PathNode_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/PersonalMobilityMessage.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PersonalMobilityMessage.h new file mode 100644 index 000000000..5a1c80e51 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PersonalMobilityMessage.h @@ -0,0 +1,85 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "../J2735_201603DA_with_PMM.ASN" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` + */ + +#ifndef _PersonalMobilityMessage_H_ +#define _PersonalMobilityMessage_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "UUIDType.h" +#include "RequestID.h" +#include "MinuteOfTheYear.h" +#include "PersonalMobilityMessageStatusType.h" +#include "Position3D.h" +#include "ModeOfTransportType.h" +#include "EstimatedTimeType.h" +#include "DSRCEquippedType.h" +#include "VehicleDescriptionType.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct PositionalAccuracy; +struct DFullTime; +struct DestinationType; +struct MobilityNeedsList; +struct RegionalExtension; + +/* PersonalMobilityMessage */ +typedef struct PersonalMobilityMessage { + UUIDType_t groupId; + RequestID_t requestId; + MinuteOfTheYear_t *timeStamp /* OPTIONAL */; + PersonalMobilityMessageStatusType_t status; + Position3D_t position; + struct PositionalAccuracy *accuracy /* OPTIONAL */; + struct DFullTime *requestDate /* OPTIONAL */; + struct DFullTime *pickupDate /* OPTIONAL */; + struct DestinationType *destination /* OPTIONAL */; + struct MobilityNeedsList *mobilityNeeds /* OPTIONAL */; + ModeOfTransportType_t *modeOfTransport /* OPTIONAL */; + EstimatedTimeType_t *eta /* OPTIONAL */; + DSRCEquippedType_t *isDSRCEquipped /* OPTIONAL */; + VehicleDescriptionType_t *vehicleDesc /* OPTIONAL */; + struct PersonalMobilityMessage__regional { + A_SEQUENCE_OF(struct RegionalExtension) 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; +} PersonalMobilityMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PersonalMobilityMessage; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "PositionalAccuracy.h" +#include "DFullTime.h" +#include "DestinationType.h" +#include "MobilityNeedsList.h" +#include "RegionalExtension.h" + +#endif /* _PersonalMobilityMessage_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/PersonalMobilityMessageStatusType.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PersonalMobilityMessageStatusType.h new file mode 100644 index 000000000..2821b8fcc --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PersonalMobilityMessageStatusType.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "../J2735_201603DA_with_PMM.ASN" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` + */ + +#ifndef _PersonalMobilityMessageStatusType_H_ +#define _PersonalMobilityMessageStatusType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum PersonalMobilityMessageStatusType { + PersonalMobilityMessageStatusType_new = 0, + PersonalMobilityMessageStatusType_update = 1, + PersonalMobilityMessageStatusType_response = 2, + PersonalMobilityMessageStatusType_arrival = 3, + PersonalMobilityMessageStatusType_completed = 4 +} e_PersonalMobilityMessageStatusType; + +/* PersonalMobilityMessageStatusType */ +typedef long PersonalMobilityMessageStatusType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_PersonalMobilityMessageStatusType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_PersonalMobilityMessageStatusType; +extern const asn_INTEGER_specifics_t asn_SPC_PersonalMobilityMessageStatusType_specs_1; +asn_struct_free_f PersonalMobilityMessageStatusType_free; +asn_struct_print_f PersonalMobilityMessageStatusType_print; +asn_constr_check_f PersonalMobilityMessageStatusType_constraint; +ber_type_decoder_f PersonalMobilityMessageStatusType_decode_ber; +der_type_encoder_f PersonalMobilityMessageStatusType_encode_der; +xer_type_decoder_f PersonalMobilityMessageStatusType_decode_xer; +xer_type_encoder_f PersonalMobilityMessageStatusType_encode_xer; +per_type_decoder_f PersonalMobilityMessageStatusType_decode_uper; +per_type_encoder_f PersonalMobilityMessageStatusType_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PersonalMobilityMessageStatusType_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/PitchRate.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PitchRate.h new file mode 100644 index 000000000..145045cd2 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PitchRate.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SDSM" + * found in "J2735_201603_2023-06-22.asn" + * `asn1c -fcompound-names ` + */ + +#ifndef _PitchRate_H_ +#define _PitchRate_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PitchRate */ +typedef long PitchRate_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_PitchRate_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_PitchRate; +asn_struct_free_f PitchRate_free; +asn_struct_print_f PitchRate_print; +asn_constr_check_f PitchRate_constraint; +ber_type_decoder_f PitchRate_decode_ber; +der_type_encoder_f PitchRate_encode_der; +xer_type_decoder_f PitchRate_decode_xer; +xer_type_encoder_f PitchRate_encode_xer; +oer_type_decoder_f PitchRate_decode_oer; +oer_type_encoder_f PitchRate_encode_oer; +per_type_decoder_f PitchRate_decode_uper; +per_type_encoder_f PitchRate_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PitchRate_H_ */ +#include diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/Position3D-addGrpCarma.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Position3D-addGrpCarma.h new file mode 100644 index 000000000..e7b1000a5 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Position3D-addGrpCarma.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpCarma" + * found in "J2735_201603_2022-11-21.asn" + * `asn1c -fcompound-names -D ../include/generated/` + */ + +#ifndef _Position3D_addGrpCarma_H_ +#define _Position3D_addGrpCarma_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Latitude.h" +#include "Longitude.h" +#include "Common_Elevation.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Position3D-addGrpCarma */ +typedef struct Position3D_addGrpCarma { + Latitude_t lat; + Longitude_t Long; + Common_Elevation_t *elevation; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Position3D_addGrpCarma_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Position3D_addGrpCarma; +extern asn_SEQUENCE_specifics_t asn_SPC_Position3D_addGrpCarma_specs_1; +extern asn_TYPE_member_t asn_MBR_Position3D_addGrpCarma_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Position3D_addGrpCarma_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/PositionOffsetXYZ.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PositionOffsetXYZ.h new file mode 100644 index 000000000..9a9890818 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PositionOffsetXYZ.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SDSM" + * found in "J2735_201603_2023-06-22.asn" + * `asn1c -fcompound-names ` + */ + +#ifndef _PositionOffsetXYZ_H_ +#define _PositionOffsetXYZ_H_ + + +#include + +/* Including external dependencies */ +#include "ObjectDistance.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PositionOffsetXYZ */ +typedef struct PositionOffsetXYZ { + ObjectDistance_t offsetX; + ObjectDistance_t offsetY; + ObjectDistance_t *offsetZ /* OPTIONAL */; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PositionOffsetXYZ_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PositionOffsetXYZ; +extern asn_SEQUENCE_specifics_t asn_SPC_PositionOffsetXYZ_specs_1; +extern asn_TYPE_member_t asn_MBR_PositionOffsetXYZ_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _PositionOffsetXYZ_H_ */ +#include diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/PrintableString.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PrintableString.h new file mode 100644 index 000000000..d7889445b --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/PrintableString.h @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2003 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _PrintableString_H_ +#define _PrintableString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t PrintableString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_PrintableString; +extern asn_TYPE_operation_t asn_OP_PrintableString; + +asn_constr_check_f PrintableString_constraint; + +#define PrintableString_free OCTET_STRING_free +#define PrintableString_print OCTET_STRING_print_utf8 +#define PrintableString_compare OCTET_STRING_compare +#define PrintableString_decode_ber OCTET_STRING_decode_ber +#define PrintableString_encode_der OCTET_STRING_encode_der +#define PrintableString_decode_xer OCTET_STRING_decode_xer_utf8 +#define PrintableString_encode_xer OCTET_STRING_encode_xer_utf8 +#define PrintableString_decode_uper OCTET_STRING_decode_uper +#define PrintableString_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _PrintableString_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/REAL.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/REAL.h new file mode 100644 index 000000000..8bc06230a --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/REAL.h @@ -0,0 +1,51 @@ +/*- + * Copyright (c) 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN_TYPE_REAL_H +#define ASN_TYPE_REAL_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef ASN__PRIMITIVE_TYPE_t REAL_t; + +extern asn_TYPE_descriptor_t asn_DEF_REAL; +extern asn_TYPE_operation_t asn_OP_REAL; + +asn_struct_print_f REAL_print; +asn_struct_compare_f REAL_compare; +xer_type_decoder_f REAL_decode_xer; +xer_type_encoder_f REAL_encode_xer; +per_type_decoder_f REAL_decode_uper; +per_type_encoder_f REAL_encode_uper; + +#define REAL_free ASN__PRIMITIVE_TYPE_free, +#define REAL_constraint asn_generic_no_constraint +#define REAL_decode_ber ber_decode_primitive +#define REAL_encode_der der_encode_primitive + +/*********************************** + * Some handy conversion routines. * + ***********************************/ + +ssize_t REAL__dump(double d, int canonical, asn_app_consume_bytes_f *cb, void *app_key); + +/* + * Convert between native double type and REAL representation (DER). + * RETURN VALUES: + * 0: Value converted successfully + * -1: An error occured while converting the value: invalid format. + */ +int asn_REAL2double(const REAL_t *real_ptr, double *d); +int asn_double2REAL(REAL_t *real_ptr, double d); + +#ifdef __cplusplus +} +#endif + +#endif /* ASN_TYPE_REAL_H */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/RepeatParams.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/RepeatParams.h new file mode 100644 index 000000000..6f840bae7 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/RepeatParams.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _RepeatParams_H_ +#define _RepeatParams_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* RepeatParams */ +typedef struct RepeatParams { + long offset; + long period; + long span; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RepeatParams_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RepeatParams; +extern asn_SEQUENCE_specifics_t asn_SPC_RepeatParams_specs_1; +extern asn_TYPE_member_t asn_MBR_RepeatParams_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RepeatParams_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/ResponderGroupAffected.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ResponderGroupAffected.h new file mode 100644 index 000000000..328ee2d5a --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/ResponderGroupAffected.h @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _ResponderGroupAffected_H_ +#define _ResponderGroupAffected_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ResponderGroupAffected { + ResponderGroupAffected_emergency_vehicle_units = 9729, + ResponderGroupAffected_federal_law_enforcement_units = 9730, + ResponderGroupAffected_state_police_units = 9731, + ResponderGroupAffected_county_police_units = 9732, + ResponderGroupAffected_local_police_units = 9733, + ResponderGroupAffected_ambulance_units = 9734, + ResponderGroupAffected_rescue_units = 9735, + ResponderGroupAffected_fire_units = 9736, + ResponderGroupAffected_hAZMAT_units = 9737, + ResponderGroupAffected_light_tow_unit = 9738, + ResponderGroupAffected_heavy_tow_unit = 9739, + ResponderGroupAffected_freeway_service_patrols = 9740, + ResponderGroupAffected_transportation_response_units = 9741, + ResponderGroupAffected_private_contractor_response_units = 9742 + /* + * Enumeration is extensible + */ +} e_ResponderGroupAffected; + +/* ResponderGroupAffected */ +typedef long ResponderGroupAffected_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ResponderGroupAffected_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ResponderGroupAffected; +extern const asn_INTEGER_specifics_t asn_SPC_ResponderGroupAffected_specs_1; +asn_struct_free_f ResponderGroupAffected_free; +asn_struct_print_f ResponderGroupAffected_print; +asn_constr_check_f ResponderGroupAffected_constraint; +ber_type_decoder_f ResponderGroupAffected_decode_ber; +der_type_encoder_f ResponderGroupAffected_encode_der; +xer_type_decoder_f ResponderGroupAffected_decode_xer; +xer_type_encoder_f ResponderGroupAffected_encode_xer; +oer_type_decoder_f ResponderGroupAffected_decode_oer; +oer_type_encoder_f ResponderGroupAffected_encode_oer; +per_type_decoder_f ResponderGroupAffected_decode_uper; +per_type_encoder_f ResponderGroupAffected_encode_uper; +per_type_decoder_f ResponderGroupAffected_decode_aper; +per_type_encoder_f ResponderGroupAffected_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResponderGroupAffected_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/RollRate.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/RollRate.h new file mode 100644 index 000000000..86d4d3b25 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/RollRate.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SDSM" + * found in "J2735_201603_2023-06-22.asn" + * `asn1c -fcompound-names ` + */ + +#ifndef _RollRate_H_ +#define _RollRate_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RollRate */ +typedef long RollRate_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_RollRate_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_RollRate; +asn_struct_free_f RollRate_free; +asn_struct_print_f RollRate_print; +asn_constr_check_f RollRate_constraint; +ber_type_decoder_f RollRate_decode_ber; +der_type_encoder_f RollRate_encode_der; +xer_type_decoder_f RollRate_decode_xer; +xer_type_encoder_f RollRate_encode_xer; +oer_type_decoder_f RollRate_decode_oer; +oer_type_encoder_f RollRate_encode_oer; +per_type_decoder_f RollRate_decode_uper; +per_type_encoder_f RollRate_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RollRate_H_ */ +#include diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/Schedule.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Schedule.h new file mode 100644 index 000000000..e05936375 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/Schedule.h @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _Schedule_H_ +#define _Schedule_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "INTEGER.h" +#include "BOOLEAN.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct RepeatParams; +struct DaySchedule; + +/* Schedule */ +typedef struct Schedule { + INTEGER_t start; + INTEGER_t end; + struct Schedule__dow { + A_SEQUENCE_OF(BOOLEAN_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } dow; + struct Schedule__between { + A_SEQUENCE_OF(struct DaySchedule) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *between; + struct RepeatParams *repeat; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Schedule_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Schedule; +extern asn_SEQUENCE_specifics_t asn_SPC_Schedule_specs_1; +extern asn_TYPE_member_t asn_MBR_Schedule_1[5]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "RepeatParams.h" +#include "DaySchedule.h" + +#endif /* _Schedule_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/SeatCount.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/SeatCount.h new file mode 100644 index 000000000..165ab16df --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/SeatCount.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "../J2735_201603DA_with_PMM.ASN" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` + */ + +#ifndef _SeatCount_H_ +#define _SeatCount_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeatCount */ +typedef long SeatCount_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_SeatCount_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_SeatCount; +asn_struct_free_f SeatCount_free; +asn_struct_print_f SeatCount_print; +asn_constr_check_f SeatCount_constraint; +ber_type_decoder_f SeatCount_decode_ber; +der_type_encoder_f SeatCount_encode_der; +xer_type_decoder_f SeatCount_decode_xer; +xer_type_encoder_f SeatCount_encode_xer; +per_type_decoder_f SeatCount_decode_uper; +per_type_encoder_f SeatCount_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeatCount_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/T61String.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/T61String.h new file mode 100644 index 000000000..27f7cc6d3 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/T61String.h @@ -0,0 +1,34 @@ +/*- + * Copyright (c) 2003 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _T61String_H_ +#define _T61String_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t T61String_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_T61String; +extern asn_TYPE_operation_t asn_OP_T61String; + +#define T61String_free OCTET_STRING_free +#define T61String_print OCTET_STRING_print +#define T61String_compare OCTET_STRING_compare +#define T61String_constraint asn_generic_unknown_constraint +#define T61String_decode_ber OCTET_STRING_decode_ber +#define T61String_encode_der OCTET_STRING_encode_der +#define T61String_decode_xer OCTET_STRING_decode_xer_hex +#define T61String_encode_xer OCTET_STRING_encode_xer +#define T61String_decode_uper OCTET_STRING_decode_uper +#define T61String_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _T61String_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TeletexString.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TeletexString.h new file mode 100644 index 000000000..59d0ef79c --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TeletexString.h @@ -0,0 +1,34 @@ +/*- + * Copyright (c) 2003 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _TeletexString_H_ +#define _TeletexString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t TeletexString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_TeletexString; +extern asn_TYPE_operation_t asn_OP_TeletexString; + +#define TeletexString_free OCTET_STRING_free +#define TeletexString_print OCTET_STRING_print +#define TeletexString_compare OCTET_STRING_compare +#define TeletexString_constraint asn_generic_unknown_constraint +#define TeletexString_decode_ber OCTET_STRING_decode_ber +#define TeletexString_encode_der OCTET_STRING_encode_der +#define TeletexString_decode_xer OCTET_STRING_decode_xer_hex +#define TeletexString_encode_xer OCTET_STRING_encode_xer +#define TeletexString_decode_uper OCTET_STRING_decode_uper +#define TeletexString_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _TeletexString_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage00.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage00.h index 9bce12a17..a420a7fd3 100644 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage00.h +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage00.h @@ -1,8 +1,8 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #ifndef _TestMessage00_H_ @@ -12,6 +12,8 @@ #include "asn_application.h" /* Including external dependencies */ +#include "MobilityHeader.h" +#include "MobilityRequest.h" #include "constr_SEQUENCE.h" #ifdef __cplusplus @@ -19,13 +21,13 @@ extern "C" { #endif /* Forward declarations */ -struct Header; -struct Reg_TestMessage00; +// struct Header; +// struct Reg_BasicSafetyMessage; /* TestMessage00 */ typedef struct TestMessage00 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage00 *regional; /* OPTIONAL */ + MobilityHeader_t header; /* OPTIONAL */ + MobilityRequest_t body; /* OPTIONAL */ /* * This type is extensible, * possible extensions are below. @@ -45,8 +47,8 @@ extern asn_TYPE_member_t asn_MBR_TestMessage00_1[2]; #endif /* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" +// #include "Header.h" +// #include "RegionalExtension.h" #endif /* _TestMessage00_H_ */ #include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage01.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage01.h index 1cbc522fa..31f0bf377 100644 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage01.h +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage01.h @@ -1,8 +1,8 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #ifndef _TestMessage01_H_ @@ -12,6 +12,8 @@ #include "asn_application.h" /* Including external dependencies */ +#include "MobilityHeader.h" +#include "MobilityResponse.h" #include "constr_SEQUENCE.h" #ifdef __cplusplus @@ -19,13 +21,13 @@ extern "C" { #endif /* Forward declarations */ -struct Header; -struct Reg_TestMessage01; +// struct Header; +// struct Reg_BasicSafetyMessage; /* TestMessage01 */ typedef struct TestMessage01 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage01 *regional; /* OPTIONAL */ + MobilityHeader_t header; /* OPTIONAL */ + MobilityResponse_t body; /* OPTIONAL */ /* * This type is extensible, * possible extensions are below. @@ -45,8 +47,8 @@ extern asn_TYPE_member_t asn_MBR_TestMessage01_1[2]; #endif /* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" +// #include "Header.h" +// #include "RegionalExtension.h" #endif /* _TestMessage01_H_ */ #include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage02.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage02.h index 8092bd581..1010456d8 100644 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage02.h +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage02.h @@ -1,8 +1,8 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #ifndef _TestMessage02_H_ @@ -12,20 +12,19 @@ #include "asn_application.h" /* Including external dependencies */ +#include "MobilityHeader.h" +#include "MobilityPath.h" #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 */ + MobilityHeader_t header; /* OPTIONAL */ + MobilityPath_t body; /* OPTIONAL */ /* * This type is extensible, * possible extensions are below. @@ -44,9 +43,6 @@ extern asn_TYPE_member_t asn_MBR_TestMessage02_1[2]; } #endif -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" #endif /* _TestMessage02_H_ */ #include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage03.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage03.h index afec562a3..9037ab733 100644 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage03.h +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage03.h @@ -1,8 +1,8 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` */ #ifndef _TestMessage03_H_ @@ -12,20 +12,18 @@ #include "asn_application.h" /* Including external dependencies */ +#include "MobilityHeader.h" +#include "MobilityOperation.h" #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 */ + MobilityHeader_t header; + MobilityOperation_t body; /* * This type is extensible, * possible extensions are below. @@ -44,9 +42,5 @@ extern asn_TYPE_member_t asn_MBR_TestMessage03_1[2]; } #endif -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - #endif /* _TestMessage03_H_ */ #include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage04.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage04.h index 87a43e72a..49bd4749b 100644 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage04.h +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage04.h @@ -1,8 +1,8 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #ifndef _TestMessage04_H_ @@ -12,20 +12,16 @@ #include "asn_application.h" /* Including external dependencies */ +#include "TrafficControlRequest.h" #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 */ + TrafficControlRequest_t body; /* * This type is extensible, * possible extensions are below. @@ -38,15 +34,11 @@ typedef struct TestMessage04 { /* 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]; +extern asn_TYPE_member_t asn_MBR_TestMessage04_1[1]; #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/include/asn_j2735_r2024/TestMessage05.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage05.h index 7bfac9b6b..1f59196ef 100644 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage05.h +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TestMessage05.h @@ -1,8 +1,8 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #ifndef _TestMessage05_H_ @@ -12,20 +12,16 @@ #include "asn_application.h" /* Including external dependencies */ +#include "TrafficControlMessage.h" #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 */ + TrafficControlMessage_t body; /* * This type is extensible, * possible extensions are below. @@ -38,15 +34,11 @@ typedef struct TestMessage05 { /* 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]; +extern asn_TYPE_member_t asn_MBR_TestMessage05_1[1]; #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/include/asn_j2735_r2024/TrafficControlBounds.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlBounds.h new file mode 100644 index 000000000..6bf623745 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlBounds.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _TrafficControlBounds_H_ +#define _TrafficControlBounds_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "EpochMins.h" +#include "Longitude.h" +#include "Latitude.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct OffsetPoint; + +/* TrafficControlBounds */ +typedef struct TrafficControlBounds { + EpochMins_t oldest; + Longitude_t reflon; + Latitude_t reflat; + struct TrafficControlBounds__offsets { + A_SEQUENCE_OF(struct OffsetPoint) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } offsets; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlBounds_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlBounds; +extern asn_SEQUENCE_specifics_t asn_SPC_TrafficControlBounds_specs_1; +extern asn_TYPE_member_t asn_MBR_TrafficControlBounds_1[4]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "OffsetPoint.h" + +#endif /* _TrafficControlBounds_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlDetail.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlDetail.h new file mode 100644 index 000000000..e3bf5539c --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlDetail.h @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "CARMA-CLOUD" + * found in "asn/cc_traffic_control_messages_asn1.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _TrafficControlDetail_H_ +#define _TrafficControlDetail_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "OCTET_STRING.h" +#include "NULL.h" +#include "NativeEnumerated.h" +#include "NativeInteger.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TrafficControlDetail_PR { + TrafficControlDetail_PR_NOTHING, /* No components present */ + TrafficControlDetail_PR_signal, + TrafficControlDetail_PR_stop, + TrafficControlDetail_PR_yield, + TrafficControlDetail_PR_notowing, + TrafficControlDetail_PR_restricted, + TrafficControlDetail_PR_closed, + TrafficControlDetail_PR_chains, + TrafficControlDetail_PR_direction, + TrafficControlDetail_PR_lataffinity, + TrafficControlDetail_PR_latperm, + TrafficControlDetail_PR_parking, + TrafficControlDetail_PR_minspeed, + TrafficControlDetail_PR_maxspeed, + TrafficControlDetail_PR_minhdwy, + TrafficControlDetail_PR_maxvehmass, + TrafficControlDetail_PR_maxvehheight, + TrafficControlDetail_PR_maxvehwidth, + TrafficControlDetail_PR_maxvehlength, + TrafficControlDetail_PR_maxvehaxles, + TrafficControlDetail_PR_minvehocc, + TrafficControlDetail_PR_maxplatoonsize, + TrafficControlDetail_PR_minplatoonhdwy, + /* Extensions may appear below */ + +} TrafficControlDetail_PR; +typedef enum TrafficControlDetail__closed { + TrafficControlDetail__closed_open = 0, + TrafficControlDetail__closed_closed = 1, + TrafficControlDetail__closed_taperleft = 2, + TrafficControlDetail__closed_taperright = 3, + TrafficControlDetail__closed_openleft = 4, + TrafficControlDetail__closed_openright = 5 +} e_TrafficControlDetail__closed; +typedef enum TrafficControlDetail__chains { + TrafficControlDetail__chains_no = 0, + TrafficControlDetail__chains_permitted = 1, + TrafficControlDetail__chains_required = 2 +} e_TrafficControlDetail__chains; +typedef enum TrafficControlDetail__direction { + TrafficControlDetail__direction_forward = 0, + TrafficControlDetail__direction_reverse = 1 +} e_TrafficControlDetail__direction; +typedef enum TrafficControlDetail__lataffinity { + TrafficControlDetail__lataffinity_left = 0, + TrafficControlDetail__lataffinity_right = 1 +} e_TrafficControlDetail__lataffinity; +typedef enum TrafficControlDetail__latperm__Member { + TrafficControlDetail__latperm__Member_none = 0, + TrafficControlDetail__latperm__Member_permitted = 1, + TrafficControlDetail__latperm__Member_passing_only = 2, + TrafficControlDetail__latperm__Member_emergency_only = 3 +} e_TrafficControlDetail__latperm__Member; +typedef enum TrafficControlDetail__parking { + TrafficControlDetail__parking_no = 0, + TrafficControlDetail__parking_parallel = 1, + TrafficControlDetail__parking_angled = 2 +} e_TrafficControlDetail__parking; + +/* TrafficControlDetail */ +typedef struct TrafficControlDetail { + TrafficControlDetail_PR present; + union TrafficControlDetail_u { + OCTET_STRING_t signal; + NULL_t stop; + NULL_t yield; + NULL_t notowing; + NULL_t restricted; + long closed; + long chains; + long direction; + long lataffinity; + struct TrafficControlDetail__latperm { + A_SEQUENCE_OF(long) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } latperm; + long parking; + long minspeed; + long maxspeed; + long minhdwy; + long maxvehmass; + long maxvehheight; + long maxvehwidth; + long maxvehlength; + long maxvehaxles; + long minvehocc; + long maxplatoonsize; + long minplatoonhdwy; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlDetail_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_closed_7; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_chains_14; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_direction_18; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_lataffinity_21; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_Member_25; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_parking_30; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlDetail; +extern asn_CHOICE_specifics_t asn_SPC_TrafficControlDetail_specs_1; +extern asn_TYPE_member_t asn_MBR_TrafficControlDetail_1[22]; +extern asn_per_constraints_t asn_PER_type_TrafficControlDetail_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _TrafficControlDetail_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlGeometry.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlGeometry.h new file mode 100644 index 000000000..53a1f3d69 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlGeometry.h @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "CARMA-CLOUD" + * found in "asn/cc_traffic_control_messages_asn1.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _TrafficControlGeometry_H_ +#define _TrafficControlGeometry_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" +#include "EpochMins.h" +#include "Longitude.h" +#include "Latitude.h" +#include "Common_Elevation.h" +#include "NativeInteger.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct PathNode; + +/* TrafficControlGeometry */ +typedef struct TrafficControlGeometry { + IA5String_t proj; + IA5String_t datum; + EpochMins_t reftime; + Longitude_t reflon; + Latitude_t reflat; + Common_Elevation_t refelv; + long *refwidth /* OPTIONAL */; + long heading; + struct TrafficControlGeometry__nodes { + A_SEQUENCE_OF(struct PathNode) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } nodes; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlGeometry_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlGeometry; +extern asn_SEQUENCE_specifics_t asn_SPC_TrafficControlGeometry_specs_1; +extern asn_TYPE_member_t asn_MBR_TrafficControlGeometry_1[9]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "PathNode.h" + +#endif /* _TrafficControlGeometry_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlMessage.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlMessage.h new file mode 100644 index 000000000..2c0d35647 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlMessage.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _TrafficControlMessage_H_ +#define _TrafficControlMessage_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NULL.h" +#include "TrafficControlMessageV01.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TrafficControlMessage_PR { + TrafficControlMessage_PR_NOTHING, /* No components present */ + TrafficControlMessage_PR_reserved, + TrafficControlMessage_PR_tcmV01 + /* Extensions may appear below */ + +} TrafficControlMessage_PR; + +/* TrafficControlMessage */ +typedef struct TrafficControlMessage { + TrafficControlMessage_PR present; + union TrafficControlMessage_u { + NULL_t reserved; + TrafficControlMessageV01_t tcmV01; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlMessage; +extern asn_CHOICE_specifics_t asn_SPC_TrafficControlMessage_specs_1; +extern asn_TYPE_member_t asn_MBR_TrafficControlMessage_1[2]; +extern asn_per_constraints_t asn_PER_type_TrafficControlMessage_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _TrafficControlMessage_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlMessageV01.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlMessageV01.h new file mode 100644 index 000000000..2a77214c5 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlMessageV01.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _TrafficControlMessageV01_H_ +#define _TrafficControlMessageV01_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Id64b.h" +#include "NativeInteger.h" +#include "Id128b.h" +#include "EpochMins.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct TrafficControlPackage; +struct TrafficControlParams; +struct TrafficControlGeometry; + +/* TrafficControlMessageV01 */ +typedef struct TrafficControlMessageV01 { + Id64b_t reqid; + long reqseq; + long msgtot; + long msgnum; + Id128b_t id; + EpochMins_t updated; + struct TrafficControlPackage *package; /* OPTIONAL */ + struct TrafficControlParams *params; /* OPTIONAL */ + struct TrafficControlGeometry *geometry; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlMessageV01_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlMessageV01; +extern asn_SEQUENCE_specifics_t asn_SPC_TrafficControlMessageV01_specs_1; +extern asn_TYPE_member_t asn_MBR_TrafficControlMessageV01_1[9]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "TrafficControlPackage.h" +#include "TrafficControlParams.h" +#include "TrafficControlGeometry.h" + +#endif /* _TrafficControlMessageV01_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlPackage.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlPackage.h new file mode 100644 index 000000000..e898b45f6 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlPackage.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _TrafficControlPackage_H_ +#define _TrafficControlPackage_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" +#include "Id128b.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* TrafficControlPackage */ +typedef struct TrafficControlPackage { + IA5String_t *label; /* OPTIONAL */ + struct TrafficControlPackage__tcids { + A_SEQUENCE_OF(Id128b_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } tcids; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlPackage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlPackage; +extern asn_SEQUENCE_specifics_t asn_SPC_TrafficControlPackage_specs_1; +extern asn_TYPE_member_t asn_MBR_TrafficControlPackage_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _TrafficControlPackage_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlParams.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlParams.h new file mode 100644 index 000000000..82aa4501c --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlParams.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _TrafficControlParams_H_ +#define _TrafficControlParams_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "TrafficControlSchedule.h" +#include "BOOLEAN.h" +#include "TrafficControlDetail.h" +#include "TrafficControlVehClass.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* TrafficControlParams */ +typedef struct TrafficControlParams { + struct TrafficControlParams__vclasses { + A_SEQUENCE_OF(TrafficControlVehClass_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } vclasses; + TrafficControlSchedule_t schedule; + BOOLEAN_t regulatory; + TrafficControlDetail_t detail; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlParams_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlParams; +extern asn_SEQUENCE_specifics_t asn_SPC_TrafficControlParams_specs_1; +extern asn_TYPE_member_t asn_MBR_TrafficControlParams_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _TrafficControlParams_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlPathPart.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlPathPart.h new file mode 100644 index 000000000..c0e8eaa5e --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlPathPart.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _TrafficControlPathPart_H_ +#define _TrafficControlPathPart_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "OCTET_STRING.h" +#include "INTEGER.h" +#include "NativeInteger.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Point; + +/* TrafficControlPathPart */ +typedef struct TrafficControlPathPart { + OCTET_STRING_t id; + INTEGER_t updated; + long pathindex; + struct TrafficControlPathPart__points { + A_SEQUENCE_OF(struct Point) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } points; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlPathPart_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlPathPart; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "Point.h" + +#endif /* _TrafficControlPathPart_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlRequest.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlRequest.h new file mode 100644 index 000000000..ae342fa87 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlRequest.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _TrafficControlRequest_H_ +#define _TrafficControlRequest_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NULL.h" +#include "TrafficControlRequestV01.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TrafficControlRequest_PR { + TrafficControlRequest_PR_NOTHING, /* No components present */ + TrafficControlRequest_PR_reserved, + TrafficControlRequest_PR_tcrV01 + /* Extensions may appear below */ + +} TrafficControlRequest_PR; + +/* TrafficControlRequest */ +typedef struct TrafficControlRequest { + TrafficControlRequest_PR present; + union TrafficControlRequest_u { + NULL_t reserved; + TrafficControlRequestV01_t tcrV01; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlRequest; +extern asn_CHOICE_specifics_t asn_SPC_TrafficControlRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_TrafficControlRequest_1[2]; +extern asn_per_constraints_t asn_PER_type_TrafficControlRequest_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _TrafficControlRequest_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlRequestV01.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlRequestV01.h new file mode 100644 index 000000000..093f9d0b1 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlRequestV01.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _TrafficControlRequestV01_H_ +#define _TrafficControlRequestV01_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Id64b.h" +#include "NativeInteger.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct TrafficControlBounds; + +/* TrafficControlRequestV01 */ +typedef struct TrafficControlRequestV01 { + Id64b_t reqid; + long reqseq; + long scale; + struct TrafficControlRequestV01__bounds { + A_SEQUENCE_OF(struct TrafficControlBounds) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } bounds; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlRequestV01_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlRequestV01; +extern asn_SEQUENCE_specifics_t asn_SPC_TrafficControlRequestV01_specs_1; +extern asn_TYPE_member_t asn_MBR_TrafficControlRequestV01_1[4]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "TrafficControlBounds.h" + +#endif /* _TrafficControlRequestV01_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlSchedule.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlSchedule.h new file mode 100644 index 000000000..1a985b63d --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlSchedule.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _TrafficControlSchedule_H_ +#define _TrafficControlSchedule_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "EpochMins.h" +#include "DSRC_DayOfWeek.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct RepeatParams; +struct DailySchedule; + +/* TrafficControlSchedule */ +typedef struct TrafficControlSchedule { + EpochMins_t start; + EpochMins_t *end; /* OPTIONAL */ + DSRC_DayOfWeek_t *dow; /* OPTIONAL */ + struct TrafficControlSchedule__between { + A_SEQUENCE_OF(struct DailySchedule) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *between; + struct RepeatParams *repeat; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlSchedule_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlSchedule; +extern asn_SEQUENCE_specifics_t asn_SPC_TrafficControlSchedule_specs_1; +extern asn_TYPE_member_t asn_MBR_TrafficControlSchedule_1[5]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "RepeatParams.h" +#include "DailySchedule.h" + +#endif /* _TrafficControlSchedule_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlType.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlType.h new file mode 100644 index 000000000..0bcd62292 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlType.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _TrafficControlType_H_ +#define _TrafficControlType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TrafficControlType { + TrafficControlType_signal = 0, + TrafficControlType_stop = 1, + TrafficControlType_yield = 2, + TrafficControlType_notowing = 3, + TrafficControlType_restricted = 4, + TrafficControlType_closed = 5, + TrafficControlType_chains = 6, + TrafficControlType_direction = 7, + TrafficControlType_lataffinity = 8, + TrafficControlType_leftperm = 9, + TrafficControlType_rightperm = 10, + TrafficControlType_opening = 11, + TrafficControlType_closing = 12, + TrafficControlType_parking = 13, + TrafficControlType_minspeed = 14, + TrafficControlType_maxspeed = 15, + TrafficControlType_minhdwy = 16, + TrafficControlType_maxvehmass = 17, + TrafficControlType_maxvehheight = 18, + TrafficControlType_maxvehwidth = 19, + TrafficControlType_maxvehlength = 20, + TrafficControlType_maxaxles = 21, + TrafficControlType_minvehocc = 22 +} e_TrafficControlType; + +/* TrafficControlType */ +typedef long TrafficControlType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_TrafficControlType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlType; +extern const asn_INTEGER_specifics_t asn_SPC_TrafficControlType_specs_1; +asn_struct_free_f TrafficControlType_free; +asn_struct_print_f TrafficControlType_print; +asn_constr_check_f TrafficControlType_constraint; +ber_type_decoder_f TrafficControlType_decode_ber; +der_type_encoder_f TrafficControlType_encode_der; +xer_type_decoder_f TrafficControlType_decode_xer; +xer_type_encoder_f TrafficControlType_encode_xer; +oer_type_decoder_f TrafficControlType_decode_oer; +oer_type_encoder_f TrafficControlType_encode_oer; +per_type_decoder_f TrafficControlType_decode_uper; +per_type_encoder_f TrafficControlType_encode_uper; +per_type_decoder_f TrafficControlType_decode_aper; +per_type_encoder_f TrafficControlType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TrafficControlType_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlValue.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlValue.h new file mode 100644 index 000000000..b7f0f87c6 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlValue.h @@ -0,0 +1,113 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _TrafficControlValue_H_ +#define _TrafficControlValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "NativeEnumerated.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TrafficControlValue_PR { + TrafficControlValue_PR_NOTHING, /* No components present */ + TrafficControlValue_PR_value, + TrafficControlValue_PR_chains, + TrafficControlValue_PR_direction, + TrafficControlValue_PR_lataffinity, + TrafficControlValue_PR_leftperm, + TrafficControlValue_PR_rightperm, + TrafficControlValue_PR_opening, + TrafficControlValue_PR_closing, + TrafficControlValue_PR_parking +} TrafficControlValue_PR; +typedef enum TrafficControlValue__chains { + TrafficControlValue__chains_no = 0, + TrafficControlValue__chains_permitted = 1, + TrafficControlValue__chains_required = 2 +} e_TrafficControlValue__chains; +typedef enum TrafficControlValue__direction { + TrafficControlValue__direction_forward = 0, + TrafficControlValue__direction_reverse = 1 +} e_TrafficControlValue__direction; +typedef enum TrafficControlValue__lataffinity { + TrafficControlValue__lataffinity_left = 0, + TrafficControlValue__lataffinity_right = 1 +} e_TrafficControlValue__lataffinity; +typedef enum TrafficControlValue__leftperm { + TrafficControlValue__leftperm_none = 0, + TrafficControlValue__leftperm_permitted = 1, + TrafficControlValue__leftperm_passing_only = 2, + TrafficControlValue__leftperm_emergency_only = 3 +} e_TrafficControlValue__leftperm; +typedef enum TrafficControlValue__rightperm { + TrafficControlValue__rightperm_none = 0, + TrafficControlValue__rightperm_permitted = 1, + TrafficControlValue__rightperm_passing_only = 2, + TrafficControlValue__rightperm_emergency_only = 3 +} e_TrafficControlValue__rightperm; +typedef enum TrafficControlValue__opening { + TrafficControlValue__opening_left = 0, + TrafficControlValue__opening_right = 1 +} e_TrafficControlValue__opening; +typedef enum TrafficControlValue__closing { + TrafficControlValue__closing_left = 0, + TrafficControlValue__closing_right = 1 +} e_TrafficControlValue__closing; +typedef enum TrafficControlValue__parking { + TrafficControlValue__parking_no = 0, + TrafficControlValue__parking_parallel = 1, + TrafficControlValue__parking_angled = 2 +} e_TrafficControlValue__parking; + +/* TrafficControlValue */ +typedef struct TrafficControlValue { + TrafficControlValue_PR present; + union TrafficControlValue_u { + long value; + long chains; + long direction; + long lataffinity; + long leftperm; + long rightperm; + long opening; + long closing; + long parking; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TrafficControlValue_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_chains_3; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_direction_7; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_lataffinity_10; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_leftperm_13; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_rightperm_18; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_opening_23; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_closing_26; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_parking_29; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlValue; +extern asn_CHOICE_specifics_t asn_SPC_TrafficControlValue_specs_1; +extern asn_TYPE_member_t asn_MBR_TrafficControlValue_1[9]; +extern asn_per_constraints_t asn_PER_type_TrafficControlValue_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _TrafficControlValue_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlVehClass.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlVehClass.h new file mode 100644 index 000000000..45bce8529 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/TrafficControlVehClass.h @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _TrafficControlVehClass_H_ +#define _TrafficControlVehClass_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TrafficControlVehClass { + TrafficControlVehClass_any = 0, + TrafficControlVehClass_pedestrian = 1, + TrafficControlVehClass_bicycle = 2, + TrafficControlVehClass_micromobile = 3, + TrafficControlVehClass_motorcycle = 4, + TrafficControlVehClass_passenger_car = 5, + TrafficControlVehClass_light_truck_van = 6, + TrafficControlVehClass_bus = 7, + TrafficControlVehClass_two_axle_six_tire_single_unit_truck = 8, + TrafficControlVehClass_three_axle_single_unit_truck = 9, + TrafficControlVehClass_four_or_more_axle_single_unit_truck = 10, + TrafficControlVehClass_four_or_fewer_axle_single_trailer_truck = 11, + TrafficControlVehClass_five_axle_single_trailer_truck = 12, + TrafficControlVehClass_six_or_more_axle_single_trailer_truck = 13, + TrafficControlVehClass_five_or_fewer_axle_multi_trailer_truck = 14, + TrafficControlVehClass_six_axle_multi_trailer_truck = 15, + TrafficControlVehClass_seven_or_more_axle_multi_trailer_truck = 16, + TrafficControlVehClass_rail = 17, + TrafficControlVehClass_unclassified = 18 + /* + * Enumeration is extensible + */ +} e_TrafficControlVehClass; + +/* TrafficControlVehClass */ +typedef long TrafficControlVehClass_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_TrafficControlVehClass_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_TrafficControlVehClass; +extern const asn_INTEGER_specifics_t asn_SPC_TrafficControlVehClass_specs_1; +asn_struct_free_f TrafficControlVehClass_free; +asn_struct_print_f TrafficControlVehClass_print; +asn_constr_check_f TrafficControlVehClass_constraint; +ber_type_decoder_f TrafficControlVehClass_decode_ber; +der_type_encoder_f TrafficControlVehClass_encode_der; +xer_type_decoder_f TrafficControlVehClass_decode_xer; +xer_type_encoder_f TrafficControlVehClass_encode_xer; +oer_type_decoder_f TrafficControlVehClass_decode_oer; +oer_type_encoder_f TrafficControlVehClass_encode_oer; +per_type_decoder_f TrafficControlVehClass_decode_uper; +per_type_encoder_f TrafficControlVehClass_encode_uper; +per_type_decoder_f TrafficControlVehClass_decode_aper; +per_type_encoder_f TrafficControlVehClass_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TrafficControlVehClass_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/UTCTime.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/UTCTime.h new file mode 100644 index 000000000..553702013 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/UTCTime.h @@ -0,0 +1,47 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _UTCTime_H_ +#define _UTCTime_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t UTCTime_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_UTCTime; +extern asn_TYPE_operation_t asn_OP_UTCTime; + +asn_struct_print_f UTCTime_print; +asn_constr_check_f UTCTime_constraint; +xer_type_encoder_f UTCTime_encode_xer; + +#define UTCTime_free OCTET_STRING_free +#define UTCTime_compare OCTET_STRING_compare +#define UTCTime_decode_ber OCTET_STRING_decode_ber +#define UTCTime_encode_der OCTET_STRING_encode_der +#define UTCTime_decode_xer OCTET_STRING_decode_xer_utf8 +#define UTCTime_decode_uper OCTET_STRING_decode_uper +#define UTCTime_encode_uper OCTET_STRING_encode_uper + +/*********************** + * Some handy helpers. * + ***********************/ + +struct tm; /* */ + +/* See asn_GT2time() in GeneralizedTime.h */ +time_t asn_UT2time(const UTCTime_t *, struct tm *_optional_tm4fill, int as_gmt); + +/* See asn_time2GT() in GeneralizedTime.h */ +UTCTime_t *asn_time2UT(UTCTime_t *__opt_ut, const struct tm *, int force_gmt); + +#ifdef __cplusplus +} +#endif + +#endif /* _UTCTime_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/UTF8String.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/UTF8String.h new file mode 100644 index 000000000..1853573a7 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/UTF8String.h @@ -0,0 +1,60 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _UTF8String_H_ +#define _UTF8String_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t UTF8String_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_UTF8String; +extern asn_TYPE_operation_t asn_OP_UTF8String; + +asn_struct_print_f UTF8String_print; +asn_constr_check_f UTF8String_constraint; + +#define UTF8String_free OCTET_STRING_free +#define UTF8String_compare OCTET_STRING_compare +#define UTF8String_constraint UTF8String_constraint +#define UTF8String_decode_ber OCTET_STRING_decode_ber +#define UTF8String_encode_der OCTET_STRING_encode_der +#define UTF8String_decode_xer OCTET_STRING_decode_xer_utf8 +#define UTF8String_encode_xer OCTET_STRING_encode_xer_utf8 +#define UTF8String_decode_uper OCTET_STRING_decode_uper +#define UTF8String_encode_uper OCTET_STRING_encode_uper + +/* + * Returns length of the given UTF-8 string in characters, + * or a negative error code: + * -1: UTF-8 sequence truncated + * -2: Illegal UTF-8 sequence start + * -3: Continuation expectation failed + * -4: Not minimal length encoding + * -5: Invalid arguments + */ +ssize_t UTF8String_length(const UTF8String_t *st); + +/* + * Convert the UTF-8 string into a sequence of wide characters. + * Returns the number of characters necessary. + * Returned value might be greater than dstlen. + * In case of conversion error, 0 is returned. + * + * If st points to a valid UTF-8 string, calling + * UTF8String_to_wcs(st, 0, 0); + * is equivalent to + * UTF8String_length(const UTF8String_t *st); + */ +size_t UTF8String_to_wcs(const UTF8String_t *st, uint32_t *dst, size_t dstlen); + +#ifdef __cplusplus +} +#endif + +#endif /* _UTF8String_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/UUIDType.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/UUIDType.h new file mode 100644 index 000000000..d0486182e --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/UUIDType.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "../J2735_201603DA_with_PMM.ASN" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` + */ + +#ifndef _UUIDType_H_ +#define _UUIDType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* UUIDType */ +typedef IA5String_t UUIDType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UUIDType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UUIDType; +asn_struct_free_f UUIDType_free; +asn_struct_print_f UUIDType_print; +asn_constr_check_f UUIDType_constraint; +ber_type_decoder_f UUIDType_decode_ber; +der_type_encoder_f UUIDType_encode_der; +xer_type_decoder_f UUIDType_decode_xer; +xer_type_encoder_f UUIDType_encode_xer; +per_type_decoder_f UUIDType_decode_uper; +per_type_encoder_f UUIDType_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UUIDType_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/UniversalString.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/UniversalString.h new file mode 100644 index 000000000..ff2253739 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/UniversalString.h @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _UniversalString_H_ +#define _UniversalString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t UniversalString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_UniversalString; +extern asn_TYPE_operation_t asn_OP_UniversalString; +extern asn_OCTET_STRING_specifics_t asn_SPC_UniversalString_specs; + +asn_struct_print_f UniversalString_print; /* Human-readable output */ +xer_type_decoder_f UniversalString_decode_xer; +xer_type_encoder_f UniversalString_encode_xer; + +#define UniversalString_free OCTET_STRING_free +#define UniversalString_compare OCTET_STRING_compare +#define UniversalString_decode_ber OCTET_STRING_decode_ber +#define UniversalString_encode_der OCTET_STRING_encode_der +#define UniversalString_decode_uper OCTET_STRING_decode_uper +#define UniversalString_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _UniversalString_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/VehicleDescriptionType.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/VehicleDescriptionType.h new file mode 100644 index 000000000..d3daf790c --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/VehicleDescriptionType.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "../J2735_201603DA_with_PMM.ASN" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` + */ + +#ifndef _VehicleDescriptionType_H_ +#define _VehicleDescriptionType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* VehicleDescriptionType */ +typedef IA5String_t VehicleDescriptionType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_VehicleDescriptionType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_VehicleDescriptionType; +asn_struct_free_f VehicleDescriptionType_free; +asn_struct_print_f VehicleDescriptionType_print; +asn_constr_check_f VehicleDescriptionType_constraint; +ber_type_decoder_f VehicleDescriptionType_decode_ber; +der_type_encoder_f VehicleDescriptionType_encode_der; +xer_type_decoder_f VehicleDescriptionType_decode_xer; +xer_type_encoder_f VehicleDescriptionType_encode_xer; +per_type_decoder_f VehicleDescriptionType_decode_uper; +per_type_encoder_f VehicleDescriptionType_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _VehicleDescriptionType_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/VehicleGroupAffected.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/VehicleGroupAffected.h new file mode 100644 index 000000000..4c825f2f7 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/VehicleGroupAffected.h @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#ifndef _VehicleGroupAffected_H_ +#define _VehicleGroupAffected_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum VehicleGroupAffected { + VehicleGroupAffected_all_vehicles = 9217, + VehicleGroupAffected_bicycles = 9218, + VehicleGroupAffected_motorcycles = 9219, + VehicleGroupAffected_cars = 9220, + VehicleGroupAffected_light_vehicles = 9221, + VehicleGroupAffected_cars_and_light_vehicles = 9222, + VehicleGroupAffected_cars_with_trailers = 9223, + VehicleGroupAffected_cars_with_recreational_trailers = 9224, + VehicleGroupAffected_vehicles_with_trailers = 9225, + VehicleGroupAffected_heavy_vehicles = 9226, + VehicleGroupAffected_trucks = 9227, + VehicleGroupAffected_buses = 9228, + VehicleGroupAffected_articulated_buses = 9229, + VehicleGroupAffected_school_buses = 9230, + VehicleGroupAffected_vehicles_with_semi_trailers = 9231, + VehicleGroupAffected_vehicles_with_double_trailers = 9232, + VehicleGroupAffected_high_profile_vehicles = 9233, + VehicleGroupAffected_wide_vehicles = 9234, + VehicleGroupAffected_long_vehicles = 9235, + VehicleGroupAffected_hazardous_loads = 9236, + VehicleGroupAffected_exceptional_loads = 9237, + VehicleGroupAffected_abnormal_loads = 9238, + VehicleGroupAffected_convoys = 9239, + VehicleGroupAffected_maintenance_vehicles = 9240, + VehicleGroupAffected_delivery_vehicles = 9241, + VehicleGroupAffected_vehicles_with_even_numbered_license_plates = 9242, + VehicleGroupAffected_vehicles_with_odd_numbered_license_plates = 9243, + VehicleGroupAffected_vehicles_with_parking_permits = 9244, + VehicleGroupAffected_vehicles_with_catalytic_converters = 9245, + VehicleGroupAffected_vehicles_without_catalytic_converters = 9246, + VehicleGroupAffected_gas_powered_vehicles = 9247, + VehicleGroupAffected_diesel_powered_vehicles = 9248, + VehicleGroupAffected_lPG_vehicles = 9249, + VehicleGroupAffected_military_convoys = 9250, + VehicleGroupAffected_military_vehicles = 9251 + /* + * Enumeration is extensible + */ +} e_VehicleGroupAffected; + +/* VehicleGroupAffected */ +typedef long VehicleGroupAffected_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_VehicleGroupAffected_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_VehicleGroupAffected; +extern const asn_INTEGER_specifics_t asn_SPC_VehicleGroupAffected_specs_1; +asn_struct_free_f VehicleGroupAffected_free; +asn_struct_print_f VehicleGroupAffected_print; +asn_constr_check_f VehicleGroupAffected_constraint; +ber_type_decoder_f VehicleGroupAffected_decode_ber; +der_type_encoder_f VehicleGroupAffected_encode_der; +xer_type_decoder_f VehicleGroupAffected_decode_xer; +xer_type_encoder_f VehicleGroupAffected_encode_xer; +oer_type_decoder_f VehicleGroupAffected_decode_oer; +oer_type_encoder_f VehicleGroupAffected_encode_oer; +per_type_decoder_f VehicleGroupAffected_decode_uper; +per_type_encoder_f VehicleGroupAffected_encode_uper; +per_type_decoder_f VehicleGroupAffected_decode_aper; +per_type_encoder_f VehicleGroupAffected_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _VehicleGroupAffected_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/VideotexString.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/VideotexString.h new file mode 100644 index 000000000..1227f581d --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/VideotexString.h @@ -0,0 +1,34 @@ +/*- + * Copyright (c) 2003 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _VideotexString_H_ +#define _VideotexString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t VideotexString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_VideotexString; +extern asn_TYPE_operation_t asn_OP_VideotexString; + +#define VideotexString_free OCTET_STRING_free +#define VideotexString_print OCTET_STRING_print +#define VideotexString_compare OCTET_STRING_compare +#define VideotexString_constraint asn_generic_unknown_constraint +#define VideotexString_decode_ber OCTET_STRING_decode_ber +#define VideotexString_encode_der OCTET_STRING_encode_der +#define VideotexString_decode_xer OCTET_STRING_decode_xer_hex +#define VideotexString_encode_xer OCTET_STRING_encode_xer +#define VideotexString_decode_uper OCTET_STRING_decode_uper +#define VideotexString_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _VideotexString_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/VisibleString.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/VisibleString.h new file mode 100644 index 000000000..a8d278bed --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/VisibleString.h @@ -0,0 +1,36 @@ +/*- + * Copyright (c) 2003 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _VisibleString_H_ +#define _VisibleString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t VisibleString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_VisibleString; +extern asn_TYPE_operation_t asn_OP_VisibleString; + +asn_constr_check_f VisibleString_constraint; + +#define VisibleString_free OCTET_STRING_free +#define VisibleString_print OCTET_STRING_print +#define VisibleString_compare OCTET_STRING_compare +#define VisibleString_constraint VisibleString_constraint +#define VisibleString_decode_ber OCTET_STRING_decode_ber +#define VisibleString_encode_der OCTET_STRING_encode_der +#define VisibleString_decode_xer OCTET_STRING_decode_xer_hex +#define VisibleString_encode_xer OCTET_STRING_encode_xer +#define VisibleString_decode_uper OCTET_STRING_decode_uper +#define VisibleString_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _VisibleString_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2024/constr_SET.h b/src/tmx/Asn_J2735/include/asn_j2735_r2024/constr_SET.h new file mode 100644 index 000000000..eb61b5a39 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2024/constr_SET.h @@ -0,0 +1,86 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _CONSTR_SET_H_ +#define _CONSTR_SET_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +typedef const struct asn_SET_specifics_s { + /* + * Target structure description. + */ + unsigned struct_size; /* Size of the target structure. */ + unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ + unsigned pres_offset; /* Offset of _presence_map member */ + + /* + * Tags to members mapping table (sorted). + * Sometimes suitable for DER encoding (untagged CHOICE is present); + * if so, tag2el_count will be greater than td->elements_count. + */ + const asn_TYPE_tag2member_t *tag2el; + unsigned tag2el_count; + + /* + * Tags to members mapping table, second edition. + * Suitable for CANONICAL-XER encoding. + */ + const asn_TYPE_tag2member_t *tag2el_cxer; + unsigned tag2el_cxer_count; + + /* + * Extensions-related stuff. + */ + int extensible; /* Whether SET is extensible */ + const unsigned int *_mandatory_elements; /* Bitmask of mandatory ones */ +} asn_SET_specifics_t; + +/* + * A set specialized functions dealing with the SET type. + */ +asn_struct_free_f SET_free; +asn_struct_print_f SET_print; +asn_struct_compare_f SET_compare; +asn_constr_check_f SET_constraint; +ber_type_decoder_f SET_decode_ber; +der_type_encoder_f SET_encode_der; +xer_type_decoder_f SET_decode_xer; +xer_type_encoder_f SET_encode_xer; +per_type_decoder_f SET_decode_uper; +per_type_encoder_f SET_encode_uper; +extern asn_TYPE_operation_t asn_OP_SET; + +/*********************** + * Some handy helpers. * + ***********************/ + +/* + * Figure out whether the SET member indicated by PR_x has already been decoded. + * It is very simple bitfield test, despite its visual complexity. + */ +#define ASN_SET_ISPRESENT(set_ptr, PR_x) \ + ASN_SET_ISPRESENT2(&((set_ptr)->_presence_map), PR_x) +#define ASN_SET_ISPRESENT2(map_ptr, PR_x) \ + (((unsigned int *)(map_ptr)) \ + [(PR_x) / (8 * sizeof(unsigned int))] \ + & (1 << ((8 * sizeof(unsigned int)) - 1 \ + - ((PR_x) % (8 * sizeof(unsigned int)))))) + +#define ASN_SET_MKPRESENT(map_ptr, PR_x) \ + (((unsigned int *)(map_ptr)) \ + [(PR_x) / (8 * sizeof(unsigned int))] \ + |= (1 << ((8 * sizeof(unsigned int)) - 1 \ + - ((PR_x) % (8 * sizeof(unsigned int)))))) + +#ifdef __cplusplus +} +#endif + +#endif /* _CONSTR_SET_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/AddGrpB_DayOfWeek.c b/src/tmx/Asn_J2735/src/r2024/AddGrpB_DayOfWeek.c new file mode 100644 index 000000000..a441d8fd9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AddGrpB_DayOfWeek.c @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "AddGrpB_DayOfWeek.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_AddGrpB_DayOfWeek_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +asn_per_constraints_t asn_PER_type_AddGrpB_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 */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_AddGrpB_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_AddGrpB_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_AddGrpB_DayOfWeek_specs_1 = { + asn_MAP_AddGrpB_DayOfWeek_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AddGrpB_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_AddGrpB_DayOfWeek_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AddGrpB_DayOfWeek = { + "DayOfWeek", + "DayOfWeek", + &asn_OP_NativeEnumerated, + asn_DEF_AddGrpB_DayOfWeek_tags_1, + sizeof(asn_DEF_AddGrpB_DayOfWeek_tags_1) + /sizeof(asn_DEF_AddGrpB_DayOfWeek_tags_1[0]), /* 1 */ + asn_DEF_AddGrpB_DayOfWeek_tags_1, /* Same as above */ + sizeof(asn_DEF_AddGrpB_DayOfWeek_tags_1) + /sizeof(asn_DEF_AddGrpB_DayOfWeek_tags_1[0]), /* 1 */ + { &asn_OER_type_AddGrpB_DayOfWeek_constr_1, &asn_PER_type_AddGrpB_DayOfWeek_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AddGrpB_DayOfWeek_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Altitude.c b/src/tmx/Asn_J2735/src/r2024/Altitude.c new file mode 100644 index 000000000..ef52b6517 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Altitude.h" + +asn_TYPE_member_t asn_MBR_Altitude_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct 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 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_Altitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_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_Altitude_specs_1 = { + sizeof(struct Altitude), + offsetof(struct Altitude, _asn_ctx), + asn_MAP_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_Altitude = { + "Altitude", + "Altitude", + &asn_OP_SEQUENCE, + asn_DEF_Altitude_tags_1, + sizeof(asn_DEF_Altitude_tags_1) + /sizeof(asn_DEF_Altitude_tags_1[0]), /* 1 */ + asn_DEF_Altitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Altitude_tags_1) + /sizeof(asn_DEF_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_Altitude_1, + 2, /* Elements count */ + &asn_SPC_Altitude_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage-addGrpCarma.c b/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage-addGrpCarma.c new file mode 100644 index 000000000..d4a4cadb1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage-addGrpCarma.c @@ -0,0 +1,171 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpCarma" + * found in "J2735_201603_2022-11-21.asn" + * `asn1c -fcompound-names -D ../include/generated/` + */ + +#include "BasicSafetyMessage-addGrpCarma.h" + +static int +memb_routeDestinationPoints_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_routeDestinationPoints_constr_2 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_routeDestinationPoints_constr_2 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_routeDestinationPoints_constr_2 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_routeDestinationPoints_constr_2 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_routeDestinationPoints_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Position3D_addGrpCarma, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_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_routeDestinationPoints_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_routeDestinationPoints_specs_2 = { + sizeof(struct BasicSafetyMessage_addGrpCarma__routeDestinationPoints), + offsetof(struct BasicSafetyMessage_addGrpCarma__routeDestinationPoints, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_routeDestinationPoints_2 = { + "routeDestinationPoints", + "routeDestinationPoints", + &asn_OP_SEQUENCE_OF, + asn_DEF_routeDestinationPoints_tags_2, + sizeof(asn_DEF_routeDestinationPoints_tags_2) + /sizeof(asn_DEF_routeDestinationPoints_tags_2[0]) - 1, /* 1 */ + asn_DEF_routeDestinationPoints_tags_2, /* Same as above */ + sizeof(asn_DEF_routeDestinationPoints_tags_2) + /sizeof(asn_DEF_routeDestinationPoints_tags_2[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_routeDestinationPoints_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_routeDestinationPoints_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_routeDestinationPoints_2, + 1, /* Single element */ + &asn_SPC_routeDestinationPoints_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_BasicSafetyMessage_addGrpCarma_1[] = { + { ATF_POINTER, 1, offsetof(struct BasicSafetyMessage_addGrpCarma, routeDestinationPoints), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_routeDestinationPoints_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_routeDestinationPoints_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_routeDestinationPoints_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_routeDestinationPoints_constraint_1 + }, + 0, 0, /* No default value */ + "routeDestinationPoints" + }, +}; +static const int asn_MAP_BasicSafetyMessage_addGrpCarma_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_BasicSafetyMessage_addGrpCarma_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_BasicSafetyMessage_addGrpCarma_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routeDestinationPoints */ +}; +asn_SEQUENCE_specifics_t asn_SPC_BasicSafetyMessage_addGrpCarma_specs_1 = { + sizeof(struct BasicSafetyMessage_addGrpCarma), + offsetof(struct BasicSafetyMessage_addGrpCarma, _asn_ctx), + asn_MAP_BasicSafetyMessage_addGrpCarma_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_BasicSafetyMessage_addGrpCarma_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_BasicSafetyMessage_addGrpCarma = { + "BasicSafetyMessage-addGrpCarma", + "BasicSafetyMessage-addGrpCarma", + &asn_OP_SEQUENCE, + asn_DEF_BasicSafetyMessage_addGrpCarma_tags_1, + sizeof(asn_DEF_BasicSafetyMessage_addGrpCarma_tags_1) + /sizeof(asn_DEF_BasicSafetyMessage_addGrpCarma_tags_1[0]), /* 1 */ + asn_DEF_BasicSafetyMessage_addGrpCarma_tags_1, /* Same as above */ + sizeof(asn_DEF_BasicSafetyMessage_addGrpCarma_tags_1) + /sizeof(asn_DEF_BasicSafetyMessage_addGrpCarma_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_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_addGrpCarma_1, + 1, /* Elements count */ + &asn_SPC_BasicSafetyMessage_addGrpCarma_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.c b/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.c index 891be7e09..a788c3bbd 100644 --- a/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.c +++ b/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.c @@ -111,7 +111,7 @@ static asn_TYPE_member_t asn_MBR_partII_3[] = { { ATF_POINTER, 0, 0, (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, - &asn_DEF_CCMpartIIExtension, + &asn_DEF_BSMpartIIExtension, 0, { #if !defined(ASN_DISABLE_OER_SUPPORT) diff --git a/src/tmx/Asn_J2735/src/r2024/CCMPartIIcontent.c b/src/tmx/Asn_J2735/src/r2024/CCMPartIIcontent.c new file mode 100644 index 000000000..cbfe7e392 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CCMPartIIcontent.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 "CCMPartIIcontent.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/DSRC_DayOfWeek.c b/src/tmx/Asn_J2735/src/r2024/DSRC_DayOfWeek.c new file mode 100644 index 000000000..d2958927b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DSRC_DayOfWeek.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "DSRC_DayOfWeek.h" + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_DSRC_DayOfWeek_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DSRC_DayOfWeek = { + "DayOfWeek", + "DayOfWeek", + &asn_OP_BIT_STRING, + asn_DEF_DSRC_DayOfWeek_tags_1, + sizeof(asn_DEF_DSRC_DayOfWeek_tags_1) + /sizeof(asn_DEF_DSRC_DayOfWeek_tags_1[0]), /* 1 */ + asn_DEF_DSRC_DayOfWeek_tags_1, /* Same as above */ + sizeof(asn_DEF_DSRC_DayOfWeek_tags_1) + /sizeof(asn_DEF_DSRC_DayOfWeek_tags_1[0]), /* 1 */ + { 0, 0, BIT_STRING_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DailySchedule.c b/src/tmx/Asn_J2735/src/r2024/DailySchedule.c new file mode 100644 index 000000000..4c6671ab3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DailySchedule.c @@ -0,0 +1,126 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "DailySchedule.h" + +static int +memb_begin_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 >= 0 && value <= 1439)) { + /* 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_duration_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 >= 0 && value <= 1439)) { + /* 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_oer_constraints_t asn_OER_memb_begin_constr_2 CC_NOTUSED = { + { 2, 1 } /* (0..1439) */, + -1}; +static asn_per_constraints_t asn_PER_memb_begin_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 1439 } /* (0..1439) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_duration_constr_3 CC_NOTUSED = { + { 2, 1 } /* (0..1439) */, + -1}; +static asn_per_constraints_t asn_PER_memb_duration_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 1439 } /* (0..1439) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_DailySchedule_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DailySchedule, begin), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_begin_constr_2, &asn_PER_memb_begin_constr_2, memb_begin_constraint_1 }, + 0, 0, /* No default value */ + "begin" + }, + { ATF_NOFLAGS, 0, offsetof(struct DailySchedule, duration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_duration_constr_3, &asn_PER_memb_duration_constr_3, memb_duration_constraint_1 }, + 0, 0, /* No default value */ + "duration" + }, +}; +static const ber_tlv_tag_t asn_DEF_DailySchedule_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DailySchedule_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* begin */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* duration */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DailySchedule_specs_1 = { + sizeof(struct DailySchedule), + offsetof(struct DailySchedule, _asn_ctx), + asn_MAP_DailySchedule_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_DailySchedule = { + "DailySchedule", + "DailySchedule", + &asn_OP_SEQUENCE, + asn_DEF_DailySchedule_tags_1, + sizeof(asn_DEF_DailySchedule_tags_1) + /sizeof(asn_DEF_DailySchedule_tags_1[0]), /* 1 */ + asn_DEF_DailySchedule_tags_1, /* Same as above */ + sizeof(asn_DEF_DailySchedule_tags_1) + /sizeof(asn_DEF_DailySchedule_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_DailySchedule_1, + 2, /* Elements count */ + &asn_SPC_DailySchedule_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DaySchedule.c b/src/tmx/Asn_J2735/src/r2024/DaySchedule.c new file mode 100644 index 000000000..9b915fccc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DaySchedule.c @@ -0,0 +1,126 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "DaySchedule.h" + +static int +memb_begin_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 >= 0 && value <= 1439)) { + /* 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_duration_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 >= 0 && value <= 1439)) { + /* 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_oer_constraints_t asn_OER_memb_begin_constr_2 CC_NOTUSED = { + { 2, 1 } /* (0..1439) */, + -1}; +static asn_per_constraints_t asn_PER_memb_begin_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 1439 } /* (0..1439) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_duration_constr_3 CC_NOTUSED = { + { 2, 1 } /* (0..1439) */, + -1}; +static asn_per_constraints_t asn_PER_memb_duration_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 1439 } /* (0..1439) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_DaySchedule_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DaySchedule, begin), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_begin_constr_2, &asn_PER_memb_begin_constr_2, memb_begin_constraint_1 }, + 0, 0, /* No default value */ + "begin" + }, + { ATF_NOFLAGS, 0, offsetof(struct DaySchedule, duration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_duration_constr_3, &asn_PER_memb_duration_constr_3, memb_duration_constraint_1 }, + 0, 0, /* No default value */ + "duration" + }, +}; +static const ber_tlv_tag_t asn_DEF_DaySchedule_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DaySchedule_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* begin */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* duration */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DaySchedule_specs_1 = { + sizeof(struct DaySchedule), + offsetof(struct DaySchedule, _asn_ctx), + asn_MAP_DaySchedule_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_DaySchedule = { + "DaySchedule", + "DaySchedule", + &asn_OP_SEQUENCE, + asn_DEF_DaySchedule_tags_1, + sizeof(asn_DEF_DaySchedule_tags_1) + /sizeof(asn_DEF_DaySchedule_tags_1[0]), /* 1 */ + asn_DEF_DaySchedule_tags_1, /* Same as above */ + sizeof(asn_DEF_DaySchedule_tags_1) + /sizeof(asn_DEF_DaySchedule_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_DaySchedule_1, + 2, /* Elements count */ + &asn_SPC_DaySchedule_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Duration.c b/src/tmx/Asn_J2735/src/r2024/Duration.c new file mode 100644 index 000000000..6fbf67731 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Duration.h" + +int +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_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_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_Duration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Duration = { + "Duration", + "Duration", + &asn_OP_NativeInteger, + asn_DEF_Duration_tags_1, + sizeof(asn_DEF_Duration_tags_1) + /sizeof(asn_DEF_Duration_tags_1[0]), /* 1 */ + asn_DEF_Duration_tags_1, /* Same as above */ + sizeof(asn_DEF_Duration_tags_1) + /sizeof(asn_DEF_Duration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Duration_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Duration_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Duration_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EpochMins.c b/src/tmx/Asn_J2735/src/r2024/EpochMins.c new file mode 100644 index 000000000..2c289fae8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EpochMins.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "EpochMins.h" + +int +EpochMins_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 >= 0 && value <= 153722867280912)) { + /* Constraint check succeeded */ + return 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. + */ +static asn_oer_constraints_t asn_OER_type_EpochMins_constr_1 CC_NOTUSED = { + { 8, 1 } /* (0..153722867280912) */, + -1}; +asn_per_constraints_t asn_PER_type_EpochMins_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 48, -1, 0, 153722867280912 } /* (0..153722867280912) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_EpochMins_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EpochMins = { + "EpochMins", + "EpochMins", + &asn_OP_INTEGER, + asn_DEF_EpochMins_tags_1, + sizeof(asn_DEF_EpochMins_tags_1) + /sizeof(asn_DEF_EpochMins_tags_1[0]), /* 1 */ + asn_DEF_EpochMins_tags_1, /* Same as above */ + sizeof(asn_DEF_EpochMins_tags_1) + /sizeof(asn_DEF_EpochMins_tags_1[0]), /* 1 */ + { &asn_OER_type_EpochMins_constr_1, &asn_PER_type_EpochMins_constr_1, EpochMins_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/GenericLocations.c b/src/tmx/Asn_J2735/src/r2024/GenericLocations.c new file mode 100644 index 000000000..c7bbf1627 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "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_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_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_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_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_GenericLocations_specs_1 = { + asn_MAP_GenericLocations_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_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_GenericLocations_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_GenericLocations = { + "GenericLocations", + "GenericLocations", + &asn_OP_NativeEnumerated, + asn_DEF_GenericLocations_tags_1, + sizeof(asn_DEF_GenericLocations_tags_1) + /sizeof(asn_DEF_GenericLocations_tags_1[0]), /* 1 */ + asn_DEF_GenericLocations_tags_1, /* Same as above */ + sizeof(asn_DEF_GenericLocations_tags_1) + /sizeof(asn_DEF_GenericLocations_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_GenericLocations_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_GenericLocations_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_GenericLocations_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITIScodes.c b/src/tmx/Asn_J2735/src/r2024/ITIScodes.c new file mode 100644 index 000000000..e63f5fd2a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ITIScodes.h" + +int +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_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_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_ITIScodes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ITIScodes = { + "ITIScodes", + "ITIScodes", + &asn_OP_NativeInteger, + asn_DEF_ITIScodes_tags_1, + sizeof(asn_DEF_ITIScodes_tags_1) + /sizeof(asn_DEF_ITIScodes_tags_1[0]), /* 1 */ + asn_DEF_ITIScodes_tags_1, /* Same as above */ + sizeof(asn_DEF_ITIScodes_tags_1) + /sizeof(asn_DEF_ITIScodes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITIScodes_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITIScodes_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ITIScodes_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITIScodesAndText.c b/src/tmx/Asn_J2735/src/r2024/ITIScodesAndText.c new file mode 100644 index 000000000..44c7a62cb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "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_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_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 ITIScodesAndText__Member__item, choice.itis), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_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 ITIScodesAndText__Member__item, choice.text), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_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 ITIScodesAndText__Member__item), + offsetof(struct ITIScodesAndText__Member__item, _asn_ctx), + offsetof(struct ITIScodesAndText__Member__item, present), + sizeof(((struct 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 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 ITIScodesAndText__Member), + offsetof(struct 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_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_ITIScodesAndText_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ITIScodesAndText_specs_1 = { + sizeof(struct ITIScodesAndText), + offsetof(struct ITIScodesAndText, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ITIScodesAndText = { + "ITIScodesAndText", + "ITIScodesAndText", + &asn_OP_SEQUENCE_OF, + asn_DEF_ITIScodesAndText_tags_1, + sizeof(asn_DEF_ITIScodesAndText_tags_1) + /sizeof(asn_DEF_ITIScodesAndText_tags_1[0]), /* 1 */ + asn_DEF_ITIScodesAndText_tags_1, /* Same as above */ + sizeof(asn_DEF_ITIScodesAndText_tags_1) + /sizeof(asn_DEF_ITIScodesAndText_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITIScodesAndText_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITIScodesAndText_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_ITIScodesAndText_1, + 1, /* Single element */ + &asn_SPC_ITIScodesAndText_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITIStext.c b/src/tmx/Asn_J2735/src/r2024/ITIStext.c new file mode 100644 index 000000000..08b8a96f9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "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 +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_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_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_ITIStext_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ITIStext = { + "ITIStext", + "ITIStext", + &asn_OP_IA5String, + asn_DEF_ITIStext_tags_1, + sizeof(asn_DEF_ITIStext_tags_1) + /sizeof(asn_DEF_ITIStext_tags_1[0]), /* 1 */ + asn_DEF_ITIStext_tags_1, /* Same as above */ + sizeof(asn_DEF_ITIStext_tags_1) + /sizeof(asn_DEF_ITIStext_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITIStext_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITIStext_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ITIStext_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Id128b.c b/src/tmx/Asn_J2735/src/r2024/Id128b.c new file mode 100644 index 000000000..d755c3e4c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Id128b.c @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +# include "Id128b.h" + +int +Id128b_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 == 16)) { + /* Constraint check succeeded */ + return 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. + */ +static asn_oer_constraints_t asn_OER_type_Id128b_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +asn_per_constraints_t asn_PER_type_Id128b_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 */ +}; +static const ber_tlv_tag_t asn_DEF_Id128b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Id128b = { + "Id128b", + "Id128b", + &asn_OP_OCTET_STRING, + asn_DEF_Id128b_tags_1, + sizeof(asn_DEF_Id128b_tags_1) + /sizeof(asn_DEF_Id128b_tags_1[0]), /* 1 */ + asn_DEF_Id128b_tags_1, /* Same as above */ + sizeof(asn_DEF_Id128b_tags_1) + /sizeof(asn_DEF_Id128b_tags_1[0]), /* 1 */ + { &asn_OER_type_Id128b_constr_1, &asn_PER_type_Id128b_constr_1, Id128b_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Id64b.c b/src/tmx/Asn_J2735/src/r2024/Id64b.c new file mode 100644 index 000000000..0b7d291d9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Id64b.c @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "Id64b.h" + +int +Id64b_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 == 8)) { + /* Constraint check succeeded */ + return 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. + */ +static asn_oer_constraints_t asn_OER_type_Id64b_constr_1 CC_NOTUSED = { + { 0, 0 }, + 8 /* (SIZE(8..8)) */}; +asn_per_constraints_t asn_PER_type_Id64b_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 */ +}; +static const ber_tlv_tag_t asn_DEF_Id64b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Id64b = { + "Id64b", + "Id64b", + &asn_OP_OCTET_STRING, + asn_DEF_Id64b_tags_1, + sizeof(asn_DEF_Id64b_tags_1) + /sizeof(asn_DEF_Id64b_tags_1[0]), /* 1 */ + asn_DEF_Id64b_tags_1, /* Same as above */ + sizeof(asn_DEF_Id64b_tags_1) + /sizeof(asn_DEF_Id64b_tags_1[0]), /* 1 */ + { &asn_OER_type_Id64b_constr_1, &asn_PER_type_Id64b_constr_1, Id64b_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IncidentResponseEquipment.c b/src/tmx/Asn_J2735/src/r2024/IncidentResponseEquipment.c new file mode 100644 index 000000000..c013824b5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "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_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_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_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_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_IncidentResponseEquipment_specs_1 = { + asn_MAP_IncidentResponseEquipment_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_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_IncidentResponseEquipment_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_IncidentResponseEquipment = { + "IncidentResponseEquipment", + "IncidentResponseEquipment", + &asn_OP_NativeEnumerated, + asn_DEF_IncidentResponseEquipment_tags_1, + sizeof(asn_DEF_IncidentResponseEquipment_tags_1) + /sizeof(asn_DEF_IncidentResponseEquipment_tags_1[0]), /* 1 */ + asn_DEF_IncidentResponseEquipment_tags_1, /* Same as above */ + sizeof(asn_DEF_IncidentResponseEquipment_tags_1) + /sizeof(asn_DEF_IncidentResponseEquipment_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_IncidentResponseEquipment_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_IncidentResponseEquipment_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_IncidentResponseEquipment_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Latitude.c b/src/tmx/Asn_J2735/src/r2024/Latitude.c new file mode 100644 index 000000000..8eef96907 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Latitude.h" + +int +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_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_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_Latitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Latitude = { + "Latitude", + "Latitude", + &asn_OP_NativeInteger, + asn_DEF_Latitude_tags_1, + sizeof(asn_DEF_Latitude_tags_1) + /sizeof(asn_DEF_Latitude_tags_1[0]), /* 1 */ + asn_DEF_Latitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Latitude_tags_1) + /sizeof(asn_DEF_Latitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Latitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Latitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Latitude_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Longitude.c b/src/tmx/Asn_J2735/src/r2024/Longitude.c new file mode 100644 index 000000000..55bfb90bc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Longitude.h" + +int +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_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_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_Longitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Longitude = { + "Longitude", + "Longitude", + &asn_OP_NativeInteger, + asn_DEF_Longitude_tags_1, + sizeof(asn_DEF_Longitude_tags_1) + /sizeof(asn_DEF_Longitude_tags_1[0]), /* 1 */ + asn_DEF_Longitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Longitude_tags_1) + /sizeof(asn_DEF_Longitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Longitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Longitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Longitude_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityDynamicID.c b/src/tmx/Asn_J2735/src/r2024/MobilityDynamicID.c new file mode 100644 index 000000000..740cd9403 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityDynamicID.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityDynamicID.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 <= 127)) return -1; + } + return 0; +} + +int +MobilityDynamicID_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 == 8) + && !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. + */ +static asn_oer_constraints_t asn_OER_type_MobilityDynamicID_constr_1 CC_NOTUSED = { + { 0, 0 }, + 8 /* (SIZE(8..8)) */}; +asn_per_constraints_t asn_PER_type_MobilityDynamicID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER character map necessary */ +}; +static const ber_tlv_tag_t asn_DEF_MobilityDynamicID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityDynamicID = { + "MobilityDynamicID", + "MobilityDynamicID", + &asn_OP_IA5String, + asn_DEF_MobilityDynamicID_tags_1, + sizeof(asn_DEF_MobilityDynamicID_tags_1) + /sizeof(asn_DEF_MobilityDynamicID_tags_1[0]), /* 1 */ + asn_DEF_MobilityDynamicID_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityDynamicID_tags_1) + /sizeof(asn_DEF_MobilityDynamicID_tags_1[0]), /* 1 */ + { &asn_OER_type_MobilityDynamicID_constr_1, &asn_PER_type_MobilityDynamicID_constr_1, MobilityDynamicID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityECEFCoordinate.c b/src/tmx/Asn_J2735/src/r2024/MobilityECEFCoordinate.c new file mode 100644 index 000000000..0ccbbe2e2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityECEFCoordinate.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityECEFCoordinate.h" + +int +MobilityECEFCoordinate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -638363700 && value <= 638363700)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_MobilityECEFCoordinate_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-638363700..638363700) */, + -1}; +asn_per_constraints_t asn_PER_type_MobilityECEFCoordinate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 31, -1, -638363700, 638363700 } /* (-638363700..638363700) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_MobilityECEFCoordinate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityECEFCoordinate = { + "MobilityECEFCoordinate", + "MobilityECEFCoordinate", + &asn_OP_NativeInteger, + asn_DEF_MobilityECEFCoordinate_tags_1, + sizeof(asn_DEF_MobilityECEFCoordinate_tags_1) + /sizeof(asn_DEF_MobilityECEFCoordinate_tags_1[0]), /* 1 */ + asn_DEF_MobilityECEFCoordinate_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityECEFCoordinate_tags_1) + /sizeof(asn_DEF_MobilityECEFCoordinate_tags_1[0]), /* 1 */ + { &asn_OER_type_MobilityECEFCoordinate_constr_1, &asn_PER_type_MobilityECEFCoordinate_constr_1, MobilityECEFCoordinate_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityECEFOffset.c b/src/tmx/Asn_J2735/src/r2024/MobilityECEFOffset.c new file mode 100644 index 000000000..3f2f36cc0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityECEFOffset.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityECEFOffset.h" + +asn_TYPE_member_t asn_MBR_MobilityECEFOffset_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityECEFOffset, offsetX), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityECEFOffsetCoordinate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "offsetX" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityECEFOffset, offsetY), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityECEFOffsetCoordinate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "offsetY" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityECEFOffset, offsetZ), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityECEFOffsetCoordinate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "offsetZ" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityECEFOffset_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityECEFOffset_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_MobilityECEFOffset_specs_1 = { + sizeof(struct MobilityECEFOffset), + offsetof(struct MobilityECEFOffset, _asn_ctx), + asn_MAP_MobilityECEFOffset_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_MobilityECEFOffset = { + "MobilityECEFOffset", + "MobilityECEFOffset", + &asn_OP_SEQUENCE, + asn_DEF_MobilityECEFOffset_tags_1, + sizeof(asn_DEF_MobilityECEFOffset_tags_1) + /sizeof(asn_DEF_MobilityECEFOffset_tags_1[0]), /* 1 */ + asn_DEF_MobilityECEFOffset_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityECEFOffset_tags_1) + /sizeof(asn_DEF_MobilityECEFOffset_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityECEFOffset_1, + 3, /* Elements count */ + &asn_SPC_MobilityECEFOffset_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityECEFOffsetCoordinate.c b/src/tmx/Asn_J2735/src/r2024/MobilityECEFOffsetCoordinate.c new file mode 100644 index 000000000..0e2b37baf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityECEFOffsetCoordinate.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityECEFOffsetCoordinate.h" + +int +MobilityECEFOffsetCoordinate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -500 && value <= 501)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_MobilityECEFOffsetCoordinate_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-500..501) */, + -1}; +asn_per_constraints_t asn_PER_type_MobilityECEFOffsetCoordinate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, -500, 501 } /* (-500..501) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_MobilityECEFOffsetCoordinate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityECEFOffsetCoordinate = { + "MobilityECEFOffsetCoordinate", + "MobilityECEFOffsetCoordinate", + &asn_OP_NativeInteger, + asn_DEF_MobilityECEFOffsetCoordinate_tags_1, + sizeof(asn_DEF_MobilityECEFOffsetCoordinate_tags_1) + /sizeof(asn_DEF_MobilityECEFOffsetCoordinate_tags_1[0]), /* 1 */ + asn_DEF_MobilityECEFOffsetCoordinate_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityECEFOffsetCoordinate_tags_1) + /sizeof(asn_DEF_MobilityECEFOffsetCoordinate_tags_1[0]), /* 1 */ + { &asn_OER_type_MobilityECEFOffsetCoordinate_constr_1, &asn_PER_type_MobilityECEFOffsetCoordinate_constr_1, MobilityECEFOffsetCoordinate_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityGUID.c b/src/tmx/Asn_J2735/src/r2024/MobilityGUID.c new file mode 100644 index 000000000..8cac1275f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityGUID.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityGUID.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 <= 127)) return -1; + } + return 0; +} + +int +MobilityGUID_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 == 36) + && !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. + */ +static asn_oer_constraints_t asn_OER_type_MobilityGUID_constr_1 CC_NOTUSED = { + { 0, 0 }, + 36 /* (SIZE(36..36)) */}; +asn_per_constraints_t asn_PER_type_MobilityGUID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 0, 0, 36, 36 } /* (SIZE(36..36)) */, + 0, 0 /* No PER character map necessary */ +}; +static const ber_tlv_tag_t asn_DEF_MobilityGUID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityGUID = { + "MobilityGUID", + "MobilityGUID", + &asn_OP_IA5String, + asn_DEF_MobilityGUID_tags_1, + sizeof(asn_DEF_MobilityGUID_tags_1) + /sizeof(asn_DEF_MobilityGUID_tags_1[0]), /* 1 */ + asn_DEF_MobilityGUID_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityGUID_tags_1) + /sizeof(asn_DEF_MobilityGUID_tags_1[0]), /* 1 */ + { &asn_OER_type_MobilityGUID_constr_1, &asn_PER_type_MobilityGUID_constr_1, MobilityGUID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityHeader.c b/src/tmx/Asn_J2735/src/r2024/MobilityHeader.c new file mode 100644 index 000000000..b7c8d550c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityHeader.c @@ -0,0 +1,90 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityHeader.h" + +asn_TYPE_member_t asn_MBR_MobilityHeader_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityHeader, hostStaticId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityStaticID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "hostStaticId" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityHeader, targetStaticId), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityStaticID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "targetStaticId" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityHeader, hostBSMId), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityDynamicID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "hostBSMId" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityHeader, planId), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityGUID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "planId" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityHeader, timestamp), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityTimestamp, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "timestamp" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityHeader_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityHeader_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hostStaticId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* targetStaticId */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hostBSMId */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* planId */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* timestamp */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MobilityHeader_specs_1 = { + sizeof(struct MobilityHeader), + offsetof(struct MobilityHeader, _asn_ctx), + asn_MAP_MobilityHeader_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_MobilityHeader = { + "MobilityHeader", + "MobilityHeader", + &asn_OP_SEQUENCE, + asn_DEF_MobilityHeader_tags_1, + sizeof(asn_DEF_MobilityHeader_tags_1) + /sizeof(asn_DEF_MobilityHeader_tags_1[0]), /* 1 */ + asn_DEF_MobilityHeader_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityHeader_tags_1) + /sizeof(asn_DEF_MobilityHeader_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityHeader_1, + 5, /* Elements count */ + &asn_SPC_MobilityHeader_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityLocation.c b/src/tmx/Asn_J2735/src/r2024/MobilityLocation.c new file mode 100644 index 000000000..e967c0d3a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityLocation.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityLocation.h" + +asn_TYPE_member_t asn_MBR_MobilityLocation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityLocation, ecefX), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityECEFCoordinate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ecefX" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityLocation, ecefY), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityECEFCoordinate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ecefY" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityLocation, ecefZ), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityECEFCoordinate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ecefZ" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityLocation, timestamp), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityTimestamp, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "timestamp" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityLocation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityLocation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ecefX */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ecefY */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ecefZ */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* timestamp */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MobilityLocation_specs_1 = { + sizeof(struct MobilityLocation), + offsetof(struct MobilityLocation, _asn_ctx), + asn_MAP_MobilityLocation_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_MobilityLocation = { + "MobilityLocation", + "MobilityLocation", + &asn_OP_SEQUENCE, + asn_DEF_MobilityLocation_tags_1, + sizeof(asn_DEF_MobilityLocation_tags_1) + /sizeof(asn_DEF_MobilityLocation_tags_1[0]), /* 1 */ + asn_DEF_MobilityLocation_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityLocation_tags_1) + /sizeof(asn_DEF_MobilityLocation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityLocation_1, + 4, /* Elements count */ + &asn_SPC_MobilityLocation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityLocationOffsets.c b/src/tmx/Asn_J2735/src/r2024/MobilityLocationOffsets.c new file mode 100644 index 000000000..336af15ca --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityLocationOffsets.c @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityLocationOffsets.h" + +static asn_oer_constraints_t asn_OER_type_MobilityLocationOffsets_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..60)) */}; +asn_per_constraints_t asn_PER_type_MobilityLocationOffsets_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 0, 60 } /* (SIZE(0..60)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_MobilityLocationOffsets_1[] = { + { ATF_NOFLAGS, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MobilityECEFOffset, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityLocationOffsets_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_MobilityLocationOffsets_specs_1 = { + sizeof(struct MobilityLocationOffsets), + offsetof(struct MobilityLocationOffsets, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_MobilityLocationOffsets = { + "MobilityLocationOffsets", + "MobilityLocationOffsets", + &asn_OP_SEQUENCE_OF, + asn_DEF_MobilityLocationOffsets_tags_1, + sizeof(asn_DEF_MobilityLocationOffsets_tags_1) + /sizeof(asn_DEF_MobilityLocationOffsets_tags_1[0]), /* 1 */ + asn_DEF_MobilityLocationOffsets_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityLocationOffsets_tags_1) + /sizeof(asn_DEF_MobilityLocationOffsets_tags_1[0]), /* 1 */ + { &asn_OER_type_MobilityLocationOffsets_constr_1, &asn_PER_type_MobilityLocationOffsets_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_MobilityLocationOffsets_1, + 1, /* Single element */ + &asn_SPC_MobilityLocationOffsets_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityOperation.c b/src/tmx/Asn_J2735/src/r2024/MobilityOperation.c new file mode 100644 index 000000000..bccd960cd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityOperation.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityOperation.h" + +asn_TYPE_member_t asn_MBR_MobilityOperation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityOperation, strategy), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityStrategy, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "strategy" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityOperation, operationParams), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityParameters, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "operationParams" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityOperation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityOperation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* strategy */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* operationParams */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MobilityOperation_specs_1 = { + sizeof(struct MobilityOperation), + offsetof(struct MobilityOperation, _asn_ctx), + asn_MAP_MobilityOperation_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_MobilityOperation = { + "MobilityOperation", + "MobilityOperation", + &asn_OP_SEQUENCE, + asn_DEF_MobilityOperation_tags_1, + sizeof(asn_DEF_MobilityOperation_tags_1) + /sizeof(asn_DEF_MobilityOperation_tags_1[0]), /* 1 */ + asn_DEF_MobilityOperation_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityOperation_tags_1) + /sizeof(asn_DEF_MobilityOperation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityOperation_1, + 2, /* Elements count */ + &asn_SPC_MobilityOperation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityParameters.c b/src/tmx/Asn_J2735/src/r2024/MobilityParameters.c new file mode 100644 index 000000000..ca4cd5d13 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityParameters.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityParameters.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 <= 127)) return -1; + } + return 0; +} + +int +MobilityParameters_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 >= 2 && size <= 1000) + && !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. + */ +static asn_oer_constraints_t asn_OER_type_MobilityParameters_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(2..1000)) */}; +asn_per_constraints_t asn_PER_type_MobilityParameters_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 10, 10, 2, 1000 } /* (SIZE(2..1000)) */, + 0, 0 /* No PER character map necessary */ +}; +static const ber_tlv_tag_t asn_DEF_MobilityParameters_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityParameters = { + "MobilityParameters", + "MobilityParameters", + &asn_OP_IA5String, + asn_DEF_MobilityParameters_tags_1, + sizeof(asn_DEF_MobilityParameters_tags_1) + /sizeof(asn_DEF_MobilityParameters_tags_1[0]), /* 1 */ + asn_DEF_MobilityParameters_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityParameters_tags_1) + /sizeof(asn_DEF_MobilityParameters_tags_1[0]), /* 1 */ + { &asn_OER_type_MobilityParameters_constr_1, &asn_PER_type_MobilityParameters_constr_1, MobilityParameters_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityPath.c b/src/tmx/Asn_J2735/src/r2024/MobilityPath.c new file mode 100644 index 000000000..92134c978 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityPath.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityPath.h" + +asn_TYPE_member_t asn_MBR_MobilityPath_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityPath, location), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityLocation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "location" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityPath, trajectory), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityLocationOffsets, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "trajectory" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityPath_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityPath_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* location */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* trajectory */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MobilityPath_specs_1 = { + sizeof(struct MobilityPath), + offsetof(struct MobilityPath, _asn_ctx), + asn_MAP_MobilityPath_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_MobilityPath = { + "MobilityPath", + "MobilityPath", + &asn_OP_SEQUENCE, + asn_DEF_MobilityPath_tags_1, + sizeof(asn_DEF_MobilityPath_tags_1) + /sizeof(asn_DEF_MobilityPath_tags_1[0]), /* 1 */ + asn_DEF_MobilityPath_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityPath_tags_1) + /sizeof(asn_DEF_MobilityPath_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityPath_1, + 2, /* Elements count */ + &asn_SPC_MobilityPath_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityPlanType.c b/src/tmx/Asn_J2735/src/r2024/MobilityPlanType.c new file mode 100644 index 000000000..f275b2807 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityPlanType.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityPlanType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_MobilityPlanType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +asn_per_constraints_t asn_PER_type_MobilityPlanType_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 */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_MobilityPlanType_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 22, "changingLanesToTheLeft" }, + { 2, 23, "changingLanesToTheRight" }, + { 3, 17, "joinPlatoonAtRear" }, + { 4, 19, "platoonFollowerJoin" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_MobilityPlanType_enum2value_1[] = { + 1, /* changingLanesToTheLeft(1) */ + 2, /* changingLanesToTheRight(2) */ + 3, /* joinPlatoonAtRear(3) */ + 4, /* platoonFollowerJoin(4) */ + 0 /* unknown(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_MobilityPlanType_specs_1 = { + asn_MAP_MobilityPlanType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_MobilityPlanType_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_MobilityPlanType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityPlanType = { + "MobilityPlanType", + "MobilityPlanType", + &asn_OP_NativeEnumerated, + asn_DEF_MobilityPlanType_tags_1, + sizeof(asn_DEF_MobilityPlanType_tags_1) + /sizeof(asn_DEF_MobilityPlanType_tags_1[0]), /* 1 */ + asn_DEF_MobilityPlanType_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityPlanType_tags_1) + /sizeof(asn_DEF_MobilityPlanType_tags_1[0]), /* 1 */ + { &asn_OER_type_MobilityPlanType_constr_1, &asn_PER_type_MobilityPlanType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_MobilityPlanType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityRequest.c b/src/tmx/Asn_J2735/src/r2024/MobilityRequest.c new file mode 100644 index 000000000..987679861 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityRequest.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityRequest.h" + +asn_TYPE_member_t asn_MBR_MobilityRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityRequest, strategy), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityStrategy, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "strategy" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityRequest, planType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityPlanType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "planType" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityRequest, urgency), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityUrgency, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "urgency" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityRequest, location), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityLocation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "location" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityRequest, strategyParams), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityParameters, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "strategyParams" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityRequest, trajectoryStart), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityLocation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "trajectoryStart" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityRequest, trajectory), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityLocationOffsets, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "trajectory" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityRequest, expiration), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityTimestamp, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "expiration" + }, +}; +static const int asn_MAP_MobilityRequest_oms_1[] = { 5, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_MobilityRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* strategy */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* planType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* urgency */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* location */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* strategyParams */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* trajectoryStart */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* trajectory */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* expiration */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MobilityRequest_specs_1 = { + sizeof(struct MobilityRequest), + offsetof(struct MobilityRequest, _asn_ctx), + asn_MAP_MobilityRequest_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_MobilityRequest_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MobilityRequest = { + "MobilityRequest", + "MobilityRequest", + &asn_OP_SEQUENCE, + asn_DEF_MobilityRequest_tags_1, + sizeof(asn_DEF_MobilityRequest_tags_1) + /sizeof(asn_DEF_MobilityRequest_tags_1[0]), /* 1 */ + asn_DEF_MobilityRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityRequest_tags_1) + /sizeof(asn_DEF_MobilityRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityRequest_1, + 8, /* Elements count */ + &asn_SPC_MobilityRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityResponse.c b/src/tmx/Asn_J2735/src/r2024/MobilityResponse.c new file mode 100644 index 000000000..d6335ccbc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityResponse.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityResponse.h" + +asn_TYPE_member_t asn_MBR_MobilityResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityResponse, urgency), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityUrgency, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "urgency" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityResponse, isAccepted), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobilityResponseFlag, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "isAccepted" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* urgency */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* isAccepted */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MobilityResponse_specs_1 = { + sizeof(struct MobilityResponse), + offsetof(struct MobilityResponse, _asn_ctx), + asn_MAP_MobilityResponse_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_MobilityResponse = { + "MobilityResponse", + "MobilityResponse", + &asn_OP_SEQUENCE, + asn_DEF_MobilityResponse_tags_1, + sizeof(asn_DEF_MobilityResponse_tags_1) + /sizeof(asn_DEF_MobilityResponse_tags_1[0]), /* 1 */ + asn_DEF_MobilityResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityResponse_tags_1) + /sizeof(asn_DEF_MobilityResponse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityResponse_1, + 2, /* Elements count */ + &asn_SPC_MobilityResponse_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityResponseFlag.c b/src/tmx/Asn_J2735/src/r2024/MobilityResponseFlag.c new file mode 100644 index 000000000..b43d1876d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityResponseFlag.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityResponseFlag.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_MobilityResponseFlag_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityResponseFlag = { + "MobilityResponseFlag", + "MobilityResponseFlag", + &asn_OP_BOOLEAN, + asn_DEF_MobilityResponseFlag_tags_1, + sizeof(asn_DEF_MobilityResponseFlag_tags_1) + /sizeof(asn_DEF_MobilityResponseFlag_tags_1[0]), /* 1 */ + asn_DEF_MobilityResponseFlag_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityResponseFlag_tags_1) + /sizeof(asn_DEF_MobilityResponseFlag_tags_1[0]), /* 1 */ + { 0, 0, BOOLEAN_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityStaticID.c b/src/tmx/Asn_J2735/src/r2024/MobilityStaticID.c new file mode 100644 index 000000000..792fc2807 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityStaticID.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityStaticID.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 <= 127)) return -1; + } + return 0; +} + +int +MobilityStaticID_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 >= 2 && size <= 16) + && !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. + */ +static asn_oer_constraints_t asn_OER_type_MobilityStaticID_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(2..16)) */}; +asn_per_constraints_t asn_PER_type_MobilityStaticID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 4, 4, 2, 16 } /* (SIZE(2..16)) */, + 0, 0 /* No PER character map necessary */ +}; +static const ber_tlv_tag_t asn_DEF_MobilityStaticID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityStaticID = { + "MobilityStaticID", + "MobilityStaticID", + &asn_OP_IA5String, + asn_DEF_MobilityStaticID_tags_1, + sizeof(asn_DEF_MobilityStaticID_tags_1) + /sizeof(asn_DEF_MobilityStaticID_tags_1[0]), /* 1 */ + asn_DEF_MobilityStaticID_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityStaticID_tags_1) + /sizeof(asn_DEF_MobilityStaticID_tags_1[0]), /* 1 */ + { &asn_OER_type_MobilityStaticID_constr_1, &asn_PER_type_MobilityStaticID_constr_1, MobilityStaticID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityStrategy.c b/src/tmx/Asn_J2735/src/r2024/MobilityStrategy.c new file mode 100644 index 000000000..419539af0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityStrategy.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityStrategy.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 <= 127)) return -1; + } + return 0; +} + +int +MobilityStrategy_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 >= 2 && size <= 50) + && !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. + */ +static asn_oer_constraints_t asn_OER_type_MobilityStrategy_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(2..50)) */}; +asn_per_constraints_t asn_PER_type_MobilityStrategy_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 6, 6, 2, 50 } /* (SIZE(2..50)) */, + 0, 0 /* No PER character map necessary */ +}; +static const ber_tlv_tag_t asn_DEF_MobilityStrategy_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityStrategy = { + "MobilityStrategy", + "MobilityStrategy", + &asn_OP_IA5String, + asn_DEF_MobilityStrategy_tags_1, + sizeof(asn_DEF_MobilityStrategy_tags_1) + /sizeof(asn_DEF_MobilityStrategy_tags_1[0]), /* 1 */ + asn_DEF_MobilityStrategy_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityStrategy_tags_1) + /sizeof(asn_DEF_MobilityStrategy_tags_1[0]), /* 1 */ + { &asn_OER_type_MobilityStrategy_constr_1, &asn_PER_type_MobilityStrategy_constr_1, MobilityStrategy_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityTimestamp.c b/src/tmx/Asn_J2735/src/r2024/MobilityTimestamp.c new file mode 100644 index 000000000..c95dd6d6b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityTimestamp.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityTimestamp.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 <= 127)) return -1; + } + return 0; +} + +int +MobilityTimestamp_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 == 19) + && !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. + */ +static asn_oer_constraints_t asn_OER_type_MobilityTimestamp_constr_1 CC_NOTUSED = { + { 0, 0 }, + 19 /* (SIZE(19..19)) */}; +asn_per_constraints_t asn_PER_type_MobilityTimestamp_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 0, 0, 19, 19 } /* (SIZE(19..19)) */, + 0, 0 /* No PER character map necessary */ +}; +static const ber_tlv_tag_t asn_DEF_MobilityTimestamp_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityTimestamp = { + "MobilityTimestamp", + "MobilityTimestamp", + &asn_OP_IA5String, + asn_DEF_MobilityTimestamp_tags_1, + sizeof(asn_DEF_MobilityTimestamp_tags_1) + /sizeof(asn_DEF_MobilityTimestamp_tags_1[0]), /* 1 */ + asn_DEF_MobilityTimestamp_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityTimestamp_tags_1) + /sizeof(asn_DEF_MobilityTimestamp_tags_1[0]), /* 1 */ + { &asn_OER_type_MobilityTimestamp_constr_1, &asn_PER_type_MobilityTimestamp_constr_1, MobilityTimestamp_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobilityUrgency.c b/src/tmx/Asn_J2735/src/r2024/MobilityUrgency.c new file mode 100644 index 000000000..a85d87e4a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobilityUrgency.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "MobilityUrgency.h" + +int +MobilityUrgency_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 1000)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_MobilityUrgency_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..1000) */, + -1}; +asn_per_constraints_t asn_PER_type_MobilityUrgency_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1000 } /* (0..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_MobilityUrgency_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityUrgency = { + "MobilityUrgency", + "MobilityUrgency", + &asn_OP_NativeInteger, + asn_DEF_MobilityUrgency_tags_1, + sizeof(asn_DEF_MobilityUrgency_tags_1) + /sizeof(asn_DEF_MobilityUrgency_tags_1[0]), /* 1 */ + asn_DEF_MobilityUrgency_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityUrgency_tags_1) + /sizeof(asn_DEF_MobilityUrgency_tags_1[0]), /* 1 */ + { &asn_OER_type_MobilityUrgency_constr_1, &asn_PER_type_MobilityUrgency_constr_1, MobilityUrgency_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ObjectDistance.c b/src/tmx/Asn_J2735/src/r2024/ObjectDistance.c new file mode 100644 index 000000000..79ec8c88b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ObjectDistance.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SDSM" + * found in "J2735_201603_2023-06-22.asn" + * `asn1c -fcompound-names ` + */ + +#include "ObjectDistance.h" + +int +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 >= -32767 && value <= 32767)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_ObjectDistance_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +asn_per_constraints_t asn_PER_type_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 */ +}; +static const ber_tlv_tag_t asn_DEF_ObjectDistance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ObjectDistance = { + "ObjectDistance", + "ObjectDistance", + &asn_OP_NativeInteger, + asn_DEF_ObjectDistance_tags_1, + sizeof(asn_DEF_ObjectDistance_tags_1) + /sizeof(asn_DEF_ObjectDistance_tags_1[0]), /* 1 */ + asn_DEF_ObjectDistance_tags_1, /* Same as above */ + sizeof(asn_DEF_ObjectDistance_tags_1) + /sizeof(asn_DEF_ObjectDistance_tags_1[0]), /* 1 */ + { &asn_OER_type_ObjectDistance_constr_1, &asn_PER_type_ObjectDistance_constr_1, ObjectDistance_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetPoint.c b/src/tmx/Asn_J2735/src/r2024/OffsetPoint.c new file mode 100644 index 000000000..3572ed0d9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OffsetPoint.c @@ -0,0 +1,126 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "OffsetPoint.h" + +static int +memb_deltax_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 >= -32768 && value <= 32767)) { + /* 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_deltay_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 >= -32768 && value <= 32767)) { + /* 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_oer_constraints_t asn_OER_memb_deltax_constr_2 CC_NOTUSED = { + { 2, 0 } /* (-32768..32767) */, + -1}; +static asn_per_constraints_t asn_PER_memb_deltax_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_deltay_constr_3 CC_NOTUSED = { + { 2, 0 } /* (-32768..32767) */, + -1}; +static asn_per_constraints_t asn_PER_memb_deltay_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_OffsetPoint_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct OffsetPoint, deltax), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_deltax_constr_2, &asn_PER_memb_deltax_constr_2, memb_deltax_constraint_1 }, + 0, 0, /* No default value */ + "deltax" + }, + { ATF_NOFLAGS, 0, offsetof(struct OffsetPoint, deltay), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_deltay_constr_3, &asn_PER_memb_deltay_constr_3, memb_deltay_constraint_1 }, + 0, 0, /* No default value */ + "deltay" + }, +}; +static const ber_tlv_tag_t asn_DEF_OffsetPoint_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_OffsetPoint_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* deltax */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* deltay */ +}; +asn_SEQUENCE_specifics_t asn_SPC_OffsetPoint_specs_1 = { + sizeof(struct OffsetPoint), + offsetof(struct OffsetPoint, _asn_ctx), + asn_MAP_OffsetPoint_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_OffsetPoint = { + "OffsetPoint", + "OffsetPoint", + &asn_OP_SEQUENCE, + asn_DEF_OffsetPoint_tags_1, + sizeof(asn_DEF_OffsetPoint_tags_1) + /sizeof(asn_DEF_OffsetPoint_tags_1[0]), /* 1 */ + asn_DEF_OffsetPoint_tags_1, /* Same as above */ + sizeof(asn_DEF_OffsetPoint_tags_1) + /sizeof(asn_DEF_OffsetPoint_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_OffsetPoint_1, + 2, /* Elements count */ + &asn_SPC_OffsetPoint_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PartII-Id.c b/src/tmx/Asn_J2735/src/r2024/PartII-Id.c new file mode 100644 index 000000000..f6ad1fa5c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PartII-Id.h" + +int +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_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_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_PartII_Id_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PartII_Id = { + "PartII-Id", + "PartII-Id", + &asn_OP_NativeInteger, + asn_DEF_PartII_Id_tags_1, + sizeof(asn_DEF_PartII_Id_tags_1) + /sizeof(asn_DEF_PartII_Id_tags_1[0]), /* 1 */ + asn_DEF_PartII_Id_tags_1, /* Same as above */ + sizeof(asn_DEF_PartII_Id_tags_1) + /sizeof(asn_DEF_PartII_Id_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PartII_Id_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PartII_Id_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PartII_Id_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PartIIcontent.c b/src/tmx/Asn_J2735/src/r2024/PartIIcontent.c index ec62dd71a..f1a275075 100644 --- a/src/tmx/Asn_J2735/src/r2024/PartIIcontent.c +++ b/src/tmx/Asn_J2735/src/r2024/PartIIcontent.c @@ -1,25 +1,25 @@ /* * 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" + * 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 "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 }, +static const long asn_VAL_2_specialVehicleExt = 1; +static const long asn_VAL_3_supplementalVehicleExt = 2; +static const asn_ioc_cell_t asn_IOS_BSMpartIIExtension_1_rows[] = { + { "&id", aioc__value, &asn_DEF_BasicSafetyMessage_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 } + { "&id", aioc__value, &asn_DEF_BasicSafetyMessage_PartII_Id, &asn_VAL_2_specialVehicleExt }, + { "&Type", aioc__type, &asn_DEF_SpecialVehicleExtensions }, + { "&id", aioc__value, &asn_DEF_BasicSafetyMessage_PartII_Id, &asn_VAL_3_supplementalVehicleExt }, + { "&Type", aioc__type, &asn_DEF_SupplementalVehicleExtensions } }; -static const asn_ioc_set_t asn_IOS_CCMpartIIExtension_1[] = { - { 3, 2, asn_IOS_CCMpartIIExtension_1_rows } +static const asn_ioc_set_t asn_IOS_BSMpartIIExtension_1[] = { + { 3, 2, asn_IOS_BSMpartIIExtension_1_rows } }; static int memb_partII_Id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, @@ -47,13 +47,13 @@ memb_partII_Id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, } static asn_type_selector_result_t -select_CCMpartIIExtension_partII_Value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { +select_BSMpartIIExtension_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; + const asn_ioc_set_t *itable = asn_IOS_BSMpartIIExtension_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)); + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct BSMpartIIExtension, 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]; @@ -117,7 +117,7 @@ static asn_per_constraints_t asn_PER_memb_partII_Value_constr_3 CC_NOTUSED = { }; #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), + { ATF_NOFLAGS, 0, offsetof(struct BSMpartIIExtension__partII_Value, choice.VehicleSafetyExtensions), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, &asn_DEF_VehicleSafetyExtensions, @@ -134,10 +134,10 @@ static asn_TYPE_member_t asn_MBR_partII_Value_3[] = { 0, 0, /* No default value */ "VehicleSafetyExtensions" }, - { ATF_NOFLAGS, 0, offsetof(struct CCMpartIIExtension__partII_Value, choice.LightVehicleCCMExtensions), + { ATF_NOFLAGS, 0, offsetof(struct BSMpartIIExtension__partII_Value, choice.SpecialVehicleExtensions), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, - &asn_DEF_LightVehicleCCMExtensions, + &asn_DEF_SpecialVehicleExtensions, 0, { #if !defined(ASN_DISABLE_OER_SUPPORT) @@ -149,12 +149,12 @@ static asn_TYPE_member_t asn_MBR_partII_Value_3[] = { 0 }, 0, 0, /* No default value */ - "LightVehicleCCMExtensions" + "SpecialVehicleExtensions" }, - { ATF_NOFLAGS, 0, offsetof(struct CCMpartIIExtension__partII_Value, choice.HeavyTruckCCMExtensions), + { ATF_NOFLAGS, 0, offsetof(struct BSMpartIIExtension__partII_Value, choice.SupplementalVehicleExtensions), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, - &asn_DEF_HeavyTruckCCMExtensions, + &asn_DEF_SupplementalVehicleExtensions, 0, { #if !defined(ASN_DISABLE_OER_SUPPORT) @@ -166,19 +166,19 @@ static asn_TYPE_member_t asn_MBR_partII_Value_3[] = { 0 }, 0, 0, /* No default value */ - "HeavyTruckCCMExtensions" + "SupplementalVehicleExtensions" }, }; 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 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 1 }, /* SpecialVehicleExtensions */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 0 } /* SupplementalVehicleExtensions */ }; 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), + sizeof(struct BSMpartIIExtension__partII_Value), + offsetof(struct BSMpartIIExtension__partII_Value, _asn_ctx), + offsetof(struct BSMpartIIExtension__partII_Value, present), + sizeof(((struct BSMpartIIExtension__partII_Value *)0)->present), asn_MAP_partII_Value_tag2el_3, 3, /* Count of tags in the map */ 0, 0, @@ -207,11 +207,11 @@ asn_TYPE_descriptor_t asn_DEF_partII_Value_3 = { &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_TYPE_member_t asn_MBR_BSMpartIIExtension_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct BSMpartIIExtension, partII_Id), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ - &asn_DEF_CooperativeControlMessage_PartII_Id, + &asn_DEF_BasicSafetyMessage_PartII_Id, 0, { #if !defined(ASN_DISABLE_OER_SUPPORT) @@ -225,11 +225,11 @@ asn_TYPE_member_t asn_MBR_CCMpartIIExtension_1[] = { 0, 0, /* No default value */ "partII-Id" }, - { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CCMpartIIExtension, partII_Value), + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct BSMpartIIExtension, partII_Value), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), +1, /* EXPLICIT tag at current level */ &asn_DEF_partII_Value_3, - select_CCMpartIIExtension_partII_Value_type, + select_BSMpartIIExtension_partII_Value_type, { #if !defined(ASN_DISABLE_OER_SUPPORT) &asn_OER_memb_partII_Value_constr_3, @@ -243,31 +243,31 @@ asn_TYPE_member_t asn_MBR_CCMpartIIExtension_1[] = { "partII-Value" }, }; -static const ber_tlv_tag_t asn_DEF_CCMpartIIExtension_tags_1[] = { +static const ber_tlv_tag_t asn_DEF_BSMpartIIExtension_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; -static const asn_TYPE_tag2member_t asn_MAP_CCMpartIIExtension_tag2el_1[] = { +static const asn_TYPE_tag2member_t asn_MAP_BSMpartIIExtension_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, +asn_SEQUENCE_specifics_t asn_SPC_BSMpartIIExtension_specs_1 = { + sizeof(struct BSMpartIIExtension), + offsetof(struct BSMpartIIExtension, _asn_ctx), + asn_MAP_BSMpartIIExtension_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_TYPE_descriptor_t asn_DEF_BSMpartIIExtension = { + "BSMpartIIExtension", + "BSMpartIIExtension", &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 */ + asn_DEF_BSMpartIIExtension_tags_1, + sizeof(asn_DEF_BSMpartIIExtension_tags_1) + /sizeof(asn_DEF_BSMpartIIExtension_tags_1[0]), /* 1 */ + asn_DEF_BSMpartIIExtension_tags_1, /* Same as above */ + sizeof(asn_DEF_BSMpartIIExtension_tags_1) + /sizeof(asn_DEF_BSMpartIIExtension_tags_1[0]), /* 1 */ { #if !defined(ASN_DISABLE_OER_SUPPORT) 0, @@ -277,8 +277,8 @@ asn_TYPE_descriptor_t asn_DEF_CCMpartIIExtension = { #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ SEQUENCE_constraint }, - asn_MBR_CCMpartIIExtension_1, + asn_MBR_BSMpartIIExtension_1, 2, /* Elements count */ - &asn_SPC_CCMpartIIExtension_specs_1 /* Additional specs */ + &asn_SPC_BSMpartIIExtension_specs_1 /* Additional specs */ }; diff --git a/src/tmx/Asn_J2735/src/r2024/PathNode.c b/src/tmx/Asn_J2735/src/r2024/PathNode.c new file mode 100644 index 000000000..4e36b9467 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PathNode.c @@ -0,0 +1,214 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "PathNode.h" + +static int +memb_x_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 >= -32768 && value <= 32767)) { + /* 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_y_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 >= -32768 && value <= 32767)) { + /* 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_z_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 >= -32768 && value <= 32767)) { + /* 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_width_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 >= -128 && value <= 127)) { + /* 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_oer_constraints_t asn_OER_memb_x_constr_2 CC_NOTUSED = { + { 2, 0 } /* (-32768..32767) */, + -1}; +static asn_per_constraints_t asn_PER_memb_x_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_y_constr_3 CC_NOTUSED = { + { 2, 0 } /* (-32768..32767) */, + -1}; +static asn_per_constraints_t asn_PER_memb_y_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_z_constr_4 CC_NOTUSED = { + { 2, 0 } /* (-32768..32767) */, + -1}; +static asn_per_constraints_t asn_PER_memb_z_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_width_constr_5 CC_NOTUSED = { + { 1, 0 } /* (-128..127) */, + -1}; +static asn_per_constraints_t asn_PER_memb_width_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -128, 127 } /* (-128..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_PathNode_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PathNode, x), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_x_constr_2, &asn_PER_memb_x_constr_2, memb_x_constraint_1 }, + 0, 0, /* No default value */ + "x" + }, + { ATF_NOFLAGS, 0, offsetof(struct PathNode, y), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_y_constr_3, &asn_PER_memb_y_constr_3, memb_y_constraint_1 }, + 0, 0, /* No default value */ + "y" + }, + { ATF_POINTER, 2, offsetof(struct PathNode, z), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_z_constr_4, &asn_PER_memb_z_constr_4, memb_z_constraint_1 }, + 0, 0, /* No default value */ + "z" + }, + { ATF_POINTER, 1, offsetof(struct PathNode, width), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_width_constr_5, &asn_PER_memb_width_constr_5, memb_width_constraint_1 }, + 0, 0, /* No default value */ + "width" + }, +}; +static const int asn_MAP_PathNode_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_PathNode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PathNode_tag2el_1[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* x */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 }, /* y */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* z */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 } /* width */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PathNode_specs_1 = { + sizeof(struct PathNode), + offsetof(struct PathNode, _asn_ctx), + asn_MAP_PathNode_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_PathNode_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PathNode = { + "PathNode", + "PathNode", + &asn_OP_SEQUENCE, + asn_DEF_PathNode_tags_1, + sizeof(asn_DEF_PathNode_tags_1) + /sizeof(asn_DEF_PathNode_tags_1[0]), /* 1 */ + asn_DEF_PathNode_tags_1, /* Same as above */ + sizeof(asn_DEF_PathNode_tags_1) + /sizeof(asn_DEF_PathNode_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_PathNode_1, + 4, /* Elements count */ + &asn_SPC_PathNode_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PitchRate.c b/src/tmx/Asn_J2735/src/r2024/PitchRate.c new file mode 100644 index 000000000..368ba352d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PitchRate.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SDSM" + * found in "J2735_201603_2023-06-22.asn" + * `asn1c -fcompound-names ` + */ + +#include "PitchRate.h" + +int +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 >= -32767 && value <= 32767)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_PitchRate_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +asn_per_constraints_t asn_PER_type_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 */ +}; +static const ber_tlv_tag_t asn_DEF_PitchRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PitchRate = { + "PitchRate", + "PitchRate", + &asn_OP_NativeInteger, + asn_DEF_PitchRate_tags_1, + sizeof(asn_DEF_PitchRate_tags_1) + /sizeof(asn_DEF_PitchRate_tags_1[0]), /* 1 */ + asn_DEF_PitchRate_tags_1, /* Same as above */ + sizeof(asn_DEF_PitchRate_tags_1) + /sizeof(asn_DEF_PitchRate_tags_1[0]), /* 1 */ + { &asn_OER_type_PitchRate_constr_1, &asn_PER_type_PitchRate_constr_1, PitchRate_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpCarma.c b/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpCarma.c new file mode 100644 index 000000000..6fceca342 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpCarma.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpCarma" + * found in "J2735_201603_2022-11-21.asn" + * `asn1c -fcompound-names -D ../include/generated/` + */ + +#include "Position3D-addGrpCarma.h" + +asn_TYPE_member_t asn_MBR_Position3D_addGrpCarma_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Position3D_addGrpCarma, lat), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_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_addGrpCarma, Long), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_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 Position3D_addGrpCarma, 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" + }, +}; +static const int asn_MAP_Position3D_addGrpCarma_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Position3D_addGrpCarma_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Position3D_addGrpCarma_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_SEQUENCE_specifics_t asn_SPC_Position3D_addGrpCarma_specs_1 = { + sizeof(struct Position3D_addGrpCarma), + offsetof(struct Position3D_addGrpCarma, _asn_ctx), + asn_MAP_Position3D_addGrpCarma_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Position3D_addGrpCarma_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Position3D_addGrpCarma = { + "Position3D-addGrpCarma", + "Position3D-addGrpCarma", + &asn_OP_SEQUENCE, + asn_DEF_Position3D_addGrpCarma_tags_1, + sizeof(asn_DEF_Position3D_addGrpCarma_tags_1) + /sizeof(asn_DEF_Position3D_addGrpCarma_tags_1[0]), /* 1 */ + asn_DEF_Position3D_addGrpCarma_tags_1, /* Same as above */ + sizeof(asn_DEF_Position3D_addGrpCarma_tags_1) + /sizeof(asn_DEF_Position3D_addGrpCarma_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_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_addGrpCarma_1, + 3, /* Elements count */ + &asn_SPC_Position3D_addGrpCarma_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PositionOffsetXYZ.c b/src/tmx/Asn_J2735/src/r2024/PositionOffsetXYZ.c new file mode 100644 index 000000000..fd2d344d1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PositionOffsetXYZ.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SDSM" + * found in "J2735_201603_2023-06-22.asn" + * `asn1c -fcompound-names ` + */ + +#include "PositionOffsetXYZ.h" + +asn_TYPE_member_t asn_MBR_PositionOffsetXYZ_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PositionOffsetXYZ, offsetX), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObjectDistance, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "offsetX" + }, + { ATF_NOFLAGS, 0, offsetof(struct PositionOffsetXYZ, offsetY), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObjectDistance, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "offsetY" + }, + { ATF_POINTER, 1, offsetof(struct PositionOffsetXYZ, offsetZ), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObjectDistance, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "offsetZ" + }, +}; +static const int asn_MAP_PositionOffsetXYZ_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_PositionOffsetXYZ_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_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_PositionOffsetXYZ_specs_1 = { + sizeof(struct PositionOffsetXYZ), + offsetof(struct PositionOffsetXYZ, _asn_ctx), + asn_MAP_PositionOffsetXYZ_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_PositionOffsetXYZ_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PositionOffsetXYZ = { + "PositionOffsetXYZ", + "PositionOffsetXYZ", + &asn_OP_SEQUENCE, + asn_DEF_PositionOffsetXYZ_tags_1, + sizeof(asn_DEF_PositionOffsetXYZ_tags_1) + /sizeof(asn_DEF_PositionOffsetXYZ_tags_1[0]), /* 1 */ + asn_DEF_PositionOffsetXYZ_tags_1, /* Same as above */ + sizeof(asn_DEF_PositionOffsetXYZ_tags_1) + /sizeof(asn_DEF_PositionOffsetXYZ_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_PositionOffsetXYZ_1, + 3, /* Elements count */ + &asn_SPC_PositionOffsetXYZ_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RepeatParams.c b/src/tmx/Asn_J2735/src/r2024/RepeatParams.c new file mode 100644 index 000000000..e83580572 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RepeatParams.c @@ -0,0 +1,169 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "RepeatParams.h" + +static int +memb_offset_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 >= 0 && value <= 1439)) { + /* 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_period_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 >= 0 && value <= 1439)) { + /* 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_span_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 >= 0 && value <= 1439)) { + /* 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_oer_constraints_t asn_OER_memb_offset_constr_2 CC_NOTUSED = { + { 2, 1 } /* (0..1439) */, + -1}; +static asn_per_constraints_t asn_PER_memb_offset_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 1439 } /* (0..1439) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_period_constr_3 CC_NOTUSED = { + { 2, 1 } /* (0..1439) */, + -1}; +static asn_per_constraints_t asn_PER_memb_period_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 1439 } /* (0..1439) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_span_constr_4 CC_NOTUSED = { + { 2, 1 } /* (0..1439) */, + -1}; +static asn_per_constraints_t asn_PER_memb_span_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 1439 } /* (0..1439) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_RepeatParams_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RepeatParams, offset), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_offset_constr_2, &asn_PER_memb_offset_constr_2, memb_offset_constraint_1 }, + 0, 0, /* No default value */ + "offset" + }, + { ATF_NOFLAGS, 0, offsetof(struct RepeatParams, period), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_period_constr_3, &asn_PER_memb_period_constr_3, memb_period_constraint_1 }, + 0, 0, /* No default value */ + "period" + }, + { ATF_NOFLAGS, 0, offsetof(struct RepeatParams, span), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_span_constr_4, &asn_PER_memb_span_constr_4, memb_span_constraint_1 }, + 0, 0, /* No default value */ + "span" + }, +}; +static const ber_tlv_tag_t asn_DEF_RepeatParams_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RepeatParams_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* offset */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* period */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* span */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RepeatParams_specs_1 = { + sizeof(struct RepeatParams), + offsetof(struct RepeatParams, _asn_ctx), + asn_MAP_RepeatParams_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_RepeatParams = { + "RepeatParams", + "RepeatParams", + &asn_OP_SEQUENCE, + asn_DEF_RepeatParams_tags_1, + sizeof(asn_DEF_RepeatParams_tags_1) + /sizeof(asn_DEF_RepeatParams_tags_1[0]), /* 1 */ + asn_DEF_RepeatParams_tags_1, /* Same as above */ + sizeof(asn_DEF_RepeatParams_tags_1) + /sizeof(asn_DEF_RepeatParams_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RepeatParams_1, + 3, /* Elements count */ + &asn_SPC_RepeatParams_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ResponderGroupAffected.c b/src/tmx/Asn_J2735/src/r2024/ResponderGroupAffected.c new file mode 100644 index 000000000..3069483df --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "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_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_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_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_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_ResponderGroupAffected_specs_1 = { + asn_MAP_ResponderGroupAffected_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_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_ResponderGroupAffected_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ResponderGroupAffected = { + "ResponderGroupAffected", + "ResponderGroupAffected", + &asn_OP_NativeEnumerated, + asn_DEF_ResponderGroupAffected_tags_1, + sizeof(asn_DEF_ResponderGroupAffected_tags_1) + /sizeof(asn_DEF_ResponderGroupAffected_tags_1[0]), /* 1 */ + asn_DEF_ResponderGroupAffected_tags_1, /* Same as above */ + sizeof(asn_DEF_ResponderGroupAffected_tags_1) + /sizeof(asn_DEF_ResponderGroupAffected_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ResponderGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ResponderGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ResponderGroupAffected_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RollRate.c b/src/tmx/Asn_J2735/src/r2024/RollRate.c new file mode 100644 index 000000000..d5c525e3a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RollRate.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SDSM" + * found in "J2735_201603_2023-06-22.asn" + * `asn1c -fcompound-names ` + */ + +#include "RollRate.h" + +int +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 >= -32767 && value <= 32767)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_RollRate_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +asn_per_constraints_t asn_PER_type_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 */ +}; +static const ber_tlv_tag_t asn_DEF_RollRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RollRate = { + "RollRate", + "RollRate", + &asn_OP_NativeInteger, + asn_DEF_RollRate_tags_1, + sizeof(asn_DEF_RollRate_tags_1) + /sizeof(asn_DEF_RollRate_tags_1[0]), /* 1 */ + asn_DEF_RollRate_tags_1, /* Same as above */ + sizeof(asn_DEF_RollRate_tags_1) + /sizeof(asn_DEF_RollRate_tags_1[0]), /* 1 */ + { &asn_OER_type_RollRate_constr_1, &asn_PER_type_RollRate_constr_1, RollRate_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Schedule.c b/src/tmx/Asn_J2735/src/r2024/Schedule.c new file mode 100644 index 000000000..5af708a5e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Schedule.c @@ -0,0 +1,328 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "Schedule.h" + +static int +memb_start_constraint_1(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 >= 0 && value <= 9223372036854775807)) { + /* 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_end_constraint_1(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 >= 0 && value <= 9223372036854775807)) { + /* 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_dow_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 == 7)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(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_between_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 <= 32)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_oer_constraints_t asn_OER_type_dow_constr_4 CC_NOTUSED = { + { 0, 0 }, + 7 /* (SIZE(7..7)) */}; +static asn_per_constraints_t asn_PER_type_dow_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 7, 7 } /* (SIZE(7..7)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_between_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..32)) */}; +static asn_per_constraints_t asn_PER_type_between_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 0, 32 } /* (SIZE(0..32)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_start_constr_2 CC_NOTUSED = { + { 8, 1 } /* (0..9223372036854775807) */, + -1}; +static asn_per_constraints_t asn_PER_memb_start_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 63, -1, 0, 9223372036854775807 } /* (0..9223372036854775807) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_end_constr_3 CC_NOTUSED = { + { 8, 1 } /* (0..9223372036854775807) */, + -1}; +static asn_per_constraints_t asn_PER_memb_end_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 63, -1, 0, 9223372036854775807 } /* (0..9223372036854775807) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_dow_constr_4 CC_NOTUSED = { + { 0, 0 }, + 7 /* (SIZE(7..7)) */}; +static asn_per_constraints_t asn_PER_memb_dow_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 7, 7 } /* (SIZE(7..7)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_between_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..32)) */}; +static asn_per_constraints_t asn_PER_memb_between_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 0, 32 } /* (SIZE(0..32)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_dow_4[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), + 0, + &asn_DEF_BOOLEAN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_dow_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_dow_specs_4 = { + sizeof(struct Schedule__dow), + offsetof(struct Schedule__dow, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_dow_4 = { + "dow", + "dow", + &asn_OP_SEQUENCE_OF, + asn_DEF_dow_tags_4, + sizeof(asn_DEF_dow_tags_4) + /sizeof(asn_DEF_dow_tags_4[0]) - 1, /* 1 */ + asn_DEF_dow_tags_4, /* Same as above */ + sizeof(asn_DEF_dow_tags_4) + /sizeof(asn_DEF_dow_tags_4[0]), /* 2 */ + { &asn_OER_type_dow_constr_4, &asn_PER_type_dow_constr_4, SEQUENCE_OF_constraint }, + asn_MBR_dow_4, + 1, /* Single element */ + &asn_SPC_dow_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_between_6[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DaySchedule, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_between_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_between_specs_6 = { + sizeof(struct Schedule__between), + offsetof(struct Schedule__between, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_between_6 = { + "between", + "between", + &asn_OP_SEQUENCE_OF, + asn_DEF_between_tags_6, + sizeof(asn_DEF_between_tags_6) + /sizeof(asn_DEF_between_tags_6[0]) - 1, /* 1 */ + asn_DEF_between_tags_6, /* Same as above */ + sizeof(asn_DEF_between_tags_6) + /sizeof(asn_DEF_between_tags_6[0]), /* 2 */ + { &asn_OER_type_between_constr_6, &asn_PER_type_between_constr_6, SEQUENCE_OF_constraint }, + asn_MBR_between_6, + 1, /* Single element */ + &asn_SPC_between_specs_6 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Schedule_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Schedule, start), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_INTEGER, + 0, + { &asn_OER_memb_start_constr_2, &asn_PER_memb_start_constr_2, memb_start_constraint_1 }, + 0, 0, /* No default value */ + "start" + }, + { ATF_NOFLAGS, 0, offsetof(struct Schedule, end), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_INTEGER, + 0, + { &asn_OER_memb_end_constr_3, &asn_PER_memb_end_constr_3, memb_end_constraint_1 }, + 0, 0, /* No default value */ + "end" + }, + { ATF_NOFLAGS, 0, offsetof(struct Schedule, dow), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + 0, + &asn_DEF_dow_4, + 0, + { &asn_OER_memb_dow_constr_4, &asn_PER_memb_dow_constr_4, memb_dow_constraint_1 }, + 0, 0, /* No default value */ + "dow" + }, + { ATF_POINTER, 2, offsetof(struct Schedule, between), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_between_6, + 0, + { &asn_OER_memb_between_constr_6, &asn_PER_memb_between_constr_6, memb_between_constraint_1 }, + 0, 0, /* No default value */ + "between" + }, + { ATF_POINTER, 1, offsetof(struct Schedule, repeat), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RepeatParams, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "repeat" + }, +}; +static const int asn_MAP_Schedule_oms_1[] = { 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Schedule_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Schedule_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* start */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* end */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dow */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* between */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* repeat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Schedule_specs_1 = { + sizeof(struct Schedule), + offsetof(struct Schedule, _asn_ctx), + asn_MAP_Schedule_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Schedule_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Schedule = { + "Schedule", + "Schedule", + &asn_OP_SEQUENCE, + asn_DEF_Schedule_tags_1, + sizeof(asn_DEF_Schedule_tags_1) + /sizeof(asn_DEF_Schedule_tags_1[0]), /* 1 */ + asn_DEF_Schedule_tags_1, /* Same as above */ + sizeof(asn_DEF_Schedule_tags_1) + /sizeof(asn_DEF_Schedule_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Schedule_1, + 5, /* Elements count */ + &asn_SPC_Schedule_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage00.c b/src/tmx/Asn_J2735/src/r2024/TestMessage00.c index 206fc31c0..ffeadc578 100644 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage00.c +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage00.c @@ -1,49 +1,32 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #include "TestMessage00.h" asn_TYPE_member_t asn_MBR_TestMessage00_1[] = { - { ATF_POINTER, 2, offsetof(struct TestMessage00, header), + { ATF_NOFLAGS, 0, offsetof(struct TestMessage00, header), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ - &asn_DEF_Header, + &asn_DEF_MobilityHeader, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "header" }, - { ATF_POINTER, 1, offsetof(struct TestMessage00, regional), + { ATF_NOFLAGS, 0, offsetof(struct TestMessage00, body), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ - &asn_DEF_Reg_TestMessage00, + &asn_DEF_MobilityRequest, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ - "regional" + "body" }, }; -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)) }; @@ -56,7 +39,7 @@ asn_SEQUENCE_specifics_t asn_SPC_TestMessage00_specs_1 = { offsetof(struct TestMessage00, _asn_ctx), asn_MAP_TestMessage00_tag2el_1, 2, /* Count of tags in the map */ - asn_MAP_TestMessage00_oms_1, /* Optional members */ + 0, 0, 0, /* Optional elements (not needed) */ 2, 0, /* Root/Additions */ 2, /* First extension addition */ }; @@ -70,15 +53,7 @@ asn_TYPE_descriptor_t asn_DEF_TestMessage00 = { 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 - }, + { 0, 0, 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/TestMessage01.c b/src/tmx/Asn_J2735/src/r2024/TestMessage01.c index 3d688b45e..6d60abebd 100644 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage01.c +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage01.c @@ -1,49 +1,32 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #include "TestMessage01.h" asn_TYPE_member_t asn_MBR_TestMessage01_1[] = { - { ATF_POINTER, 2, offsetof(struct TestMessage01, header), + { ATF_NOFLAGS, 0, offsetof(struct TestMessage01, header), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ - &asn_DEF_Header, + &asn_DEF_MobilityHeader, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "header" }, - { ATF_POINTER, 1, offsetof(struct TestMessage01, regional), + { ATF_NOFLAGS, 0, offsetof(struct TestMessage01, body), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ - &asn_DEF_Reg_TestMessage01, + &asn_DEF_MobilityResponse, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ - "regional" + "body" }, }; -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)) }; @@ -56,7 +39,7 @@ asn_SEQUENCE_specifics_t asn_SPC_TestMessage01_specs_1 = { offsetof(struct TestMessage01, _asn_ctx), asn_MAP_TestMessage01_tag2el_1, 2, /* Count of tags in the map */ - asn_MAP_TestMessage01_oms_1, /* Optional members */ + 0, 0, 0, /* Optional elements (not needed) */ 2, 0, /* Root/Additions */ 2, /* First extension addition */ }; @@ -70,15 +53,7 @@ asn_TYPE_descriptor_t asn_DEF_TestMessage01 = { 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 - }, + { 0, 0, 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/TestMessage02.c b/src/tmx/Asn_J2735/src/r2024/TestMessage02.c index 8dd0a1d8a..3912b666c 100644 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage02.c +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage02.c @@ -1,63 +1,45 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #include "TestMessage02.h" asn_TYPE_member_t asn_MBR_TestMessage02_1[] = { - { ATF_POINTER, 2, offsetof(struct TestMessage02, header), + { ATF_NOFLAGS, 0, offsetof(struct TestMessage02, header), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ - &asn_DEF_Header, + &asn_DEF_MobilityHeader, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "header" }, - { ATF_POINTER, 1, offsetof(struct TestMessage02, regional), + { ATF_NOFLAGS, 0, offsetof(struct TestMessage02, body), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ - &asn_DEF_Reg_TestMessage02, + &asn_DEF_MobilityPath, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ - "regional" + "body" }, }; -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_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* body */ }; 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 */ + 0, 0, 0, /* Optional elements (not needed) */ 2, /* First extension addition */ }; asn_TYPE_descriptor_t asn_DEF_TestMessage02 = { @@ -70,15 +52,7 @@ asn_TYPE_descriptor_t asn_DEF_TestMessage02 = { 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 - }, + { 0, 0, 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/TestMessage03.c b/src/tmx/Asn_J2735/src/r2024/TestMessage03.c index f81f62731..e3044146f 100644 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage03.c +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage03.c @@ -1,63 +1,45 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603.asn1" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` */ #include "TestMessage03.h" asn_TYPE_member_t asn_MBR_TestMessage03_1[] = { - { ATF_POINTER, 2, offsetof(struct TestMessage03, header), + { ATF_NOFLAGS, 0, offsetof(struct TestMessage03, header), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ - &asn_DEF_Header, + &asn_DEF_MobilityHeader, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "header" }, - { ATF_POINTER, 1, offsetof(struct TestMessage03, regional), + { ATF_NOFLAGS, 0, offsetof(struct TestMessage03, body), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ - &asn_DEF_Reg_TestMessage03, + &asn_DEF_MobilityOperation, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ - "regional" + "body" }, }; -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_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* body */ }; 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 */ + 0, 0, 0, /* Optional elements (not needed) */ 2, /* First extension addition */ }; asn_TYPE_descriptor_t asn_DEF_TestMessage03 = { @@ -70,15 +52,7 @@ asn_TYPE_descriptor_t asn_DEF_TestMessage03 = { 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 - }, + { 0, 0, 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/TestMessage04.c b/src/tmx/Asn_J2735/src/r2024/TestMessage04.c index 031533d8e..03fd4978f 100644 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage04.c +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage04.c @@ -1,64 +1,36 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #include "TestMessage04.h" asn_TYPE_member_t asn_MBR_TestMessage04_1[] = { - { ATF_POINTER, 2, offsetof(struct TestMessage04, header), + { ATF_NOFLAGS, 0, offsetof(struct TestMessage04, body), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Header, + +1, /* EXPLICIT tag at current level */ + &asn_DEF_TrafficControlRequest, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 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" + "body" }, }; -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_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* body */ }; 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 */ + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ }; asn_TYPE_descriptor_t asn_DEF_TestMessage04 = { "TestMessage04", @@ -70,17 +42,9 @@ asn_TYPE_descriptor_t asn_DEF_TestMessage04 = { 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 - }, + { 0, 0, SEQUENCE_constraint }, asn_MBR_TestMessage04_1, - 2, /* Elements count */ + 1, /* Elements count */ &asn_SPC_TestMessage04_specs_1 /* Additional specs */ }; diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage05.c b/src/tmx/Asn_J2735/src/r2024/TestMessage05.c index 463ef89ba..6772392f4 100644 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage05.c +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage05.c @@ -1,64 +1,36 @@ /* * 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` + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #include "TestMessage05.h" asn_TYPE_member_t asn_MBR_TestMessage05_1[] = { - { ATF_POINTER, 2, offsetof(struct TestMessage05, header), + { ATF_NOFLAGS, 0, offsetof(struct TestMessage05, body), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Header, + +1, /* EXPLICIT tag at current level */ + &asn_DEF_TrafficControlMessage, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 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" + "body" }, }; -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_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* body */ }; 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 */ + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ }; asn_TYPE_descriptor_t asn_DEF_TestMessage05 = { "TestMessage05", @@ -70,17 +42,9 @@ asn_TYPE_descriptor_t asn_DEF_TestMessage05 = { 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 - }, + { 0, 0, SEQUENCE_constraint }, asn_MBR_TestMessage05_1, - 2, /* Elements count */ + 1, /* Elements count */ &asn_SPC_TestMessage05_specs_1 /* Additional specs */ }; diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlBounds.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlBounds.c new file mode 100644 index 000000000..f69a96226 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlBounds.c @@ -0,0 +1,159 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "TrafficControlBounds.h" + +static int +memb_offsets_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 == 3)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_oer_constraints_t asn_OER_type_offsets_constr_5 CC_NOTUSED = { + { 0, 0 }, + 3 /* (SIZE(3..3)) */}; +static asn_per_constraints_t asn_PER_type_offsets_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 3, 3 } /* (SIZE(3..3)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_offsets_constr_5 CC_NOTUSED = { + { 0, 0 }, + 3 /* (SIZE(3..3)) */}; +static asn_per_constraints_t asn_PER_memb_offsets_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 3, 3 } /* (SIZE(3..3)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_offsets_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_OffsetPoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_offsets_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_offsets_specs_5 = { + sizeof(struct TrafficControlBounds__offsets), + offsetof(struct TrafficControlBounds__offsets, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_offsets_5 = { + "offsets", + "offsets", + &asn_OP_SEQUENCE_OF, + asn_DEF_offsets_tags_5, + sizeof(asn_DEF_offsets_tags_5) + /sizeof(asn_DEF_offsets_tags_5[0]) - 1, /* 1 */ + asn_DEF_offsets_tags_5, /* Same as above */ + sizeof(asn_DEF_offsets_tags_5) + /sizeof(asn_DEF_offsets_tags_5[0]), /* 2 */ + { &asn_OER_type_offsets_constr_5, &asn_PER_type_offsets_constr_5, SEQUENCE_OF_constraint }, + asn_MBR_offsets_5, + 1, /* Single element */ + &asn_SPC_offsets_specs_5 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TrafficControlBounds_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlBounds, oldest), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EpochMins, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "oldest" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlBounds, reflon), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Longitude, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reflon" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlBounds, reflat), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Latitude, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reflat" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlBounds, offsets), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_offsets_5, + 0, + { &asn_OER_memb_offsets_constr_5, &asn_PER_memb_offsets_constr_5, memb_offsets_constraint_1 }, + 0, 0, /* No default value */ + "offsets" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrafficControlBounds_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlBounds_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* oldest */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reflon */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* reflat */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* offsets */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrafficControlBounds_specs_1 = { + sizeof(struct TrafficControlBounds), + offsetof(struct TrafficControlBounds, _asn_ctx), + asn_MAP_TrafficControlBounds_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_TrafficControlBounds = { + "TrafficControlBounds", + "TrafficControlBounds", + &asn_OP_SEQUENCE, + asn_DEF_TrafficControlBounds_tags_1, + sizeof(asn_DEF_TrafficControlBounds_tags_1) + /sizeof(asn_DEF_TrafficControlBounds_tags_1[0]), /* 1 */ + asn_DEF_TrafficControlBounds_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficControlBounds_tags_1) + /sizeof(asn_DEF_TrafficControlBounds_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TrafficControlBounds_1, + 4, /* Elements count */ + &asn_SPC_TrafficControlBounds_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlDetail.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlDetail.c new file mode 100644 index 000000000..f3e78883a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlDetail.c @@ -0,0 +1,1053 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "CARMA-CLOUD" + * found in "asn/cc_traffic_control_messages_asn1.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "TrafficControlDetail.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static int +memb_signal_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 <= 63)) { + /* 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_latperm_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 == 2)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(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_minspeed_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 >= 0 && value <= 1023)) { + /* 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_maxspeed_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 >= 0 && value <= 1023)) { + /* 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_minhdwy_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 >= 0 && value <= 2047)) { + /* 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_maxvehmass_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 >= 0 && value <= 65535)) { + /* 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_maxvehheight_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 >= 0 && value <= 127)) { + /* 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_maxvehwidth_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 >= 0 && value <= 127)) { + /* 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_maxvehlength_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 >= 0 && value <= 1023)) { + /* 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_maxvehaxles_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 >= 2 && value <= 15)) { + /* 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_minvehocc_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 >= 1 && value <= 15)) { + /* 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_maxplatoonsize_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 63)) { + /* 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_minplatoonhdwy_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 2047)) { + /* 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_oer_constraints_t asn_OER_type_closed_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_closed_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 5 } /* (0..5) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_chains_constr_14 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_chains_constr_14 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_direction_constr_18 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_direction_constr_18 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_lataffinity_constr_21 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_lataffinity_constr_21 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_Member_constr_25 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_Member_constr_25 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_latperm_constr_24 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +static asn_per_constraints_t asn_PER_type_latperm_constr_24 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_parking_constr_30 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_parking_constr_30 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_signal_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..63)) */}; +static asn_per_constraints_t asn_PER_memb_signal_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 0, 63 } /* (SIZE(0..63)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_latperm_constr_24 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +static asn_per_constraints_t asn_PER_memb_latperm_constr_24 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; + +static asn_oer_constraints_t asn_OER_memb_minspeed_constr_34 CC_NOTUSED = { + { 2, 1 } /* (0..1023) */, + -1}; +static asn_per_constraints_t asn_PER_memb_minspeed_constr_34 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_maxspeed_constr_35 CC_NOTUSED = { + { 2, 1 } /* (0..1023) */, + -1}; +static asn_per_constraints_t asn_PER_memb_maxspeed_constr_35 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_minhdwy_constr_36 CC_NOTUSED = { + { 2, 1 } /* (0..2047) */, + -1}; +static asn_per_constraints_t asn_PER_memb_minhdwy_constr_36 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 2047 } /* (0..2047) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_maxvehmass_constr_37 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +static asn_per_constraints_t asn_PER_memb_maxvehmass_constr_37 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_maxvehheight_constr_38 CC_NOTUSED = { + { 1, 1 } /* (0..127) */, + -1}; +static asn_per_constraints_t asn_PER_memb_maxvehheight_constr_38 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_maxvehwidth_constr_39 CC_NOTUSED = { + { 1, 1 } /* (0..127) */, + -1}; +static asn_per_constraints_t asn_PER_memb_maxvehwidth_constr_39 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_maxvehlength_constr_40 CC_NOTUSED = { + { 2, 1 } /* (0..1023) */, + -1}; +static asn_per_constraints_t asn_PER_memb_maxvehlength_constr_40 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_maxvehaxles_constr_41 CC_NOTUSED = { + { 1, 1 } /* (2..15) */, + -1}; +static asn_per_constraints_t asn_PER_memb_maxvehaxles_constr_41 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 2, 15 } /* (2..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_minvehocc_constr_42 CC_NOTUSED = { + { 1, 1 } /* (1..15) */, + -1}; +static asn_per_constraints_t asn_PER_memb_minvehocc_constr_42 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 15 } /* (1..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_maxplatoonsize_constr_43 CC_NOTUSED = { + { 1, 1 } /* (1..63) */, + -1}; +static asn_per_constraints_t asn_PER_memb_maxplatoonsize_constr_43 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 1, 63 } /* (1..63) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_minplatoonhdwy_constr_44 CC_NOTUSED = { + { 2, 1 } /* (0..2047) */, + -1}; +static asn_per_constraints_t asn_PER_memb_minplatoonhdwy_constr_44 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 2047 } /* (0..2047) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; + +static asn_oer_constraints_t asn_OER_type_TrafficControlDetail_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; + asn_per_constraints_t asn_PER_type_TrafficControlDetail_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 21 } /* (0..21,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_closed_value2enum_7[] = { + { 0, 4, "open" }, + { 1, 6, "notopen" }, + { 2, 9, "taperleft" }, + { 3, 10, "taperright" }, + { 4, 8, "openleft" }, + { 5, 9, "openright" } +}; +static const unsigned int asn_MAP_closed_enum2value_7[] = { + 1, /* notopen(1) */ + 0, /* open(0) */ + 4, /* openleft(4) */ + 5, /* openright(5) */ + 2, /* taperleft(2) */ + 3 /* taperright(3) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_closed_specs_7 = { + asn_MAP_closed_value2enum_7, /* "tag" => N; sorted by tag */ + asn_MAP_closed_enum2value_7, /* N => "tag"; sorted by N */ + 6, /* 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_closed_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_closed_7 = { + "closed", + "closed", + &asn_OP_NativeEnumerated, + asn_DEF_closed_tags_7, + sizeof(asn_DEF_closed_tags_7) + /sizeof(asn_DEF_closed_tags_7[0]) - 1, /* 1 */ + asn_DEF_closed_tags_7, /* Same as above */ + sizeof(asn_DEF_closed_tags_7) + /sizeof(asn_DEF_closed_tags_7[0]), /* 2 */ + { &asn_OER_type_closed_constr_7, &asn_PER_type_closed_constr_7, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_closed_specs_7 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_chains_value2enum_14[] = { + { 0, 2, "no" }, + { 1, 9, "permitted" }, + { 2, 8, "required" } +}; +static const unsigned int asn_MAP_chains_enum2value_14[] = { + 0, /* no(0) */ + 1, /* permitted(1) */ + 2 /* required(2) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_chains_specs_14 = { + asn_MAP_chains_value2enum_14, /* "tag" => N; sorted by tag */ + asn_MAP_chains_enum2value_14, /* 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_chains_tags_14[] = { + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_chains_14 = { + "chains", + "chains", + &asn_OP_NativeEnumerated, + asn_DEF_chains_tags_14, + sizeof(asn_DEF_chains_tags_14) + /sizeof(asn_DEF_chains_tags_14[0]) - 1, /* 1 */ + asn_DEF_chains_tags_14, /* Same as above */ + sizeof(asn_DEF_chains_tags_14) + /sizeof(asn_DEF_chains_tags_14[0]), /* 2 */ + { &asn_OER_type_chains_constr_14, &asn_PER_type_chains_constr_14, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_chains_specs_14 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_direction_value2enum_18[] = { + { 0, 7, "forward" }, + { 1, 7, "reverse" } +}; +static const unsigned int asn_MAP_direction_enum2value_18[] = { + 0, /* forward(0) */ + 1 /* reverse(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_direction_specs_18 = { + asn_MAP_direction_value2enum_18, /* "tag" => N; sorted by tag */ + asn_MAP_direction_enum2value_18, /* 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_direction_tags_18[] = { + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_direction_18 = { + "direction", + "direction", + &asn_OP_NativeEnumerated, + asn_DEF_direction_tags_18, + sizeof(asn_DEF_direction_tags_18) + /sizeof(asn_DEF_direction_tags_18[0]) - 1, /* 1 */ + asn_DEF_direction_tags_18, /* Same as above */ + sizeof(asn_DEF_direction_tags_18) + /sizeof(asn_DEF_direction_tags_18[0]), /* 2 */ + { &asn_OER_type_direction_constr_18, &asn_PER_type_direction_constr_18, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_direction_specs_18 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_lataffinity_value2enum_21[] = { + { 0, 4, "left" }, + { 1, 5, "right" } +}; +static const unsigned int asn_MAP_lataffinity_enum2value_21[] = { + 0, /* left(0) */ + 1 /* right(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_lataffinity_specs_21 = { + asn_MAP_lataffinity_value2enum_21, /* "tag" => N; sorted by tag */ + asn_MAP_lataffinity_enum2value_21, /* 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_lataffinity_tags_21[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_lataffinity_21 = { + "lataffinity", + "lataffinity", + &asn_OP_NativeEnumerated, + asn_DEF_lataffinity_tags_21, + sizeof(asn_DEF_lataffinity_tags_21) + /sizeof(asn_DEF_lataffinity_tags_21[0]) - 1, /* 1 */ + asn_DEF_lataffinity_tags_21, /* Same as above */ + sizeof(asn_DEF_lataffinity_tags_21) + /sizeof(asn_DEF_lataffinity_tags_21[0]), /* 2 */ + { &asn_OER_type_lataffinity_constr_21, &asn_PER_type_lataffinity_constr_21, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_lataffinity_specs_21 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_Member_value2enum_25[] = { + { 0, 4, "none" }, + { 1, 9, "permitted" }, + { 2, 12, "passing-only" }, + { 3, 14, "emergency-only" } +}; +static const unsigned int asn_MAP_Member_enum2value_25[] = { + 3, /* emergency-only(3) */ + 0, /* none(0) */ + 2, /* passing-only(2) */ + 1 /* permitted(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_Member_specs_25 = { + asn_MAP_Member_value2enum_25, /* "tag" => N; sorted by tag */ + asn_MAP_Member_enum2value_25, /* 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_Member_tags_25[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_25 = { + "ENUMERATED", + "ENUMERATED", + &asn_OP_NativeEnumerated, + asn_DEF_Member_tags_25, + sizeof(asn_DEF_Member_tags_25) + /sizeof(asn_DEF_Member_tags_25[0]), /* 1 */ + asn_DEF_Member_tags_25, /* Same as above */ + sizeof(asn_DEF_Member_tags_25) + /sizeof(asn_DEF_Member_tags_25[0]), /* 1 */ + { &asn_OER_type_Member_constr_25, &asn_PER_type_Member_constr_25, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Member_specs_25 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_latperm_24[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_Member_25, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_latperm_tags_24[] = { + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_latperm_specs_24 = { + sizeof(struct TrafficControlDetail__latperm), + offsetof(struct TrafficControlDetail__latperm, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_latperm_24 = { + "latperm", + "latperm", + &asn_OP_SEQUENCE_OF, + asn_DEF_latperm_tags_24, + sizeof(asn_DEF_latperm_tags_24) + /sizeof(asn_DEF_latperm_tags_24[0]) - 1, /* 1 */ + asn_DEF_latperm_tags_24, /* Same as above */ + sizeof(asn_DEF_latperm_tags_24) + /sizeof(asn_DEF_latperm_tags_24[0]), /* 2 */ + { &asn_OER_type_latperm_constr_24, &asn_PER_type_latperm_constr_24, SEQUENCE_OF_constraint }, + asn_MBR_latperm_24, + 1, /* Single element */ + &asn_SPC_latperm_specs_24 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_parking_value2enum_30[] = { + { 0, 2, "no" }, + { 1, 8, "parallel" }, + { 2, 6, "angled" } +}; +static const unsigned int asn_MAP_parking_enum2value_30[] = { + 2, /* angled(2) */ + 0, /* no(0) */ + 1 /* parallel(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_parking_specs_30 = { + asn_MAP_parking_value2enum_30, /* "tag" => N; sorted by tag */ + asn_MAP_parking_enum2value_30, /* 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_parking_tags_30[] = { + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_parking_30 = { + "parking", + "parking", + &asn_OP_NativeEnumerated, + asn_DEF_parking_tags_30, + sizeof(asn_DEF_parking_tags_30) + /sizeof(asn_DEF_parking_tags_30[0]) - 1, /* 1 */ + asn_DEF_parking_tags_30, /* Same as above */ + sizeof(asn_DEF_parking_tags_30) + /sizeof(asn_DEF_parking_tags_30[0]), /* 2 */ + { &asn_OER_type_parking_constr_30, &asn_PER_type_parking_constr_30, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_parking_specs_30 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TrafficControlDetail_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.signal), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { &asn_OER_memb_signal_constr_2, &asn_PER_memb_signal_constr_2, memb_signal_constraint_1 }, + 0, 0, /* No default value */ + "signal" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.stop), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "stop" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.yield), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "yield" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.notowing), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "notowing" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.restricted), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "restricted" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.closed), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_closed_7, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "closed" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.chains), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_chains_14, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "chains" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.direction), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_direction_18, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "direction" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.lataffinity), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_lataffinity_21, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "lataffinity" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.latperm), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + 0, + &asn_DEF_latperm_24, + 0, + { &asn_OER_memb_latperm_constr_24, &asn_PER_memb_latperm_constr_24, memb_latperm_constraint_1 }, + 0, 0, /* No default value */ + "latperm" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.parking), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_parking_30, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "parking" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.minspeed), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_minspeed_constr_34, &asn_PER_memb_minspeed_constr_34, memb_minspeed_constraint_1 }, + 0, 0, /* No default value */ + "minspeed" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.maxspeed), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_maxspeed_constr_35, &asn_PER_memb_maxspeed_constr_35, memb_maxspeed_constraint_1 }, + 0, 0, /* No default value */ + "maxspeed" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.minhdwy), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_minhdwy_constr_36, &asn_PER_memb_minhdwy_constr_36, memb_minhdwy_constraint_1 }, + 0, 0, /* No default value */ + "minhdwy" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.maxvehmass), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_maxvehmass_constr_37, &asn_PER_memb_maxvehmass_constr_37, memb_maxvehmass_constraint_1 }, + 0, 0, /* No default value */ + "maxvehmass" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.maxvehheight), + (ASN_TAG_CLASS_CONTEXT | (15 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_maxvehheight_constr_38, &asn_PER_memb_maxvehheight_constr_38, memb_maxvehheight_constraint_1 }, + 0, 0, /* No default value */ + "maxvehheight" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.maxvehwidth), + (ASN_TAG_CLASS_CONTEXT | (16 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_maxvehwidth_constr_39, &asn_PER_memb_maxvehwidth_constr_39, memb_maxvehwidth_constraint_1 }, + 0, 0, /* No default value */ + "maxvehwidth" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.maxvehlength), + (ASN_TAG_CLASS_CONTEXT | (17 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_maxvehlength_constr_40, &asn_PER_memb_maxvehlength_constr_40, memb_maxvehlength_constraint_1 }, + 0, 0, /* No default value */ + "maxvehlength" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.maxvehaxles), + (ASN_TAG_CLASS_CONTEXT | (18 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_maxvehaxles_constr_41, &asn_PER_memb_maxvehaxles_constr_41, memb_maxvehaxles_constraint_1 }, + 0, 0, /* No default value */ + "maxvehaxles" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.minvehocc), + (ASN_TAG_CLASS_CONTEXT | (19 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_minvehocc_constr_42, &asn_PER_memb_minvehocc_constr_42, memb_minvehocc_constraint_1 }, + 0, 0, /* No default value */ + "minvehocc" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.maxplatoonsize), + (ASN_TAG_CLASS_CONTEXT | (20 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_maxplatoonsize_constr_43, &asn_PER_memb_maxplatoonsize_constr_43, memb_maxplatoonsize_constraint_1 }, + 0, 0, /* No default value */ + "maxplatoonsize" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlDetail, choice.minplatoonhdwy), + (ASN_TAG_CLASS_CONTEXT | (21 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_minplatoonhdwy_constr_44, &asn_PER_memb_minplatoonhdwy_constr_44, memb_minplatoonhdwy_constraint_1 }, + 0, 0, /* No default value */ + "minplatoonhdwy" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlDetail_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* signal */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* stop */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* yield */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* notowing */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* restricted */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* closed */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* chains */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* direction */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* lataffinity */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* latperm */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* parking */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* minspeed */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* maxspeed */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* minhdwy */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* maxvehmass */ + { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* maxvehheight */ + { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* maxvehwidth */ + { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* maxvehlength */ + { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 }, /* maxvehaxles */ + { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 19, 0, 0 }, /* minvehocc */ + { (ASN_TAG_CLASS_CONTEXT | (20 << 2)), 20, 0, 0 }, /* maxplatoonsize */ + { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 21, 0, 0 } /* minplatoonhdwy */ +}; + asn_CHOICE_specifics_t asn_SPC_TrafficControlDetail_specs_1 = { + sizeof(struct TrafficControlDetail), + offsetof(struct TrafficControlDetail, _asn_ctx), + offsetof(struct TrafficControlDetail, present), + sizeof(((struct TrafficControlDetail *)0)->present), + asn_MAP_TrafficControlDetail_tag2el_1, + 22, /* Count of tags in the map */ + 0, 0, + 22 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficControlDetail = { + "TrafficControlDetail", + "TrafficControlDetail", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { &asn_OER_type_TrafficControlDetail_constr_1, &asn_PER_type_TrafficControlDetail_constr_1, CHOICE_constraint }, + asn_MBR_TrafficControlDetail_1, + 22, /* Elements count */ + &asn_SPC_TrafficControlDetail_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlGeometry.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlGeometry.c new file mode 100644 index 000000000..7ed724ff0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlGeometry.c @@ -0,0 +1,372 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "CARMA-CLOUD" + * found in "asn/cc_traffic_control_messages_asn1.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "TrafficControlGeometry.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 <= 127)) 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 <= 127)) return -1; + } + return 0; +} + +static int +memb_proj_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 <= 63) + && !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_datum_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 <= 63) + && !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_refwidth_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 >= 0 && value <= 32767)) { + /* 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_heading_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 >= 0 && value <= 3599)) { + /* 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_nodes_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 >= 1 && size <= 255)) { + /* 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 asn_oer_constraints_t asn_OER_type_nodes_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +static asn_per_constraints_t asn_PER_type_nodes_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_proj_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..63)) */}; +static asn_per_constraints_t asn_PER_memb_proj_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 6, 6, 0, 63 } /* (SIZE(0..63)) */, + 0, 0 /* No PER character map necessary */ +}; +static asn_oer_constraints_t asn_OER_memb_datum_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..63)) */}; +static asn_per_constraints_t asn_PER_memb_datum_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 6, 6, 0, 63 } /* (SIZE(0..63)) */, + 0, 0 /* No PER character map necessary */ +}; +static asn_oer_constraints_t asn_OER_memb_refwidth_constr_8 CC_NOTUSED = { + { 2, 1 } /* (0..32767) */, + -1}; +static asn_per_constraints_t asn_PER_memb_refwidth_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32767 } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_heading_constr_9 CC_NOTUSED = { + { 2, 1 } /* (0..3599) */, + -1}; +static asn_per_constraints_t asn_PER_memb_heading_constr_9 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 3599 } /* (0..3599) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_nodes_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +static asn_per_constraints_t asn_PER_memb_nodes_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_nodes_10[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_PathNode, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_nodes_tags_10[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_nodes_specs_10 = { + sizeof(struct TrafficControlGeometry__nodes), + offsetof(struct TrafficControlGeometry__nodes, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_nodes_10 = { + "nodes", + "nodes", + &asn_OP_SEQUENCE_OF, + asn_DEF_nodes_tags_10, + sizeof(asn_DEF_nodes_tags_10) + /sizeof(asn_DEF_nodes_tags_10[0]) - 1, /* 1 */ + asn_DEF_nodes_tags_10, /* Same as above */ + sizeof(asn_DEF_nodes_tags_10) + /sizeof(asn_DEF_nodes_tags_10[0]), /* 2 */ + { &asn_OER_type_nodes_constr_10, &asn_PER_type_nodes_constr_10, SEQUENCE_OF_constraint }, + asn_MBR_nodes_10, + 1, /* Single element */ + &asn_SPC_nodes_specs_10 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TrafficControlGeometry_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlGeometry, proj), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { &asn_OER_memb_proj_constr_2, &asn_PER_memb_proj_constr_2, memb_proj_constraint_1 }, + 0, 0, /* No default value */ + "proj" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlGeometry, datum), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { &asn_OER_memb_datum_constr_3, &asn_PER_memb_datum_constr_3, memb_datum_constraint_1 }, + 0, 0, /* No default value */ + "datum" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlGeometry, reftime), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EpochMins, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reftime" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlGeometry, reflon), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Longitude, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reflon" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlGeometry, reflat), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Latitude, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reflat" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlGeometry, refelv), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Elevation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "refelv" + }, + { ATF_POINTER, 1, offsetof(struct TrafficControlGeometry, refwidth), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_refwidth_constr_8, &asn_PER_memb_refwidth_constr_8, memb_refwidth_constraint_1 }, + 0, 0, /* No default value */ + "refwidth" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlGeometry, heading), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_heading_constr_9, &asn_PER_memb_heading_constr_9, memb_heading_constraint_1 }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlGeometry, nodes), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + 0, + &asn_DEF_nodes_10, + 0, + { &asn_OER_memb_nodes_constr_10, &asn_PER_memb_nodes_constr_10, memb_nodes_constraint_1 }, + 0, 0, /* No default value */ + "nodes" + }, +}; +static const int asn_MAP_TrafficControlGeometry_oms_1[] = { 6 }; +static const ber_tlv_tag_t asn_DEF_TrafficControlGeometry_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlGeometry_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* proj */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* datum */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* reftime */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* reflon */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* reflat */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* refelv */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* refwidth */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* nodes */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrafficControlGeometry_specs_1 = { + sizeof(struct TrafficControlGeometry), + offsetof(struct TrafficControlGeometry, _asn_ctx), + asn_MAP_TrafficControlGeometry_tag2el_1, + 9, /* Count of tags in the map */ + asn_MAP_TrafficControlGeometry_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficControlGeometry = { + "TrafficControlGeometry", + "TrafficControlGeometry", + &asn_OP_SEQUENCE, + asn_DEF_TrafficControlGeometry_tags_1, + sizeof(asn_DEF_TrafficControlGeometry_tags_1) + /sizeof(asn_DEF_TrafficControlGeometry_tags_1[0]), /* 1 */ + asn_DEF_TrafficControlGeometry_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficControlGeometry_tags_1) + /sizeof(asn_DEF_TrafficControlGeometry_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TrafficControlGeometry_1, + 9, /* Elements count */ + &asn_SPC_TrafficControlGeometry_specs_1 /* Additional specs */ +}; diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlMessage.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlMessage.c new file mode 100644 index 000000000..23100a8f0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlMessage.c @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "TrafficControlMessage.h" + +static asn_oer_constraints_t asn_OER_type_TrafficControlMessage_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +asn_per_constraints_t asn_PER_type_TrafficControlMessage_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 */ +}; +asn_TYPE_member_t asn_MBR_TrafficControlMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlMessage, choice.reserved), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reserved" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlMessage, choice.tcmV01), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficControlMessageV01, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tcmV01" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reserved */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tcmV01 */ +}; +asn_CHOICE_specifics_t asn_SPC_TrafficControlMessage_specs_1 = { + sizeof(struct TrafficControlMessage), + offsetof(struct TrafficControlMessage, _asn_ctx), + offsetof(struct TrafficControlMessage, present), + sizeof(((struct TrafficControlMessage *)0)->present), + asn_MAP_TrafficControlMessage_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficControlMessage = { + "TrafficControlMessage", + "TrafficControlMessage", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { &asn_OER_type_TrafficControlMessage_constr_1, &asn_PER_type_TrafficControlMessage_constr_1, CHOICE_constraint }, + asn_MBR_TrafficControlMessage_1, + 2, /* Elements count */ + &asn_SPC_TrafficControlMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlMessageV01.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlMessageV01.c new file mode 100644 index 000000000..55193d392 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlMessageV01.c @@ -0,0 +1,231 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "TrafficControlMessageV01.h" + +static int +memb_reqseq_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 >= 0 && value <= 255)) { + /* 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_msgtot_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 >= 0 && value <= 65535)) { + /* 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_msgnum_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 >= 0 && value <= 65535)) { + /* 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_oer_constraints_t asn_OER_memb_reqseq_constr_3 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +static asn_per_constraints_t asn_PER_memb_reqseq_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_msgtot_constr_4 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +static asn_per_constraints_t asn_PER_memb_msgtot_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_msgnum_constr_5 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +static asn_per_constraints_t asn_PER_memb_msgnum_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_TrafficControlMessageV01_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlMessageV01, reqid), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_Id64b, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reqid" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlMessageV01, reqseq), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_reqseq_constr_3, &asn_PER_memb_reqseq_constr_3, memb_reqseq_constraint_1 }, + 0, 0, /* No default value */ + "reqseq" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlMessageV01, msgtot), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_msgtot_constr_4, &asn_PER_memb_msgtot_constr_4, memb_msgtot_constraint_1 }, + 0, 0, /* No default value */ + "msgtot" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlMessageV01, msgnum), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_msgnum_constr_5, &asn_PER_memb_msgnum_constr_5, memb_msgnum_constraint_1 }, + 0, 0, /* No default value */ + "msgnum" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlMessageV01, id), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_Id128b, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlMessageV01, updated), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_EpochMins, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "updated" + }, + { ATF_POINTER, 3, offsetof(struct TrafficControlMessageV01, package), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficControlPackage, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "package" + }, + { ATF_POINTER, 2, offsetof(struct TrafficControlMessageV01, params), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficControlParams, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "params" + }, + { ATF_POINTER, 1, offsetof(struct TrafficControlMessageV01, geometry), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficControlGeometry, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "geometry" + }, +}; +static const int asn_MAP_TrafficControlMessageV01_oms_1[] = { 6, 7, 8 }; +static const ber_tlv_tag_t asn_DEF_TrafficControlMessageV01_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlMessageV01_tag2el_1[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 3 }, /* reqseq */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 2 }, /* msgtot */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 1 }, /* msgnum */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 5, -3, 0 }, /* updated */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 1 }, /* reqid */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -1, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 6, 0, 0 }, /* package */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 7, 0, 0 }, /* params */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 8, 0, 0 } /* geometry */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrafficControlMessageV01_specs_1 = { + sizeof(struct TrafficControlMessageV01), + offsetof(struct TrafficControlMessageV01, _asn_ctx), + asn_MAP_TrafficControlMessageV01_tag2el_1, + 9, /* Count of tags in the map */ + asn_MAP_TrafficControlMessageV01_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficControlMessageV01 = { + "TrafficControlMessageV01", + "TrafficControlMessageV01", + &asn_OP_SEQUENCE, + asn_DEF_TrafficControlMessageV01_tags_1, + sizeof(asn_DEF_TrafficControlMessageV01_tags_1) + /sizeof(asn_DEF_TrafficControlMessageV01_tags_1[0]), /* 1 */ + asn_DEF_TrafficControlMessageV01_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficControlMessageV01_tags_1) + /sizeof(asn_DEF_TrafficControlMessageV01_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TrafficControlMessageV01_1, + 9, /* Elements count */ + &asn_SPC_TrafficControlMessageV01_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlPackage.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlPackage.c new file mode 100644 index 000000000..882463f7d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlPackage.c @@ -0,0 +1,189 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "TrafficControlPackage.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 <= 127)) return -1; + } + return 0; +} + +static int +memb_label_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 >= 1 && size <= 63) + && !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_tcids_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 >= 1 && size <= 63)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_oer_constraints_t asn_OER_type_tcids_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..63)) */}; +static asn_per_constraints_t asn_PER_type_tcids_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_label_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..63)) */}; +static asn_per_constraints_t asn_PER_memb_label_constr_2 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 */ +}; +static asn_oer_constraints_t asn_OER_memb_tcids_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..63)) */}; +static asn_per_constraints_t asn_PER_memb_tcids_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_tcids_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_Id128b, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_tcids_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_tcids_specs_3 = { + sizeof(struct TrafficControlPackage__tcids), + offsetof(struct TrafficControlPackage__tcids, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_tcids_3 = { + "tcids", + "tcids", + &asn_OP_SEQUENCE_OF, + asn_DEF_tcids_tags_3, + sizeof(asn_DEF_tcids_tags_3) + /sizeof(asn_DEF_tcids_tags_3[0]) - 1, /* 1 */ + asn_DEF_tcids_tags_3, /* Same as above */ + sizeof(asn_DEF_tcids_tags_3) + /sizeof(asn_DEF_tcids_tags_3[0]), /* 2 */ + { &asn_OER_type_tcids_constr_3, &asn_PER_type_tcids_constr_3, SEQUENCE_OF_constraint }, + asn_MBR_tcids_3, + 1, /* Single element */ + &asn_SPC_tcids_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TrafficControlPackage_1[] = { + { ATF_POINTER, 1, offsetof(struct TrafficControlPackage, label), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { &asn_OER_memb_label_constr_2, &asn_PER_memb_label_constr_2, memb_label_constraint_1 }, + 0, 0, /* No default value */ + "label" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlPackage, tcids), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_tcids_3, + 0, + { &asn_OER_memb_tcids_constr_3, &asn_PER_memb_tcids_constr_3, memb_tcids_constraint_1 }, + 0, 0, /* No default value */ + "tcids" + }, +}; +static const int asn_MAP_TrafficControlPackage_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_TrafficControlPackage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlPackage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* label */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tcids */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrafficControlPackage_specs_1 = { + sizeof(struct TrafficControlPackage), + offsetof(struct TrafficControlPackage, _asn_ctx), + asn_MAP_TrafficControlPackage_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TrafficControlPackage_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficControlPackage = { + "TrafficControlPackage", + "TrafficControlPackage", + &asn_OP_SEQUENCE, + asn_DEF_TrafficControlPackage_tags_1, + sizeof(asn_DEF_TrafficControlPackage_tags_1) + /sizeof(asn_DEF_TrafficControlPackage_tags_1[0]), /* 1 */ + asn_DEF_TrafficControlPackage_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficControlPackage_tags_1) + /sizeof(asn_DEF_TrafficControlPackage_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TrafficControlPackage_1, + 2, /* Elements count */ + &asn_SPC_TrafficControlPackage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlParams.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlParams.c new file mode 100644 index 000000000..59ec71b5c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlParams.c @@ -0,0 +1,159 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "TrafficControlParams.h" + +static int +memb_vclasses_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 >= 1 && size <= 255)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_oer_constraints_t asn_OER_type_vclasses_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +static asn_per_constraints_t asn_PER_type_vclasses_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_vclasses_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +static asn_per_constraints_t asn_PER_memb_vclasses_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_vclasses_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_TrafficControlVehClass, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_vclasses_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_vclasses_specs_2 = { + sizeof(struct TrafficControlParams__vclasses), + offsetof(struct TrafficControlParams__vclasses, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_vclasses_2 = { + "vclasses", + "vclasses", + &asn_OP_SEQUENCE_OF, + asn_DEF_vclasses_tags_2, + sizeof(asn_DEF_vclasses_tags_2) + /sizeof(asn_DEF_vclasses_tags_2[0]) - 1, /* 1 */ + asn_DEF_vclasses_tags_2, /* Same as above */ + sizeof(asn_DEF_vclasses_tags_2) + /sizeof(asn_DEF_vclasses_tags_2[0]), /* 2 */ + { &asn_OER_type_vclasses_constr_2, &asn_PER_type_vclasses_constr_2, SEQUENCE_OF_constraint }, + asn_MBR_vclasses_2, + 1, /* Single element */ + &asn_SPC_vclasses_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TrafficControlParams_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlParams, vclasses), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_vclasses_2, + 0, + { &asn_OER_memb_vclasses_constr_2, &asn_PER_memb_vclasses_constr_2, memb_vclasses_constraint_1 }, + 0, 0, /* No default value */ + "vclasses" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlParams, schedule), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficControlSchedule, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "schedule" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlParams, regulatory), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "regulatory" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlParams, detail), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_TrafficControlDetail, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "detail" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrafficControlParams_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlParams_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vclasses */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* schedule */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* regulatory */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* detail */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrafficControlParams_specs_1 = { + sizeof(struct TrafficControlParams), + offsetof(struct TrafficControlParams, _asn_ctx), + asn_MAP_TrafficControlParams_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_TrafficControlParams = { + "TrafficControlParams", + "TrafficControlParams", + &asn_OP_SEQUENCE, + asn_DEF_TrafficControlParams_tags_1, + sizeof(asn_DEF_TrafficControlParams_tags_1) + /sizeof(asn_DEF_TrafficControlParams_tags_1[0]), /* 1 */ + asn_DEF_TrafficControlParams_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficControlParams_tags_1) + /sizeof(asn_DEF_TrafficControlParams_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TrafficControlParams_1, + 4, /* Elements count */ + &asn_SPC_TrafficControlParams_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlPathPart.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlPathPart.c new file mode 100644 index 000000000..d42958adf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlPathPart.c @@ -0,0 +1,265 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "TrafficControlPathPart.h" + +static int +memb_id_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 == 16)) { + /* 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_updated_constraint_1(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 >= 0 && value <= 9223372036854775807)) { + /* 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_pathindex_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 >= 1 && value <= 127)) { + /* 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_points_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 >= 1 && size <= 120)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_oer_constraints_t asn_OER_type_points_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..120)) */}; +static asn_per_constraints_t asn_PER_type_points_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 7, 7, 1, 120 } /* (SIZE(1..120)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_id_constr_2 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_updated_constr_3 CC_NOTUSED = { + { 8, 1 } /* (0..9223372036854775807) */, + -1}; +static asn_per_constraints_t asn_PER_memb_updated_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 63, -1, 0, 9223372036854775807 } /* (0..9223372036854775807) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_pathindex_constr_4 CC_NOTUSED = { + { 1, 1 } /* (1..127) */, + -1}; +static asn_per_constraints_t asn_PER_memb_pathindex_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 127 } /* (1..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_points_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..120)) */}; +static asn_per_constraints_t asn_PER_memb_points_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 7, 7, 1, 120 } /* (SIZE(1..120)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_points_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Point, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_points_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_points_specs_5 = { + sizeof(struct TrafficControlPathPart__points), + offsetof(struct TrafficControlPathPart__points, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_points_5 = { + "points", + "points", + &asn_OP_SEQUENCE_OF, + asn_DEF_points_tags_5, + sizeof(asn_DEF_points_tags_5) + /sizeof(asn_DEF_points_tags_5[0]) - 1, /* 1 */ + asn_DEF_points_tags_5, /* Same as above */ + sizeof(asn_DEF_points_tags_5) + /sizeof(asn_DEF_points_tags_5[0]), /* 2 */ + { &asn_OER_type_points_constr_5, &asn_PER_type_points_constr_5, SEQUENCE_OF_constraint }, + asn_MBR_points_5, + 1, /* Single element */ + &asn_SPC_points_specs_5 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_TrafficControlPathPart_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlPathPart, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { &asn_OER_memb_id_constr_2, &asn_PER_memb_id_constr_2, memb_id_constraint_1 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlPathPart, updated), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_INTEGER, + 0, + { &asn_OER_memb_updated_constr_3, &asn_PER_memb_updated_constr_3, memb_updated_constraint_1 }, + 0, 0, /* No default value */ + "updated" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlPathPart, pathindex), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_pathindex_constr_4, &asn_PER_memb_pathindex_constr_4, memb_pathindex_constraint_1 }, + 0, 0, /* No default value */ + "pathindex" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlPathPart, points), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_points_5, + 0, + { &asn_OER_memb_points_constr_5, &asn_PER_memb_points_constr_5, memb_points_constraint_1 }, + 0, 0, /* No default value */ + "points" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrafficControlPathPart_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlPathPart_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* updated */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pathindex */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* points */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_TrafficControlPathPart_specs_1 = { + sizeof(struct TrafficControlPathPart), + offsetof(struct TrafficControlPathPart, _asn_ctx), + asn_MAP_TrafficControlPathPart_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_TrafficControlPathPart = { + "TrafficControlPathPart", + "TrafficControlPathPart", + &asn_OP_SEQUENCE, + asn_DEF_TrafficControlPathPart_tags_1, + sizeof(asn_DEF_TrafficControlPathPart_tags_1) + /sizeof(asn_DEF_TrafficControlPathPart_tags_1[0]), /* 1 */ + asn_DEF_TrafficControlPathPart_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficControlPathPart_tags_1) + /sizeof(asn_DEF_TrafficControlPathPart_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TrafficControlPathPart_1, + 4, /* Elements count */ + &asn_SPC_TrafficControlPathPart_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlRequest.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlRequest.c new file mode 100644 index 000000000..0807baa01 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlRequest.c @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "TrafficControlRequest.h" + +static asn_oer_constraints_t asn_OER_type_TrafficControlRequest_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +asn_per_constraints_t asn_PER_type_TrafficControlRequest_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 */ +}; +asn_TYPE_member_t asn_MBR_TrafficControlRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlRequest, choice.reserved), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reserved" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlRequest, choice.tcrV01), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficControlRequestV01, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tcrV01" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reserved */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tcrV01 */ +}; +asn_CHOICE_specifics_t asn_SPC_TrafficControlRequest_specs_1 = { + sizeof(struct TrafficControlRequest), + offsetof(struct TrafficControlRequest, _asn_ctx), + offsetof(struct TrafficControlRequest, present), + sizeof(((struct TrafficControlRequest *)0)->present), + asn_MAP_TrafficControlRequest_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficControlRequest = { + "TrafficControlRequest", + "TrafficControlRequest", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { &asn_OER_type_TrafficControlRequest_constr_1, &asn_PER_type_TrafficControlRequest_constr_1, CHOICE_constraint }, + asn_MBR_TrafficControlRequest_1, + 2, /* Elements count */ + &asn_SPC_TrafficControlRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlRequestV01.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlRequestV01.c new file mode 100644 index 000000000..875c387ca --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlRequestV01.c @@ -0,0 +1,225 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "TrafficControlRequestV01.h" + +static int +memb_reqseq_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 >= 0 && value <= 255)) { + /* 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_scale_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 >= -3 && value <= 3)) { + /* 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_bounds_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 >= 1 && size <= 63)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_oer_constraints_t asn_OER_type_bounds_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..63)) */}; +static asn_per_constraints_t asn_PER_type_bounds_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_reqseq_constr_3 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +static asn_per_constraints_t asn_PER_memb_reqseq_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_scale_constr_4 CC_NOTUSED = { + { 1, 0 } /* (-3..3) */, + -1}; +static asn_per_constraints_t asn_PER_memb_scale_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, -3, 3 } /* (-3..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_bounds_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..63)) */}; +static asn_per_constraints_t asn_PER_memb_bounds_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_bounds_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TrafficControlBounds, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_bounds_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_bounds_specs_5 = { + sizeof(struct TrafficControlRequestV01__bounds), + offsetof(struct TrafficControlRequestV01__bounds, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_bounds_5 = { + "bounds", + "bounds", + &asn_OP_SEQUENCE_OF, + asn_DEF_bounds_tags_5, + sizeof(asn_DEF_bounds_tags_5) + /sizeof(asn_DEF_bounds_tags_5[0]) - 1, /* 1 */ + asn_DEF_bounds_tags_5, /* Same as above */ + sizeof(asn_DEF_bounds_tags_5) + /sizeof(asn_DEF_bounds_tags_5[0]), /* 2 */ + { &asn_OER_type_bounds_constr_5, &asn_PER_type_bounds_constr_5, SEQUENCE_OF_constraint }, + asn_MBR_bounds_5, + 1, /* Single element */ + &asn_SPC_bounds_specs_5 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TrafficControlRequestV01_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlRequestV01, reqid), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Id64b, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reqid" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlRequestV01, reqseq), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_reqseq_constr_3, &asn_PER_memb_reqseq_constr_3, memb_reqseq_constraint_1 }, + 0, 0, /* No default value */ + "reqseq" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlRequestV01, scale), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_scale_constr_4, &asn_PER_memb_scale_constr_4, memb_scale_constraint_1 }, + 0, 0, /* No default value */ + "scale" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlRequestV01, bounds), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_bounds_5, + 0, + { &asn_OER_memb_bounds_constr_5, &asn_PER_memb_bounds_constr_5, memb_bounds_constraint_1 }, + 0, 0, /* No default value */ + "bounds" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrafficControlRequestV01_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlRequestV01_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reqid */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reqseq */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scale */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* bounds */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrafficControlRequestV01_specs_1 = { + sizeof(struct TrafficControlRequestV01), + offsetof(struct TrafficControlRequestV01, _asn_ctx), + asn_MAP_TrafficControlRequestV01_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_TrafficControlRequestV01 = { + "TrafficControlRequestV01", + "TrafficControlRequestV01", + &asn_OP_SEQUENCE, + asn_DEF_TrafficControlRequestV01_tags_1, + sizeof(asn_DEF_TrafficControlRequestV01_tags_1) + /sizeof(asn_DEF_TrafficControlRequestV01_tags_1[0]), /* 1 */ + asn_DEF_TrafficControlRequestV01_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficControlRequestV01_tags_1) + /sizeof(asn_DEF_TrafficControlRequestV01_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TrafficControlRequestV01_1, + 4, /* Elements count */ + &asn_SPC_TrafficControlRequestV01_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlSchedule.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlSchedule.c new file mode 100644 index 000000000..9080cd190 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlSchedule.c @@ -0,0 +1,171 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "TrafficControlSchedule.h" + +static int +memb_between_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 >= 1 && size <= 63)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_oer_constraints_t asn_OER_type_between_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..63)) */}; +static asn_per_constraints_t asn_PER_type_between_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_between_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..63)) */}; +static asn_per_constraints_t asn_PER_memb_between_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_between_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DailySchedule, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_between_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_between_specs_5 = { + sizeof(struct TrafficControlSchedule__between), + offsetof(struct TrafficControlSchedule__between, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_between_5 = { + "between", + "between", + &asn_OP_SEQUENCE_OF, + asn_DEF_between_tags_5, + sizeof(asn_DEF_between_tags_5) + /sizeof(asn_DEF_between_tags_5[0]) - 1, /* 1 */ + asn_DEF_between_tags_5, /* Same as above */ + sizeof(asn_DEF_between_tags_5) + /sizeof(asn_DEF_between_tags_5[0]), /* 2 */ + { &asn_OER_type_between_constr_5, &asn_PER_type_between_constr_5, SEQUENCE_OF_constraint }, + asn_MBR_between_5, + 1, /* Single element */ + &asn_SPC_between_specs_5 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TrafficControlSchedule_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlSchedule, start), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_EpochMins, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "start" + }, + { ATF_POINTER, 4, offsetof(struct TrafficControlSchedule, end), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EpochMins, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "end" + }, + { ATF_POINTER, 3, offsetof(struct TrafficControlSchedule, dow), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSRC_DayOfWeek, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dow" + }, + { ATF_POINTER, 2, offsetof(struct TrafficControlSchedule, between), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + 0, + &asn_DEF_between_5, + 0, + { &asn_OER_memb_between_constr_5, &asn_PER_memb_between_constr_5, memb_between_constraint_1 }, + 0, 0, /* No default value */ + "between" + }, + { ATF_POINTER, 1, offsetof(struct TrafficControlSchedule, repeat), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RepeatParams, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "repeat" + }, +}; +static const int asn_MAP_TrafficControlSchedule_oms_1[] = { 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_TrafficControlSchedule_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlSchedule_tag2el_1[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* start */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* end */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* dow */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 }, /* between */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 4, 0, 0 } /* repeat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrafficControlSchedule_specs_1 = { + sizeof(struct TrafficControlSchedule), + offsetof(struct TrafficControlSchedule, _asn_ctx), + asn_MAP_TrafficControlSchedule_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_TrafficControlSchedule_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficControlSchedule = { + "TrafficControlSchedule", + "TrafficControlSchedule", + &asn_OP_SEQUENCE, + asn_DEF_TrafficControlSchedule_tags_1, + sizeof(asn_DEF_TrafficControlSchedule_tags_1) + /sizeof(asn_DEF_TrafficControlSchedule_tags_1[0]), /* 1 */ + asn_DEF_TrafficControlSchedule_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficControlSchedule_tags_1) + /sizeof(asn_DEF_TrafficControlSchedule_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TrafficControlSchedule_1, + 5, /* Elements count */ + &asn_SPC_TrafficControlSchedule_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlType.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlType.c new file mode 100644 index 000000000..5a6453819 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlType.c @@ -0,0 +1,98 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "TrafficControlType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_TrafficControlType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +asn_per_constraints_t asn_PER_type_TrafficControlType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 22 } /* (0..22) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_TrafficControlType_value2enum_1[] = { + { 0, 6, "signal" }, + { 1, 4, "stop" }, + { 2, 5, "yield" }, + { 3, 8, "notowing" }, + { 4, 10, "restricted" }, + { 5, 6, "closed" }, + { 6, 6, "chains" }, + { 7, 9, "direction" }, + { 8, 11, "lataffinity" }, + { 9, 8, "leftperm" }, + { 10, 9, "rightperm" }, + { 11, 7, "opening" }, + { 12, 7, "closing" }, + { 13, 7, "parking" }, + { 14, 8, "minspeed" }, + { 15, 8, "maxspeed" }, + { 16, 7, "minhdwy" }, + { 17, 10, "maxvehmass" }, + { 18, 12, "maxvehheight" }, + { 19, 11, "maxvehwidth" }, + { 20, 12, "maxvehlength" }, + { 21, 8, "maxaxles" }, + { 22, 9, "minvehocc" } +}; +static const unsigned int asn_MAP_TrafficControlType_enum2value_1[] = { + 6, /* chains(6) */ + 5, /* closed(5) */ + 12, /* closing(12) */ + 7, /* direction(7) */ + 8, /* lataffinity(8) */ + 9, /* leftperm(9) */ + 21, /* maxaxles(21) */ + 15, /* maxspeed(15) */ + 18, /* maxvehheight(18) */ + 20, /* maxvehlength(20) */ + 17, /* maxvehmass(17) */ + 19, /* maxvehwidth(19) */ + 16, /* minhdwy(16) */ + 14, /* minspeed(14) */ + 22, /* minvehocc(22) */ + 3, /* notowing(3) */ + 11, /* opening(11) */ + 13, /* parking(13) */ + 4, /* restricted(4) */ + 10, /* rightperm(10) */ + 0, /* signal(0) */ + 1, /* stop(1) */ + 2 /* yield(2) */ +}; +const asn_INTEGER_specifics_t asn_SPC_TrafficControlType_specs_1 = { + asn_MAP_TrafficControlType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TrafficControlType_enum2value_1, /* N => "tag"; sorted by N */ + 23, /* 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_TrafficControlType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrafficControlType = { + "TrafficControlType", + "TrafficControlType", + &asn_OP_NativeEnumerated, + asn_DEF_TrafficControlType_tags_1, + sizeof(asn_DEF_TrafficControlType_tags_1) + /sizeof(asn_DEF_TrafficControlType_tags_1[0]), /* 1 */ + asn_DEF_TrafficControlType_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficControlType_tags_1) + /sizeof(asn_DEF_TrafficControlType_tags_1[0]), /* 1 */ + { &asn_OER_type_TrafficControlType_constr_1, &asn_PER_type_TrafficControlType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TrafficControlType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlValue.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlValue.c new file mode 100644 index 000000000..585fd29c9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlValue.c @@ -0,0 +1,539 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "TrafficControlValue.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_chains_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_chains_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_direction_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_direction_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_lataffinity_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_lataffinity_constr_10 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_leftperm_constr_13 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_leftperm_constr_13 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_rightperm_constr_18 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_rightperm_constr_18 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_opening_constr_23 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_opening_constr_23 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_closing_constr_26 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_closing_constr_26 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_parking_constr_29 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_parking_constr_29 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_TrafficControlValue_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +asn_per_constraints_t asn_PER_type_TrafficControlValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 8 } /* (0..8) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_chains_value2enum_3[] = { + { 0, 2, "no" }, + { 1, 9, "permitted" }, + { 2, 8, "required" } +}; +static const unsigned int asn_MAP_chains_enum2value_3[] = { + 0, /* no(0) */ + 1, /* permitted(1) */ + 2 /* required(2) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_chains_specs_3 = { + asn_MAP_chains_value2enum_3, /* "tag" => N; sorted by tag */ + asn_MAP_chains_enum2value_3, /* 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_chains_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_chains_3 = { + "chains", + "chains", + &asn_OP_NativeEnumerated, + asn_DEF_chains_tags_3, + sizeof(asn_DEF_chains_tags_3) + /sizeof(asn_DEF_chains_tags_3[0]) - 1, /* 1 */ + asn_DEF_chains_tags_3, /* Same as above */ + sizeof(asn_DEF_chains_tags_3) + /sizeof(asn_DEF_chains_tags_3[0]), /* 2 */ + { &asn_OER_type_chains_constr_3, &asn_PER_type_chains_constr_3, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_chains_specs_3 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_direction_value2enum_7[] = { + { 0, 7, "forward" }, + { 1, 7, "reverse" } +}; +static const unsigned int asn_MAP_direction_enum2value_7[] = { + 0, /* forward(0) */ + 1 /* reverse(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_direction_specs_7 = { + asn_MAP_direction_value2enum_7, /* "tag" => N; sorted by tag */ + asn_MAP_direction_enum2value_7, /* 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_direction_tags_7[] = { + (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_direction_7 = { + "direction", + "direction", + &asn_OP_NativeEnumerated, + asn_DEF_direction_tags_7, + sizeof(asn_DEF_direction_tags_7) + /sizeof(asn_DEF_direction_tags_7[0]) - 1, /* 1 */ + asn_DEF_direction_tags_7, /* Same as above */ + sizeof(asn_DEF_direction_tags_7) + /sizeof(asn_DEF_direction_tags_7[0]), /* 2 */ + { &asn_OER_type_direction_constr_7, &asn_PER_type_direction_constr_7, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_direction_specs_7 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_lataffinity_value2enum_10[] = { + { 0, 4, "left" }, + { 1, 5, "right" } +}; +static const unsigned int asn_MAP_lataffinity_enum2value_10[] = { + 0, /* left(0) */ + 1 /* right(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_lataffinity_specs_10 = { + asn_MAP_lataffinity_value2enum_10, /* "tag" => N; sorted by tag */ + asn_MAP_lataffinity_enum2value_10, /* 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_lataffinity_tags_10[] = { + (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_lataffinity_10 = { + "lataffinity", + "lataffinity", + &asn_OP_NativeEnumerated, + asn_DEF_lataffinity_tags_10, + sizeof(asn_DEF_lataffinity_tags_10) + /sizeof(asn_DEF_lataffinity_tags_10[0]) - 1, /* 1 */ + asn_DEF_lataffinity_tags_10, /* Same as above */ + sizeof(asn_DEF_lataffinity_tags_10) + /sizeof(asn_DEF_lataffinity_tags_10[0]), /* 2 */ + { &asn_OER_type_lataffinity_constr_10, &asn_PER_type_lataffinity_constr_10, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_lataffinity_specs_10 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_leftperm_value2enum_13[] = { + { 0, 4, "none" }, + { 1, 9, "permitted" }, + { 2, 12, "passing-only" }, + { 3, 14, "emergency-only" } +}; +static const unsigned int asn_MAP_leftperm_enum2value_13[] = { + 3, /* emergency-only(3) */ + 0, /* none(0) */ + 2, /* passing-only(2) */ + 1 /* permitted(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_leftperm_specs_13 = { + asn_MAP_leftperm_value2enum_13, /* "tag" => N; sorted by tag */ + asn_MAP_leftperm_enum2value_13, /* 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_leftperm_tags_13[] = { + (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_leftperm_13 = { + "leftperm", + "leftperm", + &asn_OP_NativeEnumerated, + asn_DEF_leftperm_tags_13, + sizeof(asn_DEF_leftperm_tags_13) + /sizeof(asn_DEF_leftperm_tags_13[0]) - 1, /* 1 */ + asn_DEF_leftperm_tags_13, /* Same as above */ + sizeof(asn_DEF_leftperm_tags_13) + /sizeof(asn_DEF_leftperm_tags_13[0]), /* 2 */ + { &asn_OER_type_leftperm_constr_13, &asn_PER_type_leftperm_constr_13, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_leftperm_specs_13 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_rightperm_value2enum_18[] = { + { 0, 4, "none" }, + { 1, 9, "permitted" }, + { 2, 12, "passing-only" }, + { 3, 14, "emergency-only" } +}; +static const unsigned int asn_MAP_rightperm_enum2value_18[] = { + 3, /* emergency-only(3) */ + 0, /* none(0) */ + 2, /* passing-only(2) */ + 1 /* permitted(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_rightperm_specs_18 = { + asn_MAP_rightperm_value2enum_18, /* "tag" => N; sorted by tag */ + asn_MAP_rightperm_enum2value_18, /* 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_rightperm_tags_18[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_rightperm_18 = { + "rightperm", + "rightperm", + &asn_OP_NativeEnumerated, + asn_DEF_rightperm_tags_18, + sizeof(asn_DEF_rightperm_tags_18) + /sizeof(asn_DEF_rightperm_tags_18[0]) - 1, /* 1 */ + asn_DEF_rightperm_tags_18, /* Same as above */ + sizeof(asn_DEF_rightperm_tags_18) + /sizeof(asn_DEF_rightperm_tags_18[0]), /* 2 */ + { &asn_OER_type_rightperm_constr_18, &asn_PER_type_rightperm_constr_18, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_rightperm_specs_18 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_opening_value2enum_23[] = { + { 0, 4, "left" }, + { 1, 5, "right" } +}; +static const unsigned int asn_MAP_opening_enum2value_23[] = { + 0, /* left(0) */ + 1 /* right(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_opening_specs_23 = { + asn_MAP_opening_value2enum_23, /* "tag" => N; sorted by tag */ + asn_MAP_opening_enum2value_23, /* 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_opening_tags_23[] = { + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_opening_23 = { + "opening", + "opening", + &asn_OP_NativeEnumerated, + asn_DEF_opening_tags_23, + sizeof(asn_DEF_opening_tags_23) + /sizeof(asn_DEF_opening_tags_23[0]) - 1, /* 1 */ + asn_DEF_opening_tags_23, /* Same as above */ + sizeof(asn_DEF_opening_tags_23) + /sizeof(asn_DEF_opening_tags_23[0]), /* 2 */ + { &asn_OER_type_opening_constr_23, &asn_PER_type_opening_constr_23, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_opening_specs_23 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_closing_value2enum_26[] = { + { 0, 4, "left" }, + { 1, 5, "right" } +}; +static const unsigned int asn_MAP_closing_enum2value_26[] = { + 0, /* left(0) */ + 1 /* right(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_closing_specs_26 = { + asn_MAP_closing_value2enum_26, /* "tag" => N; sorted by tag */ + asn_MAP_closing_enum2value_26, /* 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_closing_tags_26[] = { + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_closing_26 = { + "closing", + "closing", + &asn_OP_NativeEnumerated, + asn_DEF_closing_tags_26, + sizeof(asn_DEF_closing_tags_26) + /sizeof(asn_DEF_closing_tags_26[0]) - 1, /* 1 */ + asn_DEF_closing_tags_26, /* Same as above */ + sizeof(asn_DEF_closing_tags_26) + /sizeof(asn_DEF_closing_tags_26[0]), /* 2 */ + { &asn_OER_type_closing_constr_26, &asn_PER_type_closing_constr_26, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_closing_specs_26 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_parking_value2enum_29[] = { + { 0, 2, "no" }, + { 1, 8, "parallel" }, + { 2, 6, "angled" } +}; +static const unsigned int asn_MAP_parking_enum2value_29[] = { + 2, /* angled(2) */ + 0, /* no(0) */ + 1 /* parallel(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_parking_specs_29 = { + asn_MAP_parking_value2enum_29, /* "tag" => N; sorted by tag */ + asn_MAP_parking_enum2value_29, /* 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_parking_tags_29[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_parking_29 = { + "parking", + "parking", + &asn_OP_NativeEnumerated, + asn_DEF_parking_tags_29, + sizeof(asn_DEF_parking_tags_29) + /sizeof(asn_DEF_parking_tags_29[0]) - 1, /* 1 */ + asn_DEF_parking_tags_29, /* Same as above */ + sizeof(asn_DEF_parking_tags_29) + /sizeof(asn_DEF_parking_tags_29[0]), /* 2 */ + { &asn_OER_type_parking_constr_29, &asn_PER_type_parking_constr_29, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_parking_specs_29 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TrafficControlValue_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlValue, choice.value), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "value" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlValue, choice.chains), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_chains_3, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "chains" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlValue, choice.direction), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_direction_7, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "direction" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlValue, choice.lataffinity), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_lataffinity_10, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "lataffinity" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlValue, choice.leftperm), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_leftperm_13, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "leftperm" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlValue, choice.rightperm), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_rightperm_18, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "rightperm" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlValue, choice.opening), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_opening_23, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "opening" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlValue, choice.closing), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_closing_26, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "closing" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficControlValue, choice.parking), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_parking_29, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "parking" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficControlValue_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* value */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* chains */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* direction */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* lataffinity */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* leftperm */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* rightperm */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* opening */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* closing */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* parking */ +}; +asn_CHOICE_specifics_t asn_SPC_TrafficControlValue_specs_1 = { + sizeof(struct TrafficControlValue), + offsetof(struct TrafficControlValue, _asn_ctx), + offsetof(struct TrafficControlValue, present), + sizeof(((struct TrafficControlValue *)0)->present), + asn_MAP_TrafficControlValue_tag2el_1, + 9, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficControlValue = { + "TrafficControlValue", + "TrafficControlValue", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { &asn_OER_type_TrafficControlValue_constr_1, &asn_PER_type_TrafficControlValue_constr_1, CHOICE_constraint }, + asn_MBR_TrafficControlValue_1, + 9, /* Elements count */ + &asn_SPC_TrafficControlValue_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficControlVehClass.c b/src/tmx/Asn_J2735/src/r2024/TrafficControlVehClass.c new file mode 100644 index 000000000..935c39902 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficControlVehClass.c @@ -0,0 +1,92 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "TrafficControlVehClass.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_TrafficControlVehClass_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +asn_per_constraints_t asn_PER_type_TrafficControlVehClass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 18 } /* (0..18,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_TrafficControlVehClass_value2enum_1[] = { + { 0, 3, "any" }, + { 1, 10, "pedestrian" }, + { 2, 7, "bicycle" }, + { 3, 11, "micromobile" }, + { 4, 10, "motorcycle" }, + { 5, 13, "passenger-car" }, + { 6, 15, "light-truck-van" }, + { 7, 3, "bus" }, + { 8, 35, "two-axle-six-tire-single-unit-truck" }, + { 9, 28, "three-axle-single-unit-truck" }, + { 10, 35, "four-or-more-axle-single-unit-truck" }, + { 11, 39, "four-or-fewer-axle-single-trailer-truck" }, + { 12, 30, "five-axle-single-trailer-truck" }, + { 13, 37, "six-or-more-axle-single-trailer-truck" }, + { 14, 38, "five-or-fewer-axle-multi-trailer-truck" }, + { 15, 28, "six-axle-multi-trailer-truck" }, + { 16, 38, "seven-or-more-axle-multi-trailer-truck" }, + { 17, 4, "rail" }, + { 18, 12, "unclassified" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_TrafficControlVehClass_enum2value_1[] = { + 0, /* any(0) */ + 2, /* bicycle(2) */ + 7, /* bus(7) */ + 12, /* five-axle-single-trailer-truck(12) */ + 14, /* five-or-fewer-axle-multi-trailer-truck(14) */ + 11, /* four-or-fewer-axle-single-trailer-truck(11) */ + 10, /* four-or-more-axle-single-unit-truck(10) */ + 6, /* light-truck-van(6) */ + 3, /* micromobile(3) */ + 4, /* motorcycle(4) */ + 5, /* passenger-car(5) */ + 1, /* pedestrian(1) */ + 17, /* rail(17) */ + 16, /* seven-or-more-axle-multi-trailer-truck(16) */ + 15, /* six-axle-multi-trailer-truck(15) */ + 13, /* six-or-more-axle-single-trailer-truck(13) */ + 9, /* three-axle-single-unit-truck(9) */ + 8, /* two-axle-six-tire-single-unit-truck(8) */ + 18 /* unclassified(18) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_TrafficControlVehClass_specs_1 = { + asn_MAP_TrafficControlVehClass_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TrafficControlVehClass_enum2value_1, /* N => "tag"; sorted by N */ + 19, /* Number of elements in the maps */ + 20, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TrafficControlVehClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrafficControlVehClass = { + "TrafficControlVehClass", + "TrafficControlVehClass", + &asn_OP_NativeEnumerated, + asn_DEF_TrafficControlVehClass_tags_1, + sizeof(asn_DEF_TrafficControlVehClass_tags_1) + /sizeof(asn_DEF_TrafficControlVehClass_tags_1[0]), /* 1 */ + asn_DEF_TrafficControlVehClass_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficControlVehClass_tags_1) + /sizeof(asn_DEF_TrafficControlVehClass_tags_1[0]), /* 1 */ + { &asn_OER_type_TrafficControlVehClass_constr_1, &asn_PER_type_TrafficControlVehClass_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TrafficControlVehClass_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleGroupAffected.c b/src/tmx/Asn_J2735/src/r2024/VehicleGroupAffected.c new file mode 100644 index 000000000..a5efa8d03 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/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.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "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_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_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_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_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_VehicleGroupAffected_specs_1 = { + asn_MAP_VehicleGroupAffected_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_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_VehicleGroupAffected_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleGroupAffected = { + "VehicleGroupAffected", + "VehicleGroupAffected", + &asn_OP_NativeEnumerated, + asn_DEF_VehicleGroupAffected_tags_1, + sizeof(asn_DEF_VehicleGroupAffected_tags_1) + /sizeof(asn_DEF_VehicleGroupAffected_tags_1[0]), /* 1 */ + asn_DEF_VehicleGroupAffected_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleGroupAffected_tags_1) + /sizeof(asn_DEF_VehicleGroupAffected_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_VehicleGroupAffected_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/TmxUtils/src/Conversions.h b/src/tmx/TmxUtils/src/Conversions.h index a68601f51..21983af0e 100644 --- a/src/tmx/TmxUtils/src/Conversions.h +++ b/src/tmx/TmxUtils/src/Conversions.h @@ -9,7 +9,7 @@ #define CONVERSIONS_H_ #include "WGS84Point.h" -#include "Units.h" +#include "../../Messages/include/Units.h" namespace tmx { namespace utils { diff --git a/src/tmx/TmxUtils/test/J2735MessageTest.cpp b/src/tmx/TmxUtils/test/J2735MessageTest.cpp index 1bc605656..4a196e7dd 100644 --- a/src/tmx/TmxUtils/test/J2735MessageTest.cpp +++ b/src/tmx/TmxUtils/test/J2735MessageTest.cpp @@ -527,7 +527,6 @@ TEST_F(J2735MessageTest, EncodeBasicSafetyMessage_PartII) auto partIICnt = (BSMpartIIExtension_t*) calloc(1, sizeof(BSMpartIIExtension_t)); partIICnt->partII_Id = 1; partIICnt->partII_Value.present = BSMpartIIExtension__partII_Value_PR_SpecialVehicleExtensions; - auto specialVEx = (SpecialVehicleExtensions_t*) calloc(1, sizeof(SpecialVehicleExtensions_t)); auto emergencyDetails = (EmergencyDetails_t*) calloc(1, sizeof(EmergencyDetails_t)); emergencyDetails->lightsUse = LightbarInUse_inUse; diff --git a/src/v2i-hub/CswPlugin/src/DsrcBuilder.h b/src/v2i-hub/CswPlugin/src/DsrcBuilder.h index e541e9407..10f413dfa 100644 --- a/src/v2i-hub/CswPlugin/src/DsrcBuilder.h +++ b/src/v2i-hub/CswPlugin/src/DsrcBuilder.h @@ -12,16 +12,27 @@ #include #include +#if SAEJ2735_SPEC < 2024 #include +#else +#include +#endif #if SAEJ2735_SPEC < 63 typedef TravelerInformation::TravelerInformation__dataFrames::TravelerInformation__dataFrames__List::TravelerInformation__dataFrames__Member TiDataFrame; typedef ITIScodesAndText::ITIScodesAndText__List::ITIScodesAndText__Member ItisMember; typedef ITIScodesAndText::ITIScodesAndText__List ItisList; -#else +#elif SAEJ2735_SPEC < 2024 typedef TravelerDataFrame TiDataFrame; typedef ITIScodesAndText__Member ItisMember; typedef ITIScodesAndText ItisList; +#else +typedef TravelerDataFrame TiDataFrame; +typedef ITIS_ITIScodesAndText__Member ItisMember; +typedef ITIS_ITIScodesAndText ItisList; +#endif + +#if SAEJ2735_SPEC > 63 #include typedef NodeListXY NodeList_t; #include