diff --git a/.github/workflows/docker-ci.yml b/.github/workflows/docker-ci.yml index 143cf498c..6934942e2 100644 --- a/.github/workflows/docker-ci.yml +++ b/.github/workflows/docker-ci.yml @@ -5,7 +5,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ubuntu-version: [bionic, focal, jammy] + ubuntu-version: [bionic, focal, jammy, noble] steps: - uses: actions/checkout@v4 - run: > diff --git a/asn1/release2/TS102894-2v221-CDD.asn b/asn1/release2/TS102894-2v221-CDD.asn new file mode 100644 index 000000000..66e391d5a --- /dev/null +++ b/asn1/release2/TS102894-2v221-CDD.asn @@ -0,0 +1,7260 @@ +--! @options: no-fields-header + +ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-4 (4) minor-version-1 (1)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +------------------------------------------ +-- Specification of CDD Data Elements: +------------------------------------------ + +/** + * This DE indicates a change of acceleration. + * + * The value shall be set to: + * - 0 - `accelerate` - if the magnitude of the horizontal velocity vector increases. + * - 1 - `decelerate` - if the magnitude of the horizontal velocity vector decreases. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 +*/ +AccelerationChange::= ENUMERATED { + accelerate (0), + decelerate (1) +} + +/** + * This DE indicates the acceleration confidence value which represents the estimated absolute accuracy of an acceleration value with a default confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 101`) if the confidence value is equal to or less than n x 0,1 m/s^2, and greater than (n-1) x 0,1 m/s^2, + * - `101` if the confidence value is out of range i.e. greater than 10 m/s^2, + * - `102` if the confidence value is unavailable. + * + * The value 0 shall not be used. + * + * @note: The fact that an acceleration value is received with confidence value set to `unavailable(102)` can be caused by several reasons, such as: + * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor, + * - the sensor cannot calculate the accuracy due to lack of variables, or + * - there has been a vehicle bus (e.g. CAN bus) error. + * In all 3 cases above, the acceleration value may be valid and used by the application. + * + * @note: If an acceleration value is received and its confidence value is set to `outOfRange(101)`, it means that the value is not valid and therefore cannot be trusted. Such value is not useful for the application. + * + * @unit 0,1 m/s^2 + * @category: Kinematic information + * @revision: Description revised in V2.1.1 + */ +AccelerationConfidence ::= INTEGER { + outOfRange (101), + unavailable (102) +} (0..102) + +/** + * This DE indicates the current controlling mechanism for longitudinal movement of the vehicle. + * The data may be provided via the in-vehicle network. It indicates whether a specific in-vehicle + * acceleration control system is engaged or not. Currently, this DE includes the information of the + * vehicle brake pedal, gas pedal, emergency brake system, collision warning system, adaptive cruise + * control system, cruise control system and speed limiter system. + * + * The corresponding bit shall be set to 1 under the following conditions: + * - 0 - `brakePedalEngaged` - Driver is stepping on the brake pedal, + * - 1 - `gasPedalEngaged` - Driver is stepping on the gas pedal, + * - 2 - `emergencyBrakeEngaged` - emergency brake system is engaged, + * - 3 - `collisionWarningEngaged`- collision warning system is engaged, + * - 4 - `accEngaged` - ACC is engaged, + * - 5 - `cruiseControlEngaged` - cruise control is engaged, + * - 6 - `speedLimiterEngaged` - speed limiter is engaged. + * + * Otherwise (for example when the corresponding system is not available due to non equipped system + * or information is unavailable), the corresponding bit shall be set to 0. + * + * @note: The system engagement condition is OEM specific and therefore out of scope of the present document. + * @category: Vehicle information + * @revision: V1.3.1 + */ +AccelerationControl ::= BIT STRING { + brakePedalEngaged (0), + gasPedalEngaged (1), + emergencyBrakeEngaged (2), + collisionWarningEngaged (3), + accEngaged (4), + cruiseControlEngaged (5), + speedLimiterEngaged (6) +} (SIZE(7)) + +/** + * This DE represents the magnitude of the acceleration vector in a defined coordinate system. + * + * The value shall be set to: + * - `0` to indicate no acceleration, + * - `n` (`n > 0` and `n < 160`) to indicate acceleration equal to or less than n x 0,1 m/s^2, and greater than (n-1) x 0,1 m/s^2, + * - `160` for acceleration values greater than 15,9 m/s^2, + * - `161` when the data is unavailable. + * + * @unit 0,1 m/s^2 + * @category: Kinematic information + * @revision: Created in V2.1.1 +*/ +AccelerationMagnitudeValue ::= INTEGER { + positiveOutOfRange (160), + unavailable (161) +} (0.. 161) + +/** + * This DE represents the value of an acceleration component in a defined coordinate system. + * + * The value shall be set to: + * - `-160` for acceleration values equal to or less than -16 m/s^2, + * - `n` (`n > -160` and `n <= 0`) to indicate negative acceleration equal to or less than n x 0,1 m/s^2, and greater than (n-1) x 0,1 m/s^2, + * - `n` (`n > 0` and `n < 160`) to indicate positive acceleration equal to or less than n x 0,1 m/s^2, and greater than (n-1) x 0,1 m/s^2, + * - `160` for acceleration values greater than 15,9 m/s^2, + * - `161` when the data is unavailable. + * + * @note: the formula for values > -160 and <160 results in rounding up to the next value. Zero acceleration is indicated using n=0. + * @unit 0,1 m/s^2 + * @category: Kinematic information + * @revision: Created in V2.1.1 +*/ +AccelerationValue ::= INTEGER { + negativeOutOfRange (-160), + positiveOutOfRange (160), + unavailable (161) +} (-160 .. 161) + + +/** + * This DE indicates an access technology. + * + * The value shall be set to: + * - `0`: in case of any access technology class, + * - `1`: in case of ITS-G5 access technology class, + * - `2`: in case of LTE-V2X access technology class, + * - `3`: in case of NR-V2X access technology class. + * + * @category: Communication information + * @revision: Created in V2.1.1 + */ +AccessTechnologyClass ::= ENUMERATED { + any (0), + itsg5Class (1), + ltev2xClass (2), + nrv2xClass (3), + ... +} + +/** + * This DE represents the value of the sub cause code of the @ref CauseCode `accident`. + * + * The value shall be set to: + * - 0 - `unavailable` - in case the information on the sub cause of the accident is unavailable, + * - 1 - `multiVehicleAccident` - in case more than two vehicles are involved in accident, + * - 2 - `heavyAccident` - in case the airbag of the vehicle involved in the accident is triggered, + * the accident requires important rescue and/or recovery work, + * - 3 - `accidentInvolvingLorry` - in case the accident involves a lorry, + * - 4 - `accidentInvolvingBus` - in case the accident involves a bus, + * - 5 - `accidentInvolvingHazardousMaterials`- in case the accident involves hazardous material, + * - 6 - `accidentOnOppositeLane` - in case the accident happens on opposite lanes, + * - 7 - `unsecuredAccident` - in case the accident is not secured, + * - 8 - `assistanceRequested` - in case rescue and assistance are requested, + * - 9-255 - reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +AccidentSubCauseCode ::= INTEGER { + unavailable (0), + multiVehicleAccident (1), + heavyAccident (2), + accidentInvolvingLorry (3), + accidentInvolvingBus (4), + accidentInvolvingHazardousMaterials (5), + accidentOnOppositeLane (6), + unsecuredAccident (7), + assistanceRequested (8) +} (0..255) + +/** + * This DE represents the value of the sub cause code of the @ref CauseCode `adverseWeatherCondition-Adhesion`. + * + * The value shall be set to: + * - 0 - `unavailable` - in case information on the cause of the low road adhesion is unavailable, + * - 1 - `heavyFrostOnRoad`- in case the low road adhesion is due to heavy frost on the road, + * - 2 - `fuelOnRoad` - in case the low road adhesion is due to fuel on the road, + * - 3 - `mudOnRoad` - in case the low road adhesion is due to mud on the road, + * - 4 - `snowOnRoad` - in case the low road adhesion is due to snow on the road, + * - 5 - `iceOnRoad` - in case the low road adhesion is due to ice on the road, + * - 6 - `blackIceOnRoad` - in case the low road adhesion is due to black ice on the road, + * - 7 - `oilOnRoad` - in case the low road adhesion is due to oil on the road, + * - 8 - `looseChippings` - in case the low road adhesion is due to loose gravel or stone fragments detached from a road surface or from a hazard, + * - 9 - `instantBlackIce` - in case the low road adhesion is due to instant black ice on the road surface, + * - 10 - `roadsSalted` - when the low road adhesion is due to salted road, + * - 11-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER { + unavailable (0), + heavyFrostOnRoad (1), + fuelOnRoad (2), + mudOnRoad (3), + snowOnRoad (4), + iceOnRoad (5), + blackIceOnRoad (6), + oilOnRoad (7), + looseChippings (8), + instantBlackIce (9), + roadsSalted (10) +} (0..255) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `adverseWeatherCondition-ExtremeWeatherCondition`. + * + * The value shall be set to: + * - 0 - `unavailable` - in case information on the type of extreme weather condition is unavailable, + * - 1 - `strongWinds` - in case the type of extreme weather condition is strong wind, + * - 2 - `damagingHail`- in case the type of extreme weather condition is damaging hail, + * - 3 - `hurricane` - in case the type of extreme weather condition is hurricane, + * - 4 - `thunderstorm`- in case the type of extreme weather condition is thunderstorm, + * - 5 - `tornado` - in case the type of extreme weather condition is tornado, + * - 6 - `blizzard` - in case the type of extreme weather condition is blizzard. + * - 7-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER { + unavailable (0), + strongWinds (1), + damagingHail (2), + hurricane (3), + thunderstorm (4), + tornado (5), + blizzard (6) +} (0..255) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `adverseWeatherCondition-Precipitation`. + * + * The value shall be set to: + * - 0 - `unavailable` - in case information on the type of precipitation is unavailable, + * - 1 - `heavyRain` - in case the type of precipitation is heavy rain, + * - 2 - `heavySnowfall` - in case the type of precipitation is heavy snow fall, + * - 3 - `softHail` - in case the type of precipitation is soft hail. + * - 4-255 - are reserved for future usage + * + * @category: Traffic information + * @revision: V1.3.1 + */ +AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER { + unavailable (0), + heavyRain (1), + heavySnowfall (2), + softHail (3) +} (0..255) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `adverseWeatherCondition-Visibility`. + * + * The value shall be set to: + * - 0 - `unavailable` - in case information on the cause of low visibility is unavailable, + * - 1 - `fog` - in case the cause of low visibility is fog, + * - 2 - `smoke` - in case the cause of low visibility is smoke, + * - 3 - `heavySnowfall` - in case the cause of low visibility is heavy snow fall, + * - 4 - `heavyRain` - in case the cause of low visibility is heavy rain, + * - 5 - `heavyHail` - in case the cause of low visibility is heavy hail, + * - 6 - `lowSunGlare` - in case the cause of low visibility is sun glare, + * - 7 - `sandstorms` - in case the cause of low visibility is sand storm, + * - 8 - `swarmsOfInsects`- in case the cause of low visibility is swarm of insects. + * - 9-255 - are reserved for future usage + * + * @category: Traffic information + * @revision: V1.3.1 + */ +AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER { + unavailable (0), + fog (1), + smoke (2), + heavySnowfall (3), + heavyRain (4), + heavyHail (5), + lowSunGlare (6), + sandstorms (7), + swarmsOfInsects (8) +} (0..255) + +/** + * This DE represents the air humidity in tenths of percent. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 1001`) indicates that the applicable value is equal to or less than n x 0,1 percent and greater than (n-1) x 0,1 percent. + * - `1001` indicates that the air humidity is unavailable. + * + * @category: Basic information + * @unit: 0,1 % + * @revision: created in V2.1.1 + */ +AirHumidity ::= INTEGER { + oneHundredPercent (1000), + unavailable (1001) +} (1..1001) + +/** + * This DE indicates the altitude confidence value which represents the estimated absolute accuracy of an altitude value of a geographical point with a default confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * + * The value shall be set to: + * - 0 - `alt-000-01` - if the confidence value is equal to or less than 0,01 metre, + * - 1 - `alt-000-02` - if the confidence value is equal to or less than 0,02 metre and greater than 0,01 metre, + * - 2 - `alt-000-05` - if the confidence value is equal to or less than 0,05 metre and greater than 0,02 metre, + * - 3 - `alt-000-10` - if the confidence value is equal to or less than 0,1 metre and greater than 0,05 metre, + * - 4 - `alt-000-20` - if the confidence value is equal to or less than 0,2 metre and greater than 0,1 metre, + * - 5 - `alt-000-50` - if the confidence value is equal to or less than 0,5 metre and greater than 0,2 metre, + * - 6 - `alt-001-00` - if the confidence value is equal to or less than 1 metre and greater than 0,5 metre, + * - 7 - `alt-002-00` - if the confidence value is equal to or less than 2 metres and greater than 1 metre, + * - 8 - `alt-005-00` - if the confidence value is equal to or less than 5 metres and greater than 2 metres, + * - 9 - `alt-010-00` - if the confidence value is equal to or less than 10 metres and greater than 5 metres, + * - 10 - `alt-020-00` - if the confidence value is equal to or less than 20 metres and greater than 10 metres, + * - 11 - `alt-050-00` - if the confidence value is equal to or less than 50 metres and greater than 20 metres, + * - 12 - `alt-100-00` - if the confidence value is equal to or less than 100 metres and greater than 50 metres, + * - 13 - `alt-200-00` - if the confidence value is equal to or less than 200 metres and greater than 100 metres, + * - 14 - `outOfRange` - if the confidence value is out of range, i.e. greater than 200 metres, + * - 15 - `unavailable` - if the confidence value is unavailable. + * + * @note: The fact that an altitude value is received with confidence value set to `unavailable(15)` can be caused + * by several reasons, such as: + * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor, + * - the sensor cannot calculate the accuracy due to lack of variables, or + * - there has been a vehicle bus (e.g. CAN bus) error. + * In all 3 cases above, the altitude value may be valid and used by the application. + * + * @note: If an altitude value is received and its confidence value is set to `outOfRange(14)`, it means that the + * altitude value is not valid and therefore cannot be trusted. Such value is not useful for the application. + * + * @category: GeoReference information + * @revision: Description revised in V2.1.1 + */ +AltitudeConfidence ::= ENUMERATED { + alt-000-01 (0), + alt-000-02 (1), + alt-000-05 (2), + alt-000-10 (3), + alt-000-20 (4), + alt-000-50 (5), + alt-001-00 (6), + alt-002-00 (7), + alt-005-00 (8), + alt-010-00 (9), + alt-020-00 (10), + alt-050-00 (11), + alt-100-00 (12), + alt-200-00 (13), + outOfRange (14), + unavailable (15) +} + +/** + * This DE represents the altitude value in a WGS84 coordinate system. + * The specific WGS84 coordinate system is specified by the corresponding standards applying this DE. + * + * The value shall be set to: + * - `-100 000` if the altitude is equal to or less than -1 000 m, + * - `n` (`n > -100 000` and `n < 800 000`) if the altitude is equal to or less than n x 0,01 metre and greater than (n-1) x 0,01 metre, + * - `800 000` if the altitude greater than 7 999,99 m, + * - `800 001` if the information is not available. + * + * @note: the range of this DE does not use the full binary encoding range, but all reasonable values are covered. In order to cover all possible altitude ranges a larger encoding would be necessary. + * @unit: 0,01 metre + * @category: GeoReference information + * @revision: Description revised in V2.1.1 (definition of 800 000 has slightly changed) + */ +AltitudeValue ::= INTEGER { + negativeOutOfRange (-100000), + postiveOutOfRange (800000), + unavailable (800001) +} (-100000..800001) + +/** + * This DE indicates the angle confidence value which represents the estimated absolute accuracy of an angle value with a default confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 126`) if the accuracy is equal to or less than n * 0,1 degrees and greater than (n-1) x * 0,1 degrees, + * - `126` if the accuracy is out of range, i.e. greater than 12,5 degrees, + * - `127` if the accuracy information is not available. + * + * @unit: 0,1 degrees + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +AngleConfidence ::= INTEGER { + outOfRange (126), + unavailable (127) +} (1..127) + +/** + * This DE indicates the angular speed confidence value which represents the estimated absolute accuracy of an angular speed value with a default confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * For correlation computation, maximum interval levels can be assumed. + * + * The value shall be set to: + * - 0 - `degSec-01` - if the accuracy is equal to or less than 1 degree/second, + * - 1 - `degSec-02` - if the accuracy is equal to or less than 2 degrees/second and greater than 1 degree/second, + * - 2 - `degSec-05` - if the accuracy is equal to or less than 5 degrees/second and greater than 2 degrees/second, + * - 3 - `degSec-10` - if the accuracy is equal to or less than 10 degrees/second and greater than 5 degrees/second, + * - 4 - `degSec-20` - if the accuracy is equal to or less than 20 degrees/second and greater than 10 degrees/second, + * - 5 - `degSec-50` - if the accuracy is equal to or less than 50 degrees/second and greater than 20 degrees/second, + * - 6 - `outOfRange` - if the accuracy is out of range, i.e. greater than 50 degrees/second, + * - 7 - `unavailable` - if the accuracy information is unavailable. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 +*/ +AngularSpeedConfidence ::= ENUMERATED { + degSec-01 (0), + degSec-02 (1), + degSec-05 (2), + degSec-10 (3), + degSec-20 (4), + degSec-50 (5), + outOfRange (6), + unavailable (7) +} + +/** + * This DE indicates the angular acceleration confidence value which represents the estimated accuracy of an angular acceleration value with a default confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * For correlation computation, maximum interval levels shall be assumed. + * + * The value shall be set to: + * - 0 - `degSecSquared-01` - if the accuracy is equal to or less than 1 degree/second^2, + * - 1 - `degSecSquared-02` - if the accuracy is equal to or less than 2 degrees/second^2 and greater than 1 degree/second^2, + * - 2 - `degSecSquared-05` - if the accuracy is equal to or less than 5 degrees/second^2 and greater than 1 degree/second^2, + * - 3 - `degSecSquared-10` - if the accuracy is equal to or less than 10 degrees/second^2 and greater than 5 degrees/second^2, + * - 4 - `degSecSquared-20` - if the accuracy is equal to or less than 20 degrees/second^2 and greater than 10 degrees/second^2, + * - 5 - `degSecSquared-50` - if the accuracy is equal to or less than 50 degrees/second^2 and greater than 20 degrees/second^2, + * - 6 - `outOfRange` - if the accuracy is out of range, i.e. greater than 50 degrees/second^2, + * - 7 - `unavailable` - if the accuracy information is unavailable. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 +*/ +AngularAccelerationConfidence ::= ENUMERATED { + degSecSquared-01 (0), + degSecSquared-02 (1), + degSecSquared-05 (2), + degSecSquared-10 (3), + degSecSquared-20 (4), + degSecSquared-50 (5), + outOfRange (6), + unavailable (7) +} + +/** + * This DE indicates the number of axles of a passing train. + * + * The value shall be set to: + * - `n` (`n > 2` and `n < 1001`) indicates that the train has n x axles, + * - `1001`indicates that the number of axles is out of range, + * - `1002` the information is unavailable. + * + * + * @unit: Number of axles + * @category: Vehicle information + * @revision: Created in V2.1.1 +*/ +AxlesCount ::= INTEGER{ + outOfRange (1001), + unavailable (1002) +} (2..1002) + +/** + * This DE represents the measured uncompensated atmospheric pressure. + * + * The value shall be set to: + * - `2999` indicates that the applicable value is less than 29990 Pa, + * - `n` (`n > 2999` and `n <= 12000`) indicates that the applicable value is equal to or less than n x 10 Pa and greater than (n-1) x 10 Pa, + * - `12001` indicates that the values is greater than 120000 Pa, + * - `12002` indicates that the information is not available. + * + * @category: Basic information + * @unit: 10 Pascal + * @revision: Created in V2.1.1 +*/ +BarometricPressure ::= INTEGER{ + outOfRangelower (2999), + outOfRangeUpper (12001), + unavailable (12002) +} (2999..12002) + + +/** + * This DE indicates the cardinal number of bogies of a train. + * + * The value shall be set to: + * - `n` (`n > 1` and `n < 100`) indicates that the train has n x bogies, + * - `100`indicates that the number of bogies is out of range, + * - `101` the information is unavailable. + * + * @unit: Number of bogies + * @category: Vehicle information + * @revision: Created in V2.1.1 +*/ +BogiesCount ::= INTEGER{ + outOfRange (100), + unavailable (101) +} (2..101) + +/** + * The DE represents a cardinal number that counts the size of a set. + * + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +CardinalNumber1B ::= INTEGER(0..255) + +/** + * The DE represents a cardinal number that counts the size of a set. + * + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +CardinalNumber3b ::= INTEGER(1..8) + +/** + * This DE represents an angle value described in a local Cartesian coordinate system, per default counted positive in + * a right-hand local coordinate system from the abscissa. + * + * The value shall be set to: + * - `n` (`n >= 0` and `n < 3600`) if the angle is equal to or less than n x 0,1 degrees, and greater than (n-1) x 0,1 degrees, + * - `3601` if the information is not available. + * + * The value 3600 shall not be used. + * + * @unit 0,1 degrees + * @category: Basic information + * @revision: Created in V2.1.1, description and value for 3601 corrected in V2.2.1 +*/ +CartesianAngleValue ::= INTEGER { + valueNotUsed (3600), + unavailable (3601) +} (0..3601) + +/** + * This DE represents an angular acceleration value described in a local Cartesian coordinate system, per default counted positive in + * a right-hand local coordinate system from the abscissa. + * + * The value shall be set to: + * - `-255` if the acceleration is equal to or less than -255 degrees/s^2, + * - `n` (`n > -255` and `n < 255`) if the acceleration is equal to or less than n x 1 degree/s^2, + and greater than `(n-1)` x 0,01 degree/s^2, + * - `255` if the acceleration is greater than 254 degrees/s^2, + * - `256` if the information is unavailable. + * + * @unit: degree/s^2 (degrees per second squared) + * @category: Kinematic information + * @revision: Created in V2.1.1 +*/ +CartesianAngularAccelerationComponentValue ::= INTEGER { + negativeOutOfRange (-255), + positiveOutOfRange (255), + unavailable (256) +} (-255..256) + +/** + * This DE represents an angular velocity component described in a local Cartesian coordinate system, per default counted positive in + * a right-hand local coordinate system from the abscissa. + * + * The value shall be set to: + * - `-255` if the velocity is equal to or less than -255 degrees/s, + * - `n` (`n > -255` and `n < 255`) if the velocity is equal to or less than n x 1 degree/s, and greater than (n-1) x 1 degree/s, + * - `255` if the velocity is greater than 254 degrees/s, + * - `256` if the information is unavailable. + * + * @unit: degree/s + * @category: Kinematic information + * @revision: Created in V2.1.1 +*/ +CartesianAngularVelocityComponentValue ::= INTEGER { + negativeOutofRange (-255), + positiveOutOfRange (255), + unavailable (256) +} (-255..256) + +/** + *The DE represents the value of the cause code of an event. + * + * The value shall be set to: + * - 0 - reserved for future use, + * - 1 - `trafficCondition` - in case the type of event is an abnormal traffic condition, + * - 2 - `accident` - in case the type of event is a road accident, + * - 3 - `roadworks` - in case the type of event is roadwork, + * - 4 - reserved for future usage, + * - 5 - `impassability` - in case the type of event is unmanaged road blocking, referring to any + * blocking of a road, partial or total, which has not been adequately + * secured and signposted, + * - 6 - `adverseWeatherCondition-Adhesion` - in case the type of event is low adhesion, + * - 7 - `aquaplaning` - danger of aquaplaning on the road, + * - 8 - reserved for future usage, + * - 9 - `hazardousLocation-SurfaceCondition` - in case the type of event is abnormal road surface condition, + * - 10 - `hazardousLocation-ObstacleOnTheRoad` - in case the type of event is obstacle on the road, + * - 11 - `hazardousLocation-AnimalOnTheRoad` - in case the type of event is animal on the road, + * - 12 - `humanPresenceOnTheRoad` - in case the type of event is presence of human vulnerable road user on the road, + * - 13 - reserved for future usage, + * - 14 - `wrongWayDriving` - in case the type of the event is vehicle driving in wrong way, + * - 15 - `rescueAndRecoveryWorkInProgress` - in case the type of event is rescue and recovery work for accident or for a road hazard in progress, + * - 16 - reserved for future usage, + * - 17 - `adverseWeatherCondition-ExtremeWeatherCondition`- in case the type of event is extreme weather condition, + * - 18 - `adverseWeatherCondition-Visibility` - in case the type of event is low visibility, + * - 19 - `adverseWeatherCondition-Precipitation` - in case the type of event is precipitation, + * - 20 - `violence` - in case the the type of event is human violence on or near the road, + * - 21-25 - reserved for future usage, + * - 26 - `slowVehicle` - in case the type of event is slow vehicle driving on the road, + * - 27 - `dangerousEndOfQueue` - in case the type of event is dangerous end of vehicle queue, + * - 28 - `publicTransportVehicleApproaching - in case the type of event is a public transport vehicle approaching, with a priority defined by applicable traffic regulations, + * - 29-90 - are reserved for future usage, + * - 91 - `vehicleBreakdown` - in case the type of event is break down vehicle on the road, + * - 92 - `postCrash` - in case the type of event is a detected crash, + * - 93 - `humanProblem` - in case the type of event is human health problem in vehicles involved in traffic, + * - 94 - `stationaryVehicle` - in case the type of event is stationary vehicle, + * - 95 - `emergencyVehicleApproaching` - in case the type of event is an approaching vehicle operating on a mission for which the applicable + traffic regulations provide it with defined priority rights in traffic. + * - 96 - `hazardousLocation-DangerousCurve` - in case the type of event is dangerous curve, + * - 97 - `collisionRisk` - in case the type of event is a collision risk, + * - 98 - `signalViolation` - in case the type of event is signal violation, + * - 99 - `dangerousSituation` - in case the type of event is dangerous situation in which autonomous safety system in vehicle + * is activated, + * - 100 - `railwayLevelCrossing` - in case the type of event is a railway level crossing. + * - 101-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1, value 28 added in V2.2.1, definition of values 12 and 95 changed in V2.2.1 + */ +CauseCodeType ::= INTEGER { + trafficCondition (1), + accident (2), + roadworks (3), + impassability (5), + adverseWeatherCondition-Adhesion (6), + aquaplaning (7), + hazardousLocation-SurfaceCondition (9), + hazardousLocation-ObstacleOnTheRoad (10), + hazardousLocation-AnimalOnTheRoad (11), + humanPresenceOnTheRoad (12), + wrongWayDriving (14), + rescueAndRecoveryWorkInProgress (15), + adverseWeatherCondition-ExtremeWeatherCondition (17), + adverseWeatherCondition-Visibility (18), + adverseWeatherCondition-Precipitation (19), + violence (20), + slowVehicle (26), + dangerousEndOfQueue (27), + publicTransportVehicleApproaching (28), + vehicleBreakdown (91), + postCrash (92), + humanProblem (93), + stationaryVehicle (94), + emergencyVehicleApproaching (95), + hazardousLocation-DangerousCurve (96), + collisionRisk (97), + signalViolation (98), + dangerousSituation (99), + railwayLevelCrossing (100) +} (0..255) + +/** + * This DF represents the value of a cartesian coordinate with a range of -30,94 metres to +10,00 metres. + * + * The value shall be set to: + * - `3094` if the longitudinal offset is out of range, i.e. less than or equal to -30,94 metres, + * - `n` (`n > -3 094` and `n < 1 001`) if the longitudinal offset information is equal to or less than n x 0,01 metre and more than (n-1) x 0,01 metre, + * - `1001` if the longitudinal offset is out of range, i.e. greater than 10 metres. + * + * @unit 0,01 m + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +CartesianCoordinateSmall::= INTEGER { + negativeOutOfRange (-3094), + positiveOutOfRange (1001) +} (-3094..1001) + +/** + * This DF represents the value of a cartesian coordinate with a range of -327,68 metres to +327,66 metres. + * + * The value shall be set to: + * - `-32 768` if the longitudinal offset is out of range, i.e. less than or equal to -327,68 metres, + * - `n` (`n > -32 768` and `n < 32 767`) if the longitudinal offset information is equal to or less than n x 0,01 metre and more than (n-1) x 0,01 metre, + * - `32 767` if the longitudinal offset is out of range, i.e. greater than + 327,66 metres. + * + * @unit 0,01 m + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +CartesianCoordinate::= INTEGER{ + negativeOutOfRange (-32768), + positiveOutOfRange (32767) +} (-32768..32767) + +/** + * This DF represents the value of a cartesian coordinate with a range of -1 310,72 metres to +1 310,70 metres. + * + * The value shall be set to: + * - `-131072` if the longitudinal offset is out of range, i.e. less than or equal to -1 310,72 metres, + * - `n` (`n > 131 072` and `n < 131 071`) if the longitudinal offset information is equal to or less than n x 0,01 metre and more than (n-1) x 0,01 metre, + * - `131 071` if the longitudinal offset is out of range, i.e. greater than + 1 310,70 metres. + * + * @unit 0,01 m + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +CartesianCoordinateLarge::= INTEGER{ + negativeOutOfRange (-131072), + positiveOutOfRange (131071) +} (-131072..131071) + +/** + * This DE represents the ID of a CEN DSRC tolling zone. + * + * @category: Communication information + * @revision: V1.3.1 + * @note: this DE is deprecated and shall not be used anymore. + */ +CenDsrcTollingZoneID::= ProtectedZoneId + +/** + * This DE indicates the reason why a cluster leader intends to break up the cluster. + * + * The value shall be set to: + * - 0 - `notProvided` - if the information is not provided, + * - 1 - `clusteringPurposeCompleted` - if the cluster purpose has been completed, + * - 2 - `leaderMovedOutOfClusterBoundingBox` - if the leader moved out of the cluster's bounding box, + * - 3 - `joiningAnotherCluster` - if the cluster leader is about to join another cluster, + * - 4 - `enteringLowRiskAreaBasedOnMaps` - if the cluster is entering an area idenrified as low risk based on the use of maps, + * - 5 - `receptionOfCpmContainingCluster` - if the leader received a Collective Perception Message containing information about the same cluster. + * - 6 to 15 - are reserved for future use. + * + * @category: Cluster information + * @revision: Created in V2.1.1, type changed from ENUMERATED to INTEGER in V2.2.1 +*/ +ClusterBreakupReason ::= INTEGER { + notProvided (0), + clusteringPurposeCompleted (1), + leaderMovedOutOfClusterBoundingBox (2), + joiningAnotherCluster (3), + enteringLowRiskAreaBasedOnMaps (4), + receptionOfCpmContainingCluster (5) +}(0..15) + +/** + * This DE indicates the reason why a cluster participant is leaving the cluster. + * + * The value shall be set to: + * - 0 - `notProvided ` - if the information is not provided, + * - 1 - `clusterLeaderLost` - if the cluster leader cannot be found anymore, + * - 2 - `clusterDisbandedByLeader` - if the cluster has been disbanded by the leader, + * - 3 - `outOfClusterBoundingBox` - if the participants moved out of the cluster's bounding box, + * - 4 - `outOfClusterSpeedRange` - if the cluster speed moved out of a defined range, + * - 5 - `joiningAnotherCluster` - if the participant is joining another cluster, + * - 6 - `cancelledJoin` - if the participant is cancelling a joining procedure, + * - 7 - `failedJoin` - if the participant failed to join the cluster, + * - 8 - `safetyCondition` - if a safety condition applies. + * - 9 to 15 - are reserved for future use + * + * @category: Cluster information + * @revision: Created in V2.1.1, type changed from ENUMERATED to INTEGER in V2.2.1 + */ +ClusterLeaveReason ::= INTEGER { + notProvided (0), + clusterLeaderLost (1), + clusterDisbandedByLeader (2), + outOfClusterBoundingBox (3), + outOfClusterSpeedRange (4), + joiningAnotherCluster (5), + cancelledJoin (6), + failedJoin (7), + safetyCondition (8) +}(0..15) + +/** + * This DE represents the sub cause codes of the @ref CauseCode `collisionRisk`. + * + * The value shall be set to: + * - 0 - `unavailable` - in case information on the type of collision risk is unavailable, + * - 1 - `longitudinalCollisionRisk` - in case the type of detected collision risk is longitudinal collision risk, + * e.g. forward collision or face to face collision, + * - 2 - `crossingCollisionRisk` - in case the type of detected collision risk is crossing collision risk, + * - 3 - `lateralCollisionRisk` - in case the type of detected collision risk is lateral collision risk, + * - 4 - `vulnerableRoadUser` - in case the type of detected collision risk involves vulnerable road users + * e.g. pedestrians or bicycles. + * - 5 - `collisionRiskWithPedestrian` - in case the type of detected collision risk involves at least one pedestrian, + * - 6 - `collisionRiskWithCyclist` - in case the type of detected collision risk involves at least one cyclist (and no pedestrians), + * - 7 - `collisionRiskWithMotorVehicle` - in case the type of detected collision risk involves at least one motor vehicle (and no pedestrians or cyclists), + * - 8-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1, values 5-7 assigned in V2.2.1 + */ +CollisionRiskSubCauseCode ::= INTEGER { + unavailable (0), + longitudinalCollisionRisk (1), + crossingCollisionRisk (2), + lateralCollisionRisk (3), + vulnerableRoadUser (4), + collisionRiskWithPedestrian (5), + collisionRiskWithCyclist (6), + collisionRiskWithMotorVehicle (7) +}(0..255) + +/** + * This DE represents a confidence level in percentage. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 101`) : for the confidence level in %, + * - `101` : in case the confidence level is not available. + * + * @unit Percent + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +ConfidenceLevel ::= INTEGER { + unavailable (101) +} (1..101) + +/** + * This DE indicates the coordinate confidence value which represents the estimated absolute accuracy of a position coordinate with a default confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 4095`) if the confidence value is is equal to or less than n x 0,01 metre, and greater than (n-1) x 0,01 metre, + * - `4095` if the confidence value is greater than 40,94 metres, + * - `4096` if the confidence value is not available. + * + * @unit 0,01 m + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +CoordinateConfidence ::= INTEGER { + outOfRange (4095), + unavailable (4096) +} (1..4096) + +/** + * This DE represents the Bravais-Pearson correlation value for each cell of a lower triangular correlation matrix. + * + * The value shall be set to: + * - `-100` in case of full negative correlation, + * - `n` (`n > -100` and `n < 0`) if the correlation is negative and equal to n x 100, + * - `0` in case of no correlation, + * - `n` (`n > 0` and `n < 100`) if the correlation is positive and equal to n x 100, + * - `100` in case of full positive correlation, + * - `101` in case the correlation information is unavailable. + * + * @unit: the value is scaled by 100 + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +CorrelationCellValue ::= INTEGER { + full-negative-correlation (-100), + no-correlation (0), + full-positive-correlation (100), + unavailable (101) +} (-100..101) + +/** + * This DE represents an ISO 3166-1 [25] country code encoded using ITA-2 encoding. + * + * @category: Basic information + * @revision: Created in V2.2.1 based on ISO 14816 [23] +*/ +CountryCode ::= BIT STRING(SIZE(10)) + +/** + * The DE describes whether the yaw rate is used to calculate the curvature for a curvature value. + * + * The value shall be set to: + * - 0 - `yawRateUsed` - if the yaw rate is used, + * - 1 - `yawRateNotUsed` - if the yaw rate is not used, + * - 2 - `unavailable` - if the information of curvature calculation mode is unknown. + * + * @category: Vehicle information + * @revision: V1.3.1 + */ +CurvatureCalculationMode ::= ENUMERATED { + yawRateUsed (0), + yawRateNotUsed (1), + unavailable (2), + ... +} + +/** + * This DE indicates the acceleration confidence value which represents the estimated absolute accuracy range of a curvature value with a confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * + * The value shall be set to: + * - 0 - `onePerMeter-0-00002` - if the confidence value is less than or equal to 0,00002 m-1, + * - 1 - `onePerMeter-0-0001` - if the confidence value is less than or equal to 0,0001 m-1 and greater than 0,00002 m-1, + * - 2 - `onePerMeter-0-0005` - if the confidence value is less than or equal to 0,0005 m-1 and greater than 0,0001 m-1, + * - 3 - `onePerMeter-0-002` - if the confidence value is less than or equal to 0,002 m-1 and greater than 0,0005 m-1, + * - 4 - `nePerMeter-0-01` - if the confidence value is less than or equal to 0,01 m-1 and greater than 0,002 m-1, + * - 5 - `nePerMeter-0-1` - if the confidence value is less than or equal to 0,1 m-1 and greater than 0,01 m-1, + * - 6 - `outOfRange` - if the confidence value is out of range, i.e. greater than 0,1 m-1, + * - 7 - `unavailable` - if the confidence value is not available. + * + * @note: The fact that a curvature value is received with confidence value set to `unavailable(7)` can be caused by + * several reasons, such as: + * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor, + * - the sensor cannot calculate the accuracy due to lack of variables, or + * - there has been a vehicle bus (e.g. CAN bus) error. + * In all 3 cases above, the curvature value may be valid and used by the application. + * + * @note: If a curvature value is received and its confidence value is set to `outOfRange(6)`, it means that the curvature value is not valid + * and therefore cannot be trusted. Such value is not useful for the application. + * + * @category: Vehicle information + * @revision: Description revised in V2.1.1 +*/ +CurvatureConfidence ::= ENUMERATED { + onePerMeter-0-00002 (0), + onePerMeter-0-0001 (1), + onePerMeter-0-0005 (2), + onePerMeter-0-002 (3), + onePerMeter-0-01 (4), + onePerMeter-0-1 (5), + outOfRange (6), + unavailable (7) +} + +/** + * This DE describes vehicle turning curve with the following information: + * ``` + * Value = 1 / Radius * 10000 + * ``` + * wherein radius is the vehicle turning curve radius in metres. + * + * Positive values indicate a turning curve to the left hand side of the driver. + * It corresponds to the vehicle coordinate system as defined in ISO 8855 [21]. + * + * The value shall be set to: + * - `-1023` for values smaller than -1023, + * - `n` (`n > -1023` and `n < 0`) for negative values equal to or less than `n`, and greater than `(n-1)`, + * - `0` when the vehicle is moving straight, + * - `n` (`n > 0` and `n < 1022`) for positive values equal to or less than `n`, and greater than `(n-1)`, + * - `1022`, for values greater than 1021, + * - `1023`, if the information is not available. + * + * @note: The present DE is limited to vehicle types as defined in ISO 8855 [21]. + * + * @unit: 1 over 10 000 metres + * @category: Vehicle information + * @revision: description revised in V2.1.1 (the definition of value 1022 has changed slightly) + */ +CurvatureValue ::= INTEGER { + outOfRangeNegative (-1023), + straight (0), + outOfRangePositive (1022), + unavailable (1023) +} (-1023..1023) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `dangerousEndOfQueue`. + * + * The value shall be set to: + * - 0 - `unavailable` - in case information on the type of dangerous queue is unavailable, + * - 1 - `suddenEndOfQueue`- in case a sudden end of queue is detected, e.g. due to accident or obstacle, + * - 2 - `queueOverHill` - in case the dangerous end of queue is detected on the road hill, + * - 3 - `queueAroundBend` - in case the dangerous end of queue is detected around the road bend, + * - 4 - `queueInTunnel` - in case queue is detected in tunnel, + * - 5-255 - reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +DangerousEndOfQueueSubCauseCode ::= INTEGER { + unavailable (0), + suddenEndOfQueue (1), + queueOverHill (2), + queueAroundBend (3), + queueInTunnel (4) +} (0..255) + +/** + * This DE indicates the type of the dangerous goods being carried by a heavy vehicle. + * The value is assigned according to `class` and `division` definitions of dangerous goods as specified in part II, + * chapter 2.1.1.1 of European Agreement concerning the International Carriage of Dangerous Goods by Road [3]. + * + * + * @category Vehicle information + * @revision: V1.3.1 + */ +DangerousGoodsBasic::= ENUMERATED { + explosives1 (0), + explosives2 (1), + explosives3 (2), + explosives4 (3), + explosives5 (4), + explosives6 (5), + flammableGases (6), + nonFlammableGases (7), + toxicGases (8), + flammableLiquids (9), + flammableSolids (10), + substancesLiableToSpontaneousCombustion (11), + substancesEmittingFlammableGasesUponContactWithWater (12), + oxidizingSubstances (13), + organicPeroxides (14), + toxicSubstances (15), + infectiousSubstances (16), + radioactiveMaterial (17), + corrosiveSubstances (18), + miscellaneousDangerousSubstances (19) +} + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `dangerousSituation` + * + * The value shall be set to: + * - 0 - `unavailable` - in case information on the type of dangerous situation is unavailable, + * - 1 - `emergencyElectronicBrakeEngaged` - in case emergency electronic brake is engaged, + * - 2 - `preCrashSystemEngaged` - in case pre-crash system is engaged, + * - 3 - `espEngaged` - in case Electronic Stability Program (ESP) system is engaged, + * - 4 - `absEngaged` - in case Anti-lock Braking System (ABS) is engaged, + * - 5 - `aebEngaged` - in case Autonomous Emergency Braking (AEB) system is engaged, + * - 6 - `brakeWarningEngaged` - in case brake warning is engaged, + * - 7 - `collisionRiskWarningEngaged` - in case collision risk warning is engaged, + * - 8-255 - reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +DangerousSituationSubCauseCode ::= INTEGER { + unavailable (0), + emergencyElectronicBrakeEngaged (1), + preCrashSystemEngaged (2), + espEngaged (3), + absEngaged (4), + ebEngaged (5), + brakeWarningEngaged (6), + collisionRiskWarningEngaged (7) +} (0..255) + +/** + * This DE represents an offset altitude with regards to a defined altitude value. + * It may be used to describe a geographical point with regards to a specific reference geographical position. + * + * The value shall be set to: + * - `-12 700` for values equal to or lower than -127 metres, + * - `n` (`n > -12 700` and `n <= 0`) for altitude offset n x 0,01 metre below the reference position, + * - `0` for no altitudinal offset, + * - `n` (`n > 0` and `n < 12799`) for altitude offset n x 0,01 metre above the reference position, + * - `12 799` for values equal to or greater than 127,99 metres, + * - `12 800` when the information is unavailable. + * + * @unit: 0,01 metre + * @category: GeoReference information + * @revision: editorial update in V2.1.1 + */ +DeltaAltitude ::= INTEGER { + negativeOutOfRange (-12700), + positiveOutOfRange (12799), + unavailable (12800) +} (-12700..12800) + +/** + * This DE represents an offset latitude with regards to a defined latitude value. + * It may be used to describe a geographical point with regards to a specific reference geographical position. + * + * The value shall be set to: + * - `n` (`n >= -131 071` and `n < 0`) for offset n x 10^-7 degree towards the south from the reference position, + * - `0` for no latitudinal offset, + * - `n` (`n > 0` and `n < 131 072`) for offset n x 10^-7 degree towards the north from the reference position, + * - `131 072` when the information is unavailable. + * + * @unit: 10^-7 degree + * @category: GeoReference information + * @revision: editorial update in V2.1.1 + */ +DeltaLatitude ::= INTEGER { + unavailable (131072) +} (-131071..131072) + +/** + * This DE represents an offset longitude with regards to a defined longitude value. + * It may be used to describe a geographical point with regards to a specific reference geographical position. + * + * The value shall be set to: + * - `n` (`n >= -131 071` and `n < 0`) for offset n x 10^-7 degree towards the west from the reference position, + * - `0` for no longitudinal offset, + * - `n` (`n > 0` and `n < 131 072`) for offset n x 10^-7 degree towards the east from the reference position, + * - `131 072` when the information is unavailable. + * + * @unit: 10^-7 degree + * @category: GeoReference information + * @revision: editorial update in V2.1.1 + */ +DeltaLongitude ::= INTEGER { + unavailable (131072) +} (-131071..131072) + +/** + * This DE represents a difference in time with respect to a reference time. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 10001`) to indicate a time value equal to or less than n x 0,001 s, and greater than (n-1) x 0,001 s, + * + * Example: a time interval between two consecutive message transmissions. + * + * @unit: 0,001 s + * @category: Basic information + * @revision: Created in V2.1.1 from the DE TransmissionInterval in [2] + */ +DeltaTimeMilliSecondPositive ::= INTEGER (1..10000) + +/** + * This DE represents a signed difference in time with respect to a reference time. + * + * The value shall be set to: + * - `-2048` for time values equal to or less than -2,048 s, + * - `n` (`n > -2048` and `n < 2047`) to indicate a time value equal to or less than n x 0,001 s, and greater than (n-1) x 0,001 s, + * - `2047` for time values greater than 2,046 s + * + * @unit: 0,001 s + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +DeltaTimeMilliSecondSigned ::= INTEGER (-2048..2047) + +/** + * This DE represents a difference in time with respect to a reference time. + * It can be interpreted as the first 8 bits of a GenerationDeltaTime. To convert it to a @ref GenerationDeltaTime, + * multiply by 256 (i.e. append a `00` byte) + * + * @unit: 256 * 0,001 s + * @category: Basic information + * @revision: Created in V2.1.1 + */ +DeltaTimeQuarterSecond::= INTEGER { + unavailable (255) +} (1..255) + +/** + * This DE represents a difference in time with respect to a reference time. + * + * The value shall be set to: + * - `0` for a difference in time of 0 seconds. + * - `n` (`n > 0` and `n < 128`) to indicate a time value equal to or less than n x 0,1 s, and greater than (n-1) x 0,1 s, + * + * @unit: 0,1 s + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +DeltaTimeTenthOfSecond::= INTEGER { + unavailable (127) +} (0..127) + +/** + * This DE represents a difference in time with respect to a reference time. + * + * The value shall be set to: + * - `-0` for a difference in time of 0 seconds. + * - `n` (`n > 0` and `n <= 86400`) to indicate a time value equal to or less than n x 1 s, and greater than (n-1) x 1 s, + * + * @unit: 1 s + * @category: Basic information + * @revision: Created in V2.1.1 from ValidityDuration +*/ +DeltaTimeSecond ::= INTEGER (0..86400) + +/** + * This DE represents a difference in time with respect to a reference time. + * + * The value shall be set to: + * - `-0` for a difference in time of 0 seconds. + * - `n` (`n > 0` and `n < 128`) to indicate a time value equal to or less than n x 10 s, and greater than (n-1) x 10 s, + * + * @unit: 10 s + * @category: Basic information + * @revision: Created in V2.2.1 +*/ +DeltaTimeTenSeconds ::= INTEGER (0..127) + +/** + * This DE indicates a direction with respect to a defined reference direction. + * Example: a reference direction may be implicitly defined by the definition of a geographical zone. + * + * The value shall be set to: + * - 0 - `sameDirection` - to indicate the same direction as the reference direction, + * - 1 - `oppositeDirection` - to indicate opposite direction as the reference direction, + * - 2 - `bothDirections` - to indicate both directions, i.e. the same and the opposite direction, + * - 3 - `unavailable` - to indicate that the information is unavailable. + * + * @category: GeoReference information + * @revision: Created in V2.1.1 + */ +Direction::= INTEGER{ + sameDirection (0), + oppositeDirection (1), + bothDirections (2), + unavailable (3) + } (0..3) + +/** + * This DE indicates in which direction something is moving. + * + * The value shall be set to: + * - 0 - `forward` - to indicate it is moving forward, + * - 1 - `backwards` - to indicate it is moving backwards, + * - 2 - `unavailable` - to indicate that the information is unavailable. + * + * @category: Kinematic information + * @revision: editorial update in V2.1.1 + */ +DriveDirection ::= ENUMERATED { + forward (0), + backward (1), + unavailable (2) +} + +/** + * This DE indicates whether a driving lane is open to traffic. + * + * A lane is counted from inside border of the road excluding the hard shoulder. The size of the bit string shall + * correspond to the total number of the driving lanes in the carriageway. + * + * The numbering is matched to @ref LanePosition. + * The bit `0` is used to indicate the innermost lane, bit `1` is used to indicate the second lane from inside border. + * + * If a lane is closed to traffic, the corresponding bit shall be set to `1`. Otherwise, it shall be set to `0`. + * + * @note: hard shoulder status is not provided by this DE but in @ref HardShoulderStatus. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +DrivingLaneStatus ::= BIT STRING (SIZE (1..13)) + +/** + * This DE indicates whether a vehicle (e.g. public transport vehicle, truck) is under the embarkation process. + * If that is the case, the value is *TRUE*, otherwise *FALSE*. + * + * @category: Vehicle information + * @revision: editorial update in V2.1.1 + */ +EmbarkationStatus ::= BOOLEAN + +/** + * This DE indicates the right of priority requested or assumed by an operating emergency vehicle. + * The right-of-priority bit shall be set to `1` if the corresponding right is requested. + * + * The corresponding bit shall be set to 1 under the following conditions: + * - 0 - `requestForRightOfWay` - when the vehicle is requesting/assuming the right of way, + * - 1 - `requestForFreeCrossingAtATrafficLight` - when the vehicle is requesting/assuming the right to pass at a (red) traffic light. + * + * @category: Traffic information + * @revision: description revised in V2.1.1 + */ +EmergencyPriority ::= BIT STRING { + requestForRightOfWay (0), + requestForFreeCrossingAtATrafficLight (1) +} (SIZE(2)) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode "emergencyVehicleApproaching". + * + * The value shall be set to: + * - 0 - `unavailable` - in case further detailed information on the emergency vehicle approaching event + * is unavailable, + * - 1 - `emergencyVehicleApproaching` - in case an operating emergency vehicle is approaching, + * - 2 - `prioritizedVehicleApproaching` - in case a prioritized vehicle is approaching, + * - 3-255 - reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +EmergencyVehicleApproachingSubCauseCode ::= INTEGER { + unavailable (0), + emergencyVehicleApproaching (1), + prioritizedVehicleApproaching (2) +} (0..255) + +/** + * This DE indicated the type of energy being used and stored in vehicle. + * + * The corresponding bit shall be set to 1 under the following conditions: + * - 0 - `hydrogenStorage` - when hydrogen is being used and stored in vehicle, + * - 1 - `electricEnergyStorage` - when electric energy is being used and stored in vehicle, + * - 2 - `liquidPropaneGas` - when liquid Propane Gas (LPG) is being used and stored in vehicle, + * - 3 - `compressedNaturalGas ` - when compressedNaturalGas (CNG) is being used and stored in vehicle, + * - 4 - `diesel` - when diesel is being used and stored in vehicle, + * - 5 - `gasoline` - when gasoline is being used and stored in vehicle, + * - 6 - `ammonia` - when ammonia is being used and stored in vehicle. + * + * - Otherwise, the corresponding bit shall be set to `0`. + * + * @category: Vehicle information + * @revision: editorial revision in V2.1.1 + */ +EnergyStorageType ::= BIT STRING { + hydrogenStorage (0), + electricEnergyStorage (1), + liquidPropaneGas (2), + compressedNaturalGas (3), + diesel (4), + gasoline (5), + ammonia (6) +}(SIZE(7)) + +/** + * This DE represents one of the specific categories in the L category: L1, L2, L3, L4, L5, L6, or L7 according to UNECE/TRANS/WP.29/78/Rev.4 [16]. + * + * + * @category: Vehicle information + * @revision: V2.1.1 + */ +EuVehicleCategoryL ::= ENUMERATED { l1, l2, l3, l4, l5, l6, l7 } + +/** + * This DE represents one of the specific categories in the M category: M1, M2, or M3 according to UNECE/TRANS/WP.29/78/Rev.4 [16]. + * + * + * @category: Vehicle information + * @revision: V2.1.1 + */ +EuVehicleCategoryM ::= ENUMERATED {m1, m2, m3} + +/** + * This DE represents one of the specific categories in the N category: N1, N2, or N3 according to UNECE/TRANS/WP.29/78/Rev.4 [16]. + * + * + * @category: Vehicle information + * @revision: V2.1.1 + */ +EuVehicleCategoryN ::= ENUMERATED {n1, n2, n3} + +/** + * This DE represents one of the specific categories in the O category: O1, O2, O3 or O4 according to UNECE/TRANS/WP.29/78/Rev.4 [16]. + * + * + * @category: Vehicle information + * @revision: V2.1.1 + */ +EuVehicleCategoryO ::= ENUMERATED {o1, o2, o3, o4} + +/** + * This DE describes the status of the exterior light switches of a vehicle incl. VRU vehicles. + * + * The corresponding bit shall be set to 1 under the following conditions: + * - 0 - `lowBeamHeadlightsOn` - when the low beam head light switch is on, + * - 1 - `highBeamHeadlightsOn` - when the high beam head light switch is on, + * - 2 - `leftTurnSignalOn` - when the left turnSignal switch is on, + * - 3 - `rightTurnSignalOn` - when the right turn signal switch is on, + * - 4 - `daytimeRunningLightsOn` - when the daytime running light switch is on, + * - 5 - `reverseLightOn` - when the reverse light switch is on, + * - 6 - `fogLightOn` - when the tail fog light switch is on, + * - 7 - `parkingLightsOn` - when the parking light switch is on. + * + * @note: The value of each bit indicates the state of the switch, which commands the corresponding light. + * The bit corresponding to a specific light is set to `1`, when the corresponding switch is turned on, + * either manually by the driver or automatically by a vehicle system. The bit value does not indicate + * if the corresponding lamps are alight or not. + * + * If a vehicle is not equipped with a certain light or if the light switch status information is not available, + * the corresponding bit shall be set to `0`. + * + * As the bit value indicates only the state of the switch, the turn signal and hazard signal bit values shall not + * alternate with the blinking interval. + * + * For hazard indicator, the `leftTurnSignalOn (2)` and `rightTurnSignalOn (3)` shall be both set to `1`. + * + * @category Vehicle information + * @revision: Description revised in V2.1.1 + */ +ExteriorLights ::= BIT STRING { + lowBeamHeadlightsOn (0), + highBeamHeadlightsOn (1), + leftTurnSignalOn (2), + rightTurnSignalOn (3), + daytimeRunningLightsOn (4), + reverseLightOn (5), + fogLightOn (6), + parkingLightsOn (7) +} (SIZE(8)) + +/** + * This DE represents a timestamp based on TimestampIts modulo 65 536. + * This means that generationDeltaTime = TimestampIts mod 65 536. + * + * @category: Basic information + * @revision: Created in V2.1.1 based on ETSI TS 103 900 [1] +*/ +GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535) + +/** + * This DE indicates the current status of a hard shoulder: whether it is available for special usage + * (e.g. for stopping or for driving) or closed for all vehicles. + * + * The value shall be set to: + * - 0 - `availableForStopping` - if the hard shoulder is available for stopping in e.g. emergency situations, + * - 1 - `closed` - if the hard shoulder is closed and cannot be occupied in any case, + * - 2 - `availableForDriving` - if the hard shoulder is available for regular driving. + * + * @category: Traffic information + * @revision: Description revised in V2.1.1 + */ +HardShoulderStatus ::= ENUMERATED { + availableForStopping (0), + closed (1), + availableForDriving (2) +} + +/** + * This DE represents the value of the sub cause code of the @ref CauseCode `hazardousLocation-AnimalOnTheRoad`. + * + * The value shall be set to: + * - 0 - `unavailable` - in case further detailed information on the animal(s) on the road is unavailable, + * - 1 - `wildAnimals` - in case wild animals of unknown size are present on the road, + * - 2 - `herdOfAnimals` - in case a herd of animals is present on the road, + * - 3 - `smallAnimals` - in case small size animals of unknown type are present on the road, + * - 4 - `largeAnimals` - in case large size animals of unknown type are present on the road, + * - 5 - `wildAnimalsSmall` - in case small size wild animal(s) are present on the road, + * - 6 - `wildAnimalsLarge` - in case large size wild animal(s) are present on the road, + * - 7 - `domesticAnimals` - in case domestic animal(s) of unknown size are detected on the road, + * - 8 - `domesticAnimalsSmall` - in case small size domestic animal(s) are present on the road, + * - 9 - `domesticAnimalsLarge` - in case large size domestic animal(s) are present on the road. + * - 10-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1, named values 5 to 9 added in V2.2.1 + */ +HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER { + unavailable (0), + wildAnimals (1), + herdOfAnimals (2), + smallAnimals (3), + largeAnimals (4), + wildAnimalsSmall (5), + wildAnimalsLarge (6), + domesticAnimals (7), + domesticAnimalsSmall (8), + domesticAnimalsLarge (9) +} (0..255) + +/** + * This DE represents the sub cause code of the @ref CauseCode `hazardousLocation-DangerousCurve`. + * + * The value shall be set to: + * - 0 - `unavailable` - in case further detailed information on the dangerous curve is unavailable, + * - 1 - `dangerousLeftTurnCurve` - in case the dangerous curve is a left turn curve, + * - 2 - `dangerousRightTurnCurve` - in case the dangerous curve is a right turn curve, + * - 3 - `multipleCurvesStartingWithUnknownTurningDirection` - in case of multiple curves for which the starting curve turning direction is not known, + * - 4 - `multipleCurvesStartingWithLeftTurn` - in case of multiple curves starting with a left turn curve, + * - 5 - `multipleCurvesStartingWithRightTurn` - in case of multiple curves starting with a right turn curve. + * - 6-255 - are reserved for future usage. + * + * The definition of whether a curve is dangerous may vary according to region and according to vehicle types/mass + * and vehicle speed driving on the curve. This definition is out of scope of the present document. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER { + unavailable (0), + dangerousLeftTurnCurve (1), + dangerousRightTurnCurve (2), + multipleCurvesStartingWithUnknownTurningDirection (3), + multipleCurvesStartingWithLeftTurn (4), + multipleCurvesStartingWithRightTurn (5) +} (0..255) + +/** + * This DE represents the value of the sub cause code of the @ref CauseCode `hazardousLocation-ObstacleOnTheRoad`. + * + * The value shall be set to: + * - 0 - `unavailable` - in case further detailed information on the detected obstacle is unavailable, + * - 1 - `shedLoad` - in case detected obstacle is large amount of obstacles (shedload), + * - 2 - `partsOfVehicles`- in case detected obstacles are parts of vehicles, + * - 3 - `partsOfTyres` - in case the detected obstacles are parts of tyres, + * - 4 - `bigObjects` - in case the detected obstacles are big objects, + * - 5 - `fallenTrees` - in case the detected obstacles are fallen trees, + * - 6 - `hubCaps` - in case the detected obstacles are hub caps, + * - 7 - `waitingVehicles`- in case the detected obstacles are waiting vehicles. + * - 8-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER { + unavailable (0), + shedLoad (1), + partsOfVehicles (2), + partsOfTyres (3), + bigObjects (4), + fallenTrees (5), + hubCaps (6), + waitingVehicles (7) +} (0..255) + +/** + * This DE represents the value of the sub cause code of the @ref CauseCode `hazardousLocation-SurfaceCondition`. + * +The value shall be set to: + * - 0 - `unavailable` - in case further detailed information on the road surface condition is unavailable, + * - 1 - `rockfalls` - in case rock falls are detected on the road surface, + * - 2 - `earthquakeDamage`- in case the road surface is damaged by earthquake, + * - 3 - `sewerCollapse` - in case of sewer collapse on the road surface, + * - 4 - `subsidence` - in case road surface is damaged by subsidence, + * - 5 - `snowDrifts` - in case road surface is damaged due to snow drift, + * - 6 - `stormDamage` - in case road surface is damaged by strong storm, + * - 7 - `burstPipe` - in case road surface is damaged due to pipe burst, + * - 8 - `volcanoEruption` - in case road surface is damaged due to volcano eruption, + * - 9 - `fallingIce` - in case road surface damage is due to falling ice, + * - 10 - `fire` - in case there is fire on or near to the road surface. + * - 11-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER { + unavailable (0), + rockfalls (1), + earthquakeDamage (2), + sewerCollapse (3), + subsidence (4), + snowDrifts (5), + stormDamage (6), + burstPipe (7), + volcanoEruption (8), + fallingIce (9), + fire (10) +} (0..255) + +/** + * This DE indicates the heading confidence value which represents the estimated absolute accuracy of a heading value with a confidence level of 95 %. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 126`) if the confidence value is equal to or less than n x 0,1 degree and more than (n-1) x 0,1 degree, + * - `126` if the confidence value is out of range, i.e. greater than 12,5 degrees, + * - `127` if the confidence value information is not available. + * + * @note: The fact that a value is received with confidence value set to `unavailable(127)` can be caused by several reasons, + * such as: + * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor, + * - the sensor cannot calculate the accuracy due to lack of variables, or + * - there has been a vehicle bus (e.g. CAN bus) error. + * In all 3 cases above, the heading value may be valid and used by the application. + * + * @note: If a heading value is received and its confidence value is set to `outOfRange(126)`, it means that the + * heading value is not valid and therefore cannot be trusted. Such value is not useful for the application. + * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref Wgs84AngleConfidence instead. + * + * @unit: 0,1 degree + * @category: GeoReference information + * @revision: Description revised in V2.1.1 + */ +HeadingConfidence ::= INTEGER { + outOfRange (126), + unavailable (127) +} (1..127) + +/** + * This DE represents the orientation of the horizontal velocity vector with regards to the WGS84 north. + * When the information is not available, the DE shall be set to 3 601. The value 3600 shall not be used. + * + * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref Wgs84AngleValue instead. + * + * Unit: 0,1 degree + * Categories: GeoReference information + * @revision: Description revised in V2.1.1 (usage of value 3600 specified) +*/ +HeadingValue ::= INTEGER { + wgs84North (0), + wgs84East (900), + wgs84South (1800), + wgs84West (2700), + doNotUse (3600), + unavailable (3601) +} (0..3601) + +/** + * This DE represents the height of the left or right longitude carrier of vehicle from base to top (left or right carrier seen from vehicle + * rear to front). + * + * The value shall be set to: + * - `n` (`n >= 1` and `n < 99`) if the height information is equal to or less than n x 0,01 metre and more than (n-1) x 0,01 metre, + * - `99` if the height is out of range, i.e. equal to or greater than 0,98 m, + * - `100` if the height information is not available. + * + * @unit 0,01 metre + * @category Vehicle information + * @revision: Description revised in V2.1.1 (the definition of 99 has changed slightly) + */ +HeightLonCarr ::= INTEGER { + outOfRange(99), + unavailable(100) +} (1..100) + +/** + * This DE represents the value of the sub cause code of the @ref CauseCode `humanPresenceOnTheRoad`. + * + * The value shall be set to: + * - 0 - `unavailable` - in case further detailed information abou the human presence on the road is unavailable, + * - 1 - `childrenOnRoadway` - in case children are present on the road, + * - 2 - `cyclistOnRoadway` - in case cyclist(s) are present on the road, + * - 3 - `motorcyclistOnRoadway` - in case motorcyclist(s) are present on the road, + * - 4 - `pedestrian` - in case pedestrian(s) of any type are present on the road, + * - 5 - `ordinary-pedestrian` - in case pedestrian(s) to which no more-specific profile applies are present on the road, + * - 6 - `road-worker` - in case pedestrian(s) with the role of a road worker applies are present on the road, + * - 7 - `first-responder` - in case pedestrian(s) with the role of a first responder applies are present on the road, + * - 8 - `lightVruVehicle - in case light vru vehicle(s) of any type are present on the road, + * - 9 - `bicyclist ` - in case cycle(s) and their bicyclist(s) are present on the road, + * - 10 - `wheelchair-user` - in case wheelchair(s) and their user(s) are present on the road, + * - 11 - `horse-and-rider` - in case horse(s) and rider(s) are present on the road, + * - 12 - `rollerskater` - in case rolleskater(s) and skater(s) are present on the road, + * - 13 - `e-scooter` - in case e-scooter(s) and rider(s) are present on the road, + * - 14 - `personal-transporter` - in case personal-transporter(s) and rider(s) are present on the road, + * - 15 - `pedelec` - in case pedelec(s) and rider(s) are present on the road, + * - 16 - `speed-pedelec` - in case speed-pedelec(s) and rider(s) are present on the road, + * - 17 - `ptw` - in case powered-two-wheeler(s) of any type are present on the road, + * - 18 - `moped` - in case moped(s) and rider(s) are present on the road, + * - 19 - `motorcycle` - in case motorcycle(s) and rider(s) are present on the road, + * - 20 - `motorcycle-and-sidecar-right` - in case motorcycle(s) with sidecar(s) on the right and rider are present on the road, + * - 21 - `motorcycle-and-sidecar-left` - in case motorcycle(s) with sidecar(s) on the left and rider are present on the road. + * - 22-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: editorial revision in V2.1.1, named values 4-21 added in V2.2.1 + */ +HumanPresenceOnTheRoadSubCauseCode ::= INTEGER { + unavailable (0), + childrenOnRoadway (1), + cyclistOnRoadway (2), + motorcyclistOnRoadway (3), + pedestrian (4), + ordinary-pedestrian (5), + road-worker (6), + first-responder (7), + lightVruVehicle (8), + bicyclist (9), + wheelchair-user (10), + horse-and-rider (11), + rollerskater (12), + e-scooter (13), + personal-transporter (14), + pedelec (15), + speed-pedelec (16), + ptw (17), + moped (18), + motorcycle (19), + motorcycle-and-sidecar-right (20), + motorcycle-and-sidecar-left (21) +} (0..255) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode "humanProblem". + * + * The value shall be set to: + * - 0 - `unavailable` - in case further detailed information on human health problem is unavailable, + * - 1 - `glycemiaProblem`- in case human problem is due to glycaemia problem, + * - 2 - `heartProblem` - in case human problem is due to heart problem. + * - 3-255 - reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +HumanProblemSubCauseCode ::= INTEGER { + unavailable (0), + glycemiaProblem (1), + heartProblem (2) +} (0..255) + +/** + * This DE is a general identifier. + * + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +Identifier1B ::= INTEGER (0..255) + +/** + * This DE is a general identifier. + * + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +Identifier2B ::= INTEGER (0..65535) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `impassability` + * + * The value shall be set to: + * - 0 `unavailable` - in case further detailed information about the unmanaged road blockage is unavailable, + * - 1 `flooding ` - in case the road is affected by flooding, + * - 2 `dangerOfAvalanches` - in case the road is at risk of being affected or blocked by avalanches, + * - 3 `blastingOfAvalanches` - in case there is an active blasting of avalanches on or near the road, + * - 4 `landslips` - in case the road is affected by landslips, + * - 5 `chemicalSpillage` - in case the road is affected by chemical spillage, + * - 6 `winterClosure` - in case the road is impassable due to a winter closure. + * - 7 `sinkhole` - in case the road is impassable due to large holes in the road surface. + * - 8 `earthquakeDamage` - in case the road is obstructed or partially obstructed because of damage caused by an earthquake. + * - 9 `fallenTrees` - in case the road is obstructed or partially obstructed by one or more fallen trees. + * - 10 `rockfalls` - in case the road is obstructed or partially obstructed due to fallen rocks. + * - 11 `sewerOverflow` - in case the road is obstructed or partially obstructed by overflows from one or more sewers. + * - 12 `stormDamage` - in case the road is obstructed or partially obstructed by debris caused by strong winds. + * - 13 `subsidence` - in case the road surface has sunken or collapsed in places. + * - 14 `burstPipe` - in case the road surface has sunken or collapsed in places due to burst pipes. + * - 15 `burstWaterMain` - in case the road is obstructed due to local flooding and/or subsidence. + * - 16 `fallenPowerCables` - in case the road is obstructed or partly obstructed by one or more fallen power cables. + * - 17 `snowDrifts` - in case the road is obstructed or partially obstructed by snow drifting in progress or patches of deep snow due to earlier drifting. + * - 15-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: Created in V2.2.1 +*/ +ImpassabilitySubCauseCode ::= INTEGER { + unavailable (0), + flooding (1), + dangerOfAvalanches (2), + blastingOfAvalanches (3), + landslips (4), + chemicalSpillage (5), + winterClosure (6), + sinkhole (7), + earthquakeDamage (8), + fallenTrees (9), + rockfalls (10), + sewerOverflow (11), + stormDamage (12), + subsidence (13), + burstPipe (14), + burstWaterMain (15), + fallenPowerCables (16), + snowDrifts (17) +} (0..255) + +/** + * This DE represents the quality level of provided information. + * + * The value shall be set to: + * - `0` if the information is unavailable, + * - `1` if the quality level is lowest, + * - `n` (`n > 1` and `n < 7`) if the quality level is n, + * - `7` if the quality level is highest. + * + * @note: Definition of quality level is out of scope of the present document. + * @category: Basic information + * @revision: Editorial update in V2.1.1 + */ +InformationQuality ::= INTEGER (0..7) + +/** + * This DE defines the type of an interference management zone, so that an ITS-S can + * assert the actions to do while passing by such zone (e.g. reduce the transmit power in case of a DSRC tolling station). + * It is an extension of the type @ref ProtectedZoneType. + * + * The value shall be set to: + * - 0 - `permanentCenDsrcTolling` - as specified in ETSI TS 102 792 [14], + * - 1 - `temporaryCenDsrcTolling` - as specified in ETSI TS 102 792 [14], + * - 2 - `unavailable` - default value. Set to 2 for backwards compatibility with DSRC tolling, + * - 3 - `urbanRail` - as specified in ETSI TS 103 724 [13], clause 7, + * - 4 - `satelliteStation` - as specified in ETSI TS 103 724 [13], clause 7, + * - 5 - `fixedLinks` - as specified in ETSI TS 103 724 [13], clause 7. + * + * @category: Communication information + * @revision: Created in V2.1.1 + */ +InterferenceManagementZoneType ::= ENUMERATED { + permanentCenDsrcTolling (0), + temporaryCenDsrcTolling (1), + unavailable (2), + urbanRail (3), + satelliteStation (4), + fixedLinks (5), + ... +} + +/** + * This DE represents the vehicle type according to ISO 3833 [22]. + * A "term No" refers to the number of the corresponding term and its definition in ISO 3833. + * + * The value shall be set to: + * - 0 - `passengerCar` - term No 3.1.1 + * - 1 - `saloon` - term No 3.1.1.1 (sedan) + * - 2 - `convertibleSaloon` - term No 3.1.1.2 + * - 3 - `pullmanSaloon` - term No 3.1.1.3 + * - 4 - `stationWagon` - term No 3.1.1.4 + * - 5 - `truckStationWagon` - term No 3.1.1.4.1 + * - 6 - `coupe` - term No 3.1.1.5 (coupe) + * - 7 - `convertible` - term No 3.1.1.6 (open tourer, roadstar, spider) + * - 8 - `multipurposePassengerCar` - term No 3.1.1.7 + * - 9 - `forwardControlPassengerCar`- term No 3.1.1.8 + * - 10 - `specialPassengerCar` - term No 3.1.1.9 + * - 11 - `bus` - term No 3.1.2 + * - 12 - `minibus` - term No 3.1.2.1 + * - 13 - `urbanBus` - term No 3.1.2.2 + * - 14 - `interurbanCoach` - term No 3.1.2.3 + * - 15 - `longDistanceCoach` - term No 3.1.2.4 + * - 16 - `articulatedBus` - term No 3.1.2.5 + * - 17 - `trolleyBus ` - term No 3.1.2.6 + * - 18 - `specialBus` - term No 3.1.2.7 + * - 19 - `commercialVehicle` - term No 3.1.3 + * - 20 - `specialCommercialVehicle` - term No 3.1.3.1 + * - 21 - `specialVehicle` - term No 3.1.4 + * - 22 - `trailingTowingVehicle` - term No 3.1.5 (draw-bar tractor) + * - 23 - `semiTrailerTowingVehicle` - term No 3.1.6 (fifth wheel tractor) + * - 24 - `trailer` - term No 3.2.1 + * - 25 - `busTrailer` - term No 3.2.1.1 + * - 26 - `generalPurposeTrailer` - term No 3.2.1.2 + * - 27 - `caravan` - term No 3.2.1.3 + * - 28 - `specialTrailer` - term No 3.2.1.4 + * - 29 - `semiTrailer` - term No 3.2.2 + * - 30 - `busSemiTrailer` - term No 3.2.2.1 + * - 31 - `generalPurposeSemiTrailer` - term No 3.2.2.2 + * - 32 - `specialSemiTrailer` - term No 3.2.2.3 + * - 33 - `roadTrain` - term No 3.3.1 + * - 34 - `passengerRoadTrain` - term No 3.3.2 + * - 35 - `articulatedRoadTrain` - term No 3.3.3 + * - 36 - `doubleRoadTrain` - term No 3.3.4 + * - 37 - `compositeRoadTrain` - term No 3.3.5 + * - 38 - `specialRoadTrain` - term No 3.3.6 + * - 39 - `moped` - term No 3.4 + * - 40 - `motorCycle` - term No 3.5 + * - 41-255 - reserved for future use + * + * @category: Vehicle information + * @revision: Created in V2.1.1 + */ +Iso3833VehicleType ::= INTEGER { + passengerCar (0), + saloon (1), + convertibleSaloon (2), + pullmanSaloon (3), + stationWagon (4), + truckStationWagon (5), + coupe (6), + convertible (7), + multipurposePassengerCar (8), + forwardControlPassengerCar (9), + specialPassengerCar (10), + bus (11), + minibus (12), + urbanBus (13), + interurbanCoach (14), + longDistanceCoach (15), + articulatedBus (16), + trolleyBus (17), + specialBus (18), + commercialVehicle (19), + specialCommercialVehicle (20), + specialVehicle (21), + trailingTowingVehicle (22), + semiTrailerTowingVehicle (23), + trailer (24), + busTrailer (25), + generalPurposeTrailer (26), + caravan (27), + specialTrailer (28), + semiTrailer (29), + busSemiTrailer (30), + generalPurposeSemiTrailer (31), + specialSemiTrailer (32), + roadTrain (33), + passengerRoadTrain (34), + articulatedRoadTrain (35), + doubleRoadTrain (36), + compositeRoadTrain (37), + specialRoadTrain (38), + moped (39), + motorCycle (40) + } (0..255) + +/** + * This DE represent the identifier of an organization according to the applicable registry. + * + * @category: Basic information + * @revision: Created in V2.2.1 based on ISO 14816 [23] +*/ +IssuerIdentifier ::= INTEGER(0 .. 16383) + +/** + * This DE represents the identifier of the IVIM. + * + * @category: Basic information + * @revision: Created in V2.2.1 based on ETSI TS 103 301 [15] +*/ +IviIdentificationNumber::= INTEGER(1..32767,..., 8388607) + +/** + * This DE indicates a transversal position on the carriageway at a specific longitudinal position, in resolution of lanes of the carriageway. + * + * For right-hand traffic roads, the value shall be set to: + * - `-1` if the position is off, i.e. besides the road, + * - `0` if the position is on the inner hard shoulder, i.e. the hard should adjacent to the leftmost lane, + * - `n` (`n > 0` and `n < 14`), if the position is on the n-th driving lane counted from the leftmost lane to the rightmost lane of a specific traffic direction, + * - `14` if the position is on the outer hard shoulder, i.e. the hard should adjacent to rightmost lane (if present). + * + * For left-hand traffic roads, the value shall be set to: + * - `-1` if the position is off, i.e. besides the road, + * - `0` if the position is on the inner hard shoulder, i.e. the hard should adjacent to the rightmost lane, + * - `n` (`n > 0` and `n < 14`), if the position is on the n-th driving lane counted from the rightmost lane to the leftmost lane of a specific traffic direction, + * - `14` if the position is on the outer hard shoulder, i.e. the hard should adjacent to leftmost lane (if present). + * + * @note: in practice this means that the position is counted from "inside" to "outside" no matter which traffic practice is used. + * + * If the carriageway allows only traffic in one direction (e.g. in case of dual or multiple carriageway roads), the position is counted from the physical border of the carriageway. + * If the carriageway allows traffic in both directions and there is no physical delimitation between traffic directions (e.g. on a single carrriageway road), + * the position is counted from the legal (i.e. optical) separation between traffic directions (horizontal marking). + * + * If not indicated otherwise (by lane markings or traffic signs), the legal separation on carriageways allowing traffic on both directions is identified as follows: + * - If the total number of lanes N is even, the lanes are divided evenly between the traffic directions starting from the outside of the carriageway on both sides and the + * imaginary separation between traffic directions is on the border between the even number of lanes N/2. + * - If the total number of lanes N is odd, the lanes are divided evenly between traffic direction starting from the outside of the carriageway on both sides. + * The remaining middle lane is assigned to both traffic directions as innermost lane. + * + * @category: Road topology information + * @revision: Description of the legal separation of carriageways added in V2.2.1 +*/ +LanePosition ::= INTEGER { + offTheRoad (-1), + innerHardShoulder (0), + outerHardShoulder (14) +} (-1..14) + +/** + * This DE represents the type of a lane. + * + * The value shall be set to: + * - 0 - `traffic` - Lane dedicated to the movement of vehicles, + * - 1 - `through` - Lane dedicated to the movement of vehicles travelling ahead and not turning, + * - 2 - `reversible` - Lane where the direction of traffic can be changed to match the peak flow, + * - 3 - `acceleration` - Lane that allows vehicles entering a road to accelerate to the speed of through traffic before merging with it, + * - 4 - `deceleration` - Lane that allows vehicles exiting a road to decelerate before leaving it, + * - 5 - `leftHandTurning` - Lane reserved for slowing down and making a left turn, so as not to disrupt traffic, + * - 6 - `rightHandTurning` - Lane reserved for slowing down and making a right turn so as not to disrupt traffic, + * - 7 - `dedicatedVehicle` - Lane dedicated to movement of motor vehicles with specific characteristics, such as heavy goods vehicles, etc., + * - 8 - `bus` - Lane dedicated to movement of buses providing public transport, + * - 9 - `taxi` - Lane dedicated to movement of taxis, + * - 10 - `hov` - Carpooling lane or high occupancy vehicle lane, + * - 11 - `hot` - High occupancy vehicle lanes that is allowed to be used without meeting the occupancy criteria by paying a toll, + * - 12 - `pedestrian` - Lanes dedicated to pedestrians such as pedestrian sidewalk paths, + * - 13 - `cycleLane` - Lane dedicated to exclusive or preferred use by bicycles, + * - 14 - `median` - Lane not dedicated to movement of vehicles but representing a median / central reservation such as the central median, + separating the two directional carriageways of the highway, + * - 15 - `striping` - Lane not dedicated to movement of vehicles but covered with roadway markings, + * - 16 - `trackedVehicle` - Lane dedicated to movement of trains, trams and trolleys, + * - 17 - `parking` - Lanes dedicated to vehicles parking, stopping and loading lanes, + * - 18 - `emergency` - Lane dedicated to vehicles in breakdown or to emergency vehicles also called hard shoulder, + * - 19 - `verge` - Lane representing the verge, i.e. a narrow strip of grass or plants and sometimes also trees located between + the road surface edge and the boundary of a road, + * - 20 `minimumRiskManoeuvre` - Lane dedicated to automated vehicles making a minimum risk manoeuvre, + * - 21 `separatedCycleLane` - Lane dedicated to exclusive or preferred use by bicycles that is phyisically separated from the vehicle-traffic lanes, e.g. by a verge. + * - values 22 to 30 reserved for future use. + * + * @category: Road topology information + * @revision: Created in V2.1.1, named value 21 added in V2.2.1 +*/ +LaneType::= INTEGER{ + traffic (0), + through (1), + reversible (2), + acceleration (3), + deceleration (4), + leftHandTurning (5), + rightHandTurning (6), + dedicatedVehicle (7), + bus (8), + taxi (9), + hov (10), + hot (11), + pedestrian (12), + cycleLane (13), + median (14), + striping (15), + trackedVehicle (16), + parking (17), + emergency (18), + verge (19), + minimumRiskManoeuvre (20), + exclusiveCycleLane (21), + unknown (31) +}(0..31) + +/** + * This DE represents the width of a lane measured at a defined position. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 1022`) if the lane width information is equal to or less than n x 0,01 metre and more than (n-1) x 0,01 metre, + * - `1022` if the lane width is out of range, i.e. greater than 10,21 m, + * - `1023` if the lane width information is not available. + * + * The value 0 shall not be used. + * + * @unit: 0,01 metre + * @category: Road topology information + * @revision: Created in V2.1.1 + */ +LaneWidth::= INTEGER (0..1023) + +/** + * This DE represents the absolute geographical latitude in a WGS84 coordinate system, providing a range of 90 degrees in north or + * in south hemisphere. + * The specific WGS84 coordinate system is specified by the corresponding standards applying this DE. + * + * The value shall be set to: + * - `n` (`n >= -900 000 000` and `n < 0`) x 10^-7 degree, i.e. negative values for latitudes south of the Equator, + * - `0` is used for the latitude of the equator, + * - `n` (`n > 0` and `n < 900 000 001`) x 10^-7 degree, i.e. positive values for latitudes north of the Equator, + * - `900 000 001` when the information is unavailable. + * + * @unit: 10^-7 degree + * @category: GeoReference information + * @revision: Editorial update in V2.1.1 + */ +Latitude ::= INTEGER { + unavailable(900000001) +} (-900000000..900000001) + +/** + * This DE represents the vehicle acceleration at lateral direction in the centre of the mass of the empty vehicle. + * It corresponds to the vehicle coordinate system as specified in ISO 8855 [21]. + * + * The value shall be set to: + * - `-160` for acceleration values equal to or less than -16 m/s^2, + * - `n` (`n > -160` and `n <= 0`) to indicate that the vehicle is accelerating towards the right side with regards to the vehicle orientation + * with acceleration equal to or less than n x 0,1 m/s^2 and greater than (n-1) x 0,1 m/s^2, + * - `n` (`n > 0` and `n < 160`) to indicate that the vehicle is accelerating towards the left hand side with regards to the vehicle orientation + with acceleration equal to or less than n x 0,1 m/s^2 and greater than (n-1) x 0,1 m/s^2, + * - `160` for acceleration values greater than 15,9 m/s^2, + * - `161` when the data is unavailable. + * + * @note: the empty load vehicle is defined in ISO 1176 [8], clause 4.6. + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use @ref AccelerationValue instead. + * + * @unit: 0,1 m/s^2 + * @category: Vehicle information + * @revision: Description updated in V2.1.1 (the meaning of 160 has changed slightly). + */ +LateralAccelerationValue ::= INTEGER { + negativeOutOfRange (-160), + positiveOutOfRange (160), + unavailable (161) +} (-160 .. 161) + +/** + * This DE indicates the status of light bar and any sort of audible alarm system besides the horn. + * This includes various common sirens as well as backup up beepers and other slow speed manoeuvring alerts. + * + * The corresponding bit shall be set to 1 under the following conditions: + * - 0 - `lightBarActivated` - when the light bar is activated, + * - 1 - `sirenActivated` - when the siren is activated. + * + * Otherwise, it shall be set to 0. + * + * @category Vehicle information + * @revision: Editorial update in V2.1.1 + */ +LightBarSirenInUse ::= BIT STRING { + lightBarActivated (0), + sirenActivated (1) +} (SIZE(2)) + +/** + * This DE represents the absolute geographical longitude in a WGS84 coordinate system, providing a range of 180 degrees + * to the east or to the west of the prime meridian. + * The specific WGS84 coordinate system is specified by the corresponding standards applying this DE. + * + * The value shall be set to: + * - `n` (`n > -1 800 000 000` and `n < 0`) x 10^-7 degree, i.e. negative values for longitudes to the west, + * - `0` to indicate the prime meridian, + * - `n` (`n > 0` and `n < 1 800 000 001`) x 10^-7 degree, i.e. positive values for longitudes to the east, + * - `1 800 000 001` when the information is unavailable. + * + * The value -1 800 000 000 shall not be used. + * + * @unit: 10^-7 degree + * @category: GeoReference information + * @revision: Description revised in V2.1.1 + */ +Longitude ::= INTEGER { + valueNotUsed (-1800000000), + unavailable (1800000001) +} (-1800000000..1800000001) + + /** + * This DE represents the vehicle acceleration at longitudinal direction in the centre of the mass of the empty vehicle. + * The value shall be provided in the vehicle coordinate system as defined in ISO 8855 [21], clause 2.11. + * + * The value shall be set to: + * - `-160` for acceleration values equal to or less than -16 m/s^2, + * - `n` (`n > -160` and `n <= 0`) to indicate that the vehicle is braking with acceleration equal to or less than n x 0,1 m/s^2, and greater than (n-1) x 0,1 m/s^2 + * - `n` (`n > 0` and `n < 160`) to indicate that the vehicle is accelerating with acceleration equal to or less than n x 0,1 m/s^2, and greater than (n-1) x 0,1 m/s^2, + * - `160` for acceleration values greater than 15,9 m/s^2, + * - `161` when the data is unavailable. + * + * This acceleration is along the tangent plane of the road surface and does not include gravity components. + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use @ref AccelerationValue instead. + * + * @note: The empty load vehicle is defined in ISO 1176 [8], clause 4.6. + * @unit: 0,1 m/s^2 + * @category: Vehicle information + * @revision: description revised in V2.1.1 (the meaning of 160 has changed slightly). T + */ +LongitudinalAccelerationValue::= INTEGER { + negativeOutOfRange (-160), + positiveOutOfRange (160), + unavailable (161) +} (-160 .. 161) + +/** + * This DE represents the longitudinal offset of a map-matched position along a matched lane, beginning from the lane's starting point. + * + * The value shall be set to: + * - `n` (`n >= 0` and `n < 32766`) if the longitudinal offset information is equal to or less than n x 0,1 metre and more than (n-1) x 0,1 metre, + * - `32 766` if the longitudinal offset is out of range, i.e. greater than 3276,5 m, + * - `32 767` if the longitudinal offset information is not available. + * + * @unit 0,1 metre + * @category: GeoReference information + * @revision: Created in V2.1.1 +*/ +LongitudinalLanePositionValue ::= INTEGER { + outOfRange(32766), + unavailable(32767) +}(0..32767) + +/** + * This DE indicates the longitudinal lane position confidence value which represents the estimated accuracy of longitudinal lane position measurement with a default confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 1 022`) if the confidence value is equal to or less than n x 0,1 m, and more than (n-1) x 0,1 m, + * - `1 022` if the confidence value is out of range i.e. greater than 102,1 m, + * - `1 023` if the confidence value is unavailable. + * + * @unit 0,1 metre + * @category: GeoReference information + * @revision: Created in V2.1.1 +*/ +LongitudinalLanePositionConfidence ::= INTEGER { + outOfRange (1022), + unavailable (1023) +} (0..1023) + +/** + * This DE indicates the components of an @ref PerceivedObject that are included in the @ref LowerTriangularPositiveSemidefiniteMatrix. + * + * The corresponding bit shall be set to 1 if the component is included: + * - 0 - `xCoordinate` - when the component xCoordinate of the component @ref CartesianPosition3dWithConfidence is included, + * - 1 - `yCoordinate` - when the component yCoordinate of the component @ref CartesianPosition3dWithConfidence is included, + * - 2 - `zCoordinate` - when the component zCoordinate of the component @ref CartesianPosition3dWithConfidence is included, + * - 3 - `xVelocityOrVelocityMagnitude` - when the component xVelocity of the component @ref VelocityCartesian or the component VelocityMagnitude of the component @ref VelocityPolarWithZ is included, + * - 4 - `yVelocityOrVelocityDirection` - when the component yVelocity of the component @ref VelocityCartesian or the component VelocityDirection of the component @ref VelocityPolarWithZ is included, + * - 5 - `zVelocity` - when the component zVelocity of the component @ref VelocityCartesian or of the component @ref VelocityPolarWithZ is included, + * - 6 - `xAccelOrAccelMagnitude` - when the component xAcceleration of the component @ref AccelerationCartesian or the component AccelerationMagnitude of the component @ref AccelerationPolarWithZ is included, + * - 7 - `yAccelOrAccelDirection` - when the component yAcceleration of the component @ref AccelerationCartesian or the component AccelerationDirection of the component @ref AccelerationPolarWithZ is included, + * - 8 - `zAcceleration` - when the component zAcceleration of the component @ref AccelerationCartesian or of the component @ref AccelerationPolarWithZ is included, + * - 9 - `zAngle` - when the component zAngle is included, + * - 10 - `yAngle` - when the component yAngle is included, + * - 11 - `xAngle` - when the component xAngle is included, + * - 12 - `zAngularVelocity` - when the component zAngularVelocity is included. + * + * Otherwise, it shall be set to 0. + * + * @category: Sensing information + * @revision: Created in V2.1.1 + */ +MatrixIncludedComponents::= BIT STRING{ + xPosition (0), + yPosition (1), + zPosition (2), + xVelocityOrVelocityMagnitude (3), + yVelocityOrVelocityDirection (4), + zSpeed (5), + xAccelOrAccelMagnitude (6), + yAccelOrAccelDirection (7), + zAcceleration (8), + zAngle (9), + yAngle (10), + xAngle (11), + zAngularVelocity (12) +} (SIZE(13,...)) + +/** + * This DE represents the type of facility layer message. + * + * The value shall be set to: + * - 1 - `denm` - for Decentralized Environmental Notification Message (DENM) as specified in ETSI EN 302 637-3 [2], + * - 2 - `cam` - for Cooperative Awareness Message (CAM) as specified in ETSI EN 302 637-2 [1], + * - 3 - `poim` - for Point of Interest message as specified in ETSI TS 103 916 [9], + * - 4 - `spatem` - for Signal Phase And Timing Extended Message (SPATEM) as specified in ETSI TS 103 301 [15], + * - 5 - `mapem` - for MAP Extended Message (MAPEM) as specified in ETSI TS 103 301 [15], + * - 6 - `ivim` - for in Vehicle Information Message (IVIM) as specified in ETSI TS 103 301 [15], + * - 7 - `rfu1` - reserved for future usage, + * - 8 - `rfu2` - reserved for future usage, + * - 9 - `srem` - for Signal Request Extended Message as specified in ETSI TS 103 301 [15], + * - 10 - `ssem` - for Signal request Status Extended Message as specified in ETSI TS 103 301 [15], + * - 11 - `evcsn` - for Electrical Vehicle Charging Spot Notification message as specified in ETSI TS 101 556-1 [9], + * - 12 - `saem` - for Services Announcement Extended Message as specified in ETSI EN 302 890-1 [17], + * - 13 - `rtcmem` - for Radio Technical Commission for Maritime Services Extended Message (RTCMEM) as specified in ETSI TS 103 301 [15], + * - 14 - `cpm` - reserved for Collective Perception Message (CPM), + * - 15 - `imzm` - for Interference Management Zone Message (IMZM) as specified in ETSI TS 103 724 [13], + * - 16 - `vam` - for Vulnerable Road User Awareness Message as specified in ETSI TS 130 300-3 [12], + * - 17 - `dsm` - reserved for Diagnosis, logging and Status Message, + * - 18 - `pcim` - reserved for Parking Control Infrastructure Message, + * - 19 - `pcvm` - reserved for Parking Control Vehicle Message, + * - 20 - `mcm` - reserved for Manoeuvre Coordination Message, + * - 21 - `pam` - reserved for Parking Availability Message, + * - 22-255 - reserved for future usage. + * + * @category: Communication information + * @revision: Created in V2.1.1 from @ref ItsPduHeader. Value 3 re-assigned to poim and value 7 and 8 reserved in V2.2.1 + */ +MessageId::= INTEGER { + denm (1), + cam (2), + poim (3), + spatem (4), + mapem (5), + ivim (6), + rfu1 (7), + rfu2 (8), + srem (9), + ssem (10), + evcsn (11), + saem (12), + rtcmem (13), + cpm (14), + imzm (15), + vam (16), + dsm (17), + pcim (18), + pcvm (19), + mcm (20), + pam (21) +} (0..255) + +/** + * This DE represents the number of occupants in a vehicle. + * + * The value shall be set to: + * - `n` (`n >= 0` and `n < 126`) for the number n of occupants, + * - `126` for values equal to or higher than 125, + * - `127` if information is not available. + * + * @unit: 1 person + * @category: Vehicle information + * @revision: Editorial update in V2.1.1 + */ +NumberOfOccupants ::= INTEGER { + outOfRange (126), + unavailable (127) +} (0 .. 127) + +/** + * This DE represents a single-value indication about the overall information quality of a perceived object. + * + * The value shall be set to: + * - `0` : if there is no confidence in detected object, e.g. for "ghost"-objects or if confidence could not be computed, + * - `n` (`n > 0` and `n < 15`) : for the applicable confidence value, + * - `15` : if there is full confidence in the detected Object. + * + * @unit n/a + * @category: Sensing information + * @revision: Created in V2.1.1 +*/ +ObjectPerceptionQuality ::= INTEGER { + noConfidence (0), + fullConfidence (15) +} (0..15) + +/** + * This DE represents a single dimension of an object. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 255`) if the accuracy is equal to or less than n x 0,1 m, and more than (n-1) x 0,1 m, + * - `255` if the accuracy is out of range i.e. greater than 25,4 m, + * - `256` if the data is unavailable. + * + * @unit 0,1 m + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +ObjectDimensionValue ::= INTEGER { + outOfRange (255), + unavailable (256) +}(1..256) + +/** + * This DE indicates the object dimension confidence value which represents the estimated absolute accuracy of an object dimension value with a default confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 31`) if the confidence value is equal to or less than n x 0,1 metre, and more than (n-1) x 0,1 metre, + * - `31` if the confidence value is out of range i.e. greater than 3,0 m, + * - `32` if the confidence value is unavailable. + * + * @unit 0,1 m + * @category: Sensing information + * @revision: Created in V2.1.1 +*/ +ObjectDimensionConfidence ::= INTEGER { + outOfRange (31), + unavailable (32) +} (1..32) + +/** + * This DE indicates the face or part of a face of a solid object. + * + * The object is modelled as a rectangular prism that has a length that is greater than its width, with the faces of the object being defined as: + * - front: the face defined by the prism's width and height, and which is the first face in direction of longitudinal movement of the object, + * - back: the face defined by the prism's width and height, and which is the last face in direction of longitudinal movement of the object, + * - side: the faces defined by the prism's length and height with "left" and "right" defined by looking at the front face and "front" and "back" defined w.r.t to the front and back faces. + * + * Note: It is permissible to derive the required object dimensions and orientation from models to provide a best guess. + * + * @category: Basic information + * @revision: V2.1.1 +*/ +ObjectFace ::= ENUMERATED { + front (0), + sideLeftFront (1), + sideLeftBack (2), + sideRightFront (3), + sideRightBack (4), + back (5) +} + +/** + * This DE represents a time period to describe the opening days and hours of a Point of Interest. + * (for example local commerce). + * + * @category: Basic information + * @revision: V1.3.1 + */ +OpeningDaysHours ::= UTF8String + +/** + * The DE represents an ordinal number that indicates the position of an element in a set. + * + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +OrdinalNumber1B ::= INTEGER(0..255) + + +/** + * The DE represents an ordinal number that indicates the position of an element in a set. + * + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +OrdinalNumber3b ::= INTEGER(1..8) + +/** + * This DE indicates the subclass of a detected object for @ref ObjectClass "otherSubclass". + * + * The value shall be set to: + * - `0` - unknown - if the subclass is unknown. + * - `1` - singleObject - if the object is a single object. + * - `2` - multipleObjects - if the object is a group of multiple objects. + * - `3` - bulkMaterial - if the object is a bulk material. + * + * @category: Sensing information + * @revision: Created in V2.1.1 + */ +OtherSubClass ::= INTEGER { + unknown (0), + singleObject (1), + multipleObjects (2), + bulkMaterial (3) +} (0..255) + +/** + * This DE represents the recorded or estimated travel time between a position and a predefined reference position. + * + * @unit 0,01 second + * @category: Basic information + * @revision: V1.3.1 + */ +PathDeltaTime ::= INTEGER (1..65535, ...) + +/** + * This DE indicates an ordinal number that represents the position of a component in the list of @ref Traces or @ref TracesExtended. + * + * The value shall be set to: + * - `0` - noPath - if no path is identified + * - `1..7` - for instances 1..7 of @ref Traces + * - `8..14` - for instances 1..7 of @ref TracesExtended. + * + * @category: Road topology information + * @revision: Created in V2.2.1 +*/ +PathId ::= INTEGER { + noPath (0), + path1 (1), + path2 (2), + path3 (3), + path4 (4), + path5 (5), + path6 (6), + path7 (7), + pathExtended1 (8), + pathExtended2 (9), + pathExtended3 (10), + pathExtended4 (11), + pathExtended5 (12), + pathExtended6 (13), + pathExtended7 (14) +} (0..14) + +/** + * This DE denotes the ability of an ITS-S to provide up-to-date information. + * A performance class value is used to describe age of data. The exact values are out of scope of the present document. + * + * The value shall be set to: + * - `0` if the performance class is unknown, + * - `1` for performance class A as defined in ETSI TS 101 539-1 [5], + * - `2` for performance class B as defined in ETSI TS 101 539-1 [5], + * - 3-7 reserved for future use. + * + * @category: Vehicle information + * @revision: Editorial update in V2.1.1 + */ +PerformanceClass ::= INTEGER { + unavailable (0), + performanceClassA (1), + performanceClassB (2) +} (0..7) + +/** + * This DE represents a telephone number + * + * @category: Basic information + * @revision: V1.3.1 + */ +PhoneNumber ::= NumericString (SIZE(1..16)) + +/** + * This DE indicates the perpendicular distance from the centre of mass of an empty load vehicle to the front line of + * the vehicle bounding box of the empty load vehicle. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 62`) for any aplicable value n between 0,1 metre and 6,2 metres, + * - `62` for values equal to or higher than 6.1 metres, + * - `63` if the information is unavailable. + * + * @note: The empty load vehicle is defined in ISO 1176 [8], clause 4.6. + * + * @unit 0,1 metre + * @category Vehicle information + * @revision: description revised in V2.1.1 (the meaning of 62 has changed slightly) + */ +PosCentMass ::= INTEGER { + tenCentimetres (1), + outOfRange (62), + unavailable (63) +} (1..63) + +/** + * This DE indicates the positioning technology being used to estimate a geographical position. + * + * The value shall be set to: + * - 0 `noPositioningSolution` - no positioning solution used, + * - 1 `sGNSS` - Global Navigation Satellite System used, + * - 2 `dGNSS` - Differential GNSS used, + * - 3 `sGNSSplusDR` - GNSS and dead reckoning used, + * - 4 `dGNSSplusDR` - Differential GNSS and dead reckoning used, + * - 5 `dR` - dead reckoning used, + * - 6 `manuallyByOperator` - position set manually by a human operator. + * + * @category: GeoReference information + * @revision: V1.3.1, extension with value 6 added in V2.2.1 + */ +PositioningSolutionType ::= ENUMERATED { + noPositioningSolution (0), + sGNSS (1), + dGNSS (2), + sGNSSplusDR (3), + dGNSSplusDR (4), + dR (5), + ..., + manuallyByOperator (6) +} + +/** + * This DE indicates whether a passenger seat is occupied or whether the occupation status is detectable or not. + * + * The number of row in vehicle seats layout is counted in rows from the driver row backwards from front to the rear + * of the vehicle. + * The left side seat of a row refers to the left hand side seen from vehicle rear to front. + * Additionally, a bit is reserved for each seat row, to indicate if the seat occupation of a row is detectable or not, + * i.e. `row1NotDetectable (3)`, `row2NotDetectable(8)`, `row3NotDetectable(13)` and `row4NotDetectable(18)`. + * Finally, a bit is reserved for each row seat to indicate if the seat row is present or not in the vehicle, + * i.e. `row1NotPresent (4)`, `row2NotPresent (9)`, `row3NotPresent(14)`, `row4NotPresent(19)`. + * + * When a seat is detected to be occupied, the corresponding seat occupation bit shall be set to `1`. + * For example, when the row 1 left seat is occupied, `row1LeftOccupied(0)` bit shall be set to `1`. + * When a seat is detected to be not occupied, the corresponding seat occupation bit shall be set to `0`. + * Otherwise, the value of seat occupation bit shall be set according to the following conditions: + * - If the seat occupation of a seat row is not detectable, the corresponding bit shall be set to `1`. + * When any seat row not detectable bit is set to `1`, all corresponding seat occupation bits of the same row + * shall be set to `1`. + * - If the seat row is not present, the corresponding not present bit of the same row shall be set to `1`. + * When any of the seat row not present bit is set to `1`, the corresponding not detectable bit for that row + * shall be set to `1`, and all the corresponding seat occupation bits in that row shall be set to `0`. + * + * @category: Vehicle information + * @revision: V1.3.1 + */ +PositionOfOccupants ::= BIT STRING { + row1LeftOccupied (0), + row1RightOccupied (1), + row1MidOccupied (2), + row1NotDetectable (3), + row1NotPresent (4), + row2LeftOccupied (5), + row2RightOccupied (6), + row2MidOccupied (7), + row2NotDetectable (8), + row2NotPresent (9), + row3LeftOccupied (10), + row3RightOccupied (11), + row3MidOccupied (12), + row3NotDetectable (13), + row3NotPresent (14), + row4LeftOccupied (15), + row4RightOccupied (16), + row4MidOccupied (17), + row4NotDetectable (18), + row4NotPresent (19) +} (SIZE(20)) + +/** + * This DE indicates the perpendicular distance between the vehicle front line of the bounding box and the front wheel axle in 0,1 metre. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 19`) for any aplicable value between 0,1 metre and 1,9 metres, + * - `19` for values equal to or higher than 1.8 metres, + * - `20` if the information is unavailable. + * + * @category: Vehicle information + * @unit 0,1 metre + * @revision: description revised in V2.1.1 (the meaning of 19 has changed slightly) + */ +PosFrontAx ::= INTEGER { + outOfRange (19), + unavailable(20) +} (1..20) + +/** + * This DE represents a position along a single dimension such as the middle of a road or lane, measured as an offset from an externally defined starting point, + * in direction of an externally defined reference direction. + * + * The value shall be set to: + * - `n` (`n >= -8190` and `n < 0`) if the position is equal to or less than n x 1 metre and more than (n-1) x 1 metre, in opposite direction of the reference direction, + * - `0` if the position is at the starting point, + * - `n` (`n > 0` and `n < 8190`) if the position is equal to or less than n x 1 metre and more than (n-1) x 1 metre, in the same direction as the reference direction, + * - `8 190` if the position is out of range, i.e. equal to or greater than 8 189 m, + * - `8 191` if the position information is not available. + * + * @unit 1 metre + * @category: GeoReference information + * @revision: Created in V2.2.1 + */ +Position1d ::= INTEGER { + outOfRange(8190), + unavailable(8191) +}(-8190..8191) + +/** + * This DE represents the distance from the centre of vehicle front bumper to the right or left longitudinal carrier of vehicle. + * The left/right carrier refers to the left/right as seen from a passenger sitting in the vehicle. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 126`) for any aplicable value between 0,01 metre and 1,26 metres, + * - `126` for values equal to or higher than 1.25 metres, + * - `127` if the information is unavailable. + * + * @unit 0,01 metre + * @category Vehicle information + * @revision: description revised in V2.1.1 (the meaning of 126 has changed slightly) + */ +PosLonCarr ::= INTEGER { + outOfRange (126), + unavailable (127) +} (1..127) + +/** + * This DE represents the perpendicular inter-distance of neighbouring pillar axis of vehicle starting from the + * middle point of the front line of the vehicle bounding box. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 29`) for any aplicable value between 0,1 metre and 2,9 metres, + * - `29` for values equal to or greater than 2.8 metres, + * - `30` if the information is unavailable. + * + * @unit 0,1 metre + * @category Vehicle information + * @revision: description revised in V2.1.1 (the meaning of 29 has changed slightly) + */ +PosPillar ::= INTEGER { + outOfRange (29), + unavailable (30) +} (1..30) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `postCrash` . + * + * The value shall be set to: + * - 0 `unavailable` - in case further detailed information on post crash event is unavailable, + * - 1 `accidentWithoutECallTriggered` - in case no eCall has been triggered for an accident, + * - 2 `accidentWithECallManuallyTriggered` - in case eCall has been manually triggered and transmitted to eCall back end, + * - 3 `accidentWithECallAutomaticallyTriggered` - in case eCall has been automatically triggered and transmitted to eCall back end, + * - 4 `accidentWithECallTriggeredWithoutAccessToCellularNetwork` - in case eCall has been triggered but cellular network is not accessible from triggering vehicle. + * - 5-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +PostCrashSubCauseCode ::= INTEGER { + unavailable (0), + accidentWithoutECallTriggered (1), + accidentWithECallManuallyTriggered (2), + accidentWithECallAutomaticallyTriggered (3), + accidentWithECallTriggeredWithoutAccessToCellularNetwork (4) +} (0..255) + +/** +* This DE represent the total amount of rain falling during one hour. It is measured in mm per hour at an area of 1 square metre. +* +* The following values are specified: +* - `n` (`n > 0` and `n < 2000`) if the amount of rain falling is equal to or less than n x 0,1 mm/h and greater than (n-1) x 0,1 mm/h, +* - `2000` if the amount of rain falling is greater than 199.9 mm/h, +* - `2001` if the information is not available. +* +* @unit: 0,1 mm/h +* @category: Basic Information +* @revision: created in V2.1.1 +*/ +PrecipitationIntensity ::= INTEGER { + outOfRange (2000), + unavailable (2001) +} (1..2001) + +/** + * This DE represents the indentifier of a protected communication zone. + * + * + * @category: Infrastructure information, Communication information + * @revision: Revision in V2.1.1 (changed name from ProtectedZoneID to ProtectedZoneId) + */ +ProtectedZoneId ::= INTEGER (0.. 134217727) + +/** + * This DE represents the radius of a protected communication zone. + * + * + * @unit: metre + * @category: Infrastructure information, Communication information + * @revision: V1.3.1 + */ +ProtectedZoneRadius ::= INTEGER (1..255,...) + +/** + * This DE indicates the type of a protected communication zone, so that an ITS-S is aware of the actions to do + * while passing by such zone (e.g. reduce the transmit power in case of a DSRC tolling station). + * + * The protected zone type is defined in ETSI TS 102 792 [14]. + * + * + * @category: Communication information + * @revision: V1.3.1 + */ +ProtectedZoneType::= ENUMERATED { + permanentCenDsrcTolling (0), + ..., + temporaryCenDsrcTolling (1) +} + +/** + * This DE is used for various tasks in the public transportation environment, especially for controlling traffic + * signal systems to prioritize and speed up public transportation in urban area (e.g. intersection "_bottlenecks_"). + * The traffic lights may be controlled by an approaching bus or tram automatically. This permits "_In Time_" activation + * of the green phase, will enable the individual traffic to clear a potential traffic jam in advance. Thereby the + * approaching bus or tram may pass an intersection with activated green light without slowing down the speed due to + * traffic congestion. Other usage of the DE is the provision of information like the public transport line number + * or the schedule delay of a public transport vehicle. + * + * @category: Vehicle information + * @revision: V1.3.1 + */ +PtActivationData ::= OCTET STRING (SIZE(1..20)) + +/** + * This DE indicates a certain coding type of the PtActivationData data. + * + * The folowing value are specified: + * - 0 `undefinedCodingType` : undefined coding type, + * - 1 `r09-16CodingType` : coding of PtActivationData conform to VDV recommendation 420 [7], + * - 2 `vdv-50149CodingType` : coding of PtActivationData based on VDV recommendation 420 [7]. + * - 3 - 255 : reserved for alternative and future use. + * + * @category: Vehicle information + * @revision: V1.3.1 + */ +PtActivationType ::= INTEGER { + undefinedCodingType (0), + r09-16CodingType (1), + vdv-50149CodingType (2) +} (0..255) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `railwayLevelCrossing` . + * + * The value shall be set to: + * - 0 `unavailable` - in case no further detailed information on the railway level crossing status is available, + * - 1 `doNotCrossAbnormalSituation` - in case when something wrong is detected by equation or sensors of the railway level crossing, + including level crossing is closed for too long (e.g. more than 10 minutes long ; default value), + * - 2 `closed` - in case the crossing is closed (barriers down), + * - 3 `unguarded` - in case the level crossing is unguarded (i.e a Saint Andrew cross level crossing without detection of train), + * - 4 `nominal` - in case the barriers are up and lights are off. + * - 5-255: reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +RailwayLevelCrossingSubCauseCode ::= INTEGER { + unavailable (0), + doNotCrossAbnormalSituation (1), + closed (2), + unguarded (3), + nominal (4) +} (0..255) + +/** + * This DE describes a distance of relevance for information indicated in a message. + * + * The value shall be set to: + * - 0 `lessThan50m` - for distances below 50 m, + * - 1 `lessThan100m` - for distances below 100 m, + * - 2 `lessThan200m` - for distances below 200 m, + * - 3 `lessThan500m` - for distances below 300 m, + * - 4 `lessThan1000m` - for distances below 1 000 m, + * - 5 `lessThan5km` - for distances below 5 000 m, + * - 6 `lessThan10km` - for distances below 10 000 m, + * - 7 `over10km` - for distances over 10 000 m. + * + * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref StandardLength3b instead. + * + * @category: GeoReference information + * @revision: Editorial update in V2.1.1 + */ +RelevanceDistance ::= ENUMERATED { + lessThan50m(0), + lessThan100m(1), + lessThan200m(2), + lessThan500m(3), + lessThan1000m(4), + lessThan5km(5), + lessThan10km(6), + over10km(7) +} + +/** + * This DE indicates a traffic direction that is relevant to information indicated in a message. + * + * The value shall be set to: + * - 0 `allTrafficDirections` - for all traffic directions, + * - 1 `upstreamTraffic` - for upstream traffic, + * - 2 `downstreamTraffic` - for downstream traffic, + * - 3 `oppositeTraffic` - for traffic in the opposite direction. + * + * The terms `upstream`, `downstream` and `oppositeTraffic` are relative to the event position. + * + * @note: Upstream traffic corresponds to the incoming traffic towards the event position, + * and downstream traffic to the departing traffic away from the event position. + * + * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref TrafficDirection instead. + * + * @category: GeoReference information + * @revision: Editorial update in V2.1.1 + */ +RelevanceTrafficDirection ::= ENUMERATED { + allTrafficDirections(0), + upstreamTraffic(1), + downstreamTraffic(2), + oppositeTraffic(3) +} + +/** + * This DE indicates whether an ITS message is transmitted as request from ITS-S or a response transmitted from + * ITS-S after receiving request from other ITS-Ss. + * + * The value shall be set to: + * - 0 `request` - for a request message, + * - 1 `response` - for a response message. + * + * @category Communication information + * @revision: Editorial update in V2.1.1 + */ +RequestResponseIndication ::= ENUMERATED { + request (0), + response (1) +} + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `rescueAndRecoveryWorkInProgress` + * + * The value shall be set to: + * - 0 `unavailable` - in case further detailed information on rescue and recovery work is unavailable, + * - 1 `emergencyVehicles` - in case rescue and/or safeguarding work is ongoing by emergency vehicles, i.e. by vehicles that have the absolute right of way, + * - 2 `rescueHelicopterLanding` - in case rescue helicopter is landing, + * - 3 `policeActivityOngoing` - in case police activity is ongoing (only to be used if a more specific sub cause than (1) is needed), + * - 4 `medicalEmergencyOngoing` - in case medical emergency recovery is ongoing (only to be used if a more specific sub cause than (1) is needed), + * - 5 `childAbductionInProgress` - in case a child kidnapping alarm is activated and rescue work is ongoing (only to be used if a more specific sub cause than (1) is needed), + * - 6 `prioritizedVehicle` - in case rescue and/or safeguarding work is ongoing by prioritized vehicles, i.e. by vehicles that have priority but not the absolute right of way, + * - 7 `rescueAndRecoveryVehicle` - in case technical rescue work is ongoing by rescue and recovery vehicles. + * - 8-255: reserved for future usage. + + * + * @category: Traffic information + * @revision: V1.3.1, named values 6 and 7 added in V2.2.1 + */ +RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER { + unavailable (0), + emergencyVehicles (1), + rescueHelicopterLanding (2), + policeActivityOngoing (3), + medicalEmergencyOngoing (4), + childAbductionInProgress (5), + prioritizedVehicle (6), + rescueAndRecoveryVehicle (7) +} (0..255) + + +/** + * This DE indicates an ordinal number that represents the position of a component in the list @ref RoadConfigurationSectionList. + * + * The value shall be set to: + * - `0` - if no road section is identified + * - `1..8` - for instances 1..8 of @ref RoadConfigurationSectionList + * + * @category: Road topology information + * @revision: Created in V2.2.1 +*/ + +RoadSectionId::= INTEGER (0..8, ...) + +/** + * This DE indicates the type of a road segment. + * + * The value shall be set to: + * - 0 `urban-NoStructuralSeparationToOppositeLanes` - for an urban road with no structural separation between lanes carrying traffic in opposite directions, + * - 1 `urban-WithStructuralSeparationToOppositeLanes` - for an urban road with structural separation between lanes carrying traffic in opposite directions, + * - 2 `nonUrban-NoStructuralSeparationToOppositeLanes` - for an non urban road with no structural separation between lanes carrying traffic in opposite directions, + * - 3 `nonUrban-WithStructuralSeparationToOppositeLanes` - for an non urban road with structural separation between lanes carrying traffic in opposite directions. + * + * @category: Road Topology Information + * @revision: Editorial update in V2.1.1 + */ +RoadType ::= ENUMERATED { + urban-NoStructuralSeparationToOppositeLanes (0), + urban-WithStructuralSeparationToOppositeLanes (1), + nonUrban-NoStructuralSeparationToOppositeLanes (2), + nonUrban-WithStructuralSeparationToOppositeLanes (3) +} + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `roadworks`. + * +The value shall be set to: + * - 0 `unavailable` - in case further detailed information on roadworks is unavailable, + * - 1 `majorRoadworks` - in case a major roadworks is ongoing, + * - 2 `roadMarkingWork` - in case a road marking work is ongoing, + * - 3 `slowMovingRoadMaintenance` - in case slow moving road maintenance work is ongoing, + * - 4 `shortTermStationaryRoadworks`- in case a short term stationary roadwork is ongoing, + * - 5 `streetCleaning` - in case a vehicle street cleaning work is ongoing, + * - 6 `winterService` - in case winter service work is ongoing. + * - 7-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +RoadworksSubCauseCode ::= INTEGER { + unavailable (0), + majorRoadworks (1), + roadMarkingWork (2), + slowMovingRoadMaintenance (3), + shortTermStationaryRoadworks (4), + streetCleaning (5), + winterService (6) +} (0..255) + +/** + * This DE indicates if a distance is safe. + * + * The value shall be set to: + * - `FALSE` if the triple {LaD, LoD, VD} < {MSLaD, MSLoD, MSVD} is simultaneously satisfied with confidence level of 90 % or more, + * - `TRUE` otherwise. + * + * @note: the abbreviations used are Lateral Distance (LaD), Longitudinal Distance (LoD) and Vertical Distance (VD) + * and their respective thresholds, Minimum Safe Lateral Distance (MSLaD), Minimum Safe Longitudinal Distance (MSLoD), and Minimum Safe Vertical Distance (MSVD). + * + * @category: Traffic information, Kinematic information + * @revision: created in V2.1.1 +*/ +SafeDistanceIndicator::= BOOLEAN + +/** + * This DE indicates the horizontal position confidence value which represents the estimated absolute position accuracy, in one of the axis direction as defined in a shape of ellipse with a + * confidence level of 95 %. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 4 094`) if the accuracy is equal to or less than n * 0,01 metre, + * - `4 094` if the accuracy is out of range, i.e. greater than 4,093 m, + * - `4 095` if the accuracy information is unavailable. + * + * The value 0 shall not be used. + * + * @note: The fact that a position coordinate value is received with confidence value set to `unavailable(4095)`. + * can be caused by several reasons, such as: + * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor, + * - the sensor cannot calculate the accuracy due to lack of variables, or + * - there has been a vehicle bus (e.g. CAN bus) error. + * In all 3 cases above, the position coordinate value may be valid and used by the application. + * If a position coordinate value is received and its confidence value is set to `outOfRange(4094)`, it means that + * the position coordinate value is not valid and therefore cannot be trusted. Such value is not useful + * for the application. + + * @unit 0,01 metre + * @category: GeoReference Information + * @revision: Description revised in V2.1.1 + */ +SemiAxisLength ::= INTEGER{ + doNotUse (0), + outOfRange (4094), + unavailable (4095) +} (0..4095) + +/** + * This DE indicates the type of sensor. + * + * The value shall be set to: + * - 0 `undefined` - in case the sensor type is undefined. + * - 1 `radar` - in case the sensor is a radar, + * - 2 `lidar` - in case the sensor is a lidar, + * - 3 `monovideo` - in case the sensor is mono video, + * - 4 `stereovision` - in case the sensor is stereo vision, + * - 5 `nightvision` - in case the sensor is night vision, + * - 6 `ultrasonic` - in case the sensor is ultrasonic, + * - 7 `pmd` - in case the sensor is photonic mixing device, + * - 8 `inductionLoop` - in case the sensor is an induction loop, + * - 9 `sphericalCamera` - in case the sensor is a spherical camera, + * - 10 `uwb` - in case the sensor is ultra wide band, + * - 11 `acoustic` - in case the sensor is acoustic, + * - 12 `localAggregation` - in case the information is provided by a system that aggregates information from different local sensors. Aggregation may include fusion, + * - 13 `itsAggregation` - in case the information is provided by a system that aggregates information from other received ITS messages. + * - 14-31 - are reserved for future usage. + * + * @category: Sensing Information + * @revision: created in V2.1.1 +*/ +SensorType ::= INTEGER { + undefined (0), + radar (1), + lidar (2), + monovideo (3), + stereovision (4), + nightvision (5), + ultrasonic (6), + pmd (7), + inductionLoop (8), + sphericalCamera (9), + uwb (10), + acoustic (11), + localAggregation (12), + itsAggregation (13) +} (0..31) + +/** + * This DE indicates the type of sensor(s). + * The corresponding bit shall be set to 1 under the following conditions: + * + * - 0 `undefined` - in case the sensor type is undefined. + * - 1 `radar` - in case the sensor is a radar, + * - 2 `lidar` - in case the sensor is a lidar, + * - 3 `monovideo` - in case the sensor is mono video, + * - 4 `stereovision` - in case the sensor is stereo vision, + * - 5 `nightvision` - in case the sensor is night vision, + * - 6 `ultrasonic` - in case the sensor is ultrasonic, + * - 7 `pmd` - in case the sensor is photonic mixing device, + * - 8 `inductionLoop` - in case the sensor is an induction loop, + * - 9 `sphericalCamera` - in case the sensor is a spherical camera, + * - 10 `uwb` - in case the sensor is ultra wide band, + * - 11 `acoustic` - in case the sensor is acoustic, + * - 12 `localAggregation` - in case the information is provided by a system that aggregates information from different local sensors. Aggregation may include fusion, + * - 13 `itsAggregation` - in case the information is provided by a system that aggregates information from other received ITS messages. + * - 14-15 - are reserved for future usage. + * + * @note: If all bits are set to 0, then no sensor type is used + * + * @category: Sensing Information + * @revision: created in V2.2.1 +*/ +SensorTypes ::= BIT STRING { + undefined (0), + radar (1), + lidar (2), + monovideo (3), + stereovision (4), + nightvision (5), + ultrasonic (6), + pmd (7), + inductionLoop (8), + sphericalCamera (9), + uwb (10), + acoustic (11), + localAggregation (12), + itsAggregation (13) +} (SIZE (16,... )) + +/** + * This DE represents a sequence number. + * + * @category: Basic information + * @revision: V1.3.1 + */ +SequenceNumber ::= INTEGER (0..65535) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `signalViolation`. + * + * The value shall be set to: + * - 0 `unavailable` - in case further detailed information on signal violation event is unavailable, + * - 1 `stopSignViolation` - in case a stop sign violation is detected, + * - 2 `trafficLightViolation` - in case a traffic light violation is detected, + * - 3 `turningRegulationViolation`- in case a turning regulation violation is detected. + * - 4-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +SignalViolationSubCauseCode ::= INTEGER { + unavailable (0), + stopSignViolation (1), + trafficLightViolation (2), + turningRegulationViolation (3) +} (0..255) + +/** + * This DE represents the sub cause codes of the @ref CauseCode "slowVehicle". + * + * The value shall be set to: + * - 0 `unavailable` - in case further detailed information on slow vehicle driving event is + * unavailable, + * - 1 `maintenanceVehicle` - in case of a slow driving maintenance vehicle on the road, + * - 2 `vehiclesSlowingToLookAtAccident`- in case vehicle is temporally slowing down to look at accident, spot, etc., + * - 3 `abnormalLoad` - in case an abnormal loaded vehicle is driving slowly on the road, + * - 4 `abnormalWideLoad` - in case an abnormal wide load vehicle is driving slowly on the road, + * - 5 `convoy` - in case of slow driving convoy on the road, + * - 6 `snowplough` - in case of slow driving snow plough on the road, + * - 7 `deicing` - in case of slow driving de-icing vehicle on the road, + * - 8 `saltingVehicles` - in case of slow driving salting vehicle on the road. + * - 9-255 - are reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +SlowVehicleSubCauseCode ::= INTEGER { + unavailable (0), + maintenanceVehicle (1), + vehiclesSlowingToLookAtAccident (2), + abnormalLoad (3), + abnormalWideLoad (4), + convoy (5), + snowplough (6), + deicing (7), + saltingVehicles (8) +} (0..255) + +/** + * The DE indicates if a vehicle is carrying goods in the special transport conditions. + * + * The corresponding bit shall be set to 1 under the following conditions: + * - 0 `heavyLoad` - the vehicle is carrying goods with heavy load, + * - 1 `excessWidth` - the vehicle is carrying goods in excess of width, + * - 2 `excessLength` - the vehicle is carrying goods in excess of length, + * - 3 `excessHeight` - the vehicle is carrying goods in excess of height. + * + * Otherwise, the corresponding bit shall be set to 0. + * @category Vehicle information + * @revision: Description revised in V2.1.1 + */ +SpecialTransportType ::= BIT STRING { + heavyLoad (0), + excessWidth (1), + excessLength (2), + excessHeight (3) +} (SIZE(4)) + +/** + * This DE indicates the speed confidence value which represents the estimated absolute accuracy of a speed value with a default confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 126`) if the confidence value is equal to or less than n * 0,01 m/s. + * - `126` if the confidence value is out of range, i.e. greater than 1,25 m/s, + * - `127` if the confidence value information is not available. + * + * @note: The fact that a speed value is received with confidence value set to `unavailable(127)` can be caused by several reasons, such as: + * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor, + * - the sensor cannot calculate the accuracy due to lack of variables, or + * - there has been a vehicle bus (e.g. CAN bus) error. + * In all 3 cases above, the speed value may be valid and used by the application. + * + * @note: If a speed value is received and its confidence value is set to `outOfRange(126)`, it means that the speed value is not valid + * and therefore cannot be trusted. Such is not useful for the application. + * + * @unit: 0,01 m/s + * @category: Vehicle information + * @revision: Description revised in V2.1.1 + */ +SpeedConfidence ::= INTEGER { + outOfRange (126), + unavailable (127) +} (1..127) + +/** + * This DE represents a speed limitation applied to a geographical position, a road section or a geographical region. + * + * @unit: km/h + * @category: Infrastructure information, Traffic information + * @revision: V1.3.1 + */ +SpeedLimit ::= INTEGER (1..255) + +/** + * This DE represents a speed value, i.e. the magnitude of the velocity-vector. + * + * The value shall be set to: + * - `0` in a standstill situation. + * - `n` (`n > 0` and `n < 16 382`) if the applicable value is equal to or less than n x 0,01 m/s, and greater than (n-1) x 0,01 m/s, + * - `16 382` for speed values greater than 163,81 m/s, + * - `16 383` if the speed accuracy information is not available. + * + * @note: the definition of standstill is out of scope of the present document. + * + * @unit: 0,01 m/s + * @category: Kinematic information + * @revision: Description revised in V2.1.1 (the meaning of 16382 has changed slightly) +*/ +SpeedValue ::= INTEGER { + standstill (0), + outOfRange (16382), + unavailable (16383) +} (0..16383) + +/** + * This DE indicates the type of stored information. + * + * The corresponding bit shall be set to 1 under the following conditions: + * + * - `0` undefined - in case the stored information type is undefined. + * - `1` staticDb - in case the stored information type is a static database. + * - `2` dynamicDb - in case the stored information type is a dynamic database + * - `3` realTimeDb - in case the stored information type is a real time updated database. + * - `4` map - in case the stored information type is a road topology map. + * - Bits 5 to 7 - are reserved for future use. + * + * @note: If all bits are set to 0, then no stored information type is used + * + * @category: Basic Information + * @revision: created in V2.2.1 +*/ +StoredInformationType::= BIT STRING { + undefined (0), + staticDb (1), + dynamicDb (2), + realTimeDb (3), + map (4) +} (SIZE (8,... )) + +/** + * This DE represents the value of a velocity component in a defined coordinate system. + * + * The value shall be set to: + * - `-16 383` if the velocity is equal to or smaller than -163,83 m/s, + * - `n` (`n > -16 383` and `n < 16 382`) if the applicable value is equal to or less than n x 0,01 m/s, and greater than (n-1) x 0,01 m/s, + * - `16 382` for velocity values equal to or greater than 163,81 m/s, + * - `16 383` if the velocity information is not available. + * + * @unit: 0,01 m/s + * @category: Kinematic information + * @revision: Created in V2.1.1 +*/ +VelocityComponentValue ::= INTEGER { + negativeOutOfRange (-16383), + positiveOutOfRange (16382), + unavailable (16383) +} (-16383..16383) + + +/** + * This DE indicates the estimated probability of a stability level and conversely also the probability of a stability loss. + * + * The value shall be set to: + * - `0` to indicate an estimated probability of a loss of stability of 0 %, i.e. "stable", + * - `n` (`n > 0` and `n < 50`) to indicate the actual stability level, + * - `50` to indicate a estimated probability of a loss of stability of 100 %, i.e. "total loss of stability", + * - the values between 51 and 62 are reserved for future use, + * - `63`: this value indicates that the information is unavailable. + * + * @unit: 2 % + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +StabilityLossProbability ::= INTEGER { + stable (0), + totalLossOfStability (50), + unavailable (63) +} (0..63) + +/** + * The DE represents length as a measure of distance between points or as a dimension of an object or shape. + * + * @unit: 0,1 metre + * @category: Basic information + * @revision: Created in V2.1.1 + */ +StandardLength12b::= INTEGER (0..4095) + +/** + * The DE represents length as a measure of distance between points. + * + * The value shall be set to: + * - 0 `lessThan50m` - for distances below 50 m, + * - 1 `lessThan100m` - for distances below 100 m, + * - 2 `lessThan200m` - for distances below 200 m, + * - 3 `lessThan500m` - for distances below 300 m, + * - 4 `lessThan1000m` - for distances below 1 000 m, + * - 5 `lessThan5km` - for distances below 5 000 m, + * - 6 `lessThan10km` - for distances below 10 000 m, + * - 7 `over10km` - for distances over 10 000 m. + * + * @category: GeoReference information + * @revision: Created in V2.1.1 from RelevanceDistance + */ +StandardLength3b ::= ENUMERATED { + lessThan50m (0), + lessThan100m (1), + lessThan200m (2), + lessThan500m (3), + lessThan1000m (4), + lessThan5km (5), + lessThan10km (6), + over10km (7) +} + +/** + * The DE represents length as a measure of distance between points or as a dimension of an object. + * + * @unit: 0,1 metre + * @category: Basic information + * @revision: Created in V2.1.1 + */ +StandardLength9b::= INTEGER (0..511) + +/** + * The DE represents length as a measure of distance between points or as a dimension of an object. + * + * @unit: 0,1 metre + * @category: Basic information + * @revision: Created in V2.1.1 + */ +StandardLength1B::= INTEGER (0..255) + +/** + * The DE represents length as a measure of distance between points or as a dimension of an object. + * + * @unit: 0,1 metre + * @category: Basic information + * @revision: Created in V2.1.1 + */ +StandardLength2B::= INTEGER (0..65535) + +/** + * This DE indicates the duration in minutes since which something is stationary. + * + * The value shall be set to: + * - 0 `lessThan1Minute` - for being stationary since less than 1 minute, + * - 1 `lessThan2Minutes` - for being stationary since less than 2 minute and for equal to or more than 1 minute, + * - 2 `lessThan15Minutes` - for being stationary since less than 15 minutes and for equal to or more than 1 minute, + * - 3 `equalOrGreater15Minutes` - for being stationary since equal to or more than 15 minutes. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +StationarySince ::= ENUMERATED { + lessThan1Minute (0), + lessThan2Minutes (1), + lessThan15Minutes (2), + equalOrGreater15Minutes (3) +} + +/** + * This DE provides the value of the sub cause codes of the @ref CauseCode "stationaryVehicle". + * + * The value shall be set to: + * - 0 `unavailable` - in case further detailed information on stationary vehicle is unavailable, + * - 1 `humanProblem` - in case stationary vehicle is due to health problem of driver or passenger, + * - 2 `vehicleBreakdown` - in case stationary vehicle is due to vehicle break down, + * - 3 `postCrash` - in case stationary vehicle is caused by collision, + * - 4 `publicTransportStop` - in case public transport vehicle is stationary at bus stop, + * - 5 `carryingDangerousGoods`- in case the stationary vehicle is carrying dangerous goods, + * - 6 `vehicleOnFire` - in case of vehicle on fire. + * - 7-255 reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +StationaryVehicleSubCauseCode ::= INTEGER { + unavailable (0), + humanProblem (1), + vehicleBreakdown (2), + postCrash (3), + publicTransportStop (4), + carryingDangerousGoods (5), + vehicleOnFire (6) +} (0..255) + +/** + * This DE represents the identifier of an ITS-S. + * The ITS-S ID may be a pseudonym. It may change over space and/or over time. + * + * @category: Basic information + * @revision: Created in V2.1.1 based on @ref StationID + */ +StationId ::= INTEGER(0..4294967295) + +/** + * This DE represents the identifier of an ITS-S. + * The ITS-S ID may be a pseudonym. It may change over space and/or over time. + * + * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref StationId instead. + * @category: Basic information + * @revision: V1.3.1 + */ +StationID ::= INTEGER(0..4294967295) + +/** + * This DE represents the type of technical context the ITS-S is integrated in. + * The station type depends on the integration environment of ITS-S into vehicle, mobile devices or at infrastructure. + * + * The value shall be set to: + * - 0 `unknown` - information about the ITS-S context is not provided, + * - 1 `pedestrian` - ITS-S carried by human being not using a mechanical device for their trip (VRU profile 1), + * - 2 `cyclist` - ITS-S mounted on non-motorized unicycles, bicycles , tricycles, quadracycles (VRU profile 2), + * - 3 `moped` - ITS-S mounted on light motor vehicles with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] + class L1, L2 (VRU Profile 3), + * - 4 `motorcycles` - ITS-S mounted on motor vehicles with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] + class L3, L4, L5, L6, L7 (VRU Profile 3), + * - 5 `passengerCar` - ITS-S mounted on small passenger vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class M1, + * - 6 `bus` - ITS-S mounted on large passenger vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class M2, M3, + * - 7 `lightTruck` - ITS-S mounted on light Goods Vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class N1, + * - 8 `heavyTruck` - ITS-S mounted on Heavy Goods Vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class N2 and N3, + * - 9 `trailer` - ITS-S mounted on an unpowered vehicle that is intended to be towed by a powered vehicle as defined in + UNECE/TRANS/WP.29/78/Rev.4 [16] class O, + * - 10 `specialVehicles` - ITS-S mounted on vehicles which have special purposes other than the above (e.g. moving road works vehicle), + * - 11 `tram` - ITS-S mounted on a vehicle which runs on tracks along public streets, + * - 12 `lightVruVehicle` - ITS-S carried by a human being traveling on light vehicle , incl. possible use of roller skates or skateboards (VRU profile 2), + * - 13 `animal` - ITS-S carried by an animal presenting a safety risk to other road users e.g. domesticated dog in a city or horse (VRU Profile 4), + * - 14 - reserved for future usage, + * - 15 `roadSideUnit` - ITS-S mounted on an infrastructure typically positioned outside of the drivable roadway (e.g. on a gantry, on a pole, + on a stationary road works trailer); the infrastructure is static during the entire operation period of the ITS-S (e.g. no stop and go activity), + * - 16-255 - are reserved for future usage. + * + * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref TrafficParticipantType instead. + * @category: Communication information. + * @revision: revised in V2.1.1 (named values 12 and 13 added and note to value 9 deleted) + */ +StationType ::= INTEGER { + unknown (0), + pedestrian (1), + cyclist (2), + moped (3), + motorcycle (4), + passengerCar (5), + bus (6), + lightTruck (7), + heavyTruck (8), + trailer (9), + specialVehicle (10), + tram (11), + lightVruVehicle (12), + animal (13), + roadSideUnit (15) +} (0..255) + +/** + * This DE indicates the steering wheel angle confidence value which represents the estimated absolute accuracy for a steering wheel angle value with a confidence level of 95 %. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 126`) if the confidence value is equal to or less than n x 1,5 degrees, + * - `126` if the confidence value is out of range, i.e. greater than 187,5 degrees, + * - `127` if the confidence value is not available. + * + * @note: The fact that a steering wheel angle value is received with confidence value set to `unavailable(127)` + * can be caused by several reasons, such as: + * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor, + * - the sensor cannot calculate the accuracy due to lack of variables, or + * - there has been a vehicle bus (e.g. CAN bus) error. + * In all 3 cases above, the steering wheel angle value may be valid and used by the application. + * + * If a steering wheel angle value is received and its confidence value is set to `outOfRange(126)`, + * it means that the steering wheel angle value is not valid and therefore cannot be trusted. + * Such value is not useful for the application. + * + * @unit: 1,5 degree + * @category: Vehicle Information + * @revision: Description revised in V2.1.1 +*/ +SteeringWheelAngleConfidence ::= INTEGER { + outOfRange (126), + unavailable (127) +} (1..127) + +/** + * This DE represents the steering wheel angle of the vehicle at certain point in time. + * The value shall be provided in the vehicle coordinate system as defined in ISO 8855 [21], clause 2.11. + * + * The value shall be set to: + * - `-511` if the steering wheel angle is equal to or greater than 511 x 1,5 degrees = 766,5 degrees to the right, + * - `n` (`n > -511` and `n <= 0`) if the steering wheel angle is equal to or less than n x 1,5 degrees, and greater than (n-1) x 1,5 degrees, + turning clockwise (i.e. to the right), + * - `n` (`n >= 1` and `n < 511`) if the steering wheel angle is equal to or less than n x 0,1 degrees, and greater than (n-1) x 0,1 degrees, + turning counter-clockwise (i.e. to the left), + * - `511` if the steering wheel angle is greater than 510 x 1,5 degrees = 765 degrees to the left, + * - `512` if information is not available. + * + * @unit: 1,5 degree + * @revision: Description revised in V2.1.1 (meaning of value 511 has changed slightly). + */ +SteeringWheelAngleValue ::= INTEGER { + negativeOutOfRange (-511), + positiveOutOfRange (511), + unavailable (512) +} (-511..512) + +/** + * This DE indicates the generic sub cause of a detected event. + * + * @note: The sub cause code value assignment varies based on value of @ref CauseCode. + * + * @category: Traffic information + * @revision: Description revised in V2.1.1 (this is the generic sub cause type) + */ +SubCauseCodeType ::= INTEGER (0..255) + +/** + * This DE indicates a temperature value. + + * The value shall be set to: + * - `-60` for temperature equal to or less than -60 degrees C, + * - `n` (`n > -60` and `n < 67`) for the actual temperature n in degrees C, + * - `67` for temperature equal to or greater than 67 degrees C. + * + * @unit: degrees Celsius + * @category: Basic information + * @revision: Editorial update in V2.1.1 + */ +Temperature ::= INTEGER { + equalOrSmallerThanMinus60Deg (-60), + equalOrGreaterThan67Deg(67)} (-60..67) + +/** + * This DE represents the number of elapsed (TAI) milliseconds since the ITS Epoch. + * The ITS epoch is `00:00:00.000 UTC, 1 January 2004`. + * "Elapsed" means that the true number of milliseconds is continuously counted without interruption, + * i.e. it is not altered by leap seconds, which occur in UTC. + * + * @note: International Atomic Time (TAI) is the time reference coordinate on the basis of the readings of atomic clocks, + * operated in accordance with the definition of the second, the unit of time of the International System of Units. + * TAI is a continuous time scale. UTC has discontinuities, as it is occasionally adjusted by leap seconds. + * As of 1 January, 2022, TimestampIts is 5 seconds ahead of UTC, because since the ITS epoch on 1 January 2004 00:00:00.000 UTC, + * further 5 leap seconds have been inserted in UTC. + * + * EXAMPLE: The value for TimestampIts for 1 January 2007 00:00:00.000 UTC is `94 694 401 000` milliseconds, + * which includes one leap second insertion since the ITS epoch. + * @unit: 0,001 s + * @category: Basic information + * @revision: Description revised in in V2.1.1 + */ +TimestampIts ::= INTEGER (0..4398046511103) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `trafficCondition`. + * + * The value shall be set to: + * - 0 `unavailable` - in case further detailed information on the traffic condition is unavailable, + * - 1 `increasedVolumeOfTraffic` - in case the type of traffic condition is increased traffic volume, + * - 2 `trafficJamSlowlyIncreasing` - in case the type of traffic condition is a traffic jam which volume is increasing slowly, + * - 3 `trafficJamIncreasing` - in case the type of traffic condition is a traffic jam which volume is increasing, + * - 4 `trafficJamStronglyIncreasing` - in case the type of traffic condition is a traffic jam which volume is strongly increasing, + * - 5 `trafficJam` ` - in case the type of traffic condition is a traffic jam and no further detailed information about its volume is available, + * - 6 `trafficJamSlightlyDecreasing` - in case the type of traffic condition is a traffic jam which volume is decreasing slowly, + * - 7 `trafficJamDecreasing` - in case the type of traffic condition is a traffic jam which volume is decreasing, + * - 8 `trafficJamStronglyDecreasing` - in case the type of traffic condition is a traffic jam which volume is decreasing rapidly, + * - 9 `trafficJamStable` - in case the traffic condition is a traffic jam with stable volume, + * - 10-255: reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1, definition of value 0 and 1 changed in V2.2.1, name and definition of value 5 changed in V2.2.1, value 9 added in V2.2.1 + */ +TrafficConditionSubCauseCode ::= INTEGER { + unavailable (0), + increasedVolumeOfTraffic (1), + trafficJamSlowlyIncreasing (2), + trafficJamIncreasing (3), + trafficJamStronglyIncreasing (4), + trafficJam (5), + trafficJamSlightlyDecreasing (6), + trafficJamDecreasing (7), + trafficJamStronglyDecreasing (8), + trafficJamStable (9) +} (0..255) + +/** + * This DE indicates a direction of traffic with respect to a reference direction, and a portion of that traffic with respect to a reference position. + * + * The value shall be set to: + * - 0 `allTrafficDirections` - for all directions of traffic, + * - 1 `sameAsReferenceDirection-upstreamOfReferencePosition` - for the direction of traffic according to the reference direction, and the portion of traffic upstream of the reference position, + * - 2 `sameAsReferenceDirection-downstreamOfReferencePosition` - for the direction of traffic according to the reference direction, and the portion of traffic downstream of the reference position, + * - 3 `oppositeToReferenceDirection` - for the direction of traffic opposite to the reference direction. + * + * @note: Upstream traffic corresponds to the incoming traffic towards the event position, and downstream traffic to the departing traffic away from the event position. + * @category: GeoReference information + * @revision: Created in V2.1.1 from RelevanceTrafficDirection, description and naming of values changed in V2.2.1 + * + */ + TrafficDirection ::= ENUMERATED { + allTrafficDirections(0), + sameAsReferenceDirection-upstreamOfReferencePosition(1), + sameAsReferenceDirection-downstreamOfReferencePosition(2), + oppositeToReferenceDirection(3) +} + +/** + * This DE represents the type of a traffic participant. + * + * The value shall be set to: + * - 0 `unknown` - information about traffic participant is not provided, + * - 1 `pedestrian` - human being not using a mechanical device for their trip (VRU profile 1), + * - 2 `cyclist` - non-motorized unicycles, bicycles , tricycles, quadracycles (VRU profile 2), + * - 3 `moped` - light motor vehicles with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class L1, L2 (VRU Profile 3), + * - 4 `motorcycles` - motor vehicles with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class L3, L4, L5, L6, L7 (VRU Profile 3), + * - 5 `passengerCar` - small passenger vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class M1, + * - 6 `bus` - large passenger vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class M2, M3, + * - 7 `lightTruck` - light Goods Vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class N1, + * - 8 `heavyTruck` - Heavy Goods Vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class N2 and N3, + * - 9 `trailer` - unpowered vehicle that is intended to be towed by a powered vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class O, + * - 10 `specialVehicles` - vehicles which have special purposes other than the above (e.g. moving road works vehicle), + * - 11 `tram` - vehicle which runs on tracks along public streets, + * - 12 `lightVruVehicle` - human being traveling on light vehicle, incl. possible use of roller skates or skateboards (VRU profile 2), + * - 13 `animal` - animal presenting a safety risk to other road users e.g. domesticated dog in a city or horse (VRU Profile 4), + * - 14 `agricultural` - agricultural and forestry vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [16] class T, + * - 15 `roadSideUnit` - infrastructure typically positioned outside of the drivable roadway (e.g. on a gantry, on a pole, + on a stationary road works trailer); the infrastructure is static during the entire operation period of the ITS-S (e.g. no stop and go activity), + * - 16-255 - are reserved for future usage. + * + * @category: Communication information. + * @revision: Created in V2.1.1 based on StationType + */ +TrafficParticipantType ::= INTEGER { + unknown (0), + pedestrian (1), + cyclist (2), + moped (3), + motorcycle (4), + passengerCar (5), + bus (6), + lightTruck (7), + heavyTruck (8), + trailer (9), + specialVehicle (10), + tram (11), + lightVruVehicle (12), + animal (13), + agricultural (14), + roadSideUnit (15) +} (0..255) + +/** + * This DE indicates traffic rules that apply to vehicles at a certain position. + * + * The value shall be set to: + * - `0` - if overtaking is prohibited for all vehicles, + * - `1` - if overtaking is prohibited for trucks, + * - `2` - if vehicles should pass to the right lane, + * - `3` - if vehicles should pass to the left lane. + * - `4` - if vehicles should pass to the left or right lane. + * + * @category: Infrastructure information, Traffic information + * @revision: Editorial update in V2.1.1 + */ +TrafficRule ::= ENUMERATED { + noPassing (0), + noPassingForTrucks (1), + passToRight (2), + passToLeft (3), + ..., + passToLeftOrRight (4) +} + +/** + * This DE provides information about the presence of a trailer. + * + * The value shall be set to: + * - 0 `noTrailerPresent` - to indicate that no trailer is present, i.e. either the vehicle is physically not enabled to tow a trailer or it has been detected that no trailer is present. + * - 1 `trailerPresentWithKnownLength` - to indicate that a trailer has been detected as present and the length is included in the vehicle length value. + * - 2 `trailerPresentWithUnknownLength` - to indicate that a trailer has been detected as present and the length is not included in the vehicle length value. + * - 3 `trailerPresenceIsUnknown` - to indicate that information about the trailer presence is unknown, i.e. the vehicle is physically enabled to tow a trailer but the detection of trailer presence/absence is not possible. + * - 4 `unavailable` - to indicate that the information about the presence of a trailer is not available, i.e. it is neither known whether the vehicle is able to tow a trailer + * nor the detection of trailer presence/absence is possible. + * + * @category: Vehicle information + * @revision: Created in V2.1.1 based on VehicleLengthConfidenceIndication +*/ +TrailerPresenceInformation ::= ENUMERATED { + noTrailerPresent (0), + trailerPresentWithKnownLength (1), + trailerPresentWithUnknownLength (2), + trailerPresenceIsUnknown (3), + unavailable (4) +} + +/** + * This DE defines the probability that the ego trajectory intercepts with any other object's trajectory on the road. + * + * The value shall be set to: + * - `n` (`n >= 0` and `n <= 50`) to indicate the actual probability, + * - the values between 51 and 62 are reserved, + * - `63`: to indicate that the information is unavailable. + * + * @unit: 2 % + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +TrajectoryInterceptionProbability ::= INTEGER { + unavailable (63) +} (0..63) + +/** + * This DE defines the confidence level of the trajectoryInterceptionProbability. + * + * The value shall be set to: + * - `0` - to indicate confidence level less than 50 %, + * - `1` - to indicate confidence level greater than or equal to 50 % and less than 70 %, + * - `2` - to indicate confidence level greater than or equal to 70 % and less than 90 %, + * - `3` - to indicate confidence level greater than or equal to 90%. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +TrajectoryInterceptionConfidence ::= INTEGER { + lessthan50percent (0), + between50and70Percent (1), + between70and90Percent (2), + above90Percent (3) +} (0..3) + +/** + * This DE represents the time interval between two consecutive message transmissions. + * + * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref DeltaTimeMilliSecondPos instead. + * @unit: 0,001 s + * @category: Basic information + * @revision: V1.3.1 + */ +TransmissionInterval::= INTEGER (1..10000) + +/** + * This DE provides the turning direction. + * + * The value shall be set to: + * - `left` for turning to te left. + * - `right` for turing to the right. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +TurningDirection::= ENUMERATED { + left, + right +} + +/** + * This DE represents the smallest circular turn (i.e. U-turn) that the vehicle is capable of making. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 254`) to indicate the applicable value is equal to or less than n x 0,4 metre, and greater than (n-1) x 0,4 metre, + * - `254` to indicate that the turning radius is greater than 253 x 0,4 metre = 101.2 metres, + * - `255` to indicate that the information is unavailable. + * + * For vehicle with tracker, the turning radius applies to the vehicle only. + * + * @category: Vehicle information + * @unit 0,4 metre + * @revision: Description revised V2.1.1 (the meaning of 254 has changed slightly) + */ +TurningRadius ::= INTEGER { + outOfRange (254), + unavailable (255) +} (1..255) + +/** + * This DE represents indication of how a certain path or area will be used. + * + * The value shall be set to: + * - 0 - ` noIndication ` - in case it will remain free to be used, + * - 1 - ` specialUse ` - in case it will be physically blocked by special use, + * - 2 - ` rescueOperation` - in case it is intended to be used for rescue operations, + * + * @category: Basic information + * @revision: Created in V2.2.1 + */ +UsageIndication ::= ENUMERATED { + noIndication(0), + specialUse (1), + rescueOperation (2), + ... +} + +/** + * This DE represents the duration of a traffic event validity. + * + * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref DeltaTimeSecond instead. + * @unit: 1 s + * @category: Basic information + * @revision: V1.3.1 +*/ +ValidityDuration::= INTEGER { + timeOfDetection(0), + oneSecondAfterDetection(1) +} (0..86400) + +/** + * This DE represents the Vehicle Descriptor Section (VDS). The values are assigned according to ISO 3779 [6]. + * + * @category: Vehicle information + * @revision: V1.3.1 + */ +VDS ::= IA5String (SIZE(6)) + +/** + * This DE represents the value of the sub cause codes of the @ref CauseCode `vehicleBreakdown`. + * + * The value shall be set to: + * - 0 `unavailable` - in case further detailed information on cause of vehicle break down is unavailable, + * - 1 `lackOfFuel` - in case vehicle break down is due to lack of fuel, + * - 2 `lackOfBatteryPower` - in case vehicle break down is caused by lack of battery power, + * - 3 `engineProblem` - in case vehicle break down is caused by an engine problem, + * - 4 `transmissionProblem` - in case vehicle break down is caused by transmission problem, + * - 5 `engineCoolingProblem`- in case vehicle break down is caused by an engine cooling problem, + * - 6 `brakingSystemProblem`- in case vehicle break down is caused by a braking system problem, + * - 7 `steeringProblem` - in case vehicle break down is caused by a steering problem, + * - 8 `tyrePuncture` - in case vehicle break down is caused by tyre puncture, + * - 9 `tyrePressureProblem` - in case low tyre pressure in detected, + * - 10 `vehicleOnFire` - in case the vehicle is on fire. + * - 11-255 - are reserved for future usage. + * + * @category: Traffic information + + */ +VehicleBreakdownSubCauseCode ::= INTEGER { + unavailable (0), + lackOfFuel (1), + lackOfBatteryPower (2), + engineProblem (3), + transmissionProblem (4), + engineCoolingProblem (5), + brakingSystemProblem (6), + steeringProblem (7), + tyrePuncture (8), + tyrePressureProblem (9), + vehicleOnFire (10) +} (0..255) + +/** + * This DE represents the height of the vehicle, measured from the ground to the highest point, excluding any antennas. + * In case vehicles are equipped with adjustable ride heights, camper shells, and any other + * equipment which may result in varying height, the largest possible height shall be used. + * + * The value shall be set to: + * - `n` (`n >0` and `n < 127`) indicates the applicable value is equal to or less than n x 0,05 metre, and greater than (n-1) x 0,05 metre, + * - `127` indicates that the vehicle width is greater than 6,3 metres, + * - `128` indicates that the information in unavailable. + * + * @unit: 0,05 metre + * @category: Vehicle information + * @revision: created in V2.1.1 +*/ +VehicleHeight ::= INTEGER { + outOfRange (126), + unavailable (127) +}(1..128) + +/** + * This DE provides information about the presence of a trailer. + * + * The value shall be set to: + * - 0 `noTrailerPresent` - to indicate that no trailer is present, i.e. either the vehicle is physically not enabled to tow a trailer or it has been detected that no trailer is present, + * - 1 `trailerPresentWithKnownLength` - to indicate that a trailer has been detected as present and the length is included in the vehicle length value, + * - 2 `trailerPresentWithUnknownLength` - to indicate that a trailer has been detected as present and the length is not included in the vehicle length value, + * - 3 `trailerPresenceIsUnknown` - to indicate that information about the trailer presence is unknown, i.e. the vehicle is physically enabled to tow a trailer but the detection of trailer presence/absence is not possible, + * - 4 `unavailable` - to indicate that the information about the presence of a trailer is not available, i.e. it is neither known whether the vehicle is able to tow a trailer, + * nor the detection of trailer presence/absence is possible. + * + * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref TrailerPresenceInformation instead. + * @category: Vehicle information + * @revision: Description revised in V2.1.1 +*/ +VehicleLengthConfidenceIndication ::= ENUMERATED { + noTrailerPresent (0), + trailerPresentWithKnownLength (1), + trailerPresentWithUnknownLength (2), + trailerPresenceIsUnknown (3), + unavailable (4) +} + +/** + * This DE represents the length of a vehicle. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 1022`) to indicate the applicable value n is equal to or less than n x 0,1 metre, and greater than (n-1) x 0,1 metre, + * - `1 022` to indicate that the vehicle length is greater than 102.1 metres, + * - `1 023` to indicate that the information in unavailable. + * + * + * @unit: 0,1 metre + * @category: Vehicle information + * @revision: Description updated in V2.1.1 (the meaning of 1 022 has changed slightly). + */ +VehicleLengthValue ::= INTEGER { + outOfRange(1022), + unavailable(1023) +} (1..1023) + +/** + * This DE represents the mass of an empty loaded vehicle. + * + * The value shall be set to: + * - `n` (`n > 0` and `n < 1023`) to indicate that the applicable value is equal to or less than n x 10^5 gramm, and greater than (n-1) x 10^5 gramm, + * - `1 023` indicates that the vehicle mass is greater than 102 200 000 g, + * - `1 024` indicates the vehicle mass information is unavailable. + * + * @note: The empty load vehicle is defined in ISO 1176 [8], clause 4.6. + * + * @unit: 10^5 gramm + * @category: Vehicle information + * @revision: Description updated in V2.1.1 (the meaning of 1 023 has changed slightly). +*/ +VehicleMass ::= INTEGER { + outOfRange (1023), + unavailable(1024) +} (1..1024) + +/** + * This DE indicates the role played by a vehicle at a point in time. + * + * The value shall be set to: + * - 0 `default` - to indicate the default vehicle role as indicated by the vehicle type, + * - 1 `publicTransport` - to indicate that the vehicle is used to operate public transport service, + * - 2 `specialTransport` - to indicate that the vehicle is used for special transport purpose, e.g. oversized trucks, + * - 3 `dangerousGoods` - to indicate that the vehicle is used for dangerous goods transportation, + * - 4 `roadWork` - to indicate that the vehicle is used to realize roadwork or road maintenance mission, + * - 5 `rescue` - to indicate that the vehicle is used for rescue purpose in case of an accident, e.g. as a towing service, + * - 6 `emergency` - to indicate that the vehicle is used for emergency mission, e.g. ambulance, fire brigade, + * - 7 `safetyCar` - to indicate that the vehicle is used for public safety, e.g. patrol, + * - 8 `agriculture` - to indicate that the vehicle is used for agriculture, e.g. farm tractor, + * - 9 `commercial` - to indicate that the vehicle is used for transportation of commercial goods, + * - 10 `military` - to indicate that the vehicle is used for military purpose, + * - 11 `roadOperator` - to indicate that the vehicle is used in road operator missions, + * - 12 `taxi` - to indicate that the vehicle is used to provide an authorized taxi service, + * - 13 `uvar` - to indicate that the vehicle is authorized to enter a zone according to the applicable Urban Vehicle Access Restrictions. + * - 14 `rfu1` - is reserved for future usage. + * - 15 `rfu2` - is reserved for future usage. + * + * @category: Vehicle Information + * @revision: Description updated in V2.1.1 (removed reference to CEN/TS 16157-3), value 13 assigned in V2.2.1 + */ +VehicleRole ::= ENUMERATED { + default (0), + publicTransport (1), + specialTransport(2), + dangerousGoods (3), + roadWork (4), + rescue (5), + emergency (6), + safetyCar (7), + agriculture (8), + commercial (9), + military (10), + roadOperator (11), + taxi (12), + uvar (13), + rfu1 (14), + rfu2 (15) +} + +/** + * This DE represents the width of a vehicle, excluding side mirrors and possible similar extensions. + + * The value shall be set to: + * - `n` (`n > 0` and `n < 61`) indicates the applicable value is equal to or less than n x 0,1 metre, and greater than (n-1) x 0,1 metre, + * - `61` indicates that the vehicle width is greater than 6,0 metres, + * - `62` indicates that the information in unavailable. + * + * @unit: 0,1 metre + * @category: Vehicle information + * @revision: Description updated in V2.1.1 (the meaning of 61 has changed slightly). + */ +VehicleWidth ::= INTEGER { + outOfRange (61), + unavailable (62) +} (1..62) + +/** + * This DE represents the vehicle acceleration at vertical direction in the centre of the mass of the empty vehicle. + * The value shall be provided in the vehicle coordinate system as defined in ISO 8855 [21], clause 2.11. + * + * The value shall be set to: + * - `-160` for acceleration values equal to or less than -16 m/s^2, + * - `n` (`n > -160` and `n <= 0`) to indicate downwards acceleration equal to or less than n x 0,1 m/s^2, and greater than (n-1) x 0,1 m/s^2, + * - `n` (`n > 0` and `n < 160`) to indicate upwards acceleration equal to or less than n x 0,1 m/s^2, and greater than (n-1) x 0,1 m/s^2, + * - `160` for acceleration values greater than 15,9 m/s^2, + * - `161` when the data is unavailable. + * + * @note: The empty load vehicle is defined in ISO 1176 [8], clause 4.6. + * + * @category: Vehicle information + * @unit: 0,1 m/s^2 + * @revision: Desciption updated in V2.1.1 (the meaning of 160 has changed slightly). + * +*/ +VerticalAccelerationValue ::= INTEGER { + negativeOutOfRange (-160), + positiveOutOfRange (160), + unavailable (161) +} (-160 .. 161) + +/** + * This DE Identifies all the VRU profile types within a cluster. + * It consist of a Bitmap encoding VRU profiles, to allow multiple profiles to be indicated in a single cluster (heterogeneous cluster if more than one profile). + * + * The corresponding bit shall be set to 1 under the following conditions: + * - 0 `pedestrian` - indicates that the VRU cluster contains at least one pedestrian VRU, + * - 1 `bicycle` - indicates that the VRU cluster contains at least one bicycle VRU member, + * - 2 `motorcyclist`- indicates that the VRU cluster contains at least one motorcycle VRU member, + * - 3 `animal` - indicates that the VRU cluster contains at least one animal VRU member. + * + * Otherwise, the corresponding bit shall be set to 0. + * + * @category: VRU information + * @revision: Created in V2.1.1 +*/ +VruClusterProfiles ::= BIT STRING { + pedestrian (0), + bicyclist (1), + motorcyclist (2), + animal (3) +} (SIZE(4)) + +/** + * This DE represents the possible usage conditions of the VRU device. + + * - The value shall be set to: + * - 0 `unavailable` - to indicate that the usage conditions are unavailable, + * - 1 `other` - to indicate that the VRU device is in a state not defined below, + * - 2 `idle` - to indicate that the human is currently not interacting with the device, + * - 3 `listeningToAudio` - to indicate that any audio source other than calling is in use, + * - 4 `typing` - to indicate that the human is texting or performaing any other manual input activity, + * - 5 `calling` - to indicate that the VRU device is currently receiving a call, + * - 6 `playingGames` - to indicate that the human is playing games, + * - 7 `reading` - to indicate that the human is reading on the VRU device, + * - 8 `viewing` - to indicate that the human is watching dynamic content, including following navigation prompts, viewing videos or other visual contents that are not static. + * - value 9 to 15 - are reserved for future usage. + * + * @category: VRU information + * @revision: Created in V2.1.1, type changed from ENUMERATED to INTEGER in V2.2.1 and range changed from 0..255 to 0..15 + */ +VruDeviceUsage ::= INTEGER { + unavailable (0), + other (1), + idle (2), + listeningToAudio (3), + typing (4), + calling (5), + playingGames (6), + reading (7), + viewing (8) +}(0..15) + +/** + * This DE represents the possible VRU environment conditions. + * + * - The value shall be set to: + * - 0 `unavailable` - to indicate that the information on the type of environment is unavailable, + * - 1 `intersectionCrossing` - to indicate that the VRU is on an intersection or crossing, + * - 2 `zebraCrossing` - to indicate that the VRU is on a zebra crossing (crosswalk), + * - 3 `sidewalk` - to indicate that the VRU is on a sidewalk, + * - 4 `onVehicleRoad` - to indicate that the VRU is on a traffic lane, + * - 5 `protectedGeographicArea`- to indicate that the VRU is in a protected area. + * - value 6 to 15 - are reserved for future usage. + * + * @category: VRU information + * @revision: Created in V2.1.1, type changed from ENUMERATED to INTEGER in V2.2.1 and range changed from 0..255 to 0..15 + */ +VruEnvironment ::= INTEGER { + unavailable (0), + intersectionCrossing (1), + zebraCrossing (2), + sidewalk (3), + onVehicleRoad (4), + protectedGeographicArea (5) +}(0..15) + +/** + * This DE indicates the status of the possible human control over a VRU vehicle. + * + * The value shall be set to: + * - 0 `unavailable` - to indicate that the information is unavailable, + * - 1 `braking` - to indicate that the VRU is braking, + * - 2 `hardBraking` - to indicate that the VRU is braking hard, + * - 3 `stopPedaling` - to indicate that the VRU stopped pedaling, + * - 4 `brakingAndStopPedaling` - to indicate that the VRU stopped pedaling an is braking, + * - 5 `hardBrakingAndStopPedaling` - to indicate that the VRU stopped pedaling an is braking hard, + * - 6 `noReaction` - to indicate that the VRU is not changing its behavior. + * - 7 to 15 - are reserved for future usage. + * + * @category: VRU information + * @revision: Created in V2.1.1, type changed from ENUMERATED to INTEGER in V2.2.1 and range changed from 0..255 to 0..15 + */ +VruMovementControl ::= INTEGER { + unavailable (0), + braking (1), + hardBraking (2), + stopPedaling (3), + brakingAndStopPedaling (4), + hardBrakingAndStopPedaling (5), + noReaction (6) +}(0..15) + +/** + * This DE indicates the profile of a pedestrian. + * + * The value shall be set to: + * - 0 `unavailable` - to indicate that the information on is unavailable, + * - 1 `ordinary-pedestrian` - to indicate a pedestrian to which no more-specific profile applies, + * - 2 `road-worker` - to indicate a pedestrian with the role of a road worker, + * - 3 `first-responder` - to indicate a pedestrian with the role of a first responder. + * - value 4 to 15 - are reserved for future usage. + * + * @category: VRU information + * @revision: Created in V2.1.1, type changed from ENUMERATED to INTEGER in V2.2.1 + */ +VruSubProfilePedestrian ::= INTEGER { + unavailable (0), + ordinary-pedestrian (1), + road-worker (2), + first-responder (3) +}(0..15) + +/** + * This DE indicates the profile of a VRU and its light VRU vehicle / mounted animal. + * + * The value shall be set to: + * - 0 `unavailable` - to indicate that the information is unavailable, + * - 1 `bicyclist ` - to indicate a cycle and bicyclist to which no more-specific profile applies, + * - 2 `wheelchair-user` - to indicate a wheelchair and its user, + * - 3 `horse-and-rider` - to indicate a horse and rider, + * - 4 `rollerskater` - to indicate a roller-skater and skater, + * - 5 `e-scooter` - to indicate an e-scooter and rider, + * - 6 `personal-transporter` - to indicate a personal-transporter and rider, + * - 7 `pedelec` - to indicate a pedelec and rider to which no more-specific profile applies, + * - 8 `speed-pedelec` - to indicate a speed-pedelec and rider. + * - 9 `roadbike` - to indicate a road bicycle (or road pedelec) and rider, + * - 10 `childrensbike` - to indicate a children�s bicycle (or children�s pedelec) and rider, + * - 11 to 15 - are reserved for future usage. + * + * @category: VRU information + * @revision: Created in V2.1.1, values 9 and 10 assigned in V2.2.1 + */ +VruSubProfileBicyclist ::= INTEGER { + unavailable (0), + bicyclist (1), + wheelchair-user (2), + horse-and-rider (3), + rollerskater (4), + e-scooter (5), + personal-transporter (6), + pedelec (7), + speed-pedelec (8), + roadbike (9), + childrensbike (10) +}(0..15) + +/** + * This DE indicates the profile of a motorcyclist and corresponding vehicle. + * + * The value shall be set to: + * - 0 `unavailable ` - to indicate that the information is unavailable, + * - 1 `moped` - to indicate a moped and rider, + * - 2 `motorcycle` - to indicate a motorcycle and rider, + * - 3 `motorcycle-and-sidecar-right` - to indicate a motorcycle with sidecar on the right and rider, + * - 4 `motorcycle-and-sidecar-left` - to indicate a motorcycle with sidecar on the left and rider. + * - 5 to 15 - are reserved for future usage. + * + * @category: VRU information + * @revision: Created in V2.1.1, type changed from ENUMERATED to INTEGER in V2.2.1 + */ +VruSubProfileMotorcyclist ::= INTEGER { + unavailable (0), + moped (1), + motorcycle (2), + motorcycle-and-sidecar-right (3), + motorcycle-and-sidecar-left (4) +}(0..15) + +/** + * This DE indicates the profile of an animal + * + * The value shall be set to: + * - 0 `unavailable` - to indicate that the information is unavailable, + * - 1 `wild-animal` - to indicate a animal living in the wildness, + * - 2 `farm-animal` - to indicate an animal beloning to a farm, + * - 3 `service-animal` - to indicate an animal that supports a human being. + * - 4 to 15 - are reserved for future usage. + * + * @category: VRU information + * @revision: Created in V2.1.1, type changed from ENUMERATED to INTEGER in V2.2.1 + */ +VruSubProfileAnimal ::= INTEGER { + unavailable (0), + wild-animal (1), + farm-animal (2), + service-animal (3) +}(0..15) + +/** + * This DE indicates the approximate size of a VRU including the VRU vehicle used. + * + * The value shall be set to: + * - 0 `unavailable` - to indicate that there is no matched size class or due to privacy reasons in profile 1, + * - 1 `low` - to indicate that the VRU size class is low depending on the VRU profile, + * - 2 `medium` - to indicate that the VRU size class is medium depending on the VRU profile, + * - 3 `high` - to indicate that the VRU size class is high depending on the VRU profile. + * - 4 to 15 - are reserved for future usage. + * + * @category: VRU information + * @revision: Created in V2.1.1, type changed from ENUMERATED to INTEGER in V2.2.1 + */ +VruSizeClass ::= INTEGER { + unavailable (0), + low (1), + medium (2), + high (3) +}(0..15) + +/** + * This DE describes the status of the exterior light switches of a VRU. + * + * The value of each bit indicates the state of the switch, which commands the corresponding light. + * The bit corresponding to a specific light shall be set to 1, when the corresponding switch is turned on, either manually by the driver or VRU + * or automatically by a vehicle or VRU system: + * - 0 `unavailable` - indicates no information available, + * - 1 `backFlashLight ` - indicates the status of the back flash light, + * - 2 `helmetLight` - indicates the status of the helmet light, + * - 3 `armLight` - indicates the status of the arm light, + * - 4 `legLight` - indicates the status of the leg light, + * - 5 `wheelLight` - indicates the status of the wheel light. + * - Bits 6 to 8 - are reserved for future use. + * The bit values do not indicate if the corresponding lamps are alight or not. + * If VRU is not equipped with a certain light or if the light switch status information is not available, the corresponding bit shall be set to 0. + * + * @category: VRU information + * @revision: Created in V2.1.1 + */ +VruSpecificExteriorLights ::= BIT STRING { + unavailable (0), + backFlashLight (1), + helmetLight (2), + armLight (3), + legLight (4), + wheelLight (5) +} (SIZE(8)) + +/** + * This DE indicates the perpendicular distance between front and rear axle of the wheel base of vehicle. + * + * The value shall be set to: + * - `n` (`n >= 1` and `n < 126`) if the value is equal to or less than n x 0,1 metre and more than (n-1) x 0,1 metre, + * - `126` indicates that the wheel base distance is equal to or greater than 12,5 metres, + * - `127` indicates that the information is unavailable. + * + * @unit 0,1 metre + * @category: Vehicle information + * @revision: Created in V2.1.1 + */ +WheelBaseVehicle ::= INTEGER { + outOfRange (126), + unavailable (127) +} (1..127) + +/** + * This DE indicates the angle confidence value which represents the estimated accuracy of an angle value with a default confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * + * The value shall be set to: + * - `n` (`n >= 1` and `n < 126`) if the confidence value is equal to or less than n x 0,1 degrees and more than (n-1) x 0,1 degrees, + * - `126` if the confidence value is out of range, i.e. greater than 12,5 degrees, + * - `127` if the confidence value is not available. + * + * + * @unit 0,1 degrees + * @category: GeoReference Information + * @revision: Created in V2.1.1 +*/ +Wgs84AngleConfidence ::= INTEGER { + outOfRange (126), + unavailable (127) +} (1..127) + + +/** + * This DE represents an angle value in degrees described in the WGS84 reference system with respect to the WGS84 north. + * The specific WGS84 coordinate system is specified by the corresponding standards applying this DE. + * When the information is not available, the DE shall be set to 3 601. The value 3600 shall not be used. + * + * @unit 0,1 degrees + * @category: GeoReference Information + * @revision: Created in V2.1.1 +*/ +Wgs84AngleValue ::= INTEGER { + wgs84North (0), + wgs84East (900), + wgs84South (1800), + wgs84West (2700), + doNotUse (3600), + unavailable (3601) +} (0..3601) + +/** + * This DE represents the World Manufacturer Identifier (WMI). The values are assigned according to ISO 3779 [6]. + * + * + * @category: Vehicle information + * @revision: V1.3.1 + */ +WMInumber ::= IA5String (SIZE(1..3)) + +/** + * This DE represents the sub cause codes of the @ref CauseCode `wrongWayDriving` . + * + * The value shall be set to: + * - 0 `unavailable` - in case further detailed information on wrong way driving event is unavailable, + * - 1 `wrongLane` - in case vehicle is driving on a lane for which it has no authorization to use, + * - 2 `wrongDirection` - in case vehicle is driving in a direction that it is not allowed, + * - 3-255 - reserved for future usage. + * + * @category: Traffic information + * @revision: V1.3.1 + */ +WrongWayDrivingSubCauseCode ::= INTEGER { + unavailable (0), + wrongLane (1), + wrongDirection (2) +} (0..255) + +/** + * This DE indicates the yaw rate confidence value which represents the estimated accuracy for a yaw rate value with a default confidence level of 95 %. + * If required, the confidence level can be defined by the corresponding standards applying this DE. + * + * The value shall be set to: + * - `0` if the confidence value is equal to or less than 0,01 degree/second, + * - `1` if the confidence value is equal to or less than 0,05 degrees/second or greater than 0,01 degree/second, + * - `2` if the confidence value is equal to or less than 0,1 degree/second or greater than 0,05 degree/second, + * - `3` if the confidence value is equal to or less than 1 degree/second or greater than 0,1 degree/second, + * - `4` if the confidence value is equal to or less than 5 degrees/second or greater than 1 degrees/second, + * - `5` if the confidence value is equal to or less than 10 degrees/second or greater than 5 degrees/second, + * - `6` if the confidence value is equal to or less than 100 degrees/second or greater than 10 degrees/second, + * - `7` if the confidence value is out of range, i.e. greater than 100 degrees/second, + * - `8` if the confidence value is unavailable. + * + * NOTE: The fact that a yaw rate value is received with confidence value set to `unavailable(8)` can be caused by + * several reasons, such as: + * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor, + * - the sensor cannot calculate the accuracy due to lack of variables, or + * - there has been a vehicle bus (e.g. CAN bus) error. + * In all 3 cases above, the yaw rate value may be valid and used by the application. + * + * If a yaw rate value is received and its confidence value is set to `outOfRange(7)`, it means that the + * yaw rate value is not valid and therefore cannot be trusted. Such value is not useful the application. + * + * @category: Vehicle information + * @revision: Description revised in V2.1.1 + */ +YawRateConfidence ::= ENUMERATED { + degSec-000-01 (0), + degSec-000-05 (1), + degSec-000-10 (2), + degSec-001-00 (3), + degSec-005-00 (4), + degSec-010-00 (5), + degSec-100-00 (6), + outOfRange (7), + unavailable (8) +} + +/** + * This DE represents the vehicle rotation around z-axis of the coordinate system centred on the centre of mass of the empty-loaded + * vehicle. The leading sign denotes the direction of rotation. + * + * The value shall be provided in the vehicle coordinate system as defined in ISO 8855 [21], clause 2.11. + * + * The value shall be set to: + * - `-32 766` to indicate that the yaw rate is equal to or greater than 327,66 degrees/second to the right, + * - `n` (`n > -32 766` and `n <= 0`) to indicate that the rotation is clockwise (i.e. to the right) and is equal to or less than n x 0,01 degrees/s, + and greater than (n-1) x 0,01 degrees/s, + * - `n` (`n > 0` and `n < 32 766`) to indicate that the rotation is anti-clockwise (i.e. to the left) and is equal to or less than n x 0,01 degrees/s, + and greater than (n-1) x 0,01 degrees/s, + * - `32 766` to indicate that the yaw rate is greater than 327.65 degrees/second to the left, + * - `32 767` to indicate that the information is not available. + * + * The yaw rate value shall be a raw data value, i.e. not filtered, smoothed or otherwise modified. + * The reading instant should be the same as for the vehicle acceleration. + * + * @note: The empty load vehicle is defined in ISO 1176 [8], clause 4.6. + * + * @unit: 0,01 degree per second. + * @category: Vehicle Information + * @revision: Desription revised in V2.1.1 (the meaning of 32766 has changed slightly). +*/ +YawRateValue ::= INTEGER { + negativeOutOfRange (-32766), + positiveOutOfRange (32766), + unavailable (32767) +} (-32766..32767) + +---------------------------------------- +-- Specification of CDD Data Frames: +---------------------------------------- + +/** + * This DF represents an acceleration vector with associated confidence value. + * + * It shall include the following components: + * + * @field polarAcceleration: the representation of the acceleration vector in a polar or cylindrical coordinate system. + * + * @field cartesianAcceleration: the representation of the acceleration vector in a cartesian coordinate system. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +Acceleration3dWithConfidence::= CHOICE { + polarAcceleration AccelerationPolarWithZ, + cartesianAcceleration AccelerationCartesian +} + +/** + * This DF represents an acceleration vector in a polar or cylindrical coordinate system. + + * It shall include the following components: + * + * @field accelerationMagnitude: magnitude of the acceleration vector projected onto the reference plane, with the associated confidence value. + * + * @field accelerationDirection: polar angle of the acceleration vector projected onto the reference plane, with the associated confidence value. + * + * @field zAcceleration: the optional z component of the acceleration vector along the reference axis of the cylindrical coordinate system, with the associated confidence value. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +AccelerationPolarWithZ::= SEQUENCE{ + accelerationMagnitude AccelerationMagnitude, + accelerationDirection CartesianAngle, + zAcceleration AccelerationComponent OPTIONAL +} + +/** + * This DF represents a acceleration vector in a cartesian coordinate system. + + * It shall include the following components: + * + * @field xAcceleration: the x component of the acceleration vector with the associated confidence value. + * + * @field yAcceleration: the y component of the acceleration vector with the associated confidence value. + * + * @field zAcceleration: the optional z component of the acceleration vector with the associated confidence value. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +AccelerationCartesian::= SEQUENCE{ + xAcceleration AccelerationComponent, + yAcceleration AccelerationComponent, + zAcceleration AccelerationComponent OPTIONAL +} + +/** + * This DF represents an acceleration component along with a confidence value. + * + * It shall include the following components: + * + * @field value: the value of the acceleration component which can be estimated as the mean of the current distribution. + * + * @field confidence: the confidence value associated to the provided value. + * + * @category: Kinematic Information + * @revision: Created in V2.1.1 + */ +AccelerationComponent ::= SEQUENCE { + value AccelerationValue, + confidence AccelerationConfidence +} + +/** + * This DF represents information associated to changes in acceleration. + * + * It shall include the following components: + * + * @field accelOrDecel: the indication of an acceleration change. + * + * @field actionDeltaTime: the period over which the acceleration change action is performed. + * + * @category: Kinematic Information + * @revision: Created in V2.1.1 + */ +AccelerationChangeIndication ::= SEQUENCE { + accelOrDecel AccelerationChange, + actionDeltaTime DeltaTimeTenthOfSecond, + ... +} + +/** + * This DF represents the magnitude of the acceleration vector and associated confidence value. + * + * It shall include the following components: + * + * @field accelerationMagnitudeValue: the magnitude of the acceleration vector. + * + * @field accelerationConfidence: the confidence value of the magnitude value. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +AccelerationMagnitude::= SEQUENCE { + accelerationMagnitudeValue AccelerationMagnitudeValue, + accelerationConfidence AccelerationConfidence +} + +/** + * This DF represents an identifier used to describe a protocol action taken by an ITS-S. + * + * It shall include the following components: + * + * @field originatingStationId: Id of the ITS-S that takes the action. + * + * @field sequenceNumber: a sequence number. + * + * @category: Communication information + * @revision: Created in V2.1.1 based on @ref ActionID. + */ +ActionId ::= SEQUENCE { + originatingStationId StationId, + sequenceNumber SequenceNumber +} + +/** + * This DF represents an identifier used to describe a protocol action taken by an ITS-S. + * + * It shall include the following components: + * + * @field originatingStationId: Id of the ITS-S that takes the action. + * + * @field sequenceNumber: a sequence number. + * + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use the @ref ActionId instead. + * @category: Communication information + * @revision: V1.3.1 + */ +ActionID ::= SEQUENCE { + originatingStationId StationID, + sequenceNumber SequenceNumber +} + +/** + * This DF shall contain a list of @ref ActionId. + + * @category: Communication Information + * @revision: Created in V2.1.1 based on ReferenceDenms from DENM Release 1 +*/ +ActionIdList::= SEQUENCE (SIZE(1..8, ...)) OF ActionId + +/** + * This DF provides the altitude and confidence level of an altitude information in a WGS84 coordinate system. + * The specific WGS84 coordinate system is specified by the corresponding standards applying this DE. + * + * It shall include the following components: + * + * @field altitudeValue: altitude of a geographical point. + * + * @field altitudeConfidence: confidence level of the altitudeValue. + * + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use the @ref AltitudeWithConfidence instead. + * @category: GeoReference information + * @revision: Description revised in V2.1.1 + */ +Altitude ::= SEQUENCE { + altitudeValue AltitudeValue, + altitudeConfidence AltitudeConfidence +} + +/** + * This DE represents a general container for usage in various types of messages. + * + * It shall include the following components: + * + * @field stationType: the type of technical context in which the ITS-S that has generated the message is integrated in. + * + * @field referencePosition: the reference position of the station that has generated the message that contains the basic container. + * + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +BasicContainer ::= SEQUENCE { + stationType TrafficParticipantType, + referencePosition ReferencePositionWithConfidence, + ... +} + +/** + * This DF provides information about the configuration of a road section in terms of lanes using a list of @ref LanePositionAndType . + * + * @category: Road topology information + * @revision: Created in V2.2.1 +*/ +BasicLaneConfiguration::= SEQUENCE(SIZE(1..16,...)) OF BasicLaneInformation + +/** + * This DF provides basic information about a single lane of a road segment. + * It includes the following components: + * + * @field laneNumber: the number associated to the lane that provides a transversal identification. + * + * @field direction: the direction of traffic flow allowed on the lane. + * + * @field laneWidth: the optional width of the lane. + * + * @field connectingLane: the number of the connecting lane in the next road section, i.e. the number of the lane which the vehicle will use when travelling from one section to the next, + * if it does not actively change lanes. If this component is absent, the lane name number remains the same in the next section. + * + * @field connectingRoadSection: the identifier of the next road section in direction of traffic, that is connecting to the current road section. + * If this component is absent, the connecting road section is the one following the instance where this DF is placed in the @ref RoadConfigurationSectionList. + * + * @category: Road topology information + * @revision: Created in V2.2.1 +*/ + +BasicLaneInformation::= SEQUENCE{ + laneNumber LanePosition, + direction Direction, + laneWidth LaneWidth OPTIONAL, + connectingLane LanePosition OPTIONAL, + connectingRoadSection RoadSectionId OPTIONAL, + ... +} +((WITH COMPONENTS {..., connectingLane PRESENT}) | + (WITH COMPONENTS {..., connectingLane ABSENT, connectingRoadSection ABSENT})) + +/** + * This DF represents a general Data Frame to describe an angle component along with a confidence value in a cartesian coordinate system. + * + * It shall include the following components: + * + * @field value: The angle value which can be estimated as the mean of the current distribution. + * + * @field confidence: The confidence value associated to the provided value. + * + * @category: Basic information + * @revision: Created in V2.1.1 + */ +CartesianAngle ::= SEQUENCE { + value CartesianAngleValue, + confidence AngleConfidence +} + +/** + * This DF represents an angular velocity component along with a confidence value in a cartesian coordinate system. + * + * It shall include the following components: + * + * @field value: The angular velocity component. + * + * @field confidence: The confidence value associated to the provided value. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +CartesianAngularVelocityComponent ::= SEQUENCE { + value CartesianAngularVelocityComponentValue, + confidence AngularSpeedConfidence +} + +/** + * This DF represents a general Data Frame to describe an angular acceleration component along with a confidence value in a cartesian coordinate system. + * + * It shall include the following components: + * + * @field value: The angular acceleration component value. + * + * @field confidence: The confidence value associated to the provided value. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +CartesianAngularAccelerationComponent ::= SEQUENCE { + value CartesianAngularAccelerationComponentValue, + confidence AngularAccelerationConfidence +} + +/** + * This DF represents a coordinate along with a confidence value in a cartesian reference system. + * + * It shall include the following components: + * + * @field value: the coordinate value, which can be estimated as the mean of the current distribution. + * + * @field confidence: the coordinate confidence value associated to the provided value. + * + * @category: GeoReference information + * @revision: Created in V2.1.1 +*/ +CartesianCoordinateWithConfidence ::= SEQUENCE { + value CartesianCoordinateLarge, + confidence CoordinateConfidence +} + +/** + * This DF represents a position in a two- or three-dimensional cartesian coordinate system. + * + * It shall include the following components: + * + * @field xCoordinate: the X coordinate value. + * + * @field yCoordinate: the Y coordinate value. + * + * @field zCoordinate: the optional Z coordinate value. + * + * @category: GeoReference information + * @revision: Created in V2.1.1 +*/ +CartesianPosition3d::=SEQUENCE{ + xCoordinate CartesianCoordinate, + yCoordinate CartesianCoordinate, + zCoordinate CartesianCoordinate OPTIONAL +} + +/** + * This DF represents a position in a two- or three-dimensional cartesian coordinate system with an associated confidence level for each coordinate. + * + * It shall include the following components: + * + * @field xCoordinate: the X coordinate value with the associated confidence level. + * + * @field yCoordinate: the Y coordinate value with the associated confidence level. + * + * @field zCoordinate: the optional Z coordinate value with the associated confidence level. + * + * @category: GeoReference information + * @revision: Created in V2.1.1 +*/ +CartesianPosition3dWithConfidence::= SEQUENCE{ + xCoordinate CartesianCoordinateWithConfidence, + yCoordinate CartesianCoordinateWithConfidence, + zCoordinate CartesianCoordinateWithConfidence OPTIONAL +} + +/** + * This DF is a representation of the cause code value of a traffic event. + * + * It shall include the following components: + * + * @field causeCode: the main cause of a detected event. + * + * @field subCauseCode: the subordinate cause of a detected event. + * + * The semantics of the entire DF are completely defined by the component causeCode. The interpretation of the subCauseCode may + * provide additional information that is not strictly necessary to understand the causeCode itself, and is therefore optional. + * + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use the @ref CauseCodeV2 instead. + * + * @category: Traffic information + * @revision: Editorial update in V2.1.1 + */ +CauseCode ::= SEQUENCE { + causeCode CauseCodeType, + subCauseCode SubCauseCodeType, + ... +} + +/** + * This DF is a representation of the cause code value and associated sub cause code value of a traffic event. + * + * The following options are available: + * - 0 - reserved for future use, + * - 1 - `trafficCondition1` - in case the type of event is an abnormal traffic condition, + * - 2 - `accident2` - in case the type of event is a road accident, + * - 3 - `roadworks3` - in case the type of event is roadwork, + * - 4 - reserved for future usage, + * - 5 - `impassability5` - in case the type of event is unmanaged road blocking, referring to any + * blocking of a road, partial or total, which has not been adequately secured and signposted, + * - 6 - `adverseWeatherCondition-Adhesion6` - in case the type of event is low adhesion, + * - 7 - `aquaplaning7` - danger of aquaplaning on the road, + * - 8 - reserved for future usage, + * - 9 - `hazardousLocation-SurfaceCondition9` - in case the type of event is abnormal road surface condition, + * - 10 - `hazardousLocation-ObstacleOnTheRoad10` - in case the type of event is obstacle on the road, + * - 11 - `hazardousLocation-AnimalOnTheRoad11` - in case the type of event is animal on the road, + * - 12 - `humanPresenceOnTheRoad` - in case the type of event is presence of human vulnerable road user on the road, + * - 13 - reserved for future usage, + * - 14 - `wrongWayDriving14` - in case the type of the event is vehicle driving in wrong way, + * - 15 - `rescueAndRecoveryWorkInProgress15` - in case the type of event is rescue and recovery work for accident or for a road hazard in progress, + * - 16 - reserved for future usage, + * - 17 - `adverseWeatherCondition-ExtremeWeatherCondition17` - in case the type of event is extreme weather condition, + * - 18 - `adverseWeatherCondition-Visibility18` - in case the type of event is low visibility, + * - 19 - `adverseWeatherCondition-Precipitation19` - in case the type of event is precipitation, + * - 20 - `violence20` - in case the the type of event is human violence on or near the road, + * - 21-25 - reserved for future usage, + * - 26 - `slowVehicle26` - in case the type of event is slow vehicle driving on the road, + * - 27 - `dangerousEndOfQueue27` - in case the type of event is dangerous end of vehicle queue, + * - 28 - `publicTransportVehicleApproaching - in case the type of event is a public transport vehicle approaching, with a priority defined by applicable traffic regulations, + * - 29-90 - are reserved for future usage, + * - 91 - `vehicleBreakdown91` - in case the type of event is break down vehicle on the road, + * - 92 - `postCrash92` - in case the type of event is a detected crash, + * - 93 - `humanProblem93` - in case the type of event is human health problem in vehicles involved in traffic, + * - 94 - `stationaryVehicle94` - in case the type of event is stationary vehicle, + * - 95 - `emergencyVehicleApproaching95` - in case the type of event is an approaching vehicle operating on a mission for which the + applicable traffic regulations provide it with defined priority rights in traffic. + * - 96 - `hazardousLocation-DangerousCurve96` - in case the type of event is dangerous curve, + * - 97 - `collisionRisk97` - in case the type of event is a collision risk, + * - 98 - `signalViolation98` - in case the type of event is signal violation, + * - 99 - `dangerousSituation99` - in case the type of event is dangerous situation in which autonomous safety system in vehicle + * is activated, + * - 100 - `railwayLevelCrossing100` - in case the type of event is a railway level crossing. + * - 101-255 - are reserved for future usage. + * + * @note: this DF is defined for use as part of CauseCodeV2. It is recommended to use CauseCodeV2. + * @category: Traffic information + * @revision: Created in V2.1.1, the type of impassability5 changed to ImpassabilitySubCauseCode in V2.2.1, value 28 added in V2.2.1, definition of value 12 and 95 changed in V2.2.1 + */ +CauseCodeChoice::= CHOICE { + reserved0 SubCauseCodeType, + trafficCondition1 TrafficConditionSubCauseCode, + accident2 AccidentSubCauseCode, + roadworks3 RoadworksSubCauseCode, + reserved4 SubCauseCodeType, + impassability5 ImpassabilitySubCauseCode, + adverseWeatherCondition-Adhesion6 AdverseWeatherCondition-AdhesionSubCauseCode, + aquaplaning7 SubCauseCodeType, + reserved8 SubCauseCodeType, + hazardousLocation-SurfaceCondition9 HazardousLocation-SurfaceConditionSubCauseCode, + hazardousLocation-ObstacleOnTheRoad10 HazardousLocation-ObstacleOnTheRoadSubCauseCode, + hazardousLocation-AnimalOnTheRoad11 HazardousLocation-AnimalOnTheRoadSubCauseCode, + humanPresenceOnTheRoad12 HumanPresenceOnTheRoadSubCauseCode, + reserved13 SubCauseCodeType, + wrongWayDriving14 WrongWayDrivingSubCauseCode, + rescueAndRecoveryWorkInProgress15 RescueAndRecoveryWorkInProgressSubCauseCode, + reserved16 SubCauseCodeType, + adverseWeatherCondition-ExtremeWeatherCondition17 AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode, + adverseWeatherCondition-Visibility18 AdverseWeatherCondition-VisibilitySubCauseCode, + adverseWeatherCondition-Precipitation19 AdverseWeatherCondition-PrecipitationSubCauseCode, + violence20 SubCauseCodeType, + reserved21 SubCauseCodeType, + reserved22 SubCauseCodeType, + reserved23 SubCauseCodeType, + reserved24 SubCauseCodeType, + reserved25 SubCauseCodeType, + slowVehicle26 SlowVehicleSubCauseCode, + dangerousEndOfQueue27 DangerousEndOfQueueSubCauseCode, + publicTransportVehicleApproaching28 SubCauseCodeType, + reserved29 SubCauseCodeType, + reserved30 SubCauseCodeType, + reserved31 SubCauseCodeType, + reserved32 SubCauseCodeType, + reserved33 SubCauseCodeType, + reserved34 SubCauseCodeType, + reserved35 SubCauseCodeType, + reserved36 SubCauseCodeType, + reserved37 SubCauseCodeType, + reserved38 SubCauseCodeType, + reserved39 SubCauseCodeType, + reserved40 SubCauseCodeType, + reserved41 SubCauseCodeType, + reserved42 SubCauseCodeType, + reserved43 SubCauseCodeType, + reserved44 SubCauseCodeType, + reserved45 SubCauseCodeType, + reserved46 SubCauseCodeType, + reserved47 SubCauseCodeType, + reserved48 SubCauseCodeType, + reserved49 SubCauseCodeType, + reserved50 SubCauseCodeType, + reserved51 SubCauseCodeType, + reserved52 SubCauseCodeType, + reserved53 SubCauseCodeType, + reserved54 SubCauseCodeType, + reserved55 SubCauseCodeType, + reserved56 SubCauseCodeType, + reserved57 SubCauseCodeType, + reserved58 SubCauseCodeType, + reserved59 SubCauseCodeType, + reserved60 SubCauseCodeType, + reserved61 SubCauseCodeType, + reserved62 SubCauseCodeType, + reserved63 SubCauseCodeType, + reserved64 SubCauseCodeType, + reserved65 SubCauseCodeType, + reserved66 SubCauseCodeType, + reserved67 SubCauseCodeType, + reserved68 SubCauseCodeType, + reserved69 SubCauseCodeType, + reserved70 SubCauseCodeType, + reserved71 SubCauseCodeType, + reserved72 SubCauseCodeType, + reserved73 SubCauseCodeType, + reserved74 SubCauseCodeType, + reserved75 SubCauseCodeType, + reserved76 SubCauseCodeType, + reserved77 SubCauseCodeType, + reserved78 SubCauseCodeType, + reserved79 SubCauseCodeType, + reserved80 SubCauseCodeType, + reserved81 SubCauseCodeType, + reserved82 SubCauseCodeType, + reserved83 SubCauseCodeType, + reserved84 SubCauseCodeType, + reserved85 SubCauseCodeType, + reserved86 SubCauseCodeType, + reserved87 SubCauseCodeType, + reserved88 SubCauseCodeType, + reserved89 SubCauseCodeType, + reserved90 SubCauseCodeType, + vehicleBreakdown91 VehicleBreakdownSubCauseCode, + postCrash92 PostCrashSubCauseCode, + humanProblem93 HumanProblemSubCauseCode, + stationaryVehicle94 StationaryVehicleSubCauseCode, + emergencyVehicleApproaching95 EmergencyVehicleApproachingSubCauseCode, + hazardousLocation-DangerousCurve96 HazardousLocation-DangerousCurveSubCauseCode, + collisionRisk97 CollisionRiskSubCauseCode, + signalViolation98 SignalViolationSubCauseCode, + dangerousSituation99 DangerousSituationSubCauseCode, + railwayLevelCrossing100 RailwayLevelCrossingSubCauseCode, + reserved101 SubCauseCodeType, + reserved102 SubCauseCodeType, + reserved103 SubCauseCodeType, + reserved104 SubCauseCodeType, + reserved105 SubCauseCodeType, + reserved106 SubCauseCodeType, + reserved107 SubCauseCodeType, + reserved108 SubCauseCodeType, + reserved109 SubCauseCodeType, + reserved110 SubCauseCodeType, + reserved111 SubCauseCodeType, + reserved112 SubCauseCodeType, + reserved113 SubCauseCodeType, + reserved114 SubCauseCodeType, + reserved115 SubCauseCodeType, + reserved116 SubCauseCodeType, + reserved117 SubCauseCodeType, + reserved118 SubCauseCodeType, + reserved119 SubCauseCodeType, + reserved120 SubCauseCodeType, + reserved121 SubCauseCodeType, + reserved122 SubCauseCodeType, + reserved123 SubCauseCodeType, + reserved124 SubCauseCodeType, + reserved125 SubCauseCodeType, + reserved126 SubCauseCodeType, + reserved127 SubCauseCodeType, + reserved128 SubCauseCodeType + } + +/** + * This DF is an alternative representation of the cause code value of a traffic event. + * + * It shall include the following components: + * + * @field ccAndScc: the main cause of a detected event. Each entry is of a different type and represents the sub cause code. + + * The semantics of the entire DF are completely defined by the choice value which represents the cause code value. + * The interpretation of the sub cause code value may provide additional information that is not strictly necessary to understand + * the cause code itself, and is therefore optional. + * + * @category: Traffic information + * @revision: Created in V2.1.1, description amended in V2.2.1 + */ +CauseCodeV2 ::= SEQUENCE { + ccAndScc CauseCodeChoice, + ... +} + +/** + * The DF describes the position of a CEN DSRC road side equipment. + * + * It shall include the following components: + * + * @field protectedZoneLatitude: the latitude of the CEN DSRC road side equipment. + * + * @field protectedZoneLongitude: the latitude of the CEN DSRC road side equipment. + * + * @field cenDsrcTollingZoneID: the optional ID of the CEN DSRC road side equipment. + * + * @category: Infrastructure information, Communication information + * @revision: revised in V2.1.1 (cenDsrcTollingZoneId is directly of type ProtectedZoneId) + */ +CenDsrcTollingZone ::= SEQUENCE { + protectedZoneLatitude Latitude, + protectedZoneLongitude Longitude, + cenDsrcTollingZoneId ProtectedZoneId OPTIONAL, + ... +} + +/** + * + * This DF represents the shape of a circular area or a right cylinder that is centred on the shape's reference point. + * + * It shall include the following components: + * + * @field shapeReferencePoint: optional reference point that represents the centre of the circle, relative to an externally specified reference position. + * If this component is absent, the externally specified reference position represents the shape's reference point. + * + * @field radius: the radius of the circular area. + * + * @field height: the optional height, present if the shape is a right cylinder extending in the positive z-axis. + * + * + * @category: GeoReference information + * @revision: Created in V2.1.1 + */ +CircularShape ::= SEQUENCE { + shapeReferencePoint CartesianPosition3d OPTIONAL, + radius StandardLength12b, + height StandardLength12b OPTIONAL +} + +/** + * This DF indicates the opening/closure status of the lanes of a carriageway. + * + * It shall include the following components: + * + * @field innerhardShoulderStatus: this information is optional and shall be included if an inner hard shoulder is present and the information is known. + * It indicates the open/closing status of inner hard shoulder lanes. + * + * @field outerhardShoulderStatus: this information is optional and shall be included if an outer hard shoulder is present and the information is known. + * It indicates the open/closing status of outer hard shoulder lanes. + * + * @field drivingLaneStatus: this information is optional and shall be included if the information is known. + * It indicates the open/closing status of driving lanes. + * For carriageways with more than 13 driving lanes, the drivingLaneStatus component shall not be present. + * + * @category: Infrastructure information, Road topology information + * @revision: Description revised in V2.1.1 + */ +ClosedLanes ::= SEQUENCE { + innerhardShoulderStatus HardShoulderStatus OPTIONAL, + outerhardShoulderStatus HardShoulderStatus OPTIONAL, + drivingLaneStatus DrivingLaneStatus OPTIONAL, + ... +} + +/** + * This DF provides information about the breakup of a cluster. + * + * It shall include the following components: + * + * @field clusterBreakupReason: indicates the reason for breakup. + * + * @field breakupTime: indicates the time of breakup. + * + * @category: Cluster Information + * @revision: Created in V2.1.1 + */ +ClusterBreakupInfo ::= SEQUENCE { + clusterBreakupReason ClusterBreakupReason, + breakupTime DeltaTimeQuarterSecond, + ... +} + +/** + * This DF provides information about the joining of a cluster. + * + * It shall include the following components: + * + * @field clusterId: indicates the identifier of the cluster. + * + * @field joinTime: indicates the time of joining. + * + * @category: Cluster Information + * @revision: Created in V2.1.1 + */ +ClusterJoinInfo ::= SEQUENCE { + clusterId Identifier1B, + joinTime DeltaTimeQuarterSecond, + ... +} + +/** + * The DF provides information about the leaving of a cluster. + * + * It shall include the following components: + * + * @field clusterId: indicates the cluster. + * + * @field clusterLeaveReason: indicates the reason for leaving. + * + * @category: Cluster Information + * @revision: Created in V2.1.1 + */ +ClusterLeaveInfo ::= SEQUENCE { + clusterId Identifier1B, + clusterLeaveReason ClusterLeaveReason, + ... +} + +/** + * This DF represents a column of a lower triangular positive semi-definite matrix and consists of a list of correlation cell values ordered by rows. + * Given a matrix "A" of size n x n, the number of columns to be included in the lower triangular matrix is k=n-1. + * Each column "i" of the lower triangular matrix then contains k-(i-1) values (ordered by rows from 1 to n-1), where "i" refers to the column number count + * starting at 1 from the left. + * + * @category: Sensing Information + * @revision: Created in V2.1.1 +*/ +CorrelationColumn ::= SEQUENCE SIZE (1..13,...) OF CorrelationCellValue + +/** + * This DF represents the curvature of the vehicle trajectory and the associated confidence value. + * The curvature detected by a vehicle represents the curvature of actual vehicle trajectory. + * + * It shall include the following components: + * + * @field curvatureValue: Detected curvature of the vehicle trajectory. + * + * @field curvatureConfidence: along with a confidence value of the curvature value with a predefined confidence level. + * + * @category: Vehicle information + * @revision: Description revised in V2.1.1 + */ +Curvature ::= SEQUENCE { + curvatureValue CurvatureValue, + curvatureConfidence CurvatureConfidence +} + +/** + * This DF provides a description of dangerous goods being carried by a heavy vehicle. + * + * It shall include the following components: + * + * @field dangerousGoodsType: Type of dangerous goods. + * + * @field unNumber: a 4-digit number that identifies the substance of the dangerous goods as specified in + * United Nations Recommendations on the Transport of Dangerous Goods - Model Regulations [4], + * + * @field elevatedTemperature: whether the carried dangerous goods are transported at high temperature. + * If yes, the value shall be set to TRUE, + * + * @field tunnelsRestricted: whether the heavy vehicle carrying dangerous goods is restricted to enter tunnels. + * If yes, the value shall be set to TRUE, + * + * @field limitedQuantity: whether the carried dangerous goods are packed with limited quantity. + * If yes, the value shall be set to TRUE, + * + * @field emergencyActionCode: physical signage placard at the vehicle that carries information on how an emergency + * service should deal with an incident. This component is optional; it shall be present if the information is available. + * + * @field phoneNumber: contact phone number of assistance service in case of incident or accident. + * This component is optional, it shall be present if the information is available. + * + * @field companyName: name of company that manages the transportation of the dangerous goods. + * This component is optional; it shall be present if the information is available. + * + * @category Vehicle information + * @revision: V1.3.1 + */ +DangerousGoodsExtended ::= SEQUENCE { + dangerousGoodsType DangerousGoodsBasic, + unNumber INTEGER (0..9999), + elevatedTemperature BOOLEAN, + tunnelsRestricted BOOLEAN, + limitedQuantity BOOLEAN, + emergencyActionCode IA5String (SIZE (1..24)) OPTIONAL, + phoneNumber PhoneNumber OPTIONAL, + companyName UTF8String (SIZE (1..24)) OPTIONAL, + ... +} + +/** + * This DF defines a geographical point position as a 3 dimensional offset position to a geographical reference point. + * + * It shall include the following components: + * + * @field deltaLatitude: A delta latitude offset with regards to the latitude value of the reference position. + * + * @field deltaLongitude: A delta longitude offset with regards to the longitude value of the reference position. + * + * @field deltaAltitude: A delta altitude offset with regards to the altitude value of the reference position. + * + * @category: GeoReference information + * @revision: V1.3.1 + */ +DeltaReferencePosition ::= SEQUENCE { + deltaLatitude DeltaLatitude, + deltaLongitude DeltaLongitude, + deltaAltitude DeltaAltitude +} + +/** + * This DF represents a portion of digital map. It shall contain a list of waypoints @ref ReferencePosition. + * + * @category: GeoReference information + * @revision: V1.3.1 + */ +DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition + +/** + * + * This DF represents the shape of an elliptical area or right elliptical cylinder that is centred + * on the shape's reference point defined outside of the context of this DF and oriented w.r.t. a + * cartesian coordinate system defined outside of the context of this DF. + * + * It shall include the following components: + * + * @field shapeReferencePoint: optional reference point which represents the centre of the ellipse, + * relative to an externally specified reference position. If this component is absent, the + * externally specified reference position represents the shape's reference point. + * + * @field semiMajorAxisLength: half length of the major axis of the ellipse located in the X-Y Plane. + * + * @field semiMinorAxisLength: half length of the minor axis of the ellipse located in the X-Y Plane. + * + * @field orientation: the optional orientation of the major axis of the ellipse, measured with + * positive values turning around the z-axis using the right-hand rule, starting from the X-axis. + * + * @field height: the optional height, present if the shape is a right elliptical cylinder extending + * in the positive Z-axis. + * + * @category: GeoReference information + * @revision: Created in V2.1.1, the type of the field orientation changed and the description revised in V2.2.1 +*/ + +EllipticalShape ::= SEQUENCE { + shapeReferencePoint CartesianPosition3d OPTIONAL, + semiMajorAxisLength StandardLength12b, + semiMinorAxisLength StandardLength12b, + orientation CartesianAngleValue OPTIONAL, + height StandardLength12b OPTIONAL +} + +/** + * This DF represents the Euler angles which describe the orientation of an object bounding box in a Cartesian coordinate system with an associated confidence level for each angle. + * + * It shall include the following components: + * + * @field zAngle: z-angle of object bounding box at the time of measurement, with the associated confidence. + * The angle is measured with positive values considering the object orientation turning around the z-axis using the right-hand rule, starting from the x-axis. + * This extrinsic rotation shall be applied around the centre point of the object bounding box before all other rotations. + * + * @field yAngle: optional y-angle of object bounding box at the time of measurement, with the associated confidence. + * The angle is measured with positive values considering the object orientation turning around the y-axis using the right-hand rule, starting from the z-axis. + * This extrinsic rotation shall be applied around the centre point of the object bounding box after the rotation by zAngle and before the rotation by xAngle. + * + * @field xAngle: optional x-angle of object bounding box at the time of measurement, with the associated confidence. + * The angle is measured with positive values considering the object orientation turning around the x-axis using the right-hand rule, starting from the z-axis. + * This extrinsic rotation shall be applied around the centre point of the object bounding box after all other rotations. + * + * @category: Basic information + * @revision: Created in V2.1.1 +*/ +EulerAnglesWithConfidence ::= SEQUENCE { + zAngle CartesianAngle, + yAngle CartesianAngle OPTIONAL, + xAngle CartesianAngle OPTIONAL +} + +/** + * + * This DF represents a vehicle category according to the UNECE/TRANS/WP.29/78/Rev.4 [16]. + * The following options are available: + * + * @field euVehicleCategoryL: indicates a vehicle in the L category. + * + * @field euVehicleCategoryM: indicates a vehicle in the M category. + * + * @field euVehicleCategoryN: indicates a vehicle in the N category. + * + * @field euVehicleCategoryO: indicates a vehicle in the O category. + * + * @field euVehicleCategoryT: indicates a vehicle in the T category. + * + * @field euVehicleCategoryG: indicates a vehicle in the G category. + * + * @category: Vehicle information + * @revision: Created in V2.1.1 +*/ +EuVehicleCategoryCode ::= CHOICE { + euVehicleCategoryL EuVehicleCategoryL, + euVehicleCategoryM EuVehicleCategoryM, + euVehicleCategoryN EuVehicleCategoryN, + euVehicleCategoryO EuVehicleCategoryO, + euVehicleCategoryT NULL, + euVehicleCategoryG NULL +} + +/** + * The DF shall contain a list of @ref EventPoint. + * + * The eventPosition of each @ref EventPoint is defined with respect to the previous @ref EventPoint in the list. + * Except for the first @ref EventPoint which is defined with respect to a position outside of the context of this DF. + * + * @category: GeoReference information, Traffic information + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use the @ref EventZone instead. + * @revision: Generalized the semantics in V2.1.1 + */ +EventHistory::= SEQUENCE (SIZE(1..23)) OF EventPoint + +/** + * This DF provides information related to an event at a defined position. + * + * It shall include the following components: + * + * @field eventPosition: offset position of a detected event point to a defined position. + * + * @field eventDeltaTime: optional time travelled by the detecting ITS-S since the previous detected event point. + * + * @field informationQuality: Information quality of the detection for this event point. + * + * @category: GeoReference information, Traffic information + * @revision: generalized the semantics in V2.1.1 + */ +EventPoint ::= SEQUENCE { + eventPosition DeltaReferencePosition, + eventDeltaTime PathDeltaTime OPTIONAL, + informationQuality InformationQuality +} + +/** + * The DF shall contain a list of @ref EventPoint, where all @ref EventPoint either contain the COMPONENT eventDeltaTime + * or do not contain the COMPONENT eventDeltaTime. + * + * The eventPosition of each @ref EventPoint is defined with respect to the previous @ref EventPoint in the list. + * Except for the first @ref EventPoint which is defined with respect to a position outside of the context of this DF. + * + * @category: GeoReference information, Traffic information + * @revision: created in V2.1.1 based on EventHistory + */ +EventZone::= EventHistory + ((WITH COMPONENT (WITH COMPONENTS {..., eventDeltaTime PRESENT})) | + (WITH COMPONENT (WITH COMPONENTS {..., eventDeltaTime ABSENT}))) + +/** + * This DF indicates a geographical position. + * + * It shall include the following components: + * + * @field latitude: the latitude of the geographical position. + * + * @field longitude: the longitude of the geographical position. + * + * @field altitude: the altitude of the geographical position with default value unavailable. + * +*/ +GeoPosition::= SEQUENCE{ + latitude Latitude, + longitude Longitude, + altitude AltitudeValue DEFAULT unavailable +} + +/** + * This DF represents the top-level DF to represent a lane position. A lane position is a transversal position on the carriageway at a specific longitudinal position, in resolution of lanes of the carriageway. + * + * @note: This DF is the most general way to represent a lane position: it provides a complete set of information regarding a transversal (dimensionless) position on the carriageway at a specific + * reference position, i.e. it provides different options and synonyms to represent the lane at which the reference position (the point) is located. A confidence is used to describe the probability + * that the object is located in the provided lane. The dimension of the object or extension of an area are not considered: See @ref OccupiedLanesWithConfidence for describing the occupation of lanes, + * where the dimensions of an object or the extension of an area is considered. + * + * It shall include the following components: + * + * @field lanePositionBased: lane position information for a defined reference position. + * + * @field mapBased: optional lane position information described in the context of a MAPEM as specified in ETSI TS 103 301 [15]. + * If present, it shall describe the same reference position using the lane identification in the MAPEM. This component can be used only if a MAPEM is available for the reference position + * (e.g. on an intersection): In this case it is used as a synonym to the mandatory component lanePositionBased. + * + * @field confidence: confidence information for expressing the probability that the object is located at the indicated lane. + * If the value of the component lanePositionBased is generated directly from the absolute reference position and reference topology information, + * no sensor shall be indicated in the component usedDetectionInformation of the @ref MetaInformation. + * + * @category: Road Topology information + * @revision: newly created in V2.2.1. The previous DF GeneralizedLanePosition is now renamed to @ref LanePositionOptions. + */ +GeneralizedLanePosition ::= SEQUENCE { + lanePositionBased LanePositionOptions, + mapBased MapPosition OPTIONAL, + confidence MetaInformation, + ... +} + +/** + * This DF represents transversal position information with respect to the road, at an externally defined reference position. It shall contain a set of up to `4` @ref GeneralizedLanePosition. + * Multiple entries can be used to describe several lane positions with the associated confidence, in cases where the reference position cannot be mapped to a single lane. + * + * @category: Road Topology information + * @revision: Created in V2.2.1 + */ +GeneralizedLanePositions ::= SEQUENCE (SIZE(1..4)) OF GeneralizedLanePosition + +/** + * This DF represents the Heading in a WGS84 co-ordinates system. + * The specific WGS84 coordinate system is specified by the corresponding standards applying this DE. + * + * It shall include the following components: + * + * @field headingValue: the heading value. + * + * @field headingConfidence: the confidence value of the heading value with a predefined confidence level. + * + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use the @ref Wgs84Angle instead. + * @category: Kinematic Information + * @revision: Description revised in V2.1.1 + */ +Heading ::= SEQUENCE { + headingValue HeadingValue, + headingConfidence HeadingConfidence +} + + +/** + * This DF provides information associated to heading change indicators such as a change of direction. + * + * It shall include the following components: + * + * @field direction: the direction of heading change value. + * + * @field actionDeltaTime: the period over which a direction change action is performed. + * + * @category: Kinematic Information + * @revision: created in V2.1.1 + */ +HeadingChangeIndication ::= SEQUENCE { + direction TurningDirection, + actionDeltaTime DeltaTimeTenthOfSecond, + ... +} + +/** + * This DF represents a frequency channel + * + * It shall include the following components: + * + * @field centreFrequency: the centre frequency of the channel in 10^(exp+2) Hz (where exp is exponent) + * + * @field channelWidth: width of the channel in 10^exp Hz (where exp is exponent) + * + * @field exponent: exponent of the power of 10 used in the calculation of the components above. + * + * @category: Communication information + * @revision: created in V2.1.1 +*/ +InterferenceManagementChannel ::= SEQUENCE { + centreFrequency INTEGER (1 .. 99999), + channelWidth INTEGER (0 .. 9999), + exponent INTEGER (0 .. 15) +} + +/** + * + * This DF represents a zone inside which the ITS communication should be restricted in order to manage interference. + * + * It shall include the following components: + * + * @field zoneDefinition: contains the geographical definition of the zone. + * + * @field managementInfo: contains interference management information applicable in the zone defined in the component zoneDefinition. + * + * @category: Communication information + * @revision: created in V2.1.1 + */ +InterferenceManagementZone ::= SEQUENCE { + zoneDefinition InterferenceManagementZoneDefinition, + managementInfo InterferenceManagementInfo +} + +/** + * This DF represents the geographical definition of the zone where band sharing occurs. + * + * It shall include the following components: + * + * @field interferenceManagementZoneLatitude: Latitude of the centre point of the interference management zone. + * + * @field interferenceManagementZoneLongitude: Longitude of the centre point of the interference management zone. + * + * @field interferenceManagementZoneId: optional identification of the interference management zone. + * + * @field interferenceManagementZoneShape: shape of the interference management zone placed at the centre point. + * + * @category: Communication information + * @revision: created in V2.1.1 + */ +InterferenceManagementZoneDefinition::= SEQUENCE{ + interferenceManagementZoneLatitude Latitude, + interferenceManagementZoneLongitude Longitude, + interferenceManagementZoneId ProtectedZoneId OPTIONAL, + interferenceManagementZoneShape Shape + (WITH COMPONENTS{..., radial ABSENT, radialShapes ABSENT}) OPTIONAL, + ... +} + +/** + * This DF shall contain a list of up to 16 definitions containing interference management information, per affected frequency channels. + * + * @category: Communication information. + * @revision: created in V2.1.1 + */ +InterferenceManagementInfo::= SEQUENCE (SIZE(1..16,...)) OF InterferenceManagementInfoPerChannel + + +/** + * This DF contains interference management information for one affected frequency channel. + * + * It shall include the following components: + * + * @field interferenceManagementChannel: frequency channel for which the zone should be applied interference management + * + * @field interferenceManagementZoneType: type of the interference management zone. + * + * @field interferenceManagementMitigationType: optional type of the mitigation to be used in the interference management zone. + * In the case where no mitigation should be applied by the ITS-S, this is indicated by the field interferenceManagementMitigationType being absent. + * + * @field expiryTime: optional time at which the validity of the interference management communication zone will expire. + * This component is present when the interference management is temporarily valid + * + * @category: Communication information + * @revision: created in V2.1.1 + */ +InterferenceManagementInfoPerChannel ::= SEQUENCE { + interferenceManagementChannel InterferenceManagementChannel, + interferenceManagementZoneType InterferenceManagementZoneType, + interferenceManagementMitigationType MitigationForTechnologies OPTIONAL, + expiryTime TimestampIts OPTIONAL, + ... +} + +/** + * This DF shall contain a list of up to 16 interference management zones. + * + * **EXAMPLE**: An interference management communication zone may be defined around a CEN DSRC road side equipment or an urban rail operational area. + * + * @category: Communication information + * @revision: created in V2.1.1 + */ +InterferenceManagementZones ::= SEQUENCE (SIZE(1..16), ...) OF InterferenceManagementZone + +/** + * This DF represents a unique id for an intersection, in accordance with ETSI TS 103 301 [15]. + * + * It shall include the following components: + * + * @field region: the optional identifier of the entity that is responsible for the region in which the intersection is placed. + * It is the duty of that entity to guarantee that the @ref Id is unique within the region. + * + * @field id: the identifier of the intersection + * + * @note: when the component region is present, the IntersectionReferenceId is guaranteed to be globally unique. + * @category: Road topology information + * @revision: created in V2.1.1 + */ +IntersectionReferenceId ::= SEQUENCE { + region Identifier2B OPTIONAL, + id Identifier2B +} + +/** + * This DF shall contain a list of waypoints @ref ReferencePosition. + * + * @category: GeoReference information + * @revision: Editorial update in V2.1.1 + */ +ItineraryPath ::= SEQUENCE SIZE(1..40) OF ReferencePosition + +/** + * This DF represents a common message header for application and facilities layer messages. + * It is included at the beginning of an ITS message as the message header. + * + * It shall include the following components: + * + * @field protocolVersion: version of the ITS message. + * + * @field messageId: type of the ITS message. + * + * @field stationId: the identifier of the ITS-S that generated the ITS message. + * + * @category: Communication information + * @revision: update in V2.1.1: messageID and stationID changed to messageId and stationId; messageId is of type MessageId. + */ +ItsPduHeader ::= SEQUENCE { + protocolVersion OrdinalNumber1B, + messageId MessageId, + stationId StationId +} + +/** + * This DF provides the reference to the information contained in a IVIM according to ETSI TS 103 301 [15]. + * + * It shall include the following components: + * + * @field serviceProviderId: identifier of the organization that provided the IVIM. + * + * @field iviIdentificationNumber: identifier of the IVIM, as assigned by the organization identified in serviceProviderId. + * + * @category: Communication information + * @revision: Created in V2.2.1 + */ +IvimReference::= SEQUENCE { + serviceProviderId Provider, + iviIdentificationNumber IviIdentificationNumber +} + +/** + * This DF shall contain a list of @ref IvimReference. + * + * @category: Communication information + * @revision: Created in V2.2.1 +*/ +IvimReferences::= SEQUENCE (SIZE(1..8,...)) OF IvimReference + +/** + * This DF indicates a transversal position in resolution of lanes and other associated details. + * + * It shall include the following components: + * + * @field transversalPosition: the transversal position. + * + * @field laneType: the type of the lane identified in the component transversalPosition. By default set to `traffic`. + * + * @field direction: the traffic direction for the lane position relative to a defined reference direction. By default set to `sameDirection`, i.e. following the reference direction. + * + * @category Road topology information + * @revision: direction added in V2.2.1 + */ +LanePositionAndType::= SEQUENCE { + transversalPosition LanePosition, + laneType LaneType DEFAULT traffic, + direction Direction DEFAULT sameDirection, + ... +} + +/** + * This DF represents a set of options to describe a lane position and is the second level DF to represent a lane position. The top-level DFs are @ref GeneralizedLanePosition or @ref OccupiedLanesWithConfidence. + * A lane position is a transversal position on the carriageway at a specific longitudinal position, in resolution of lanes of the carriageway. + * + * The following options are available: + * + * @field simplelanePosition: a single lane position without any additional context information. + * + * @field simpleLaneType: a lane type, to be used when the lane position is unknown but the type of lane is known. This can be used in scenarios where a certain confidence about the used lane type is given + * but no or limited knowledge about the absolute lane number is available. For example, a cyclist on a cycle-lane or vehicles on a specific lane that is unique for the part of the road (e.g. a bus lane). + * + * @field detailedlanePosition: a single lane position with additional lane details. + * + * @field lanePositionWithLateralDetails: a single lane position with additional details and the lateral position within the lane. + * + * @field trafficIslandPosition: a position on a traffic island, i.e. between two lanes. + * + * @category: Road Topology information + * @revision: Created in V2.2.1 from the DF GeneralizedLanePosition of V2.1.1. + */ +LanePositionOptions ::= CHOICE { + simplelanePosition LanePosition, + simpleLaneType LaneType, + detailedlanePosition LanePositionAndType, + lanePositionWithLateralDetails LanePositionWithLateralDetails, + trafficIslandPosition TrafficIslandPosition, + ... +} + +/** + * This DF is a third-level DF that represents a lane position and is an extended version of @ref LanePositionAndType that adds the distances to the left and right lane border. + * + * It shall additionally include the following components: + * + * @field distanceToLeftBorder: the distance of the transversal position to the left lane border. The real value shall be rounded to the next lower encoding-value. + * + * @field distanceToRightBorder: the distance of the transversal position to the right lane border. The real value shall be rounded to the next lower encoding-value. + * + * @category: Road Topology information + * @revision: Created in V2.2.1 + */ +LanePositionWithLateralDetails ::= SEQUENCE { + COMPONENTS OF LanePositionAndType, + distanceToLeftBorder StandardLength9b, + distanceToRightBorder StandardLength9b, + ... +} + +/** + * This DF indicates the vehicle acceleration at lateral direction and the confidence value of the lateral acceleration. + * + * It shall include the following components: + * + * @field lateralAccelerationValue: lateral acceleration value at a point in time. + * + * @field lateralAccelerationConfidence: confidence value of the lateral acceleration value. + * + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use @ref AccelerationComponent instead. + * @category Vehicle information + * @revision: Description revised in V2.1.1 + */ +LateralAcceleration ::= SEQUENCE { + lateralAccelerationValue LateralAccelerationValue, + lateralAccelerationConfidence AccelerationConfidence +} + +/** + * This DF indicates the vehicle acceleration at longitudinal direction and the confidence value of the longitudinal acceleration. + * + * It shall include the following components: + * + * @field longitudinalAccelerationValue: longitudinal acceleration value at a point in time. + + * @field longitudinalAccelerationConfidence: confidence value of the longitudinal acceleration value. + * + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use @ref AccelerationComponent instead. + * @category: Vehicle information + * @revision: V1.3.1 + */ +LongitudinalAcceleration ::= SEQUENCE { + longitudinalAccelerationValue LongitudinalAccelerationValue, + longitudinalAccelerationConfidence AccelerationConfidence +} + +/** + * This DF represents the estimated position along the longitudinal extension of a carriageway or lane. + * + * It shall include the following components: + * + * @field longitudinalLanePositionValue: the mean value of the longitudinal position along the carriageway or lane w.r.t. an externally defined start position. + * + * @field longitudinalLanePositionConfidence: The confidence value associated to the value. + * + * @category: Road topology information + * @revision: created in V2.1.1, description revised in V2.2.1 + */ +LongitudinalLanePosition ::= SEQUENCE { + longitudinalLanePositionValue LongitudinalLanePositionValue, + longitudinalLanePositionConfidence LongitudinalLanePositionConfidence +} + +/** + * This DF shall contain a list of a lower triangular positive semi-definite matrices. + * + * @category: Sensing information + * @revision: Created in V2.1.1 +*/ +LowerTriangularPositiveSemidefiniteMatrices::= SEQUENCE SIZE (1..4) OF LowerTriangularPositiveSemidefiniteMatrix + +/** + * This DF represents a lower triangular positive semi-definite matrix. + * + * It shall include the following components: + * + * @field componentsIncludedIntheMatrix: the indication of which components of a @ref PerceivedObject are included in the matrix. + * This component also implicitly indicates the number n of included components which defines the size (n x n) of the full correlation matrix "A". + * + * @field matrix: the list of cells of the lower triangular positive semi-definite matrix ordered by columns and by rows. + * + * The number of columns to be included "k" is equal to the number of included components "n" indicated by componentsIncludedIntheMatrix minus 1: k = n-1. + * These components shall be included in the order or their appearance in componentsIncludedIntheMatrix. + * Each column "i" of the lowerTriangularCorrelationMatrixColumns contains k-(i-1) values. + * + * @category: Sensing information + * @revision: Created in V2.1.1 +*/ +LowerTriangularPositiveSemidefiniteMatrix ::= SEQUENCE{ + componentsIncludedIntheMatrix MatrixIncludedComponents, + matrix LowerTriangularPositiveSemidefiniteMatrixColumns +} + +/** + * This DF represents the columns of a lower triangular positive semi-definite matrix, each column not including the main diagonal cell of the matrix. + * Given a matrix "A" of size n x n, the number of @ref CorrelationColumn to be included in the lower triangular matrix is k=n-1. + * + * @category: Sensing information + * @revision: Created in V2.1.1, extension indicator added in V2.2.1 +*/ +LowerTriangularPositiveSemidefiniteMatrixColumns ::= SEQUENCE SIZE (1..13,...) OF CorrelationColumn + +/** + * This DF provides information about the configuration of a road section in terms of MAPEM lanes or connections using a list of @ref MapemExtractedElementReference. + + * @category: Road topology information + * @revision: Created in V2.2.1 +*/ +MapemConfiguration::= SEQUENCE(SIZE(1..16,...)) OF MapemElementReference + +/** + * This DF provides references to an element described in a MAPEM according to ETSI TS 103 301 [i.15], such as a lane or connection at a specific intersection or road segment. + * + * It shall include the following components: + * + * @field mapReference: the optional reference to a MAPEM that describes the intersection or road segment. It is absent if the MAPEM topology is known from the context. + * + * @field laneIds: the optional list of the identifiers of the lanes to be referenced. + * + * @field connectionIds: the optional list of the identifiers of the connections to be referenced. + * + * @category: Road topology information + * @revision: Created in V2.2.1 +*/ + +MapemElementReference::= SEQUENCE { + mapReference MapReference OPTIONAL, + laneIds MapemLaneList OPTIONAL, + connectionIds MapemConnectionList OPTIONAL, + ... +} +((WITH COMPONENTS {..., laneIds PRESENT}) | + (WITH COMPONENTS {..., connectionIds PRESENT })) + +/** + * This DF provides references to MAPEM lanes using a list of @ref Identifier1B. + * + * @category: Road topology information + * @revision: Created in 2.2.1 +*/ +MapemLaneList ::= SEQUENCE (SIZE(1..8,...)) OF Identifier1B + +/** + * This DF provides references to MAPEM connections using a list of @ref Identifier1B. + * Note: connections are allowed �maneuvers� (e.g. an ingress / egress relation) on an intersection. + * + * @category: Road topology information + * @revision: Created in V2.2.1 +*/ +MapemConnectionList ::= SEQUENCE (SIZE(1..8,...)) OF Identifier1B + +/** + * This DF indicates a position on a topology description transmitted in a MAPEM according to ETSI TS 103 301 [15]. + * + * It shall include the following components: + * + * @field mapReference: optionally identifies the MAPEM containing the topology information. + * It is absent if the MAPEM topology is known from the context. + * + * @field laneId: optionally identifies the lane in the road segment or intersection topology on which the position is located. + * + * @field connectionId: optionally identifies the connection inside the conflict area of an intersection, i.e. it identifies a trajectory for travelling through the + * conflict area of an intersection which connects e.g an ingress with an egress lane. + * + * @field longitudinalLanePosition: optionally indicates the longitudinal offset of the map-matched position of the object along the lane or connection measured from the start of the lane/connection, along the lane. + * + * @category: Road topology information + * @revision: Created in V2.1.1, definition of longitudinalLanePosition amended in V2.2.1 + */ +MapPosition ::= SEQUENCE { + mapReference MapReference OPTIONAL, + laneId Identifier1B OPTIONAL, + connectionId Identifier1B OPTIONAL, + longitudinalLanePosition LongitudinalLanePosition OPTIONAL, + ... +} + ((WITH COMPONENTS {..., laneId PRESENT, connectionId ABSENT }) | + (WITH COMPONENTS {..., laneId ABSENT, connectionId PRESENT })) + +/** + * This DF provides the reference to the information contained in a MAPEM according to ETSI TS 103 301 [15]. + * + * The following options are provided: + * + * @field roadsegment: option that identifies the description of a road segment contained in a MAPEM. + * + * @field intersection: option that identifies the description of an intersection contained in a MAPEM. + * + * @category: Road topology information + * @revision: Created in V2.1.1 + */ +MapReference::= CHOICE { + roadsegment RoadSegmentReferenceId, + intersection IntersectionReferenceId +} + +/** + * This DF shall contain a list of @ref MapReference. + * + * @category: Road topology information + * @revision: Created in V2.2.1 +*/ +MapReferences::= SEQUENCE (SIZE(1..8,...)) OF MapReference + + +/** + * This DE indicates a message rate. + * + * @field mantissa: indicates the mantissa. + * + * @field exponent: indicates the exponent. + * + * The specified message rate is: mantissa*(10^exponent) + * + * @unit: Hz + * @category: Communication information + * @revision: Created in V2.1.1 + */ +MessageRateHz::= SEQUENCE { + mantissa INTEGER (1..100), + exponent INTEGER (-5..2) +} + +/** + * This DF provides information about a message with respect to the segmentation process on facility layer at the sender. + * + * It shall include the following components: + * + * @field totalMsgNo: indicates the total number of messages that have been assembled on the transmitter side to encode the information + * during the same messsage generation process. + * + * @field thisMsgNo: indicates the position of the message within of the total set of messages generated during the same message generation process. + * + * @category: Communication information + * @revision: Created in V2.1.1, description revised in V2.2.1 + */ +MessageSegmentationInfo ::= SEQUENCE { + totalMsgNo CardinalNumber3b, + thisMsgNo OrdinalNumber3b +} + +/** + * This DF provides information about the source of and confidence in information. + * + * It shall include the following components: + * + * @field usedDetectionInformation: the type of sensor(s) that is used to provide the detection information. + * + * @field usedStoredInformation: the type of source of the stored information. + * + * @field confidenceValue: an optional confidence value associated to the information. + * + * @category: Basic information + * @revision: Created in V2.2.1 +*/ +MetaInformation::=SEQUENCE{ + usedDetectionInformation SensorTypes, + usedStoredInformation StoredInformationType, + confidenceValue ConfidenceLevel OPTIONAL, + ... +} + +/** + * This DF shall contain a list of @ref MitigationPerTechnologyClass. + * + * @category: Communication information + * @revision: Created in V2.1.1 +*/ +MitigationForTechnologies ::= SEQUENCE (SIZE(1..8)) OF MitigationPerTechnologyClass + +/** + * This DF represents a set of mitigation parameters for a specific technology, as specified in ETSI TS 103 724 [24], clause 7. + * + * It shall include the following components: + * + * @field accessTechnologyClass: channel access technology to which this mitigation is intended to be applied. + * + * @field lowDutyCycle: duty cycle limit. + * @unit: 0,01 % steps + * + * @field powerReduction: the delta value of power to be reduced. + * @unit: dB + * + * @field dmcToffLimit: idle time limit as defined in ETSI TS 103 175 [19]. + * @unit: ms + * + * @field dmcTonLimit: Transmission duration limit, as defined in ETSI EN 302 571 [20]. + * @unit: ms + * + * @note: All parameters are optional, as they may not apply to some of the technologies or + * interference management zone types. Specification details are in ETSI TS 103 724 [24], clause 7. + * + * @category: Communication information + * @revision: Created in V2.1.1 + */ +MitigationPerTechnologyClass ::= SEQUENCE { + accessTechnologyClass AccessTechnologyClass, + lowDutyCycle INTEGER (0 .. 10000) OPTIONAL, + powerReduction INTEGER (0 .. 30) OPTIONAL, + dmcToffLimit INTEGER (0 .. 1200) OPTIONAL, + dmcTonLimit INTEGER (0 .. 20) OPTIONAL, + ... +} + +/** + * This DF indicates both the class and associated subclass that best describes an object. + * + * The following options are available: + * + * @field vehicleSubClass: the object is a road vehicle and the specific subclass is specified. + * + * @field vruSubClass: the object is a VRU and the specific subclass is specified. + * + * @field groupSubClass: the object is a VRU group or cluster and the cluster information is specified. + * + * @field otherSubClass: the object is of a different type than the above and the specific subclass is specified. + * + * @category: Sensing information + * @revision: Created in V2.1.1 + */ +ObjectClass ::= CHOICE { + vehicleSubClass TrafficParticipantType (unknown|passengerCar..tram|agricultural), + vruSubClass VruProfileAndSubprofile, + groupSubClass VruClusterInformation + (WITH COMPONENTS{..., clusterBoundingBoxShape ABSENT}), + otherSubClass OtherSubClass, + ... +} + +/** + * This DF shall contain a list of object classes. + * + * @category: Sensing information + * @revision: Created in V2.1.1 +*/ +ObjectClassDescription ::= SEQUENCE (SIZE(1..8)) OF ObjectClassWithConfidence + +/** + * This DF represents the classification of a detected object together with a confidence level. + * + * It shall include the following components: + * + * @field objectClass: the class of the object. + * + * @field Confidence: the associated confidence level. + * + * @category: Sensing information + * @revision: Created in V2.1.1 +*/ +ObjectClassWithConfidence ::= SEQUENCE { + objectClass ObjectClass, + confidence ConfidenceLevel +} + +/** + * This DF represents a dimension of an object together with a confidence value. + * + * It shall include the following components: + * + * @field value: the object dimension value which can be estimated as the mean of the current distribution. + * + * @field confidence: the associated confidence value. + * + * @category: Sensing information + * @revision: Created in V2.1.1 +*/ +ObjectDimension ::= SEQUENCE { + value ObjectDimensionValue, + confidence ObjectDimensionConfidence +} + +/** + * This DF represents a set of lanes which are partially or fully occupied by an object or event at an externally defined reference position. + * + * @note: In contrast to @ref GeneralizedLanePosition, the dimension of the object or event area (width and length) is taken into account to determine the occupancy, + * i.e. this DF describes the lanes which are blocked by an object or event and not the position of the object / event itself. A confidence is used to describe the + * probability that exactly all the provided lanes are occupied. + * + * It shall include the following components: + * + * @field lanePositionBased: a set of up to `4` lanes that are partially or fully occupied by an object or event, ordered by increasing value of @ref LanePosition. + * Lanes that are partially occupied can be described using the component lanePositionWithLateralDetails of @ref Options, with the following constraints: + * The distance to lane borders which are covered by the object / event shall be set to 0. Only the distances to the leftmost and/or rightmost border which are not covered by + * the object / event shall be provided with values > 0. Those values shall be added to the respective instances of @ref LanePositionOptions, i.e. the first entry shall contain the component distanceToLeftBorder > 0 , + * and/or the last entry shall contain the component distanceToRightBorder > 0; the respective other components of these entries shall be set to 0. + * + * @field mapBased: optional lane information described in the context of a MAPEM as specified in ETSI TS 103 301 [15]. + * If present, it shall describe the same lane(s) as listed in the component lanePositionBased, but using the lane identification of the MAPEM. This component can be used only if a + * MAPEM is available for the reference position (e.g. on an intersection): In this case it is used as a synonym to the mandatory component lanePositionBased. + * + * @field confidence: mandatory confidence information for expressing the probability that all the provided lanes are occupied. It also provides information on how the lane + * information were generated. If none of the sensors were used, the lane information is assumed to be derived directly from the absolute reference position and the related dimension. + * + * @category: Road Topology information + * @revision: Created in V2.2.1 + */ +OccupiedLanesWithConfidence::= SEQUENCE { + lanePositionBased SEQUENCE (SIZE(1..4)) OF LanePositionOptions, + mapBased SEQUENCE (SIZE(1..4)) OF MapPosition OPTIONAL, + confidence MetaInformation, + ... +} + +/** + * This DF represents a path with a set of path points. + * It shall contain up to `40` @ref PathPoint. + * + * The first PathPoint presents an offset delta position with regards to an external reference position. + * Each other PathPoint presents an offset delta position and optionally an offset travel time with regards to the previous PathPoint. + * + * @category: GeoReference information, Vehicle information + * @revision: created in V2.1.1 based on PathHistory + */ +Path::= SEQUENCE (SIZE(0..40)) OF PathPoint + +/** + * This DF represents estimated/predicted travel time between a position and a predefined reference position. + * + * the following options are available: + * + * @field deltaTimeHighPrecision: delta time with precision of 0,1 s. + * + * @field deltaTimeBigRange: delta time with precision of 10 s. + * + * @category: Basic information + * @revision: Created in V2.2.1 + */ +PathDeltaTimeChoice::= CHOICE { + deltaTimeHighPrecision DeltaTimeTenthOfSecond, + deltaTimeBigRange DeltaTimeTenSeconds, + ... +} + +/** + * This DF represents a path towards a specific point specified in the @ref EventZone. + * + * It shall include the following components: + * + * @field pointOfEventZone: the ordinal number of the point within the DF EventZone, i.e. within the list of EventPoints. + * + * @field path: the associated path towards the point specified in pointOfEventZone. + * The first PathPoint presents an offset delta position with regards to the position of that pointOfEventZone. + * + * @category: GeoReference information + * @revision: Created in V2.2.1 +*/ +PathExtended::= SEQUENCE { + pointOfEventZone INTEGER(1..23), + path Path +} + +/** + * This DF represents a path history with a set of path points. + * It shall contain up to `40` @ref PathPoint. + * + * The first PathPoint presents an offset delta position with regards to an external reference position. + * Each other PathPoint presents an offset delta position and optionally an offset travel time with regards to the previous PathPoint. + * + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use @ref Path instead. + * @category: GeoReference information, Vehicle information + * @revision: semantics updated in V2.1.1, size corrected to 0..40 in V2.2.1 + */ +PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint + +/** + * This DF represents a predicted path or trajectory with a set of predicted points and optional information to generate a shape which is estimated to contain the real path. + * It shall contain up to `16` @ref PathPointPredicted. + * + * The first PathPoint presents an offset delta position with regards to an external reference position. + * Each other PathPoint presents an offset delta position and optionally an offset travel time with regards to the previous PathPoint. + * + * @category: GeoReference information + * @revision: created in V2.1.1 , size constraint changed to SIZE(1..16, ...) in V2.2.1 + */ +PathPredicted::= SEQUENCE (SIZE(1..16,...)) OF PathPointPredicted + +/** + * This DF represents a predicted path, predicted trajectory or predicted path zone together with usage information and a prediction confidence. + * + * It shall include the following components: + * + * @field pathPredicted: the predicted path (pathDeltaTime ABSENT) or trajectory (pathDeltaTime PRESENT) and/or the path zone (symmetricAreaOffset PRESENT). + * + * @field usageIndication: an indication of how the predicted path will be used. + * + * @field confidenceLevel: the confidence that the path/trajectory in pathPredicted will occur as predicted. + * + * @category: GeoReference information + * @revision: created in V2.2.1 + */ +PathPredicted2::= SEQUENCE{ + pathPredicted PathPredicted + ((WITH COMPONENT (WITH COMPONENTS {..., pathDeltaTime ABSENT, symmetricAreaOffset ABSENT})) | + (WITH COMPONENT (WITH COMPONENTS {..., pathDeltaTime PRESENT, symmetricAreaOffset ABSENT})) | + (WITH COMPONENT (WITH COMPONENTS {..., pathDeltaTime ABSENT, symmetricAreaOffset PRESENT})) | + (WITH COMPONENT (WITH COMPONENTS {..., pathDeltaTime PRESENT, symmetricAreaOffset PRESENT}))), + usageIndication UsageIndication, + confidenceLevel ConfidenceLevel, + ... +} + +/** + * This DF represents one or more predicted paths, or trajectories or path zones (zones that include all possible paths/trajectories within its boundaries) using @ref PathPredicted2. + * It shall contain up to `16` @ref PathPredicted2. + * + * @category: GeoReference information + * @revision: V2.2.1 + */ +PathPredictedList ::= SEQUENCE SIZE(1..16,...) OF PathPredicted2 + +/** + * This DF defines an offset waypoint position within a path. + * + * It shall include the following components: + * + * @field pathPosition: The waypoint position defined as an offset position with regards to a pre-defined reference position. + * + * @field pathDeltaTime: The optional travel time separated from a waypoint to the predefined reference position. + * + * @category GeoReference information + * @revision: semantics updated in V2.1.1 + */ +PathPoint ::= SEQUENCE { + pathPosition DeltaReferencePosition, + pathDeltaTime PathDeltaTime OPTIONAL +} + +/** + * This DF defines a predicted offset position that can be used within a predicted path or trajectory, together with optional data to describe a path zone shape. + * + * It shall include the following components: + * + * @field deltaLatitude: the offset latitude with regards to a pre-defined reference position. + * + * @field deltaLongitude: the offset longitude with regards to a pre-defined reference position. + * + * @field horizontalPositionConfidence: the optional confidence value associated to the horizontal geographical position. + * + * @field deltaAltitude: the optional offset altitude with regards to a pre-defined reference position, with default value unavailable. + * + * @field altitudeConfidence: the optional confidence value associated to the altitude value of the geographical position, with default value unavailable. + * + * @field pathDeltaTime: the optional travel time to the waypoint from the predefined reference position. + + * @field symmetricAreaOffset: the optional symmetric offset to generate a shape, see Annex D for details. + * + * @field asymmetricAreaOffset: the optional asymmetric offset to generate a shape, see Annex D for details. + * + * @category GeoReference information + * @revision: Created in V2.1.1, type of pathDeltaTime changed and optionality added, fields symmetricAreaOffset and asymmetricAreaOffset added in V2.2.1 + */ +PathPointPredicted::= SEQUENCE { + deltaLatitude DeltaLatitude, + deltaLongitude DeltaLongitude, + horizontalPositionConfidence PosConfidenceEllipse OPTIONAL, + deltaAltitude DeltaAltitude DEFAULT unavailable, + altitudeConfidence AltitudeConfidence DEFAULT unavailable, + pathDeltaTime PathDeltaTimeChoice OPTIONAL, + symmetricAreaOffset StandardLength9b OPTIONAL, + asymmetricAreaOffset StandardLength9b OPTIONAL, + ... +} + ((WITH COMPONENTS {..., symmetricAreaOffset ABSENT, asymmetricAreaOffset ABSENT}) | + (WITH COMPONENTS {..., symmetricAreaOffset PRESENT, asymmetricAreaOffset ABSENT}) | + (WITH COMPONENTS {..., symmetricAreaOffset PRESENT, asymmetricAreaOffset PRESENT})) + +/** + * This DF represents a list of references to the components of a @ref Traces or @ref TracesExtended DF using the @ref PathId. + * + * @category: Road topology information + * @revision: Created in V2.2.1 +*/ +PathReferences ::= SEQUENCE (SIZE(1..14)) OF PathId + +/** + * This DF contains information about a perceived object including its kinematic state and attitude vector in a pre-defined coordinate system and with respect to a reference time. + * + * It shall include the following components: + * + * @field objectId: optional identifier assigned to a detected object. + * + * @field measurementDeltaTime: the time difference from a reference time to the time of the measurement of the object. + * Negative values indicate that the provided object state refers to a point in time before the reference time. + * + * @field position: the position of the geometric centre of the object's bounding box within the pre-defined coordinate system. + * + * @field velocity: the velocity vector of the object within the pre-defined coordinate system. + * + * @field acceleration: the acceleration vector of the object within the pre-defined coordinate system. + * + * @field angles: optional Euler angles of the object bounding box at the time of measurement. + * + * @field zAngularVelocity: optional angular velocity of the object around the z-axis at the time of measurement. + * The angular velocity is measured with positive values considering the object orientation turning around the z-axis using the right-hand rule. + * + * @field lowerTriangularCorrelationMatrices: optional set of lower triangular correlation matrices for selected components of the provided kinematic state and attitude vector. + * + * @field objectDimensionZ: optional z-dimension of object bounding box. + * This dimension shall be measured along the direction of the z-axis after all the rotations have been applied. + * + * @field objectDimensionY: optional y-dimension of the object bounding box. + * This dimension shall be measured along the direction of the y-axis after all the rotations have been applied. + * + * @field objectDimensionX: optional x-dimension of object bounding box. + * This dimension shall be measured along the direction of the x-axis after all the rotations have been applied. + * + * @field objectAge: optional age of the detected and described object, i.e. the difference in time between the moment + * it has been first detected and the reference time of the message. Value `1500` indicates that the object has been observed for more than 1.5s. + * + * @field objectPerceptionQuality: optional confidence associated to the object. + * + * @field sensorIdList: optional list of sensor-IDs which provided the measurement data. + * + * @field classification: optional classification of the described object + * + * @field matchedPosition: optional map-matched position of an object. + * + * @category Sensing information + * @revision: created in V2.1.1 + */ +PerceivedObject ::= SEQUENCE { + objectId Identifier2B OPTIONAL, + measurementDeltaTime DeltaTimeMilliSecondSigned, + position CartesianPosition3dWithConfidence, + velocity Velocity3dWithConfidence OPTIONAL, + acceleration Acceleration3dWithConfidence OPTIONAL, + angles EulerAnglesWithConfidence OPTIONAL, + zAngularVelocity CartesianAngularVelocityComponent OPTIONAL, + lowerTriangularCorrelationMatrices LowerTriangularPositiveSemidefiniteMatrices OPTIONAL, + objectDimensionZ ObjectDimension OPTIONAL, + objectDimensionY ObjectDimension OPTIONAL, + objectDimensionX ObjectDimension OPTIONAL, + objectAge DeltaTimeMilliSecondSigned (0..2047) OPTIONAL, + objectPerceptionQuality ObjectPerceptionQuality OPTIONAL, + sensorIdList SequenceOfIdentifier1B OPTIONAL, + classification ObjectClassDescription OPTIONAL, + mapPosition MapPosition OPTIONAL, + ... +} + +/** + * This DF represents the shape of a polygonal area or of a right prism. + * + * It shall include the following components: + * + * @field shapeReferencePoint: the optional reference point used for the definition of the shape, relative to an externally specified reference position. + * If this component is absent, the externally specified reference position represents the shape's reference point. + * + * @field polygon: the polygonal area represented by a list of minimum `3` to maximum `16` @ref CartesianPosition3d. + * All nodes of the polygon shall be considered relative to the shape's reference point. + * + * @field height: the optional height, present if the shape is a right prism extending in the positive z-axis. + * + * @category GeoReference information + * @revision: created in V2.1.1 + * + */ +PolygonalShape ::= SEQUENCE { + shapeReferencePoint CartesianPosition3d OPTIONAL, + polygon SequenceOfCartesianPosition3d (SIZE(3..16,...)), + height StandardLength12b OPTIONAL +} + +/** + * This DF indicates the horizontal position confidence ellipse which represents the estimated accuracy with a + * confidence level of 95 %. The centre of the ellipse shape corresponds to the reference + * position point for which the position accuracy is evaluated. + * + * It shall include the following components: + * + * @field semiMajorConfidence: half of length of the major axis, i.e. distance between the centre point + * and major axis point of the position accuracy ellipse. + * + * @field semiMinorConfidence: half of length of the minor axis, i.e. distance between the centre point + * and minor axis point of the position accuracy ellipse. + * + * @field semiMajorOrientation: orientation direction of the ellipse major axis of the position accuracy + * ellipse with regards to the WGS84 north. + * The specific WGS84 coordinate system is specified by the corresponding standards applying this DE. + * + * + * @category GeoReference information + * @revision: V1.3.1 + */ +PosConfidenceEllipse ::= SEQUENCE { + semiMajorConfidence SemiAxisLength, + semiMinorConfidence SemiAxisLength, + semiMajorOrientation HeadingValue +} + +/** + * This DF indicates the horizontal position confidence ellipse which represents the estimated accuracy with a + * confidence level of 95 %. The centre of the ellipse shape corresponds to the reference + * position point for which the position accuracy is evaluated. + * + * It shall include the following components: + * + * @field semiMajorAxisLength: half of length of the major axis, i.e. distance between the centre point + * and major axis point of the position accuracy ellipse. + * + * @field semiMinorAxisLength: half of length of the minor axis, i.e. distance between the centre point + * and minor axis point of the position accuracy ellipse. + * + * @field semiMajorAxisOrientation: orientation direction of the ellipse major axis of the position accuracy + * ellipse with regards to the WGS84 north. + * The specific WGS84 coordinate system is specified by the corresponding standards applying this DE. + * + * @category GeoReference information + * @revision: created in V2.1.1 based on @ref PosConfidenceEllipse + */ +PositionConfidenceEllipse ::= SEQUENCE { + semiMajorAxisLength SemiAxisLength, + semiMinorAxisLength SemiAxisLength, + semiMajorAxisOrientation Wgs84AngleValue +} + +/** + * This DF shall contain a list of distances @ref PosPillar that refer to the perpendicular distance between centre of vehicle front bumper + * and vehicle pillar A, between neighbour pillars until the last pillar of the vehicle. + * + * Vehicle pillars refer to the vertical or near vertical support of vehicle, + * designated respectively as the A, B, C or D and other pillars moving in side profile view from the front to rear. + * + * The first value of the DF refers to the perpendicular distance from the centre of vehicle front bumper to + * vehicle A pillar. The second value refers to the perpendicular distance from the centre position of A pillar + * to the B pillar of vehicle and so on until the last pillar. + * + * @category: Vehicle information + * @revision: V1.3.1 + */ +PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar + +/** + * This DF describes a zone of protection inside which the ITS communication should be restricted. + * + * It shall include the following components: + * + * @field protectedZoneType: type of the protected zone. + * + * @field expiryTime: optional time at which the validity of the protected communication zone will expire. + * + * @field protectedZoneLatitude: latitude of the centre point of the protected communication zone. + * + * @field protectedZoneLongitude: longitude of the centre point of the protected communication zone. + * + * @field protectedZoneRadius: optional radius of the protected communication zone in metres. + * + * @field protectedZoneId: the optional ID of the protected communication zone. + * + * @note: A protected communication zone may be defined around a CEN DSRC road side equipment. + * + * @category: Infrastructure information, Communication information + * @revision: revised in V2.1.1 (changed protectedZoneID to protectedZoneId) + */ +ProtectedCommunicationZone ::= SEQUENCE { + protectedZoneType ProtectedZoneType, + expiryTime TimestampIts OPTIONAL, + protectedZoneLatitude Latitude, + protectedZoneLongitude Longitude, + protectedZoneRadius ProtectedZoneRadius OPTIONAL, + protectedZoneId ProtectedZoneId OPTIONAL, + ... +} + +/** + * This DF shall contain a list of @ref ProtectedCommunicationZone provided by a road side ITS-S (Road Side Unit RSU). + * + * It may provide up to 16 protected communication zones information. + * + * @category: Infrastructure information, Communication information + * @revision: V1.3.1 + */ +ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone + +/** + * This DF identifies an organization. + * + * It shall include the following components: + * + * @field countryCode: represents the country code that identifies the country of the national registration administrator for issuers according to ISO 14816. + * + * @field providerIdentifier: identifies the organization according to the national ISO 14816 register for issuers. + * + * @note: See https://www.itsstandards.eu/registries/register-of-nra-i-cs1/ for a list of national registration administrators and their respective registers + * + * @category: Communication information + * @revision: Created in V2.2.1 based on ISO 17573-3 [24] + */ +Provider ::= SEQUENCE { + countryCode CountryCode, + providerIdentifier IssuerIdentifier +} + +/** + * This DF represents activation data for real-time systems designed for operations control, traffic light priorities, track switches, barriers, etc. + * using a range of activation devices equipped in public transport vehicles. + * + * The activation of the corresponding equipment is triggered by the approach or passage of a public transport + * vehicle at a certain point (e.g. a beacon). + * + * @field ptActivationType: type of activation. + * + * @field ptActicationData: data of activation. + * + * Today there are different payload variants defined for public transport activation-data. The R09.x is one of + * the industry standard used by public transport vehicles (e.g. buses, trams) in Europe (e.g. Germany Austria) + * for controlling traffic lights, barriers, bollards, etc. This DF shall include information like route, course, + * destination, priority, etc. + * + * The R09.x content is defined in VDV recommendation 420 [7]. It includes following information: + * - Priority Request Information (pre-request, request, ready to start) + * - End of Prioritization procedure + * - Priority request direction + * - Public Transport line number + * - Priority of public transport + * - Route line identifier of the public transport + * - Route number identification + * - Destination of public transport vehicle + * + * Other countries may use different message sets defined by the local administration. + * @category: Vehicle information + * @revision: V1.3.1 + */ +PtActivation ::= SEQUENCE { + ptActivationType PtActivationType, + ptActivationData PtActivationData +} + +/** + * This DF describes a radial shape. The circular or spherical sector is constructed by sweeping + * the provided range about the reference position specified outside of the context of this DF or + * about the optional shapeReferencePoint. The range is swept between a horizontal start and a + * horizontal end angle in the X-Y plane of a cartesian coordinate system specified outside of the + * context of this DF, in a right-hand positive angular direction w.r.t. the x-axis. + * A vertical opening angle in the X-Z plane may optionally be provided in a right-hand positive + * angular direction w.r.t. the x-axis. + * + * It shall include the following components: + * + * @field shapeReferencePoint: the optional reference point used for the definition of the shape, + * relative to an externally specified reference position. If this component is absent, the + * externally specified reference position represents the shape's reference point. + * + * @field range: the radial range of the shape from the shape's reference point. + * + * @field horizontalOpeningAngleStart: the start of the shape's horizontal opening angle. + * + * @field horizontalOpeningAngleEnd: the end of the shape's horizontal opening angle. + * + * @field verticalOpeningAngleStart: optional start of the shape's vertical opening angle. + * + * @field verticalOpeningAngleEnd: optional end of the shape's vertical opening angle. + * + * @category GeoReference information + * @revision: created in V2.1.1, names and types of the horizontal opening angles changed, constraint added and description revised in V2.2.1 +*/ +RadialShape ::= SEQUENCE { + shapeReferencePoint CartesianPosition3d OPTIONAL, + range StandardLength12b, + horizontalOpeningAngleStart CartesianAngleValue, + horizontalOpeningAngleEnd CartesianAngleValue, + verticalOpeningAngleStart CartesianAngleValue OPTIONAL, + verticalOpeningAngleEnd CartesianAngleValue OPTIONAL +} + ((WITH COMPONENTS {..., verticalOpeningAngleStart ABSENT, verticalOpeningAngleEnd ABSENT }) | + (WITH COMPONENTS {..., verticalOpeningAngleStart PRESENT, verticalOpeningAngleEnd PRESENT })) + + +/** + * This DF describes a list of radial shapes positioned w.r.t. to an offset position defined + * relative to a reference position specified outside of the context of this DF and oriented w.r.t. + * a cartesian coordinate system specified outside of the context of this DF. + * + * It shall include the following components: + * + * @field refPointId: the identification of the reference point in case of a sensor mounted to trailer. Defaults to ITS ReferencePoint (0). + * + * @field xCoordinate: the x-coordinate of the offset position. + * + * @field yCoordinate: the y-coordinate of the offset position. + * + * @field zCoordinate: the optional z-coordinate of the offset position. + * + * @field radialShapesList: the list of radial shape details. + * + * @category: Georeference information + * @revision: created in V2.1.1, description revised in V2.2.1 + */ +RadialShapes ::= SEQUENCE { + refPointId Identifier1B, + xCoordinate CartesianCoordinateSmall, + yCoordinate CartesianCoordinateSmall, + zCoordinate CartesianCoordinateSmall OPTIONAL, + radialShapesList RadialShapesList +} + +/** + * The DF contains a list of @ref RadialShapeDetails. + * + * @category: Georeference information + * @revision: created in V2.1.1 + */ + +RadialShapesList ::= SEQUENCE SIZE(1..16,...) OF RadialShapeDetails + +/** + * This DF describes radial shape details. The circular sector or cone is + * constructed by sweeping the provided range about the position specified outside of the + * context of this DF. The range is swept between a horizontal start and a horizontal end angle in + * the X-Y plane of a right-hand cartesian coordinate system specified outside of the context of + * this DF, in positive angular direction w.r.t. the x-axis. A vertical opening angle in the X-Z + * plane may optionally be provided in positive angular direction w.r.t. the x-axis. + * + * It shall include the following components: + * + * @field range: the radial range of the sensor from the reference point or sensor point offset. + * + * @field horizontalOpeningAngleStart: the start of the shape's horizontal opening angle. + * + * @field horizontalOpeningAngleEnd: the end of the shape's horizontal opening angle. + * + * @field verticalOpeningAngleStart: optional start of the shape's vertical opening angle. + * + * @field verticalOpeningAngleEnd: optional end of the shape's vertical opening angle. + * + * @category: Georeference information + * @revision: created in V2.1.1, description revised and constraint added in V2.2.1 + */ +RadialShapeDetails ::= SEQUENCE { + range StandardLength12b, + horizontalOpeningAngleStart CartesianAngleValue, + horizontalOpeningAngleEnd CartesianAngleValue, + verticalOpeningAngleStart CartesianAngleValue OPTIONAL, + verticalOpeningAngleEnd CartesianAngleValue OPTIONAL +} + ((WITH COMPONENTS {..., verticalOpeningAngleStart ABSENT, verticalOpeningAngleEnd ABSENT }) | + (WITH COMPONENTS {..., verticalOpeningAngleStart PRESENT, verticalOpeningAngleEnd PRESENT })) + +/** + * This DF represents the shape of a rectangular area or a right rectangular prism that is centred + * on a reference position defined outside of the context of this DF and oriented w.r.t. a cartesian + * coordinate system defined outside of the context of this DF. + * + * It shall include the following components: + * + * @field shapeReferencePoint: represents an optional offset point which the rectangle is centred on with + * respect to the reference position. If this component is absent, the externally specified + * reference position represents the shape's reference point. + * + * @field semiLength: represents half the length of the rectangle located in the X-Y Plane. + * + * @field semiBreadth: represents half the breadth of the rectangle located in the X-Y Plane. + * + * @field orientation: represents the optional orientation of the length of the rectangle, + * measured with positive values turning around the Z-axis using the right-hand rule, starting from + * the X-axis. + * + * @field height: represents the optional height, present if the shape is a right rectangular prism + * with height extending in the positive Z-axis. + * + * @category GeoReference information + * @revision: created in V2.1.1, centerPoint renamed to shapeReferencePoint, the type of the field orientation changed and description revised in V2.2.1 + */ +RectangularShape ::= SEQUENCE { + shapeReferencePoint CartesianPosition3d OPTIONAL, + semiLength StandardLength12b, + semiBreadth StandardLength12b, + orientation CartesianAngleValue OPTIONAL, + height StandardLength12b OPTIONAL +} + +/** + * A position within a geographic coordinate system together with a confidence ellipse. + * + * It shall include the following components: + * + * @field latitude: the latitude of the geographical point. + * + * @field longitude: the longitude of the geographical point. + * + * @field positionConfidenceEllipse: the confidence ellipse associated to the geographical position. + * + * @field altitude: the altitude and an altitude accuracy of the geographical point. + * + * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref ReferencePositionWithConfidence instead. + * @category: GeoReference information + * @revision: description updated in V2.1.1 + */ +ReferencePosition ::= SEQUENCE { + latitude Latitude, + longitude Longitude, + positionConfidenceEllipse PosConfidenceEllipse, + altitude Altitude +} + +/** + * A position within a geographic coordinate system together with a confidence ellipse. + * + * It shall include the following components: + * + * @field latitude: the latitude of the geographical point. + * + * @field longitude: the longitude of the geographical point. + * + * @field positionConfidenceEllipse: the confidence ellipse associated to the geographical position. + * + * @field altitude: the altitude and an altitude accuracy of the geographical point. + * + * @category: GeoReference information + * @revision: created in V2.1.1 based on @ref ReferencePosition but using @ref PositionConfidenceEllipse. + */ +ReferencePositionWithConfidence ::= SEQUENCE { + latitude Latitude, + longitude Longitude, + positionConfidenceEllipse PositionConfidenceEllipse, + altitude Altitude +} + +/** + * This DF shall contain a list of @ref StationType. to which a certain traffic restriction, e.g. the speed limit, applies. + * + * @category: Infrastructure information, Traffic information + * @revision: V1.3.1 + */ +RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType + +/** + * This DF provides configuration information about a road section. + * + * It shall include the following components: + * + * @field roadSectionDefinition: the topological definition of the road section for which the information in the other components applies throughout its entire length. + * + * @field roadType: the optional type of road on which the section is located. + * + * @field laneConfiguration: the optional configuration of the road section in terms of basic information per lane. + * + * @field mapemConfiguration: the optional configuration of the road section in terms of MAPEM lanes or connections. + * + * @category: Road topology information + * @revision: Created in V2.2.1 +*/ + +RoadConfigurationSection ::= SEQUENCE { + roadSectionDefinition RoadSectionDefinition, + roadType RoadType OPTIONAL, + laneConfiguration BasicLaneConfiguration OPTIONAL, + mapemConfiguration MapemConfiguration OPTIONAL, + ... +} + ((WITH COMPONENTS {..., laneConfiguration PRESENT}) | + (WITH COMPONENTS {..., mapemConfiguration PRESENT})) + +/** + * This DF shall contain a list of @ref RoadConfigurationSection. + * + * @category: Road Topology information + * @revision: Created in V2.2.1 + */ +RoadConfigurationSectionList::= SEQUENCE (SIZE(1..8,...)) OF RoadConfigurationSection + +/** + * This DF provides the basic topological definition of a road section. + * + * It shall include the following components: + * + * @field startingPointSection: the position of the starting point of the section. + * + * @field lengthOfSection: the optional length of the section along the road profile (i.e. including curves). + * + * @field endingPointSection: the optional position of the ending point of the section. + * If this component is absent, the ending position is implicitly defined by other means, e.g. the starting point of the next RoadConfigurationSection, or the section�s length. + * + * @field connectedPaths: the identifier(s) of the path(s) having one or an ordered subset of waypoints located upstream of the RoadConfigurationSection� starting point. + * + * @field includedPaths: the identifier(s) of the path(s) that covers (either with all its length or with a part of it) a RoadConfigurationSection. + * + * @field isEventZoneIncluded: indicates, if set to TRUE, that the @ref EventZone incl. its reference position covers a RoadConfigurationSection (either with all its length or with a part of it). + * + * @field isEventZoneConnected: indicates, if set to TRUE, that the @ref EventZone incl. its reference position has one or an ordered subset of waypoints located upstream of the RoadConfigurationSection� starting point. + * + * @category: Road topology information + * @revision: Created in V2.2.1 +*/ +RoadSectionDefinition::= SEQUENCE { + startingPointSection GeoPosition, + lengthOfSection StandardLength2B OPTIONAL, + endingPointSection GeoPosition OPTIONAL, + connectedPaths PathReferences, + includedPaths PathReferences, + isEventZoneIncluded BOOLEAN, + isEventZoneConnected BOOLEAN, + ... +} + +/** + * This DF represents a unique id for a road segment + * + * It shall include the following components: + * + * @field region: the optional identifier of the entity that is responsible for the region in which the road segment is placed. + * It is the duty of that entity to guarantee that the @ref Id is unique within the region. + * + * @field id: the identifier of the road segment. + * + * @note: when the component region is present, the RoadSegmentReferenceId is guaranteed to be globally unique. + * @category: GeoReference information + * @revision: created in V2.1.1 + */ +RoadSegmentReferenceId ::= SEQUENCE { + region Identifier2B OPTIONAL, + id Identifier2B +} + +/** + * This DF provides the safe distance indication of a traffic participant with other traffic participant(s). + * + * It shall include the following components: + * + * @field subjectStation: optionally indicates one "other" traffic participant identified by its ITS-S. + * + * @field safeDistanceIndicator: indicates whether the distance between the ego ITS-S and the traffic participant(s) is safe. + * If subjectStation is present then it indicates whether the distance between the ego ITS-S and the traffic participant indicated in the component subjectStation is safe. + * + * @field timeToCollision: optionally indicated the time-to-collision calculated as sqrt(LaDi^2 + LoDi^2 + VDi^2/relative speed + * and represented in the nearest 100 ms. This component may be present only if subjectStation is present. + * + * @note: the abbreviations used are Lateral Distance (LaD), Longitudinal Distance (LoD) and Vertical Distance (VD) + * and their respective thresholds, Minimum Safe Lateral Distance (MSLaD), Minimum Safe Longitudinal Distance (MSLoD), and Minimum Safe Vertical Distance (MSVD). + * + * @category: Traffic information, Kinematic information + * @revision: created in V2.1.1 + */ +SafeDistanceIndication ::= SEQUENCE { + subjectStation StationId OPTIONAL, + safeDistanceIndicator SafeDistanceIndicator, + timeToCollision DeltaTimeTenthOfSecond OPTIONAL, + ... +} + +/** + * This DF shall contain a list of DF @ref CartesianPosition3d. + * + * @category: GeoReference information + * @revision: created in V2.1.1 + */ +SequenceOfCartesianPosition3d ::= SEQUENCE (SIZE(1..16, ...)) OF CartesianPosition3d + +/** + * The DF contains a list of DE @ref Identifier1B. + * + * @category: Basic information + * @revision: created in V2.1.1 +*/ +SequenceOfIdentifier1B ::= SEQUENCE SIZE(1..128, ...) OF Identifier1B + +/** + * The DF contains a list of DF @ref SafeDistanceIndication. + * + * @category: Traffic information, Kinematic information + * @revision: created in V2.1.1 +*/ +SequenceOfSafeDistanceIndication ::= SEQUENCE(SIZE(1..8,...)) OF SafeDistanceIndication + +/** + * The DF shall contain a list of DF @ref TrajectoryInterceptionIndication. + * + * @category: Traffic information, Kinematic information + * @revision: created in V2.1.1 +*/ +SequenceOfTrajectoryInterceptionIndication ::= SEQUENCE (SIZE(1..8,...)) OF TrajectoryInterceptionIndication + +/** + * This DF provides the definition of a geographical area or volume, based on different options. + * + * It is a choice of the following components: + * + * @field rectangular: definition of an rectangular area or a right rectangular prism (with a rectangular base) also called a cuboid, or informally a rectangular box. + * + * @field circular: definition of an area of circular shape or a right circular cylinder. + * + * @field polygonal: definition of an area of polygonal shape or a right prism. + * + * @field elliptical: definition of an area of elliptical shape or a right elliptical cylinder. + * + * @field radial: definition of a radial shape. + * + * @field radialList: definition of list of radial shapes. + * + * @category: GeoReference information + * @revision: Created in V2.1.1 + */ +Shape::= CHOICE { + rectangular RectangularShape, + circular CircularShape, + polygonal PolygonalShape, + elliptical EllipticalShape, + radial RadialShape, + radialShapes RadialShapes, + ... +} + +/** + * This DF represents the speed and associated confidence value. + * + * It shall include the following components: + * + * @field speedValue: the speed value. + * + * @field speedConfidence: the confidence value of the speed value. + * + * @category: Kinematic information + * @revision: V1.3.1 + */ +Speed ::= SEQUENCE { + speedValue SpeedValue, + speedConfidence SpeedConfidence +} + +/** + * This DF provides the indication of change in stability. + * + * It shall include the following components: + * + * @field lossProbability: the probability of stability loss. + * + * @field actionDeltaTime: the period over which the the probability of stability loss is estimated. + * + * @category: Kinematic information + * @revision: V2.1.1 + */ +StabilityChangeIndication ::= SEQUENCE { + lossProbability StabilityLossProbability, + actionDeltaTime DeltaTimeTenthOfSecond, + ... +} + +/** + * This DF represents the steering wheel angle of the vehicle at certain point in time. + * + * It shall include the following components: + * + * @field steeringWheelAngleValue: steering wheel angle value. + * + * @field steeringWheelAngleConfidence: confidence value of the steering wheel angle value. + * + * @category: Vehicle information + * @revision: Created in V2.1.1 + */ +SteeringWheelAngle ::= SEQUENCE { + steeringWheelAngleValue SteeringWheelAngleValue, + steeringWheelAngleConfidence SteeringWheelAngleConfidence +} + +/** + * This DF represents one or more paths using @ref Path. + * + * @category: GeoReference information + * @revision: Description revised in V2.1.1. Is is now based on Path and not on PathHistory + */ +Traces ::= SEQUENCE SIZE(1..7) OF Path + +/** + * This DF represents one or more paths using @ref PathExtended. + * + * @category: GeoReference information + * @revision: Created in V2.2.1 + */ +TracesExtended ::= SEQUENCE SIZE(1..7) OF PathExtended + +/** + * Ths DF represents the a position on a traffic island between two lanes. + * + * It shall include the following components: + * + * @field oneSide: represents one lane. + * + * @field otherSide: represents the other lane. + * + * @category: Road Topology information + * @revision: Created in V2.1.1 + */ +TrafficIslandPosition ::= SEQUENCE { + oneSide LanePositionAndType, + otherSide LanePositionAndType, + ... +} + +/** + * This DF provides detailed information about an attached trailer. + * + * It shall include the following components: + * + * @field refPointId: identifier of the reference point of the trailer. + * + * @field hitchPointOffset: optional position of the hitch point in negative x-direction (according to ISO 8855) from the + * vehicle Reference Point. + * + * @field frontOverhang: optional length of the trailer overhang in the positive x direction (according to ISO 8855) from the + * trailer Reference Point indicated by the refPointID. The value defaults to 0 in case the trailer + * is not overhanging to the front with respect to the trailer reference point. + * + * @field rearOverhang: optional length of the trailer overhang in the negative x direction (according to ISO 8855) from the + * trailer Reference Point indicated by the refPointID. + * + * @field trailerWidth: optional width of the trailer. + * + * @field hitchAngle: optional Value and confidence value of the angle between the trailer orientation (corresponding to the x + * direction of the ISO 8855 [21] coordinate system centered on the trailer) and the direction of + * the segment having as end points the reference point of the trailer and the reference point of + * the pulling vehicle, which can be another trailer or a vehicle looking on the horizontal plane + * xy, described in the local Cartesian coordinate system of the trailer. The + * angle is measured with negative values considering the trailer orientation turning clockwise + * starting from the segment direction. The angle value accuracy is provided with the + * confidence level of 95 %. + * + * @category: Vehicle information + * @revision: Created in V2.1.1 +*/ +TrailerData ::= SEQUENCE { + refPointId Identifier1B, + hitchPointOffset StandardLength1B, + frontOverhang StandardLength1B OPTIONAL, + rearOverhang StandardLength1B OPTIONAL, + trailerWidth VehicleWidth OPTIONAL, + hitchAngle CartesianAngle, + ... +} + +/** + * This DF provides the trajectory interception indication of ego-VRU ITS-S with another ITS-Ss. + * + * It shall include the following components: + * + * @field subjectStation: indicates the subject station. + * + * @field trajectoryInterceptionProbability: indicates the propbability of the interception of the subject station trajectory + * with the trajectory of the station indicated in the component subjectStation. + * + * @field trajectoryInterceptionConfidence: indicates the confidence of interception of the subject station trajectory + * with the trajectory of the station indicated in the component subjectStation. + * + * @category: Vehicle information + * @revision: Created in V2.1.1 + */ +TrajectoryInterceptionIndication ::= SEQUENCE { + subjectStation StationId OPTIONAL, + trajectoryInterceptionProbability TrajectoryInterceptionProbability, + trajectoryInterceptionConfidence TrajectoryInterceptionConfidence OPTIONAL, + ... +} + +/** + * This DF together with its sub DFs Ext1, Ext2 and the DE Ext3 provides the custom (i.e. not ASN.1 standard) definition of an integer with variable lenght, that can be used for example to encode the ITS-AID. + * + * @category: Basic information + * @revision: Created in V2.1.1 + */ +VarLengthNumber::=CHOICE{ + content [0] INTEGER(0..127), -- one octet length + extension [1] Ext1 + } +Ext1::=CHOICE{ + content [0] INTEGER(128..16511), -- two octets length + extension [1] Ext2 +} +Ext2::=CHOICE{ + content [0] INTEGER(16512..2113663), -- three octets length + extension [1] Ext3 + } +Ext3::= INTEGER(2113664..270549119,...) -- four and more octets length + +/** + * This DF indicates the vehicle acceleration at vertical direction and the associated confidence value. + * + * It shall include the following components: + * + * @field verticalAccelerationValue: vertical acceleration value at a point in time. + * + * @field verticalAccelerationConfidence: confidence value of the vertical acceleration value with a predefined confidence level. + * + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use @ref AccelerationComponent instead. + * @category Vehicle information + * @revision: Description revised in V2.1.1 + */ +VerticalAcceleration ::= SEQUENCE { + verticalAccelerationValue VerticalAccelerationValue, + verticalAccelerationConfidence AccelerationConfidence +} + +/** + * This DF provides information related to the identification of a vehicle. + * + * It shall include the following components: + * + * @field wMInumber: World Manufacturer Identifier (WMI) code. + * + * @field vDS: Vehicle Descriptor Section (VDS). + * + * @category: Vehicle information + * @revision: V1.3.1 + */ +VehicleIdentification ::= SEQUENCE { + wMInumber WMInumber OPTIONAL, + vDS VDS OPTIONAL, + ... +} + +/** + * This DF represents the length of vehicle and accuracy indication information. + * + * It shall include the following components: + * + * @field vehicleLengthValue: length of vehicle. + * + * @field vehicleLengthConfidenceIndication: indication of the length value confidence. + * + * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use @ref VehicleLengthV2 instead. + * @category: Vehicle information + * @revision: V1.3.1 + */ +VehicleLength ::= SEQUENCE { + vehicleLengthValue VehicleLengthValue, + vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication +} + +/** + * This DF represents the length of vehicle and accuracy indication information. + * + * It shall include the following components: + * + * @field vehicleLengthValue: length of vehicle. + * + * @field trailerPresenceInformation: information about the trailer presence. + * + * @category: Vehicle information + * @revision: created in V2.1.1 based on @ref VehicleLength but using @ref TrailerPresenceInformation. + */ +VehicleLengthV2 ::= SEQUENCE { + vehicleLengthValue VehicleLengthValue, + trailerPresenceInformation TrailerPresenceInformation +} + +/** + * This DF represents a velocity vector with associated confidence value. + * + * The following options are available: + * + * @field polarVelocity: the representation of the velocity vector in a polar or cylindrical coordinate system. + * + * @field cartesianVelocity: the representation of the velocity vector in a cartesian coordinate system. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +Velocity3dWithConfidence::= CHOICE{ + polarVelocity VelocityPolarWithZ, + cartesianVelocity VelocityCartesian +} + +/** + * This DF represents a velocity vector in a cartesian coordinate system. + + * It shall include the following components: + * + * @field xVelocity: the x component of the velocity vector with the associated confidence value. + * + * @field yVelocity: the y component of the velocity vector with the associated confidence value. + * + * @field zVelocity: the optional z component of the velocity vector with the associated confidence value. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +VelocityCartesian::= SEQUENCE { + xVelocity VelocityComponent, + yVelocity VelocityComponent, + zVelocity VelocityComponent OPTIONAL +} + +/** + * This DF represents a component of the velocity vector and the associated confidence value. + * + * It shall include the following components: + * + * @field value: the value of the component. + * + * @field confidence: the confidence value of the value. + * + * @category: Kinematic information + * @revision: V2.1.1 + */ +VelocityComponent ::= SEQUENCE { + value VelocityComponentValue, + confidence SpeedConfidence +} + +/** + * This DF represents a velocity vector in a polar or cylindrical coordinate system. + * + * It shall include the following components: + * + * @field velocityMagnitude: magnitude of the velocity vector on the reference plane, with the associated confidence value. + * + * @field velocityDirection: polar angle of the velocity vector on the reference plane, with the associated confidence value. + * + * @field zVelocity: the optional z component of the velocity vector along the reference axis of the cylindrical coordinate system, with the associated confidence value. + * + * @category: Kinematic information + * @revision: Created in V2.1.1 + */ +VelocityPolarWithZ::= SEQUENCE { + velocityMagnitude Speed, + velocityDirection CartesianAngle, + zVelocity VelocityComponent OPTIONAL +} + +/** + * This DF provides information about a VRU cluster. + * + * It shall include the following components: + * + * @field clusterId: optional identifier of a VRU cluster. + * + * @field clusterBoundingBoxShape: optionally indicates the shape of the cluster bounding box, per default inside an East-North-Up coordinate system + * centered around a reference point defined outside of the context of this DF. + * + * @field clusterCardinalitySize: indicates an estimation of the number of VRUs in the group, e.g. the known members in the cluster + 1 (for the cluster leader) . + * + * @field clusterProfiles: optionally identifies all the VRU profile types that are estimated to be within the cluster. + * if this component is absent it means that the information is unavailable. + * + * @category: VRU information + * @revision: Created in V2.1.1, description revised in V2.2.1 +*/ +VruClusterInformation ::= SEQUENCE { + clusterId Identifier1B OPTIONAL, + clusterBoundingBoxShape Shape (WITH COMPONENTS{..., elliptical ABSENT, radial ABSENT, radialShapes ABSENT}) OPTIONAL, + clusterCardinalitySize CardinalNumber1B, + clusterProfiles VruClusterProfiles OPTIONAL, + ... +} + +/** + * This DF represents the status of the exterior light switches of a VRU. + * This DF is an extension of the vehicular DE @ref ExteriorLights. + * + * It shall include the following components: + * + * @field vehicular: represents the status of the exterior light switches of a road vehicle. + * + * @field vruSpecific: represents the status of the exterior light switches of a VRU. + * + * @category: VRU information + * @revision: created in V2.1.1 + */ +VruExteriorLights ::= SEQUENCE { + vehicular ExteriorLights, + vruSpecific VruSpecificExteriorLights, + ... +} + +/** + * This DF indicates the profile of a VRU including sub-profile information + * It identifies four options corresponding to the four types of VRU profiles specified in ETSI TS 103 300-2 [18]: + * + * @field pedestrian: VRU Profile 1 - Pedestrian. + * + * @field bicyclistAndLightVruVehicle: VRU Profile 2 - Bicyclist. + * + * @field motorcyclist: VRU Profile 3 - Motorcyclist. + * + * @field animal: VRU Profile 4 - Animal. + * + * @category: VRU information + * @revision: Created in V2.1.1 + */ +VruProfileAndSubprofile ::= CHOICE { + pedestrian VruSubProfilePedestrian, + bicyclistAndLightVruVehicle VruSubProfileBicyclist, + motorcyclist VruSubProfileMotorcyclist, + animal VruSubProfileAnimal, + ... +} + +/** + * This DF represents an angular component along with a confidence value in the WGS84 coordinate system. + * The specific WGS84 coordinate system is specified by the corresponding standards applying this DE. + * + * It shall include the following components: + * + * @field value: the angle value, which can be estimated as the mean of the current distribution. + * + * @field confidence: the confidence value associated to the angle value. + * + * @category: GeoReference information + * @revision: Created in V2.1.1 +*/ +Wgs84Angle ::= SEQUENCE { + value Wgs84AngleValue, + confidence Wgs84AngleConfidence +} + + +/** + * This DF represents a yaw rate of vehicle at a point in time. + * + * It shall include the following components: + * + * @field yawRateValue: yaw rate value at a point in time. + * + * @field yawRateConfidence: confidence value associated to the yaw rate value. + * + * @category: Vehicle Information + * @revision: V1.3.1 + */ +YawRate::= SEQUENCE { + yawRateValue YawRateValue, + yawRateConfidence YawRateConfidence +} + +------------------------------------------ +/** + * ## References: + * 1. ETSI TS 103 900: "Intelligent Transport Systems (ITS); Vehicular Communications; Basic Set of Applications; Part 2: Specification of Cooperative Awareness Basic Service; Release 2". + * 2. ETSI TS 103 831: "Intelligent Transport Systems (ITS); Vehicular Communications; Basic Set of Applications; Part 3: Specifications of Decentralized Environmental Notification Basic Service"; Release 2. + * 3. [European Agreement (Applicable as from 1 January 2011): "Concerning the International Carriage of Dangerous Goods by Road"](http://www.unece.org/trans/danger/publi/adr/adr2011/11ContentsE.html). + * 4. [United Nations: "Recommendations on the Transport of Dangerous Goods - Model Regulations", Twelfth revised edition](http://www.unece.org/trans/danger/publi/unrec/12_e.html). + * 5. ETSI TS 101 539-1: "Intelligent Transport Systems (ITS); V2X Applications; Part 1: Road Hazard Signalling (RHS) application requirements specification". + * 6. ISO 3779 (2011-07): "Road vehicles - Vehicle identification number (VIN) Content and structure". + * 7. VDV recommendation 420 (1992): "Technical Requirements for Automatic Vehicle Location / Control Systems - Radio Data Transmission (BON Version) with Supplement 1 and Supplement 2". + * 8. ISO 1176:1990: "Road vehicles - Masses - Vocabulary and codes". + * 9. ETSI TS 103 916 Intelligent Transport Systems (ITS); Parking Availability Service Specification; Release 2 + * 10. void + * 11. void + * 12. ETSI TS 103 300-3: "Intelligent Transport Systems (ITS); Vulnerable Road Users (VRU) awareness; Part 3: Specification of VRU awareness basic service; Release 2" + * 13. ETSI TS 103 724: "Intelligent Transport Systems (ITS); Facilities layer function; Interference Management Zone Message (IMZM); Release 2" + * 14. ETSI TS 102 792: "Intelligent Transport Systems (ITS); Mitigation techniques to avoid interference between European CEN Dedicated Short Range Communication (CEN DSRC) equipment and Intelligent Transport Systems (ITS) operating in the 5 GHz frequency range". + * 15. ETSI TS 103 301: "Intelligent Transport Systems (ITS); Vehicular Communications; Basic Set of Applications; Facilities layer protocols and communication requirements for infrastructure services; Release 2". + * 16. UNECE/TRANS/WP.29/78/Rev.4: "Consolidated Resolution on the Construction of Vehicles (R.E.3)". + * 17. ETSI EN 302 890-1: "Intelligent Transport Systems (ITS); Facilities layer function; Part 1: Services Announcement (SA) specification". + * 18. ETSI TS 103 300-2 "Intelligent Transport System (ITS); Vulnerable Road Users (VRU) awareness; Part 2: Functional Architecture and Requirements definition; Release 2" + * 19. ETSI TS 103 175: "Intelligent Transport Systems (ITS); Cross Layer DCC Management Entity for operation in the ITS G5A and ITS G5B medium" + * 20. ETSI EN 302 571: "Intelligent Transport Systems (ITS); Radiocommunications equipment operating in the 5 855 MHz to 5 925 MHz frequency band; Harmonised Standard covering the essential requirements of article 3.2 of Directive 2014/53/EU" + * 21. ISO 8855: "Road vehicles - Vehicle dynamics and road-holding ability - Vocabulary". + * 22. ISO 3833: "Road vehicles - Types - Terms and definitions". + * 23. ISO 14816:2015 + Amd1:2019: " Road transport and traffic telematics � Automatic vehicle and equipment identification � Numbering and data structure" + * 24. ISO 17573-3: "Electronic fee collection � System architecture for vehicle-related tolling � Part 3: Data dictionary" + * 25. ISO 3166-1: "Codes for the representation of names of countries and their subdivisions � Part 1: Country code" +*/ + +END + diff --git a/asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn b/asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn new file mode 100644 index 000000000..608543378 --- /dev/null +++ b/asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn @@ -0,0 +1,54 @@ +CPM-OriginatingStationContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationContainers (2) major-version-1 (1) minor-version-1(1)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + +CartesianAngle, MapReference, Speed, StationType, TrailerData, Wgs84Angle +FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)} +; + +/** + * This DF represents the Originating Vehicle Container + * + * It shall include the following components: + * + * @field orientationAngle: the angle and angle accuracy of the absolute orientation of the disseminating vehicle in the WGS84 coordinate system with respect to true North. + * + * @field pitchAngle: the optional angle and angle accuracy between the ground plane and the current orientation of the vehicle's x-axis with respect to the ground plane about the y-axis according to the ISO 8855. + * + * @field rollAngle: the optional angle and angle accuracy between the ground plane and the current orientation of a vehicle's y-axis with respect to the ground plane about the x-axis according to the ISO 8855 + * + * @field trailerData: information about the trailer dimensions and orientation in case a trailer is present. + * +*/ +OriginatingVehicleContainer ::= SEQUENCE { + orientationAngle Wgs84Angle, + pitchAngle CartesianAngle OPTIONAL, + rollAngle CartesianAngle OPTIONAL, + trailerDataSet TrailerDataSet OPTIONAL, + ... +} + +/** + * This DF represents the Originating RSU Container. + * + * It shall include the following components: + * + * @field mapReference: identifies the MAPEM containing the topology information reference in the Perceived Object Container + * +*/ +OriginatingRsuContainer ::= SEQUENCE{ + mapReference MapReference OPTIONAL, + ... +} + +/** + * This DF represents a list of trailer data. + * +*/ +TrailerDataSet::= SEQUENCE SIZE(1..8,...) OF TrailerData (WITH COMPONENTS {... ,frontOverhang ABSENT, rearOverhang ABSENT, trailerWidth ABSENT}) + +END diff --git a/asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn b/asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn new file mode 100644 index 000000000..33eb6906c --- /dev/null +++ b/asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn @@ -0,0 +1,171 @@ +CPM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) cpm (1) major-version-1 (1) minor-version-1(1)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + +ItsPduHeader, MessageRateHz, MessageSegmentationInfo, OrdinalNumber1B, ReferencePosition, StationType, TimestampIts +FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)} +WITH SUCCESSORS + +OriginatingRsuContainer, OriginatingVehicleContainer +FROM CPM-OriginatingStationContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationContainers (2) major-version-1 (1) minor-version-1(1)} +WITH SUCCESSORS + +SensorInformationContainer +FROM CPM-SensorInformationContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformationContainer (3) major-version-1 (1) minor-version-1(1)} +WITH SUCCESSORS + +PerceptionRegionContainer +FROM CPM-PerceptionRegionContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceptionRegionContainer (5) major-version-1 (1) minor-version-1(1)} +WITH SUCCESSORS + +PerceivedObjectContainer +FROM CPM-PerceivedObjectContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObjectContainer (4) major-version-1 (1) minor-version-1(1)} +WITH SUCCESSORS + +; + +/** + * This DF represents the Collective Perception Message (CPM) and is the top level Protocol Data Unit. + * + * It shall include the following components: + * + * @field header: the common message header for the facilities layer message. + * + * @field payload: the payload of the message. + * +*/ +CollectivePerceptionMessage ::= SEQUENCE { + header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(cpm)}), + payload CpmPayload +} + +/** + * This DF represents the payload of the CPM. + * + * It shall include the following components: + * + * @field managementContainer: the management container. + * + * @field cpmContainers: the list of CPM containers, including its container type identifier and including either one or none of originatingVehicleContainer and/or originatingRsuContainer. + * +*/ +CpmPayload ::= SEQUENCE { + managementContainer ManagementContainer, + cpmContainers ConstraintWrappedCpmContainers, + ... +} + +/** + * This DF represents the management container of the CPM. + * The management container provides basic information about the originating ITS-S, which are not specific to a specific type of station. + * + * It shall include the following components: + * + * @field referenceTime: the reference time for all time related information in the CPM. + * + * @field messageRateRange: the planned or expected range of the CPM generation rate. + * + * @field segmentationInfo: information regarding the message segmentation on facility layer. + * + * @field referencePosition: the reference position for all position related information in the CPM. + * +*/ +ManagementContainer ::= SEQUENCE { + referenceTime TimestampIts, + referencePosition ReferencePosition, + segmentationInfo MessageSegmentationInfo OPTIONAL, + messageRateRange MessageRateRange OPTIONAL, + ... +} + +/** + * This information object class is an abstract template to instantiate containers. + * + * It shall include the following components: + * + * @field &id: the identifier of the container type. + * + * @field &Type: the container content. + * +*/ + +CPM-CONTAINER-ID-AND-TYPE ::= CLASS { + &id CpmContainerId UNIQUE, + &Type +} WITH SYNTAX {&Type IDENTIFIED BY &id} + +/** + * This DE represents the identifier of the container type. + * +*/ +CpmContainerId ::= INTEGER (1..16) + +/** + * These value assignements represent specific values of the container type identifier. +*/ +originatingVehicleContainer CpmContainerId ::= 1 +originatingRsuContainer CpmContainerId ::= 2 +sensorInformationContainer CpmContainerId ::= 3 +perceptionRegionContainer CpmContainerId ::= 4 +perceivedObjectContainer CpmContainerId ::= 5 + + +/** + * This information object set represents the association between the container type and the container content. +*/ +CpmContainers CPM-CONTAINER-ID-AND-TYPE ::= { + {OriginatingVehicleContainer IDENTIFIED BY originatingVehicleContainer} | + {OriginatingRsuContainer IDENTIFIED BY originatingRsuContainer} | + {SensorInformationContainer IDENTIFIED BY sensorInformationContainer} | + {PerceptionRegionContainer IDENTIFIED BY perceptionRegionContainer} | + {PerceivedObjectContainer IDENTIFIED BY perceivedObjectContainer}, + ... +} + +/** + * This DF represents a CPM container preceded by its type identifier and a lenght indicator. + * + * It shall include the following components: + * + * @field containerId: the identifier of the container type. + * + * @field containerData: the container content consistent with the container type. + * +*/ +WrappedCpmContainer ::= SEQUENCE { + containerId CPM-CONTAINER-ID-AND-TYPE.&id( {CpmContainers} ), + containerData CPM-CONTAINER-ID-AND-TYPE.&Type( {CpmContainers}{@containerId} ) +} + +/** + * This DF represents a list of CPM containers, each with their type identifier. +*/ +WrappedCpmContainers::= SEQUENCE SIZE(1..8,...) OF WrappedCpmContainer + +/** + * This DF represents a list of CPM containers, each with their type identifier with an additional constraint. +*/ +ConstraintWrappedCpmContainers ::= WrappedCpmContainers + ((WITH COMPONENT (WITH COMPONENTS {..., containerId (ALL EXCEPT 1)})) | + (WITH COMPONENT (WITH COMPONENTS {..., containerId (ALL EXCEPT 2)}))) + +/** + * This DF represents the planned or expected range of the message generation rate. + * + * It shall include the following components: + * + * @field messageRateMin: the minimum planned or expected message rate. + * + * @field messageRateMax: the maximum planned or expected message rate. + * +*/ +MessageRateRange::= SEQUENCE{ + messageRateMin MessageRateHz, + messageRateMax MessageRateHz +} + +END diff --git a/asn1/release2/TS103324v211/CPM-PerceivedObjectContainer.asn b/asn1/release2/TS103324v211/CPM-PerceivedObjectContainer.asn new file mode 100644 index 000000000..2f80e53fb --- /dev/null +++ b/asn1/release2/TS103324v211/CPM-PerceivedObjectContainer.asn @@ -0,0 +1,34 @@ +CPM-PerceivedObjectContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObjectContainer (4) major-version-1 (1) minor-version-1(1)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + +CardinalNumber1B, PerceivedObject +FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)} +; + +/** + * This DF represents the Perceived Object Container + * + * It shall include the following components: + * + * @field numberOfPerceivedObjects: the total number of perceived objects at the time of generating the message. + * + * @field perceivedObjects: the list of perceived objects. + * +*/ +PerceivedObjectContainer ::= SEQUENCE { + numberOfPerceivedObjects CardinalNumber1B, + perceivedObjects PerceivedObjects, + ... +} + +/** @brief Perceived Objects + * This DF provides a list of perceived objects represented in the coordinate system in which the y-axis corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. +*/ +PerceivedObjects::= SEQUENCE SIZE(0..255, ...) OF PerceivedObject (WITH COMPONENTS {... ,objectId PRESENT}) + +END diff --git a/asn1/release2/TS103324v211/CPM-PerceptionRegionContainer.asn b/asn1/release2/TS103324v211/CPM-PerceptionRegionContainer.asn new file mode 100644 index 000000000..c0a0e5b03 --- /dev/null +++ b/asn1/release2/TS103324v211/CPM-PerceptionRegionContainer.asn @@ -0,0 +1,54 @@ +CPM-PerceptionRegionContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceptionRegionContainer (5) major-version-1 (1) minor-version-1(1)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + +CardinalNumber1B, DeltaTimeMilliSecondSigned, Identifier2B, Shape, ConfidenceLevel, SensorType, SequenceOfIdentifier1B +FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)} +; + +/** + * This DF represents the Perception Region Container as a list of perception region information objects. +*/ +PerceptionRegionContainer ::= SEQUENCE SIZE(1..256, ...) OF PerceptionRegion + +/** + * This DF represents the actual perception capabilities available to the transmitting ITS-S, offering additional (often dynamic) details to the information provided in the sensor information container. + * + * It shall include the following components: + + * @field measurementDeltaTime: difference between the time of estimation of the perception region and the reference time. Positive values indicates that the provided information refers to a point in time after the reference time. + * + * @field perceptionRegionConfidence: the perception confidence. + * + * @field perceptionRegionShape: specification of the shape of the perception region. + * + * @field shadowingApplies: indicates if the standard shadowing approach applies to the described perception region. + * + * @field sensorIdList: the optional list of identifiers of the sensors which are involved in perceiving the region. + * + * @field numberOfPerceivedObjects: the optional number of perceived objects contained in the perception region specified in the component perceptionRegionShape. + * + * @field perceivedObjectIds: the optional list of identifiers of the objects specified in the Perceived Object Container that are contained in the perception region specified in the component perceptionRegionShape. + * +*/ +PerceptionRegion ::= SEQUENCE { + measurementDeltaTime DeltaTimeMilliSecondSigned, + perceptionRegionConfidence ConfidenceLevel, + perceptionRegionShape Shape, + shadowingApplies BOOLEAN, + sensorIdList SequenceOfIdentifier1B OPTIONAL, + numberOfPerceivedObjects CardinalNumber1B OPTIONAL, + perceivedObjectIds PerceivedObjectIds OPTIONAL, + ... +} + +/** + * This DF represents a list of identifiers of perceived objects. +*/ +PerceivedObjectIds::= SEQUENCE SIZE(0..255, ...) OF Identifier2B + +END diff --git a/asn1/release2/TS103324v211/CPM-SensorInformationContainer.asn b/asn1/release2/TS103324v211/CPM-SensorInformationContainer.asn new file mode 100644 index 000000000..e0c85348f --- /dev/null +++ b/asn1/release2/TS103324v211/CPM-SensorInformationContainer.asn @@ -0,0 +1,47 @@ +CPM-SensorInformationContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformationContainer (3) major-version-1 (1) minor-version-1(1)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + +Shape, ConfidenceLevel, Identifier1B, SensorType +FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1) } +; + +/** + * This DF represents the Sensor Information Container as a list of information objects about the sensors or data fusion systems from which the station provides information about detected objects. +*/ +SensorInformationContainer ::= SEQUENCE SIZE(1..128, ...) OF SensorInformation + + +/** + * This DF represents the characteristics of a single sensor or data fusion system. + * + * It shall include the following components: + * + * @field sensorId: identifier of the sensor or data fusion system used to relate the perceived object in the Perceived Object Container to the sensor that detected it. + * this identifier shall uniquely identify the sensor inside the CPM, but may be changed from one CPM to the next. + * + * @field sensorType: the type of the sensor. + * + * @field perceptionRegionShape: the perception region of the sensor. + * + * @field perceptionRegionConfidence: the homogeneous perception region confidence that can be assumed for the entire perception region shape of this sensor. + * + * @field shadowingApplies: indicates if the standard shadowing approach applies to the described perception region. + * +*/ + +SensorInformation ::= SEQUENCE { + sensorId Identifier1B, + sensorType SensorType, + perceptionRegionShape Shape OPTIONAL, + perceptionRegionConfidence ConfidenceLevel OPTIONAL, + shadowingApplies BOOLEAN, + ... +} + + +END diff --git a/asn1/release2/TS103324v211/README.md b/asn1/release2/TS103324v211/README.md new file mode 100644 index 000000000..535186cf2 --- /dev/null +++ b/asn1/release2/TS103324v211/README.md @@ -0,0 +1,4 @@ +The TS 103324 v2.1.1 CPM ASN1 files are copied from its [ETSI repository](https://forge.etsi.org/rep/ITS/asn1/cpm_ts103324/-/tree/v2.1.1). +For compatibility with CDD 2.2.1, the CDD import lines are manually patched from "major-version-3" to "major-version-4". + +See [ETSI License](https://forge.etsi.org/rep/ITS/asn1/cpm_ts103324/-/blob/v2.1.1/LICENSE) for copyright details. diff --git a/asn1/release2/TS103831v221-DENM.asn b/asn1/release2/TS103831v221-DENM.asn new file mode 100644 index 000000000..e307cb93a --- /dev/null +++ b/asn1/release2/TS103831v221-DENM.asn @@ -0,0 +1,394 @@ +--! @options: no-fields-header + +DENM-PDU-Description {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) denmPduRelease2 (103831) + major-version-2 (2) minor-version-2 (2)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + +ActionId, ActionIdList, CauseCodeV2, ClosedLanes, DangerousGoodsExtended, DeltaReferencePosition, DeltaTimeMilliSecondPositive, DeltaTimeSecond, +EnergyStorageType, EventZone, GeneralizedLanePositions, HeightLonCarr, InformationQuality, ItsPduHeader, IvimReferences, LanePosition, +LightBarSirenInUse, ItineraryPath, MapReferences, MetaInformation, NumberOfOccupants, ObjectFace, OccupiedLanesWithConfidence, PerceivedObject, +Position1d, PosLonCarr, PosCentMass, PositionOfPillars, PositioningSolutionType, PosFrontAx, PositionOfOccupants, PathPredictedList, +RequestResponseIndication, ReferencePosition, RestrictedTypes, RoadConfigurationSectionList, RoadType, StandardLength3b,StandardLength12b, +StationType, Speed, SpeedLimit, StationId, StationarySince, TimestampIts, Traces, TracesExtended, TrafficDirection, TrafficRule, TurningRadius, +Temperature, VehicleMass, VehicleIdentification, Wgs84Angle, WheelBaseVehicle + +FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) + major-version-4 (4) minor-version-1 (1)} WITH SUCCESSORS +; + +/** + * This type represents the DENM PDU. + * + * It shall include the following components: + * + * @field header: the header of the DENM PDU. + * + * @field denm: the payload of the DENM PDU. +*/ +DENM ::= SEQUENCE { + header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(denm)}), + denm DenmPayload +} + +/** + * This type represents the DENM payload. + * + * It shall include the following components: + * + * @field management: the Management Container. + * + * @field situation: the optional Situation Container. + * + * @field location: the optional Location Container. + * + * @field alacarte: the optional ALaCarte Container . + * +*/ +DenmPayload ::= SEQUENCE { + management ManagementContainer, + situation SituationContainer OPTIONAL, + location LocationContainer OPTIONAL, + alacarte AlacarteContainer OPTIONAL +} +((WITH COMPONENTS {..., management (WITH COMPONENTS {..., termination ABSENT}), situation PRESENT, location PRESENT}) | + (WITH COMPONENTS {..., management (WITH COMPONENTS {..., termination PRESENT}), situation ABSENT, location ABSENT, alacarte ABSENT})) + +/** + * This type represents the Management Container. + * + * It shall include the following components: + * + * @field actionId: the identifier of the DENM. + * + * @field detectionTime: the time at which the event is detected. + * + * @field referenceTime: the time at which a new DENM, an update DENM or a cancellation DENM is generated + * + * @field termination: the optional termination type of the DENM. + * + * @field eventPosition: the geographical position used in the definition of the awareness area / relevance zone, see clause 6.1.3. + * + * @field awarenessDistance: the optional radius of the circular awareness area, with centre at the event position or at any of the + * event history points as defined in clause 6.1.3.1. + * + * @field trafficDirection: the optional traffic direction along which the receiving ITS-S may encounter the event, + * as defined in clause 6.1.3. + * + * @field validityDuration: the validity duration of a DENM. This component represents a time offset in the unit of second since detectionTime. + * + * @field transmissionInterval: the optional time interval for DENM transmission as defined by the originating ITS-S. + * If the component is not present in DENM, a default value defaultValidity is assumed. + * + * @field stationType: the station type information of the originating ITS-S. + * +*/ +ManagementContainer ::= SEQUENCE { + actionId ActionId, + detectionTime TimestampIts, + referenceTime TimestampIts, + termination Termination OPTIONAL, + eventPosition ReferencePosition, + awarenessDistance StandardLength3b OPTIONAL, + trafficDirection TrafficDirection OPTIONAL, + validityDuration DeltaTimeSecond DEFAULT defaultValidity, + transmissionInterval DeltaTimeMilliSecondPositive OPTIONAL, + stationType StationType, + ... +} + +/** + * This type represents the situation container. + * + * It shall include the following components: + * + * @field informationQuality: the quality level of the information provided by the ITS-S application of the originating ITS-S. + * It indicates the probability of the detected event being truly existent at the event position. + * + * @field eventType: the event type, including direct cause and sub cause. + * + * @field linkedCause: the optional type of a linked event co-existing at the same time and the same place (same event zone), + * including direct cause and sub cause of the linked event, for which no other DENM is sent out. + * + * @field eventZone: an optional list of EventPoint, using the position indicated in the component eventPosition of the Management container + * as the reference position for the first EventPoint. + * + * @field linkedDenms: the optional list of DF ActionId, pointing to DENMs that are semantically connected because applying to consecutive + * event zones at the same time. + * + * @field eventEnd: the end position of the event along the road that is affected by the event w.r.t. the component eventPosition of the + * Management container. This end position is represented by the length of the event along the road. + * +*/ +SituationContainer ::= SEQUENCE { + informationQuality InformationQuality, + eventType CauseCodeV2, + linkedCause CauseCodeV2 OPTIONAL, + eventZone EventZone OPTIONAL, + ..., +[[ linkedDenms ActionIdList OPTIONAL, + eventEnd Position1d OPTIONAL ]] +} + ((WITH COMPONENTS {..., eventZone PRESENT, eventEnd ABSENT}) | + (WITH COMPONENTS {..., eventZone ABSENT, eventEnd PRESENT}) | + (WITH COMPONENTS {..., eventZone ABSENT, eventEnd ABSENT})) + + + +/** + * This type represents the Location Container. + * + * It shall include the following components: + * + * @field eventSpeed: optional speed of a detected dynamic event and the confidence of the speed information. + * + * @field eventPositionHeading: the optional heading of a dynamic event and the confidence of the heading information. + * + * @field detectionZonesToEventPosition: the detection zone information approaching the event position, see clause 6.1.3.3. + * + * @field roadType: the optional road type information at the event position. + * + * @field lanePositions: the optional lane(s) where the event is located, at the position indicated by the component eventPosition + * of the Management container and for a given reference direction. + * + * @field occupiedLanes: the optional lane(s) that are fully or partially occupied by the event, at the position indicated by the + * component eventPosition of the Management container and for a given reference direction. + * + * @field linkedIvims: the optional list of DF IvimReference, pointing to IVIMs that are semantically connected because providing information + * applying to the road segment(s) covered by the components detectionZonesToEventPosition, detectionZonesToSpecifiedEventPoint and + * the SituationContainer component eventZone. + * + * @field linkedMapem: the optional list of DF Mapreference, pointing to MAPEMs that are semantically connected because providing information + * applying to the road segment(s) covered by the component detectionZonesToEventPosition, detectionZonesToSpecifiedEventPoint and + * the SituationContainer component eventZone. + * + * @field detectionZonesToSpecifiedEventPoint: the optional detection zone information approaching towards a + * specified event point, see clause 6.1.3.3. + * + * @field predictedPaths: the optional list of future paths or trajectories that the event may move along or zones that the event may occupy. + * +*/ +LocationContainer ::= SEQUENCE { + eventSpeed Speed OPTIONAL, + eventPositionHeading Wgs84Angle OPTIONAL, + detectionZonesToEventPosition Traces, + roadType RoadType OPTIONAL, + ..., +[[ lanePositions GeneralizedLanePositions OPTIONAL, + occupiedLanes OccupiedLanesWithConfidence OPTIONAL, + linkedIvims IvimReferences OPTIONAL, + linkedMapems MapReferences OPTIONAL, + detectionZonesToSpecifiedEventPoint TracesExtended OPTIONAL, + predictedPaths PathPredictedList OPTIONAL ]] +} + +/** + * This type contains detailed information about the vehicle in which the originating ITS-S is mounted, for mitigating the consequences + * of a collision. + * + * It shall include the following components: + * + * @field heightLonCarrLeft: the height of the left longitudinal carrier of the vehicle from base to top. + * + * @field heightLonCarrRight: the height of the right longitudinal carrier of the vehicle from base to top. + * + * @field posLonCarrLeft: the position of the left longitudinal carrier of vehicle. + * + * @field posLonCarrRight: the position of the right longitudinal carrier of vehicle. + * + * @field positionOfPillars: information about the vertical support of the vehicle in which the originating ITS-S is mounted. It shall be + * included for passenger vehicles only. + * + * @field posCentMass: the position of the centre of mass of the vehicle. + * + * @field wheelBaseVehicle: the wheel base of the vehicle. + * + * @field turningRadius: the turning radius of the vehicle. + * + * @field posFrontAx: the position of the front axle of the vehicle. + * + * @field positionOfOccupants: indicates whether an in-vehicle seat is occupied at the moment of generation of the message. + * + * @field vehicleMass: the mass of the unloaded vehicle + * + * @field requestResponseIndication: indicates whether the originating ITS-S transmitting the impactReduction component is requesting + * the receiving ITS-S to provide also its impactReduction component. + * +*/ +ImpactReductionContainer ::= SEQUENCE { + heightLonCarrLeft HeightLonCarr, + heightLonCarrRight HeightLonCarr, + posLonCarrLeft PosLonCarr, + posLonCarrRight PosLonCarr, + positionOfPillars PositionOfPillars, + posCentMass PosCentMass, + wheelBaseVehicle WheelBaseVehicle, + turningRadius TurningRadius, + posFrontAx PosFrontAx, + positionOfOccupants PositionOfOccupants, + vehicleMass VehicleMass, + requestResponseIndication RequestResponseIndication +} + +/** + * This type contains detailed information about an object with which a vehicle and/or the traffic is likely to collide. + * + * It shall include the following components: + * + * @field perceivedPreCrashObject: information about a perceived object in the East, North, Up reference frame. + * + * @field objectStationId: the optional station Id of the object for which the information is provided. + * + * @field timeToCollision: the optional estimated time to collision of a vehicle with the object. + * + * @field impactSection: indication of the object's section where the impact will most likely occur. + * When the target object is likely to be a vehicle, then this component should be present, otherwise it should not be provided. + * + * @field estimatedBrakingDistance: the optional estimated distance in which the vehicle would need to come to a complete hold, + * if no obstruction was in the way. +*/ +PreCrashContainer ::= SEQUENCE { + perceivedPreCrashObject PerceivedObject, + objectStationId StationId OPTIONAL, + timeToCollision DeltaTimeMilliSecondPositive OPTIONAL, + impactSection ObjectFace OPTIONAL, + estimatedBrakingDistance StandardLength12b OPTIONAL, + ... +} + +/** + * This type contains detailed information about the configuration of road section(s) that are geographically related to the event. + * + * It shall include the following components: + * + * @field roadConfigurationConfidence: information about the source of the road configuration and the confidence in the information. + * + * @field roadConfigurationSectionList: a list of road configuration information per applicable road section. +* +*/ +RoadConfigurationContainer ::= SEQUENCE { + roadConfigurationConfidence MetaInformation, + roadConfigurationSectionList RoadConfigurationSectionList, + ... +} + +/** + * This type contains detailed information of a roadwork zone and specific access conditions. + * + * It shall include the following components: + * + * @field lightBarSirenInUse: optionally indicates whether a roadwork vehicle has switched on the light bar or siren. + * It is used when the roadwork involves a specific roadwork vehicle + * + * @field closedLanes: optionally indicates whether the roadwork has caused the closure of one or several driving lanes. + * Optionally, it may indicate whether a hard shoulder lane is closed to traffic or can be used for specific usage (e.g. for stopping). + * + * @field restriction: the optional type(s) of vehicles that are restricted to access the road work zone. + * More than one vehicle types may be provided by this component if the restriction apply to multiple vehicle types. + * + * @field speedLimit: the optional speed limitation applied to the roadwork zone. + * + * @field incidentIndication: the optional incident related to the roadworks to provide additional information of the roadworks zone. + * + * @field recommendedPath: the optional recommended itinerary in order to contour the roadworks zone. If present, a recommended path + * shall be a list of path points in the order from the starting point closest to the roadworks zone to the end point of the recommended path. + * + * @field startingPointSpeedLimit: the optional effective starting position of a speed limit being applied to the roadwork zone, + * with respect to the component eventPosition on the Management Container. + * This component shall be present if the speed limit is applied at a certain distance prior to the roadwork zone starting position. + * + * @field trafficFlowRule: optionally indicates the side of the road to which the traffic should flow around a roadwork. + * + * @field referenceDenms: an optional sequence of actionIds for different DENMs that describe the same event. + * If it is available, it indicates the actionIds of all other DENMs describing this event. + * +*/ +RoadWorksContainerExtended ::= SEQUENCE { + lightBarSirenInUse LightBarSirenInUse OPTIONAL, + closedLanes ClosedLanes OPTIONAL, + restriction RestrictedTypes OPTIONAL, + speedLimit SpeedLimit OPTIONAL, + incidentIndication CauseCodeV2 OPTIONAL, + recommendedPath ItineraryPath OPTIONAL, + startingPointSpeedLimit DeltaReferencePosition OPTIONAL, + trafficFlowRule TrafficRule OPTIONAL, + referenceDenms ActionIdList OPTIONAL +} + +/** + * This type contains detailed information about a stationary vehicle. + * + * It shall include the following components: + * + * @field stationarySince: the optional time duration of the stationary vehicle being stationary. + * + * @field stationaryCause: optional additional information to describe causes of the stationary vehicle event such as human problem. + * + * @field carryingDangerousGoods: optional information on the type of dangerous goods, the required emergency action and other information. + * + * @field numberOfOccupants: the optional estimated number of occupants involved in the stationary vehicle event. + * + * @field vehicleIdentification: the optional identification of the stationary vehicle. + * + * @field energyStorageType: the optional vehicle energy storage type information of the stationary vehicle, such as electric, diesel, etc. + * +*/ +StationaryVehicleContainer ::= SEQUENCE { + stationarySince StationarySince OPTIONAL, + stationaryCause CauseCodeV2 OPTIONAL, + carryingDangerousGoods DangerousGoodsExtended OPTIONAL, + numberOfOccupants NumberOfOccupants OPTIONAL, + vehicleIdentification VehicleIdentification OPTIONAL, + energyStorageType EnergyStorageType OPTIONAL +} + +/** + * This type represents the A La Carte Container. + * + * It shall include the following components: + * + * @field lanePosition: the optional lane position of the event. + * + * @field impactReduction: optional vehicle data for collision mitigation. + * + * @field externalTemperature: optional the ambient temperature at the event position. + * + * @field roadWorks: optional information of the roadwork zone. + * + * @field positioningSolution: optionally indicates the technical solution being used by the originating ITS-S to estimate the event position. + * + * @field stationaryVehicle: optional information about a stationary vehicle. + * + * @field roadConfiguration: optional information about the configuration of the road. + * + * @field precrash: the optional information about perceived objects that represent hazards and/or could be subject of collisions. + * +*/ +AlacarteContainer ::= SEQUENCE { + lanePosition LanePosition OPTIONAL, + impactReduction ImpactReductionContainer OPTIONAL, + externalTemperature Temperature OPTIONAL, + roadWorks RoadWorksContainerExtended OPTIONAL, + positioningSolution PositioningSolutionType OPTIONAL, + stationaryVehicle StationaryVehicleContainer OPTIONAL, + ..., +[[ roadConfiguration RoadConfigurationContainer OPTIONAL, + preCrash PreCrashContainer OPTIONAL ]] +} + +/** + * This type specifies the default value for DENM validity duration used for DENM protocol operation. +*/ +defaultValidity INTEGER ::= 600 + +/** + * This indicates the termination type of generated DENM, i.e. if it is a cancellation DENM or a negation DENM +*/ + +Termination ::= ENUMERATED {isCancellation(0), isNegation (1)} + +END diff --git a/asn1/release2/TS103900v211-CAM.asn b/asn1/release2/TS103900v211-CAM.asn new file mode 100644 index 000000000..97add3ac7 --- /dev/null +++ b/asn1/release2/TS103900v211-CAM.asn @@ -0,0 +1,336 @@ +CAM-PDU-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) camPduRelease2 (103900) major-version-2 (2) minor-version-1 (1)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS +ItsPduHeader, CauseCodeV2, ReferencePosition, AccelerationControl, Curvature, CurvatureCalculationMode, Heading, LanePosition, EmergencyPriority, EmbarkationStatus, Speed, +DriveDirection, AccelerationComponent, StationType, ExteriorLights, DangerousGoodsBasic, SpecialTransportType, LightBarSirenInUse, +VehicleRole, VehicleLength, VehicleWidth, Path, RoadworksSubCauseCode, ClosedLanes, TrafficRule, SpeedLimit, SteeringWheelAngle, PerformanceClass, YawRate, +PtActivation, ProtectedCommunicationZonesRSU, CenDsrcTollingZone, GenerationDeltaTime, BasicContainer + +FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-4 (4) minor-version-1 (1)} WITH SUCCESSORS +; + + +-- The root data frame for cooperative awareness messages + +/** +* This type represents the CAM PDU. +* +* It shall include the following componenets: +* +* @field header: the header of the CAM PDU. +* +* @field cam: the payload of the CAM PDU. +*/ + +CAM ::= SEQUENCE { + header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(cam)}), + cam CamPayload +} + +/** +* This type represents the CAM payload. +* +* It shall include the following components: +* +* @field generationDeltaTime: Time corresponding to the time of the reference position in the CAM, considered as time of the CAM generation. +* +* @field camParameters: The sequence of CAM mandatory and optional container. +* +*/ +CamPayload ::= SEQUENCE { + generationDeltaTime GenerationDeltaTime, + camParameters CamParameters +} + +/** +* @field basicContainer: the mandatory basic container of the CAM. +* +* @field highFrequencyContainer: the mandatory container represents the high frequency of the CAM. +* +* @field lowFrequencyContainer: the optional conatainer represents the low frequency of the CAM. +* +* @field specialVehicleContainer: The special container of the CAM shall be present as defined in clause 6.1.2. +* The content of the container shall be set according to the value of the vehicleRole component as specified in Table 5. +*/ +CamParameters ::= SEQUENCE { + basicContainer BasicContainer, + highFrequencyContainer HighFrequencyContainer, + lowFrequencyContainer LowFrequencyContainer OPTIONAL, + specialVehicleContainer SpecialVehicleContainer OPTIONAL, + ... +} + +/** +* This type represents the high frequency container. +* +* It shall include the following components: +* +* @field basicVehicleContainerHighFrequency: The mandatory high frequency container of the CAM when the originating ITS-S is of the type vehicle ITS-S. +* +* @field rsuContainerHighFrequency: The mandatory high frequency container of CAM when the type of the originating ITS-S is RSU ITS-S. +*/ +HighFrequencyContainer ::= CHOICE { + basicVehicleContainerHighFrequency BasicVehicleContainerHighFrequency, + rsuContainerHighFrequency RSUContainerHighFrequency, + ... +} + +/** +* This type represents the low frequency container. +* +* It shall include the following components: +* +* The low frequency container of the CAM when the originating ITS-S is of the type vehicle ITS-S. It shall be present as defined in clause 6.1.2. +*/ + LowFrequencyContainer ::= CHOICE { + basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency, + ... +} + +/** +* This type represent the Special Vehicle Container. +* +* It shall include the following components: +* +* @field publicTransportContainer: If the vehicleRole component is set to publicTransport(1) this container shall be present. +* +* @field specialTransportContainer: If the vehicleRole component is set to specialTransport(2) this container shall be present. +* +* @field dangerousGoodsContainer: If the vehicleRole component is set to dangerousGoods(3) this container shall be present. +* +* @field roadWorksContainerBasic: If the vehicleRole component is set to roadWork(4) this container shall be present. +* +* @field rescueContainer: If the vehicleRole component is set to rescue(5) this container shall be present. +* +* @field emergencyContainer: If the vehicleRole component is set to emergency(6) this container shall be present. +* +* @field safetyCarContainer: If the vehicleRole component is set to safetyCar(7) this container shall be present. +*/ +SpecialVehicleContainer ::= CHOICE { + publicTransportContainer PublicTransportContainer, + specialTransportContainer SpecialTransportContainer, + dangerousGoodsContainer DangerousGoodsContainer, + roadWorksContainerBasic RoadWorksContainerBasic, + rescueContainer RescueContainer, + emergencyContainer EmergencyContainer, + safetyCarContainer SafetyCarContainer, + ... +} + +/** +* This type contains detaild information of the Basic Vehicle Container High Frequency. +* +* It shall include the following components: +* +* @field heading: It represent the heading and heading accuracy of the vehicle movement of the originating ITS-S with regards to the true north. +* The heading accuracy provided in the heading Confidence value shall provide the accuracy of the measured vehicle heading with a confidence level +* of 95 %. Otherwise, the value of the headingConfidence shall be set to unavailable. +* +* @field speed: It represent driving speed and speed accuracy of the originating ITS-S. The speed accuracy provided in the speedConfidence shall +* provide the accuracy of the speed value with a confidence level of 95 %. Otherwise, the speedConfidence shall be set to unavailable. +* +* @field driveDirection: This component represent the vehicle drive direction (forward or backward) of the originating ITS-S. +* +* @field vehicleLength: This component represent the vehicle length value and vehicle length confidence indication of the vehicle ITS-S that +* originate the CAM. +* +* @field vehicleWidth: This component represents the Vehicle Width of the vehicle ITS-S that originates the CAM excluding side mirrors and possible +* similar extensions. +* +* @field longitudinalAcceleration: It represent the vehicle Longitudinal Acceleration of the originating ITS-S in the centre of the mass of the +* empty vehicle. It shall include the measured vehicle longitudinal acceleration and its accuracy value with the confidence level of 95 %. +* Otherwise, the longitudinalAccelerationConfidence shall be set to unavailable. +* +* @field curvature: this component reppresent the actual trajectory of the vehicle. +* +* @field curvatureCalculationMode: It indicates whether vehicle yaw-rate is used in the calculation of the curvature of the vehicle ITS-S that +* originates the CAM. +* +* @field yawRate: It denotes the vehicle rotation around the centre of mass of the empty vehicle. The leading sign denotes the direction of +* rotation. The value is negative if the motion is clockwise when viewing from the top. +* yawRateConfidence denotes the accuracy for the 95 % confidence level for the measured yawRateValue. Otherwise, the value of yawRateConfidence +* shall be set to unavailable. +* +* @field accelerationControl: an optional component which represents the current status of the vehcile mechnanisms controlling the longitudinal movement of the vehcile ITS-S +* (e.g. brake pedal, gas pedal, etc. engaged) that originate the CAM. +* +* @field lanePosition: an optional component which represents the lanePosition of the referencePosition of a vehicle. This component shall be present if the data is +* available at the originating ITS-S. +* +* @field steeringWheelAngle: an optional component which indicates the steering wheel angle and accuracy as measured at the vehicle ITS-S that originates the CAM. +* +* @field lateralAcceleration: an optional component which represents the vehicle lateral acceleration of the originating ITS-S in the centre of the mass of the empty vehicle. +* It shall include the measured vehicle lateral acceleration and its accuracy value with the confidence level of 95%. +* +* @field verticalAcceleration: an optional component which indicates the originating ITS-S in the centre of the mass of the empty vehicle. +* +* @field performanceClass: an optional component characterizes the maximum age of the CAM data elements with regard to the generation delta time. +* +* @field cenDsrcTollingZone: an optional component which represents the information about the position of a CEN DSRC Tolling Station operating in the 5,8 GHz frequency band. +*/ +BasicVehicleContainerHighFrequency ::= SEQUENCE { + heading Heading, + speed Speed, + driveDirection DriveDirection, + vehicleLength VehicleLength, + vehicleWidth VehicleWidth, + longitudinalAcceleration AccelerationComponent, + curvature Curvature, + curvatureCalculationMode CurvatureCalculationMode, + yawRate YawRate, + accelerationControl AccelerationControl OPTIONAL, + lanePosition LanePosition OPTIONAL, + steeringWheelAngle SteeringWheelAngle OPTIONAL, + lateralAcceleration AccelerationComponent OPTIONAL, + verticalAcceleration AccelerationComponent OPTIONAL, + performanceClass PerformanceClass OPTIONAL, + cenDsrcTollingZone CenDsrcTollingZone OPTIONAL +} + +/** +* This type contains detaild information of the Basic Vehicle Container Low Frequency. +* +* It shall include the following components: +* +* @field vehicleRole: represent the role of the vehicle ITS-S that originates the CAM. Only values 0 to 7 shall be used. +* +* @field exteriorLights: represent the status of the most important exterior lights switches of the vehicle ITS-S that originates the CAM. +* +* @field pathHistory: which represents the vehicle's recent movement over some past time and/or distance. It consists of a list of path points, +* each represented as DF PathPoint. The list of path points may consist of up to 23 elements. +*/ +BasicVehicleContainerLowFrequency ::= SEQUENCE { + vehicleRole VehicleRole, + exteriorLights ExteriorLights, + pathHistory Path (SIZE (0..23)) +} + +/** +* This type contains detaild information of the Public Transport Container. +* +* It shall include the following components: +* +* @field embarkationStatus: It indicates whether the passenger embarkation is currently ongoing. +* +* @field ptActivation: an optional component used for controlling traffic lights, barriers, bollards, etc. +*/ +PublicTransportContainer ::= SEQUENCE { + embarkationStatus EmbarkationStatus, + ptActivation PtActivation OPTIONAL +} + +/** +* This type contains detaild information of the Special Transport Container. +* +* It shall include the following components: +* +* @field specialTransportType: which indicates whether the originating ITS-S is mounted on a special transport vehicle with heavy or oversized load +* or both. It shall be present if the data is available in originating ITS-S. +* +* @field lightBarSirenInUse: indicates whether light-bar or a siren is in use by the vehicle originating the CAM. +*/ +SpecialTransportContainer ::= SEQUENCE { + specialTransportType SpecialTransportType, + lightBarSirenInUse LightBarSirenInUse +} + +/** +* This type contains detaild information of the Dangerous Goods Container. +* +* It shall include the following components: +* +* @field dangerousGoodsBasic: identifies the type of the dangerous goods transported by the vehicle that originates the CAM. It shall be present if +* the data is available in the originating ITS S. +*/ + DangerousGoodsContainer ::= SEQUENCE { + dangerousGoodsBasic DangerousGoodsBasic + } + + /** +* This type contains detaild information of the Road Works Container Basic. +* +* It shall include the following components: +* +* @field roadworksSubCauseCode: The optional component, in case the originating ITS-S is mounted to a vehicle ITS-S participating to roadwork. It +* provides information on the type of roadwork that it is currently undertaking. This component shall be present if the data is available in +* originating ITS S. +* +* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM. +* +* @field closedLanes: an optional component which provides information about the opening/closure status of the lanes ahead. Lanes are counted from +* the outside boarder of the road. If a lane is closed to traffic, the corresponding bit shall be set to 1. +*/ + RoadWorksContainerBasic ::= SEQUENCE { + roadworksSubCauseCode RoadworksSubCauseCode OPTIONAL, + lightBarSirenInUse LightBarSirenInUse, + closedLanes ClosedLanes OPTIONAL + } + +/** +* This type contains detaild information of the Rescue Container. +* +* It shall include the following components: +* +* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM. +*/ +RescueContainer ::= SEQUENCE { + lightBarSirenInUse LightBarSirenInUse +} + +/** +* This type contains detaild information of the Emergency Container. +* +* It shall include the following components: +* +* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM. +* +* @field incidentIndication: the optional incident related to the roadworks to provide additional information of the roadworks zone. +* +* @field emergencyPriority: the optional component represent right of way indicator of the vehicle ITS-S that originates the CAM PDU. +*/ +EmergencyContainer ::= SEQUENCE { + lightBarSirenInUse LightBarSirenInUse, + incidentIndication CauseCodeV2 OPTIONAL, + emergencyPriority EmergencyPriority OPTIONAL +} + +/** +* This type contains detaild information of the Safety Car Container. +* +* It shall include the following components: +* +* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM. +* +* @field incidentIndication: the optional incident related to the roadworks to provide additional information of the roadworks zone. +* +* @field trafficRule: an optional rule indicates whether vehicles are allowed to overtake a safety car that is originating this CAM. +* +* @field speedLimit: an optional speed indicates whether a speed limit is applied to vehicles following the safety car. +*/ +SafetyCarContainer ::= SEQUENCE { + lightBarSirenInUse LightBarSirenInUse, + incidentIndication CauseCodeV2 OPTIONAL, + trafficRule TrafficRule OPTIONAL, + speedLimit SpeedLimit OPTIONAL +} + +/** +* This type contains detaild information of the RSU Container High Frequency. +* +* It shall include the following components: +* +* @field protectedCommunicationZonesRSU: an optional Information about position of a CEN DSRC Tolling Station operating in the 5,8 GHz frequency +* band. If this information is provided by RSUs a receiving vehicle ITS-S is prepared to adopt mitigation techniques when being in the vicinity of +* CEN DSRC tolling stations. + +*/ +RSUContainerHighFrequency ::= SEQUENCE { + protectedCommunicationZonesRSU ProtectedCommunicationZonesRSU OPTIONAL, + ... +} + +END diff --git a/tools/benchmark/cases/security/base.cpp b/tools/benchmark/cases/security/base.cpp index 696dc83ba..a0213b000 100644 --- a/tools/benchmark/cases/security/base.cpp +++ b/tools/benchmark/cases/security/base.cpp @@ -43,7 +43,7 @@ std::unique_ptr SecurityBaseCase::create_verify_service() std::unique_ptr verify_service { new StraightVerifyService(runtime, *crypto_backend, positioning) }; verify_service->use_certificate_cache(&certificate_cache); verify_service->use_certificate_provider(&certificate_provider); - verify_service->use_certitifcate_validator(&certificate_validator); + verify_service->use_certificate_validator(&certificate_validator); verify_service->use_sign_header_policy(&sign_header_policy); return verify_service; } diff --git a/tools/benchmark/cases/security/signing.cpp b/tools/benchmark/cases/security/signing.cpp index d4c88c1a7..0f619d81f 100644 --- a/tools/benchmark/cases/security/signing.cpp +++ b/tools/benchmark/cases/security/signing.cpp @@ -47,10 +47,10 @@ int SecuritySigningCase::execute() DownPacket packet; packet.layer(OsiLayer::Application) = ByteBuffer { 0xC0, 0xFF, 0xEE }; - EncapRequest initial_encap_request; - initial_encap_request.plaintext_payload = packet; - initial_encap_request.its_aid = aid::CA; - security_entity.encapsulate_packet(std::move(initial_encap_request)); + SignRequest initial_sign_request; + initial_sign_request.plain_message = std::move(packet); + initial_sign_request.its_aid = aid::CA; + security_entity.encapsulate_packet(std::move(initial_sign_request)); } if (signer_info_type == "certificate") { @@ -65,11 +65,11 @@ int SecuritySigningCase::execute() DownPacket packet; packet.layer(OsiLayer::Application) = ByteBuffer { 0xC0, 0xFF, 0xEE }; - EncapRequest encap_request; - encap_request.plaintext_payload = packet; - encap_request.its_aid = aid::CA; + SignRequest sign_request; + sign_request.plain_message= std::move(packet); + sign_request.its_aid = aid::CA; - EncapConfirm encap_confirm = security_entity.encapsulate_packet(std::move(encap_request)); + EncapConfirm encap_confirm = security_entity.encapsulate_packet(std::move(sign_request)); } std::cout << "[Done]" << std::endl; diff --git a/tools/benchmark/cases/security/validation.cpp b/tools/benchmark/cases/security/validation.cpp index c89d2be64..805adb968 100644 --- a/tools/benchmark/cases/security/validation.cpp +++ b/tools/benchmark/cases/security/validation.cpp @@ -65,10 +65,10 @@ int SecurityValidationCase::execute() if (signer_info_type == "hash") { // Sign one message with CAM profile, so the next message only includes the certificate hash - EncapRequest initial_encap_request; - initial_encap_request.plaintext_payload = packet; - initial_encap_request.its_aid = aid::CA; - entities[0]->encapsulate_packet(std::move(initial_encap_request)); + SignRequest initial_sign_request; + initial_sign_request.plain_message = packet; + initial_sign_request.its_aid = aid::CA; + entities[0]->encapsulate_packet(std::move(initial_sign_request)); } for (unsigned i = 0; i < identities; i++) { @@ -78,12 +78,17 @@ int SecurityValidationCase::execute() sign_header_policy.request_certificate_chain(); } - EncapRequest encap_request; - encap_request.plaintext_payload = packet; - encap_request.its_aid = aid::CA; + SignRequest sign_request; + sign_request.plain_message = packet; + sign_request.its_aid = aid::CA; - EncapConfirm encap_confirm = entities[i]->encapsulate_packet(std::move(encap_request)); - auto v2_sec_msg = boost::get(encap_confirm.sec_packet); + EncapConfirm encap_confirm = entities[i]->encapsulate_packet(std::move(sign_request)); + auto secured_msg = encap_confirm.secured_message(); + if (!secured_msg) { + std::cerr << "Failed to encapsulate packet." << std::endl; + return 1; + } + auto v2_sec_msg = boost::get(*secured_msg); auto signer_info = v2_sec_msg.header_field(); if (signer_info_type == "hash") { @@ -105,7 +110,7 @@ int SecurityValidationCase::execute() for (unsigned i = 0; i < messages; i++) { DecapRequest decap_request { SecuredMessageView { secured_messages[dis(gen)] }}; auto decap_confirm = security_entity.decapsulate_packet(std::move(decap_request)); - assert(decap_confirm.report == DecapReport::Success); + assert(decap_confirm.report == VerificationReport::Success); } std::cout << "[Done]" << std::endl; diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index a8802e791..56a0e5e44 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -2,7 +2,7 @@ ARG UBUNTU_VERSION=xenial FROM ubuntu:${UBUNTU_VERSION} ARG DEBIAN_FRONTEND=noninteractive SHELL ["/bin/bash", "-c"] -COPY update_cmake.sh /usr/local/bin/update_cmake.sh +COPY --chmod=755 update_cmake.sh apt_pkg_name.sh /usr/local/bin/ RUN update_cmake.sh && apt-get update && \ apt-get install -y --no-install-recommends \ build-essential \ @@ -12,7 +12,7 @@ RUN update_cmake.sh && apt-get update && \ libboost-program-options-dev \ libboost-system-dev \ libcrypto++-dev \ - libgeographic-dev \ + $(apt_pkg_name.sh geographiclib) \ libssl-dev \ ninja-build \ && rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/apt_pkg_name.sh b/tools/docker/apt_pkg_name.sh new file mode 100755 index 000000000..a00188345 --- /dev/null +++ b/tools/docker/apt_pkg_name.sh @@ -0,0 +1,30 @@ +#!/bin/bash +set -euo pipefail + +source /etc/os-release +case $VERSION_CODENAME in + bionic) + ;& + focal) + ;& + jammy) + GEOGRAPHICLIB=libgeographic-dev + ;; + noble) + GEOGRAPHICLIB=libgeographiclib-dev + ;; + *) + echo "Unsupported Ubuntu version: $VERSION_CODENAME" + exit 1 + ;; +esac + +case $1 in + geographiclib) + echo $GEOGRAPHICLIB + ;; + *) + echo "Unknown package name: $1" + exit 1 + ;; +esac diff --git a/tools/socktap/ethernet_device.cpp b/tools/socktap/ethernet_device.cpp index d8cdb7c20..a2913c420 100644 --- a/tools/socktap/ethernet_device.cpp +++ b/tools/socktap/ethernet_device.cpp @@ -6,6 +6,7 @@ #include #include #include +#include static void initialize(ifreq& request, const char* interface_name) { @@ -15,18 +16,19 @@ static void initialize(ifreq& request, const char* interface_name) } EthernetDevice::EthernetDevice(const char* devname) : - local_socket_(::socket(AF_LOCAL, SOCK_DGRAM, 0)), + inet_socket_(::socket(AF_INET, SOCK_DGRAM, 0)), interface_name_(devname) { - if (!local_socket_) { + if (!inet_socket_) { throw std::system_error(errno, std::system_category()); } } EthernetDevice::~EthernetDevice() { - if (local_socket_ >= 0) - ::close(local_socket_); + if (inet_socket_ >= 0) + ::close(inet_socket_); + } EthernetDevice::protocol::endpoint EthernetDevice::endpoint(int family) const @@ -42,7 +44,7 @@ int EthernetDevice::index() const { ifreq data; initialize(data, interface_name_.c_str()); - ::ioctl(local_socket_, SIOCGIFINDEX, &data); + ::ioctl(inet_socket_, SIOCGIFINDEX, &data); return data.ifr_ifindex; } @@ -50,9 +52,21 @@ vanetza::MacAddress EthernetDevice::address() const { ifreq data; initialize(data, interface_name_.c_str()); - ::ioctl(local_socket_, SIOCGIFHWADDR, &data); + ::ioctl(inet_socket_, SIOCGIFHWADDR, &data); vanetza::MacAddress addr; std::copy_n(data.ifr_hwaddr.sa_data, addr.octets.size(), addr.octets.data()); return addr; } + +boost::asio::ip::address_v4 EthernetDevice::ip() const +{ + ifreq data; + initialize(data, interface_name_.c_str()); + ::ioctl(inet_socket_, SIOCGIFADDR, &data); + + char host[NI_MAXHOST] = { 0 }; + ::getnameinfo(&data.ifr_addr, sizeof(sockaddr), host, NI_MAXHOST, nullptr, 0, NI_NUMERICHOST); + + return boost::asio::ip::address_v4::from_string(host); +} diff --git a/tools/socktap/ethernet_device.hpp b/tools/socktap/ethernet_device.hpp index db25ce923..5fa44fd2b 100644 --- a/tools/socktap/ethernet_device.hpp +++ b/tools/socktap/ethernet_device.hpp @@ -3,6 +3,7 @@ #include #include +#include #include class EthernetDevice @@ -17,11 +18,12 @@ class EthernetDevice protocol::endpoint endpoint(int family) const; vanetza::MacAddress address() const; + boost::asio::ip::address_v4 ip() const; private: int index() const; - int local_socket_; + int inet_socket_; std::string interface_name_; }; diff --git a/tools/socktap/gps_position_provider.cpp b/tools/socktap/gps_position_provider.cpp index 5928514d2..ff4744411 100644 --- a/tools/socktap/gps_position_provider.cpp +++ b/tools/socktap/gps_position_provider.cpp @@ -25,11 +25,6 @@ int gpsd_read(gps_data_t& data) #endif } -constexpr bool gpsd_has_useful_fix(const gps_data_t& data) -{ - return data.fix.mode >= MODE_2D; -} - constexpr double gpsd_get_altitude(const gps_data_t& data) { #if GPSD_API_MAJOR_VERSION > 8 @@ -68,17 +63,20 @@ GpsPositionProvider::GpsPositionProvider(boost::asio::io_service& io) : GpsPositionProvider::GpsPositionProvider(boost::asio::io_service& io, const std::string& hostname, const std::string& port) : timer_(io) { - if (gps_open(hostname.c_str(), port.c_str(), &gps_data)) { + if (gps_open(hostname.c_str(), port.c_str(), &gps_data_)) { throw GpsPositioningException(errno); } - gps_stream(&gps_data, WATCH_ENABLE | WATCH_JSON, nullptr); + gps_stream(&gps_data_, WATCH_ENABLE | WATCH_JSON, nullptr); + using namespace vanetza::units; + fetched_position_fix_.latitude = GeoAngle::from_value(std::numeric_limits::infinity()); + fetched_position_fix_.longitude = GeoAngle::from_value(std::numeric_limits::infinity()); schedule_timer(); } GpsPositionProvider::~GpsPositionProvider() { - gps_stream(&gps_data, WATCH_DISABLE, nullptr); - gps_close(&gps_data); + gps_stream(&gps_data_, WATCH_DISABLE, nullptr); + gps_close(&gps_data_); } GpsPositionProvider::GpsPositioningException::GpsPositioningException(int err) : @@ -88,7 +86,7 @@ GpsPositionProvider::GpsPositioningException::GpsPositioningException(int err) : const vanetza::PositionFix& GpsPositionProvider::position_fix() { - return fetched_position_fix; + return fetched_position_fix_; } void GpsPositionProvider::schedule_timer() @@ -109,43 +107,57 @@ void GpsPositionProvider::on_timer(const boost::system::error_code& ec) void GpsPositionProvider::fetch_position_fix() { - int gps_read_rc = 0; - do { - gps_read_rc = gpsd_read(gps_data); - } while (gps_read_rc > 0 && gps_data.devices.ndevices > 0); + while (gps_waiting(&gps_data_, 0)) { + // reading is not expected to block now + int gps_read_rc = gpsd_read(gps_data_); + if (gps_read_rc > 0) { + apply_gps_data(gps_data_); + } else if (gps_read_rc < 0) { + throw GpsPositioningException(errno); + } + } +} - if (gps_read_rc < 0) { - throw GpsPositioningException(errno); +bool GpsPositionProvider::apply_gps_data(const gps_data_t& gps_data) +{ + if ((gps_data.set & MODE_SET) != MODE_SET) { + // no mode set at all + return false; + } else if ((gps_data.set & TIME_SET) != TIME_SET) { + // mandatory GPS time is missing (fix.time field) + return false; + } else if (gps_data.fix.mode < MODE_2D) { + // latitude and longitude unavailable + return false; } - if (gpsd_has_useful_fix(gps_data)) { - using namespace vanetza::units; - static const TrueNorth north = TrueNorth::from_value(0.0); - - fetched_position_fix.timestamp = convert_gps_time(gps_data.fix.time); - fetched_position_fix.latitude = gps_data.fix.latitude * degree; - fetched_position_fix.longitude = gps_data.fix.longitude * degree; - fetched_position_fix.speed.assign(gps_data.fix.speed * si::meter_per_second, gps_data.fix.eps * si::meter_per_second); - fetched_position_fix.course.assign(north + gps_data.fix.track * degree, north + gps_data.fix.epd * degree); - if (!std::isnan(gps_data.fix.epx) && !std::isnan(gps_data.fix.epy)) { - if (gps_data.fix.epx > gps_data.fix.epy) { - fetched_position_fix.confidence.semi_minor = gps_data.fix.epy * si::meter; - fetched_position_fix.confidence.semi_major = gps_data.fix.epx * si::meter; - fetched_position_fix.confidence.orientation = north + 90.0 * degree; - } else { - fetched_position_fix.confidence.semi_minor = gps_data.fix.epx * si::meter; - fetched_position_fix.confidence.semi_major = gps_data.fix.epy * si::meter; - fetched_position_fix.confidence.orientation = north; - } - } else { - fetched_position_fix.confidence = vanetza::PositionConfidence(); - } - if (gps_data.fix.mode == MODE_3D) { - fetched_position_fix.altitude = vanetza::ConfidentQuantity { - gpsd_get_altitude(gps_data) * si::meter, gps_data.fix.epv * si::meter }; + using namespace vanetza::units; + static const TrueNorth north = TrueNorth::from_value(0.0); + + fetched_position_fix_.timestamp = convert_gps_time(gps_data.fix.time); + fetched_position_fix_.latitude = gps_data.fix.latitude * degree; + fetched_position_fix_.longitude = gps_data.fix.longitude * degree; + fetched_position_fix_.speed.assign(gps_data.fix.speed * si::meter_per_second, gps_data.fix.eps * si::meter_per_second); + fetched_position_fix_.course.assign(north + gps_data.fix.track * degree, north + gps_data.fix.epd * degree); + if (std::isfinite(gps_data.fix.epx) && std::isfinite(gps_data.fix.epy)) { + if (gps_data.fix.epx > gps_data.fix.epy) { + fetched_position_fix_.confidence.semi_minor = gps_data.fix.epy * si::meter; + fetched_position_fix_.confidence.semi_major = gps_data.fix.epx * si::meter; + fetched_position_fix_.confidence.orientation = north + 90.0 * degree; } else { - fetched_position_fix.altitude = boost::none; + fetched_position_fix_.confidence.semi_minor = gps_data.fix.epx * si::meter; + fetched_position_fix_.confidence.semi_major = gps_data.fix.epy * si::meter; + fetched_position_fix_.confidence.orientation = north; } + } else { + fetched_position_fix_.confidence = vanetza::PositionConfidence(); + } + if (gps_data.fix.mode == MODE_3D) { + fetched_position_fix_.altitude = vanetza::ConfidentQuantity { + gpsd_get_altitude(gps_data) * si::meter, gps_data.fix.epv * si::meter }; + } else { + fetched_position_fix_.altitude = boost::none; } -} + return true; +} diff --git a/tools/socktap/gps_position_provider.hpp b/tools/socktap/gps_position_provider.hpp index 37e7a1121..1e774098d 100644 --- a/tools/socktap/gps_position_provider.hpp +++ b/tools/socktap/gps_position_provider.hpp @@ -29,10 +29,11 @@ class GpsPositionProvider : public vanetza::PositionProvider private: void schedule_timer(); void on_timer(const boost::system::error_code& ec); + bool apply_gps_data(const gps_data_t&); boost::asio::steady_timer timer_; - gps_data_t gps_data; - vanetza::PositionFix fetched_position_fix; + gps_data_t gps_data_; + vanetza::PositionFix fetched_position_fix_; }; namespace gpsd diff --git a/tools/socktap/link_layer.cpp b/tools/socktap/link_layer.cpp index 48a47a292..32d8bfe09 100644 --- a/tools/socktap/link_layer.cpp +++ b/tools/socktap/link_layer.cpp @@ -68,7 +68,7 @@ create_link_layer(boost::asio::io_service& io_service, const EthernetDevice& dev } else if (name == "udp") { namespace ip = boost::asio::ip; ip::udp::endpoint multicast(ip::address::from_string("239.118.122.97"), 8947); - link_layer.reset(new UdpLink { io_service, multicast }); + link_layer.reset(new UdpLink { io_service, multicast, device }); } else if (name == "tcp") { namespace ip = boost::asio::ip; diff --git a/tools/socktap/security.cpp b/tools/socktap/security.cpp index 2f3a9ba64..9fb81d5e4 100644 --- a/tools/socktap/security.cpp +++ b/tools/socktap/security.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -60,7 +61,7 @@ class SecurityContextV2 : public security::SecurityEntity security::StraightVerifyService(runtime, *backend, positioning) }; verify_service->use_certificate_provider(cert_provider.get()); verify_service->use_certificate_cache(&cert_cache); - verify_service->use_certitifcate_validator(&cert_validator); + verify_service->use_certificate_validator(&cert_validator); verify_service->use_sign_header_policy(&sign_header_policy); entity.reset(new security::DelegatingSecurityEntity { std::move(sign_service), std::move(verify_service) }); } @@ -81,10 +82,10 @@ class SecurityContextV3 : public security::SecurityEntity public: SecurityContextV3(const Runtime& runtime, PositionProvider& positioning) : runtime(runtime), positioning(positioning), - backend(security::create_backend("default")), - sign_header_policy(runtime, positioning), - cert_cache() + backend(security::create_backend("default")) { + cert_validator.use_runtime(&runtime); + cert_validator.use_position_provider(&positioning); } security::EncapConfirm encapsulate_packet(security::EncapRequest&& request) override @@ -108,11 +109,14 @@ class SecurityContextV3 : public security::SecurityEntity if (!cert_provider) { throw std::runtime_error("certificate provider is missing"); } + sign_header_policy.reset(new security::v3::DefaultSignHeaderPolicy(runtime, positioning, *cert_provider)); std::unique_ptr sign_service { new - security::v3::StraightSignService(*cert_provider, *backend, sign_header_policy) }; + security::v3::StraightSignService(*cert_provider, *backend, *sign_header_policy, cert_validator) }; std::unique_ptr verify_service { new security::StraightVerifyService(runtime, *backend, positioning) }; - verify_service->use_certificate_cache(&cert_cache); + verify_service->use_certificate_provider(cert_provider.get()); + verify_service->use_certificate_validator(&cert_validator); + verify_service->use_sign_header_policy(sign_header_policy.get()); entity.reset(new security::DelegatingSecurityEntity { std::move(sign_service), std::move(verify_service) }); } @@ -121,8 +125,8 @@ class SecurityContextV3 : public security::SecurityEntity std::unique_ptr backend; std::unique_ptr entity; std::unique_ptr cert_provider; - security::v3::DefaultSignHeaderPolicy sign_header_policy; - security::v3::CertificateCache cert_cache; + std::unique_ptr sign_header_policy; + security::v3::DefaultCertificateValidator cert_validator; }; std::unique_ptr @@ -160,19 +164,22 @@ load_v2_certificates(const std::string& cert_path, const std::string& cert_key_p } std::unique_ptr -load_v3_certificates(const std::string& cert_path, const std::string& cert_key_path, const std::vector cert_chain_path, security::v3::CertificateCache& cert_cache) +load_v3_certificates(const std::string& cert_path, const std::string& cert_key_path, const std::vector cert_chain_path) { auto authorization_ticket = security::v3::load_certificate_from_file(cert_path); auto authorization_ticket_key = security::v3::load_private_key_from_file(cert_key_path); - std::list chain; + security::PrivateKey priv_key; + priv_key.type = authorization_ticket.get_verification_key_type(); + std::copy(authorization_ticket_key.private_key.key.begin(), authorization_ticket_key.private_key.key.end(), + std::back_inserter(priv_key.key)); + + auto provider = std::make_unique(authorization_ticket, priv_key); for (auto& chain_path : cert_chain_path) { auto chain_certificate = security::v3::load_certificate_from_file(chain_path); - chain.push_back(chain_certificate); - cert_cache.store(chain_certificate); + provider->cache().store(chain_certificate); } - - return std::make_unique(authorization_ticket, authorization_ticket_key.private_key, chain); + return provider; } std::unique_ptr @@ -186,7 +193,7 @@ create_security_entity(const po::variables_map& vm, const Runtime& runtime, Posi } else if (name == "dummy" || name == "dummy-v3") { security = create_dummy_v3_security_entity(runtime); } else if (name == "dummy-v2") { - security == create_dummy_v2_security_entity(runtime); + security = create_dummy_v2_security_entity(runtime); } else if (name == "certs" || name == "certs-v3" || name == "certs-v2") { const unsigned version = name == "certs-v2" ? 2 : 3; @@ -204,7 +211,7 @@ create_security_entity(const po::variables_map& vm, const Runtime& runtime, Posi if (version == 3) { auto context = std::make_unique(runtime, positioning); - context->cert_provider = load_v3_certificates(cert_path, cert_key_path, chain_paths, context->cert_cache); + context->cert_provider = load_v3_certificates(cert_path, cert_key_path, chain_paths); context->build_entity(); security = std::move(context); } else { diff --git a/tools/socktap/udp_link.cpp b/tools/socktap/udp_link.cpp index 812aeb637..877838949 100644 --- a/tools/socktap/udp_link.cpp +++ b/tools/socktap/udp_link.cpp @@ -7,18 +7,28 @@ namespace ip = boost::asio::ip; using namespace vanetza; -UdpLink::UdpLink(boost::asio::io_service& io_service, const ip::udp::endpoint& endpoint) : +UdpLink::UdpLink(boost::asio::io_service& io_service, const ip::udp::endpoint& endpoint, const EthernetDevice& device) : multicast_endpoint_(endpoint), tx_socket_(io_service), rx_socket_(io_service), rx_buffer_(2560, 0x00) { + auto ip = device.ip(); + tx_socket_.open(multicast_endpoint_.protocol()); + if (!ip.is_unspecified()) { + boost::asio::ip::multicast::outbound_interface option(ip); + tx_socket_.set_option(option); + } rx_socket_.open(multicast_endpoint_.protocol()); rx_socket_.set_option(ip::udp::socket::reuse_address(true)); rx_socket_.bind(multicast_endpoint_); rx_socket_.set_option(ip::multicast::enable_loopback(false)); - rx_socket_.set_option(ip::multicast::join_group(multicast_endpoint_.address())); + if(!ip.is_unspecified() && multicast_endpoint_.address().is_v4()) { + rx_socket_.set_option(ip::multicast::join_group(multicast_endpoint_.address().to_v4(), ip)); + } else { + rx_socket_.set_option(ip::multicast::join_group(multicast_endpoint_.address())); + } do_receive(); } diff --git a/tools/socktap/udp_link.hpp b/tools/socktap/udp_link.hpp index 28ca967ff..aaf92b90b 100644 --- a/tools/socktap/udp_link.hpp +++ b/tools/socktap/udp_link.hpp @@ -6,10 +6,13 @@ #include #include +// forward declaration +class EthernetDevice; + class UdpLink : public LinkLayer { public: - UdpLink(boost::asio::io_service&, const boost::asio::ip::udp::endpoint&); + UdpLink(boost::asio::io_service&, const boost::asio::ip::udp::endpoint&, const EthernetDevice&); void indicate(IndicationCallback) override; void request(const vanetza::access::DataRequest&, std::unique_ptr) override; diff --git a/vanetza/asn1/CMakeLists.txt b/vanetza/asn1/CMakeLists.txt index 1ca4b912f..c40eea469 100644 --- a/vanetza/asn1/CMakeLists.txt +++ b/vanetza/asn1/CMakeLists.txt @@ -1,8 +1,10 @@ set(_its_asn1_source_file "asn1c_its_sources.txt") +set(_its_r2_asn1_source_file "asn1c_its_r2_sources.txt") set(_sec_asn1_source_file "asn1c_security_sources.txt") set(_support_asn1_source_file "asn1c_support_sources.txt") set(_its_asn1_dir "${CMAKE_CURRENT_SOURCE_DIR}/its") +set(_its_r2_asn1_dir "${CMAKE_CURRENT_SOURCE_DIR}/its/r2") set(_sec_asn1_dir "${CMAKE_CURRENT_SOURCE_DIR}/security") set(_support_asn1_dir "${CMAKE_CURRENT_SOURCE_DIR}/support") @@ -29,6 +31,17 @@ if(VANETZA_ASN1_WITH_ASN1C) ${PROJECT_SOURCE_DIR}/asn1/TS103301v211-IVIM.asn ) + set(_its_r2_asn1_files + ${PROJECT_SOURCE_DIR}/asn1/release2/TS102894-2v221-CDD.asn + ${PROJECT_SOURCE_DIR}/asn1/release2/TS103831v221-DENM.asn + ${PROJECT_SOURCE_DIR}/asn1/release2/TS103900v211-CAM.asn + ${PROJECT_SOURCE_DIR}/asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn + ${PROJECT_SOURCE_DIR}/asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn + ${PROJECT_SOURCE_DIR}/asn1/release2/TS103324v211/CPM-PerceivedObjectContainer.asn + ${PROJECT_SOURCE_DIR}/asn1/release2/TS103324v211/CPM-PerceptionRegionContainer.asn + ${PROJECT_SOURCE_DIR}/asn1/release2/TS103324v211/CPM-SensorInformationContainer.asn + ) + option(VANETZA_ASN1_WITH_ISO "Fetch ISO ASN.1 files for a more complete ITS message set" OFF) if(VANETZA_ASN1_WITH_ISO) set(_iso_asn1_files @@ -84,6 +97,20 @@ if(VANETZA_ASN1_WITH_ASN1C) -P collect_asn1c_sources.cmake WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} VERBATIM) + add_custom_command(OUTPUT ${_its_r2_asn1_dir} + DEPENDS ${_its_r2_asn1_files} + COMMAND ${CMAKE_COMMAND} -E make_directory ${_its_r2_asn1_dir} + COMMAND ${ASN1C_EXECUTABLE} ${_asn1c_flags} -fprefix=Vanetza_ITS2_ -R -D ${_its_r2_asn1_dir} ${_its_r2_asn1_files} + COMMAND ${CMAKE_COMMAND} -DASN1C_OUTPUT_DIR=its/r2 -DASN1C_PREFIX=Vanetza_ITS2_ + -P ${CMAKE_CURRENT_SOURCE_DIR}/remove_prefix_from_filename.cmake + COMMENT "Generating code from ITS Release 2 application ASN.1 modules (CDD, CA, DEN)" VERBATIM + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + add_custom_command(OUTPUT "${_its_r2_asn1_source_file}" + DEPENDS ${_its_r2_asn1_dir} + COMMAND ${CMAKE_COMMAND} -DASN1C_OUTPUT_DIR=its/r2 -DASN1C_SOURCE_FILE=${_its_r2_asn1_source_file} + -P collect_asn1c_sources.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} VERBATIM) + add_custom_command(OUTPUT "${_sec_asn1_dir}" DEPENDS ${_sec_asn1_files} ${_pki_asn1_files} COMMAND ${CMAKE_COMMAND} -E make_directory ${_sec_asn1_dir} @@ -101,6 +128,7 @@ if(VANETZA_ASN1_WITH_ASN1C) add_custom_target(generate_asn1c DEPENDS "${_support_asn1_dir}" "${_support_asn1_source_file}" "${_its_asn1_dir}" "${_its_asn1_source_file}" + "${_its_r2_asn1_dir}" "${_its_r2_asn1_source_file}" "${_sec_asn1_dir}" "${_sec_asn1_source_file}" VERBATIM) add_custom_command(TARGET generate_asn1c POST_BUILD @@ -113,6 +141,11 @@ if(VANETZA_ASN1_WITH_ASN1C) -P ${CMAKE_CURRENT_SOURCE_DIR}/patch_asn1c_generated.cmake COMMENT "Patching generated ITS application asn1c files" WORKING_DIRECTORY ${_its_asn1_dir} VERBATIM) + add_custom_command(TARGET generate_asn1c POST_BUILD + COMMAND ${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR} -DASN1C_PREFIX=Vanetza_ITS2_ + -P ${CMAKE_CURRENT_SOURCE_DIR}/patch_asn1c_generated.cmake + COMMENT "Patching generated ITS Release 2 asn1c files" + WORKING_DIRECTORY ${_its_r2_asn1_dir} VERBATIM) add_custom_command(TARGET generate_asn1c POST_BUILD COMMAND ${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR} -DASN1C_PREFIX=Vanetza_Security_ -P ${CMAKE_CURRENT_SOURCE_DIR}/patch_asn1c_generated.cmake @@ -141,6 +174,10 @@ if(VANETZA_ASN1_WITH_ASN1C) -DASN1C_OUTPUT_DIR=${_its_asn1_dir} -DASN1C_SOURCE_FILE=${_its_asn1_source_file} -P clean_asn1c.cmake + COMMAND ${CMAKE_COMMAND} + -DASN1C_OUTPUT_DIR=${_its_r2_asn1_dir} + -DASN1C_SOURCE_FILE=${_its_r2_asn1_source_file} + -P clean_asn1c.cmake COMMAND ${CMAKE_COMMAND} -DASN1C_OUTPUT_DIR=${_sec_asn1_dir} -DASN1C_SOURCE_FILE=${_sec_asn1_source_file} @@ -150,7 +187,8 @@ if(VANETZA_ASN1_WITH_ASN1C) endif() function(add_asn1_component NAME) - set(_source_file "asn1c_${NAME}_sources.txt") + string(REPLACE "/" "_" NAME_ESCAPED "${NAME}") + set(_source_file "asn1c_${NAME_ESCAPED}_sources.txt") file(STRINGS "${_source_file}" _sources REGEX "^[^#]+") if (NOT _sources) message(AUTHOR_WARNING "source file ${_source_file} is empty, fix this now!") @@ -158,8 +196,8 @@ function(add_asn1_component NAME) "#error \"generated ${NAME} ASN.1 source files are missing\"") set(_sources ${CMAKE_CURRENT_BINARY_DIR}/asn1_${NAME}_no_sources.c) endif() - add_vanetza_component(asn1_${NAME} ${_sources}) - set_target_properties(asn1_${NAME} PROPERTIES C_STANDARD 11) + add_vanetza_component(asn1_${NAME_ESCAPED} ${_sources}) + set_target_properties(asn1_${NAME_ESCAPED} PROPERTIES C_STANDARD 11) if ("${NAME}" STREQUAL "support") target_include_directories(asn1_support PUBLIC @@ -169,7 +207,7 @@ function(add_asn1_component NAME) target_compile_definitions(asn1_support PUBLIC HAVE_NETINET_IN_H) endif() else() - target_link_libraries(asn1_${NAME} PUBLIC asn1_support) + target_link_libraries(asn1_${NAME_ESCAPED} PUBLIC asn1_support) endif() # Silence warnings in code generated by asn1c @@ -187,6 +225,7 @@ endfunction() add_asn1_component(support) target_sources(asn1_support PRIVATE memory.c) add_asn1_component(its) +add_asn1_component(its/r2) add_asn1_component(security) add_vanetza_component(asn1 asn1c_wrapper.cpp) diff --git a/vanetza/asn1/Dockerfile b/vanetza/asn1/Dockerfile new file mode 100644 index 000000000..7cac0cdc9 --- /dev/null +++ b/vanetza/asn1/Dockerfile @@ -0,0 +1,13 @@ +FROM alpine:3 AS base + +FROM base AS build +ARG ASN1C_REPO=https://github.com/mouse07410/asn1c.git +ARG ASN1C_VERSION=18e5650 +RUN apk add --no-cache autoconf automake bison build-base flex gcc git libtool +RUN git clone $ASN1C_REPO /asn1c-source && cd /asn1c-source && git checkout ${ASN1C_VERSION} +WORKDIR /asn1c-source +RUN autoreconf -iv && ./configure --prefix /asn1c && make -j $(nproc) install + +FROM base AS runtime +ENV ASN1C_FLAGS="-fcompound-names -fincludes-quoted -no-gen-example" +COPY --from=build /asn1c /asn1c diff --git a/vanetza/asn1/asn1c_its_r2_sources.txt b/vanetza/asn1/asn1c_its_r2_sources.txt new file mode 100644 index 000000000..83414a05a --- /dev/null +++ b/vanetza/asn1/asn1c_its_r2_sources.txt @@ -0,0 +1,387 @@ +# generated file +its/r2/Acceleration3dWithConfidence.c +its/r2/AccelerationCartesian.c +its/r2/AccelerationChange.c +its/r2/AccelerationChangeIndication.c +its/r2/AccelerationComponent.c +its/r2/AccelerationConfidence.c +its/r2/AccelerationControl.c +its/r2/AccelerationMagnitude.c +its/r2/AccelerationMagnitudeValue.c +its/r2/AccelerationPolarWithZ.c +its/r2/AccelerationValue.c +its/r2/AccessTechnologyClass.c +its/r2/AccidentSubCauseCode.c +its/r2/ActionID.c +its/r2/ActionId.c +its/r2/ActionIdList.c +its/r2/AdverseWeatherCondition-AdhesionSubCauseCode.c +its/r2/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.c +its/r2/AdverseWeatherCondition-PrecipitationSubCauseCode.c +its/r2/AdverseWeatherCondition-VisibilitySubCauseCode.c +its/r2/AirHumidity.c +its/r2/AlacarteContainer.c +its/r2/Altitude.c +its/r2/AltitudeConfidence.c +its/r2/AltitudeValue.c +its/r2/AngleConfidence.c +its/r2/AngularAccelerationConfidence.c +its/r2/AngularSpeedConfidence.c +its/r2/AxlesCount.c +its/r2/BarometricPressure.c +its/r2/BasicContainer.c +its/r2/BasicLaneConfiguration.c +its/r2/BasicLaneInformation.c +its/r2/BasicVehicleContainerHighFrequency.c +its/r2/BasicVehicleContainerLowFrequency.c +its/r2/BogiesCount.c +its/r2/CAM.c +its/r2/CPM-PDU-Descriptions_ManagementContainer.c +its/r2/CamParameters.c +its/r2/CamPayload.c +its/r2/CardinalNumber1B.c +its/r2/CardinalNumber3b.c +its/r2/CartesianAngle.c +its/r2/CartesianAngleValue.c +its/r2/CartesianAngularAccelerationComponent.c +its/r2/CartesianAngularAccelerationComponentValue.c +its/r2/CartesianAngularVelocityComponent.c +its/r2/CartesianAngularVelocityComponentValue.c +its/r2/CartesianCoordinate.c +its/r2/CartesianCoordinateLarge.c +its/r2/CartesianCoordinateSmall.c +its/r2/CartesianCoordinateWithConfidence.c +its/r2/CartesianPosition3d.c +its/r2/CartesianPosition3dWithConfidence.c +its/r2/CauseCode.c +its/r2/CauseCodeChoice.c +its/r2/CauseCodeType.c +its/r2/CauseCodeV2.c +its/r2/CenDsrcTollingZone.c +its/r2/CenDsrcTollingZoneID.c +its/r2/CircularShape.c +its/r2/ClosedLanes.c +its/r2/ClusterBreakupInfo.c +its/r2/ClusterBreakupReason.c +its/r2/ClusterJoinInfo.c +its/r2/ClusterLeaveInfo.c +its/r2/ClusterLeaveReason.c +its/r2/CollectivePerceptionMessage.c +its/r2/CollisionRiskSubCauseCode.c +its/r2/ConfidenceLevel.c +its/r2/ConstraintWrappedCpmContainers.c +its/r2/CoordinateConfidence.c +its/r2/CorrelationCellValue.c +its/r2/CorrelationColumn.c +its/r2/CountryCode.c +its/r2/CpmContainerId.c +its/r2/CpmPayload.c +its/r2/Curvature.c +its/r2/CurvatureCalculationMode.c +its/r2/CurvatureConfidence.c +its/r2/CurvatureValue.c +its/r2/DENM-PDU-Description_ManagementContainer.c +its/r2/DENM.c +its/r2/DangerousEndOfQueueSubCauseCode.c +its/r2/DangerousGoodsBasic.c +its/r2/DangerousGoodsContainer.c +its/r2/DangerousGoodsExtended.c +its/r2/DangerousSituationSubCauseCode.c +its/r2/DeltaAltitude.c +its/r2/DeltaLatitude.c +its/r2/DeltaLongitude.c +its/r2/DeltaReferencePosition.c +its/r2/DeltaTimeMilliSecondPositive.c +its/r2/DeltaTimeMilliSecondSigned.c +its/r2/DeltaTimeQuarterSecond.c +its/r2/DeltaTimeSecond.c +its/r2/DeltaTimeTenSeconds.c +its/r2/DeltaTimeTenthOfSecond.c +its/r2/DenmPayload.c +its/r2/DigitalMap.c +its/r2/Direction.c +its/r2/DriveDirection.c +its/r2/DrivingLaneStatus.c +its/r2/EllipticalShape.c +its/r2/EmbarkationStatus.c +its/r2/EmergencyContainer.c +its/r2/EmergencyPriority.c +its/r2/EmergencyVehicleApproachingSubCauseCode.c +its/r2/EnergyStorageType.c +its/r2/EuVehicleCategoryCode.c +its/r2/EuVehicleCategoryL.c +its/r2/EuVehicleCategoryM.c +its/r2/EuVehicleCategoryN.c +its/r2/EuVehicleCategoryO.c +its/r2/EulerAnglesWithConfidence.c +its/r2/EventHistory.c +its/r2/EventPoint.c +its/r2/EventZone.c +its/r2/Ext1.c +its/r2/Ext2.c +its/r2/Ext3.c +its/r2/ExteriorLights.c +its/r2/GeneralizedLanePosition.c +its/r2/GeneralizedLanePositions.c +its/r2/GenerationDeltaTime.c +its/r2/GeoPosition.c +its/r2/HardShoulderStatus.c +its/r2/HazardousLocation-AnimalOnTheRoadSubCauseCode.c +its/r2/HazardousLocation-DangerousCurveSubCauseCode.c +its/r2/HazardousLocation-ObstacleOnTheRoadSubCauseCode.c +its/r2/HazardousLocation-SurfaceConditionSubCauseCode.c +its/r2/Heading.c +its/r2/HeadingChangeIndication.c +its/r2/HeadingConfidence.c +its/r2/HeadingValue.c +its/r2/HeightLonCarr.c +its/r2/HighFrequencyContainer.c +its/r2/HumanPresenceOnTheRoadSubCauseCode.c +its/r2/HumanProblemSubCauseCode.c +its/r2/Identifier1B.c +its/r2/Identifier2B.c +its/r2/ImpactReductionContainer.c +its/r2/ImpassabilitySubCauseCode.c +its/r2/InformationQuality.c +its/r2/InterferenceManagementChannel.c +its/r2/InterferenceManagementInfo.c +its/r2/InterferenceManagementInfoPerChannel.c +its/r2/InterferenceManagementZone.c +its/r2/InterferenceManagementZoneDefinition.c +its/r2/InterferenceManagementZoneType.c +its/r2/InterferenceManagementZones.c +its/r2/IntersectionReferenceId.c +its/r2/Iso3833VehicleType.c +its/r2/IssuerIdentifier.c +its/r2/ItineraryPath.c +its/r2/ItsPduHeader.c +its/r2/IviIdentificationNumber.c +its/r2/IvimReference.c +its/r2/IvimReferences.c +its/r2/LanePosition.c +its/r2/LanePositionAndType.c +its/r2/LanePositionOptions.c +its/r2/LanePositionWithLateralDetails.c +its/r2/LaneType.c +its/r2/LaneWidth.c +its/r2/LateralAcceleration.c +its/r2/LateralAccelerationValue.c +its/r2/Latitude.c +its/r2/LightBarSirenInUse.c +its/r2/LocationContainer.c +its/r2/Longitude.c +its/r2/LongitudinalAcceleration.c +its/r2/LongitudinalAccelerationValue.c +its/r2/LongitudinalLanePosition.c +its/r2/LongitudinalLanePositionConfidence.c +its/r2/LongitudinalLanePositionValue.c +its/r2/LowFrequencyContainer.c +its/r2/LowerTriangularPositiveSemidefiniteMatrices.c +its/r2/LowerTriangularPositiveSemidefiniteMatrix.c +its/r2/LowerTriangularPositiveSemidefiniteMatrixColumns.c +its/r2/MapPosition.c +its/r2/MapReference.c +its/r2/MapReferences.c +its/r2/MapemConfiguration.c +its/r2/MapemConnectionList.c +its/r2/MapemElementReference.c +its/r2/MapemLaneList.c +its/r2/MatrixIncludedComponents.c +its/r2/MessageId.c +its/r2/MessageRateHz.c +its/r2/MessageRateRange.c +its/r2/MessageSegmentationInfo.c +its/r2/MetaInformation.c +its/r2/MitigationForTechnologies.c +its/r2/MitigationPerTechnologyClass.c +its/r2/NumberOfOccupants.c +its/r2/ObjectClass.c +its/r2/ObjectClassDescription.c +its/r2/ObjectClassWithConfidence.c +its/r2/ObjectDimension.c +its/r2/ObjectDimensionConfidence.c +its/r2/ObjectDimensionValue.c +its/r2/ObjectFace.c +its/r2/ObjectPerceptionQuality.c +its/r2/OccupiedLanesWithConfidence.c +its/r2/OpeningDaysHours.c +its/r2/OrdinalNumber1B.c +its/r2/OrdinalNumber3b.c +its/r2/OriginatingRsuContainer.c +its/r2/OriginatingVehicleContainer.c +its/r2/OtherSubClass.c +its/r2/Path.c +its/r2/PathDeltaTime.c +its/r2/PathDeltaTimeChoice.c +its/r2/PathExtended.c +its/r2/PathHistory.c +its/r2/PathId.c +its/r2/PathPoint.c +its/r2/PathPointPredicted.c +its/r2/PathPredicted.c +its/r2/PathPredicted2.c +its/r2/PathPredictedList.c +its/r2/PathReferences.c +its/r2/PerceivedObject.c +its/r2/PerceivedObjectContainer.c +its/r2/PerceivedObjectIds.c +its/r2/PerceivedObjects.c +its/r2/PerceptionRegion.c +its/r2/PerceptionRegionContainer.c +its/r2/PerformanceClass.c +its/r2/PhoneNumber.c +its/r2/PolygonalShape.c +its/r2/PosCentMass.c +its/r2/PosConfidenceEllipse.c +its/r2/PosFrontAx.c +its/r2/PosLonCarr.c +its/r2/PosPillar.c +its/r2/Position1d.c +its/r2/PositionConfidenceEllipse.c +its/r2/PositionOfOccupants.c +its/r2/PositionOfPillars.c +its/r2/PositioningSolutionType.c +its/r2/PostCrashSubCauseCode.c +its/r2/PreCrashContainer.c +its/r2/PrecipitationIntensity.c +its/r2/ProtectedCommunicationZone.c +its/r2/ProtectedCommunicationZonesRSU.c +its/r2/ProtectedZoneId.c +its/r2/ProtectedZoneRadius.c +its/r2/ProtectedZoneType.c +its/r2/Provider.c +its/r2/PtActivation.c +its/r2/PtActivationData.c +its/r2/PtActivationType.c +its/r2/PublicTransportContainer.c +its/r2/RSUContainerHighFrequency.c +its/r2/RadialShape.c +its/r2/RadialShapeDetails.c +its/r2/RadialShapes.c +its/r2/RadialShapesList.c +its/r2/RailwayLevelCrossingSubCauseCode.c +its/r2/RectangularShape.c +its/r2/ReferencePosition.c +its/r2/ReferencePositionWithConfidence.c +its/r2/RelevanceDistance.c +its/r2/RelevanceTrafficDirection.c +its/r2/RequestResponseIndication.c +its/r2/RescueAndRecoveryWorkInProgressSubCauseCode.c +its/r2/RescueContainer.c +its/r2/RestrictedTypes.c +its/r2/RoadConfigurationContainer.c +its/r2/RoadConfigurationSection.c +its/r2/RoadConfigurationSectionList.c +its/r2/RoadSectionDefinition.c +its/r2/RoadSectionId.c +its/r2/RoadSegmentReferenceId.c +its/r2/RoadType.c +its/r2/RoadWorksContainerBasic.c +its/r2/RoadWorksContainerExtended.c +its/r2/RoadworksSubCauseCode.c +its/r2/SafeDistanceIndication.c +its/r2/SafeDistanceIndicator.c +its/r2/SafetyCarContainer.c +its/r2/SemiAxisLength.c +its/r2/SensorInformation.c +its/r2/SensorInformationContainer.c +its/r2/SensorType.c +its/r2/SensorTypes.c +its/r2/SequenceNumber.c +its/r2/SequenceOfCartesianPosition3d.c +its/r2/SequenceOfIdentifier1B.c +its/r2/SequenceOfSafeDistanceIndication.c +its/r2/SequenceOfTrajectoryInterceptionIndication.c +its/r2/Shape.c +its/r2/SignalViolationSubCauseCode.c +its/r2/SituationContainer.c +its/r2/SlowVehicleSubCauseCode.c +its/r2/SpecialTransportContainer.c +its/r2/SpecialTransportType.c +its/r2/SpecialVehicleContainer.c +its/r2/Speed.c +its/r2/SpeedConfidence.c +its/r2/SpeedLimit.c +its/r2/SpeedValue.c +its/r2/StabilityChangeIndication.c +its/r2/StabilityLossProbability.c +its/r2/StandardLength12b.c +its/r2/StandardLength1B.c +its/r2/StandardLength2B.c +its/r2/StandardLength3b.c +its/r2/StandardLength9b.c +its/r2/StationID.c +its/r2/StationId.c +its/r2/StationType.c +its/r2/StationarySince.c +its/r2/StationaryVehicleContainer.c +its/r2/StationaryVehicleSubCauseCode.c +its/r2/SteeringWheelAngle.c +its/r2/SteeringWheelAngleConfidence.c +its/r2/SteeringWheelAngleValue.c +its/r2/StoredInformationType.c +its/r2/SubCauseCodeType.c +its/r2/Temperature.c +its/r2/Termination.c +its/r2/TimestampIts.c +its/r2/Traces.c +its/r2/TracesExtended.c +its/r2/TrafficConditionSubCauseCode.c +its/r2/TrafficDirection.c +its/r2/TrafficIslandPosition.c +its/r2/TrafficParticipantType.c +its/r2/TrafficRule.c +its/r2/TrailerData.c +its/r2/TrailerDataSet.c +its/r2/TrailerPresenceInformation.c +its/r2/TrajectoryInterceptionConfidence.c +its/r2/TrajectoryInterceptionIndication.c +its/r2/TrajectoryInterceptionProbability.c +its/r2/TransmissionInterval.c +its/r2/TurningDirection.c +its/r2/TurningRadius.c +its/r2/UsageIndication.c +its/r2/VDS.c +its/r2/ValidityDuration.c +its/r2/VarLengthNumber.c +its/r2/VehicleBreakdownSubCauseCode.c +its/r2/VehicleHeight.c +its/r2/VehicleIdentification.c +its/r2/VehicleLength.c +its/r2/VehicleLengthConfidenceIndication.c +its/r2/VehicleLengthV2.c +its/r2/VehicleLengthValue.c +its/r2/VehicleMass.c +its/r2/VehicleRole.c +its/r2/VehicleWidth.c +its/r2/Velocity3dWithConfidence.c +its/r2/VelocityCartesian.c +its/r2/VelocityComponent.c +its/r2/VelocityComponentValue.c +its/r2/VelocityPolarWithZ.c +its/r2/VerticalAcceleration.c +its/r2/VerticalAccelerationValue.c +its/r2/VruClusterInformation.c +its/r2/VruClusterProfiles.c +its/r2/VruDeviceUsage.c +its/r2/VruEnvironment.c +its/r2/VruExteriorLights.c +its/r2/VruMovementControl.c +its/r2/VruProfileAndSubprofile.c +its/r2/VruSizeClass.c +its/r2/VruSpecificExteriorLights.c +its/r2/VruSubProfileAnimal.c +its/r2/VruSubProfileBicyclist.c +its/r2/VruSubProfileMotorcyclist.c +its/r2/VruSubProfilePedestrian.c +its/r2/WMInumber.c +its/r2/Wgs84Angle.c +its/r2/Wgs84AngleConfidence.c +its/r2/Wgs84AngleValue.c +its/r2/WheelBaseVehicle.c +its/r2/WrappedCpmContainer.c +its/r2/WrappedCpmContainers.c +its/r2/WrongWayDrivingSubCauseCode.c +its/r2/YawRate.c +its/r2/YawRateConfidence.c +its/r2/YawRateValue.c diff --git a/vanetza/asn1/cam.hpp b/vanetza/asn1/cam.hpp index a93f2fba3..705bac256 100644 --- a/vanetza/asn1/cam.hpp +++ b/vanetza/asn1/cam.hpp @@ -4,12 +4,16 @@ #include #include #include +#include namespace vanetza { namespace asn1 { +namespace r1 +{ + class Cam : public asn1c_per_wrapper { public: @@ -17,8 +21,24 @@ class Cam : public asn1c_per_wrapper Cam() : wrapper(asn_DEF_CAM) {} }; +} // namespace r1 + +namespace r2 +{ + +class Cam : public asn1c_per_wrapper +{ +public: + using wrapper = asn1c_per_wrapper; + Cam() : wrapper(asn_DEF_Vanetza_ITS2_CAM) {} +}; + +} // namespace r2 + +// alias for backward compatibility +using Cam = r1::Cam; + } // namespace asn1 } // namespace vanetza #endif /* CAM_HPP_WXYNEKFN */ - diff --git a/vanetza/asn1/cpm.hpp b/vanetza/asn1/cpm.hpp index ae0be12c6..d17bd9ebb 100644 --- a/vanetza/asn1/cpm.hpp +++ b/vanetza/asn1/cpm.hpp @@ -4,20 +4,39 @@ #include #include #include +#include namespace vanetza { namespace asn1 { +namespace r1 +{ + class Cpm : public asn1c_per_wrapper { public: Cpm() : asn1c_per_wrapper(asn_DEF_CPM) {} }; +} // namespace r1 + +namespace r2 +{ + +class Cpm : public asn1c_per_wrapper +{ +public: + Cpm() : asn1c_per_wrapper(asn_DEF_Vanetza_ITS2_CollectivePerceptionMessage) {} +}; + +} // namespace r2 + +// alias for backward compatibility +using Cpm = r1::Cpm; + } // namespace asn1 } // namespace vanetza #endif /* CPM_HPP_WEWZK69S */ - diff --git a/vanetza/asn1/denm.hpp b/vanetza/asn1/denm.hpp index 5ad0b3ae5..a03c43ecb 100644 --- a/vanetza/asn1/denm.hpp +++ b/vanetza/asn1/denm.hpp @@ -4,12 +4,16 @@ #include #include #include +#include namespace vanetza { namespace asn1 { +namespace r1 +{ + class Denm : public asn1c_per_wrapper { public: @@ -17,8 +21,24 @@ class Denm : public asn1c_per_wrapper Denm() : wrapper(asn_DEF_DENM) {} }; +} // namespace r1 + +namespace r2 +{ + +class Denm : public asn1c_per_wrapper +{ +public: + using wrapper = asn1c_per_wrapper; + Denm() : wrapper(asn_DEF_Vanetza_ITS2_DENM) {} +}; + +} // namespace r2 + +// alias for backward compatibility +using Denm = r1::Denm; + } // namespace asn1 } // namespace vanetza #endif /* DENM_HPP_XGC8NRDI */ - diff --git a/vanetza/asn1/its/AbsolutePosition.c b/vanetza/asn1/its/AbsolutePosition.c index a5cba9672..59305d90b 100644 --- a/vanetza/asn1/its/AbsolutePosition.c +++ b/vanetza/asn1/its/AbsolutePosition.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_AbsolutePosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_AbsolutePosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_AbsolutePosition = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AbsolutePosition_1, diff --git a/vanetza/asn1/its/AbsolutePositionWAltitude.c b/vanetza/asn1/its/AbsolutePositionWAltitude.c index 7fd651611..408dab6ba 100644 --- a/vanetza/asn1/its/AbsolutePositionWAltitude.c +++ b/vanetza/asn1/its/AbsolutePositionWAltitude.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_AbsolutePositionWAltitude_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_AbsolutePositionWAltitude_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_AbsolutePositionWAltitude_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_AbsolutePositionWAltitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AbsolutePositionWAltitude_1, diff --git a/vanetza/asn1/its/AbsolutePositions.c b/vanetza/asn1/its/AbsolutePositions.c index 30db685f4..36c3f48d4 100644 --- a/vanetza/asn1/its/AbsolutePositions.c +++ b/vanetza/asn1/its/AbsolutePositions.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_AbsolutePositions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_AbsolutePositions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AbsolutePositions_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_AbsolutePositions_1, diff --git a/vanetza/asn1/its/AbsolutePositionsWAltitude.c b/vanetza/asn1/its/AbsolutePositionsWAltitude.c index 7a72a1b6d..34a8fcc8d 100644 --- a/vanetza/asn1/its/AbsolutePositionsWAltitude.c +++ b/vanetza/asn1/its/AbsolutePositionsWAltitude.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_AbsolutePositionsWAltitude_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_AbsolutePositionsWAltitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AbsolutePositionsWAltitude_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_AbsolutePositionsWAltitude_1, diff --git a/vanetza/asn1/its/AccelerationConfidence.c b/vanetza/asn1/its/AccelerationConfidence.c index 832f83a4a..ec877a427 100644 --- a/vanetza/asn1/its/AccelerationConfidence.c +++ b/vanetza/asn1/its/AccelerationConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_AccelerationConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AccelerationConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AccelerationConfidence_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/AccelerationControl.c b/vanetza/asn1/its/AccelerationControl.c index fa0c52a18..274c79853 100644 --- a/vanetza/asn1/its/AccelerationControl.c +++ b/vanetza/asn1/its/AccelerationControl.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_AccelerationControl_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_AccelerationControl_constr_1 CC_NOTUSED = { + 7}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_AccelerationControl_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_AccelerationControl = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AccelerationControl_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_AccelerationControl_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AccelerationControl_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/AccidentSubCauseCode.c b/vanetza/asn1/its/AccidentSubCauseCode.c index 9d2fa692c..f18679838 100644 --- a/vanetza/asn1/its/AccidentSubCauseCode.c +++ b/vanetza/asn1/its/AccidentSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_AccidentSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AccidentSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AccidentSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ActionID.c b/vanetza/asn1/its/ActionID.c index a6c876e65..7c886ef15 100644 --- a/vanetza/asn1/its/ActionID.c +++ b/vanetza/asn1/its/ActionID.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_ActionID_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_ActionID_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_ActionID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ActionID_1, diff --git a/vanetza/asn1/its/ActualNumberOfPassengers.c b/vanetza/asn1/its/ActualNumberOfPassengers.c index 2092d3621..a5dc2095d 100644 --- a/vanetza/asn1/its/ActualNumberOfPassengers.c +++ b/vanetza/asn1/its/ActualNumberOfPassengers.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ActualNumberOfPassengers = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ActualNumberOfPassengers_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ActualNumberOfPassengers_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/AddRq.c b/vanetza/asn1/its/AddRq.c index 8e47862fe..cf6aa4d2f 100644 --- a/vanetza/asn1/its/AddRq.c +++ b/vanetza/asn1/its/AddRq.c @@ -57,6 +57,9 @@ static asn_TYPE_member_t asn_MBR_AddRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_attributeId_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_attributeId_constraint_1 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ static asn_TYPE_member_t asn_MBR_AddRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -112,6 +118,9 @@ asn_TYPE_descriptor_t asn_DEF_AddRq = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AddRq_1, diff --git a/vanetza/asn1/its/AdverseWeatherCondition-AdhesionSubCauseCode.c b/vanetza/asn1/its/AdverseWeatherCondition-AdhesionSubCauseCode.c index 5de37d291..a501228c4 100644 --- a/vanetza/asn1/its/AdverseWeatherCondition-AdhesionSubCauseCode.c +++ b/vanetza/asn1/its/AdverseWeatherCondition-AdhesionSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_AdhesionSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AdverseWeatherCondition_AdhesionSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AdverseWeatherCondition_AdhesionSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.c b/vanetza/asn1/its/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.c index ded8a2cd6..678372f77 100644 --- a/vanetza/asn1/its/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.c +++ b/vanetza/asn1/its/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_ExtremeWeatherConditionSub #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/AdverseWeatherCondition-PrecipitationSubCauseCode.c b/vanetza/asn1/its/AdverseWeatherCondition-PrecipitationSubCauseCode.c index 3b65de9bb..05b0cd4db 100644 --- a/vanetza/asn1/its/AdverseWeatherCondition-PrecipitationSubCauseCode.c +++ b/vanetza/asn1/its/AdverseWeatherCondition-PrecipitationSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_PrecipitationSubCauseCode #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AdverseWeatherCondition_PrecipitationSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AdverseWeatherCondition_PrecipitationSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/AdverseWeatherCondition-VisibilitySubCauseCode.c b/vanetza/asn1/its/AdverseWeatherCondition-VisibilitySubCauseCode.c index 001aa9831..ba5410e54 100644 --- a/vanetza/asn1/its/AdverseWeatherCondition-VisibilitySubCauseCode.c +++ b/vanetza/asn1/its/AdverseWeatherCondition-VisibilitySubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_VisibilitySubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AdverseWeatherCondition_VisibilitySubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AdverseWeatherCondition_VisibilitySubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/AdvisorySpeed.c b/vanetza/asn1/its/AdvisorySpeed.c index d8e75f954..b881f37fe 100644 --- a/vanetza/asn1/its/AdvisorySpeed.c +++ b/vanetza/asn1/its/AdvisorySpeed.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_7[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_7 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_7, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_AdvisorySpeed_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_AdvisorySpeed_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_AdvisorySpeed_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_AdvisorySpeed_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_AdvisorySpeed_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_AdvisorySpeed_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -252,6 +276,9 @@ asn_TYPE_descriptor_t asn_DEF_AdvisorySpeed = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AdvisorySpeed_1, diff --git a/vanetza/asn1/its/AdvisorySpeedList.c b/vanetza/asn1/its/AdvisorySpeedList.c index c052c9bd3..ec803c99c 100644 --- a/vanetza/asn1/its/AdvisorySpeedList.c +++ b/vanetza/asn1/its/AdvisorySpeedList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_AdvisorySpeedList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_AdvisorySpeedList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AdvisorySpeedList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_AdvisorySpeedList_1, diff --git a/vanetza/asn1/its/AdvisorySpeedType.c b/vanetza/asn1/its/AdvisorySpeedType.c index 78aae3903..b60e51ae8 100644 --- a/vanetza/asn1/its/AdvisorySpeedType.c +++ b/vanetza/asn1/its/AdvisorySpeedType.c @@ -66,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_AdvisorySpeedType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AdvisorySpeedType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/AlacarteContainer.c b/vanetza/asn1/its/AlacarteContainer.c index 175145882..f6996c768 100644 --- a/vanetza/asn1/its/AlacarteContainer.c +++ b/vanetza/asn1/its/AlacarteContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_AlacarteContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_AlacarteContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_AlacarteContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_AlacarteContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_AlacarteContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_AlacarteContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -149,6 +167,9 @@ asn_TYPE_descriptor_t asn_DEF_AlacarteContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AlacarteContainer_1, diff --git a/vanetza/asn1/its/AllowedManeuvers.c b/vanetza/asn1/its/AllowedManeuvers.c index 72feef860..2b3a65860 100644 --- a/vanetza/asn1/its/AllowedManeuvers.c +++ b/vanetza/asn1/its/AllowedManeuvers.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_AllowedManeuvers_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_AllowedManeuvers_constr_1 CC_NOTUSED = { + 12}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_AllowedManeuvers_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_AllowedManeuvers = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AllowedManeuvers_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_AllowedManeuvers_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AllowedManeuvers_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/AlphabetIndicator.c b/vanetza/asn1/its/AlphabetIndicator.c index 6950a8e3b..ba3ef33a1 100644 --- a/vanetza/asn1/its/AlphabetIndicator.c +++ b/vanetza/asn1/its/AlphabetIndicator.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_AlphabetIndicator = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AlphabetIndicator_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AlphabetIndicator_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Altitude.c b/vanetza/asn1/its/Altitude.c index c851d491b..4386c5c75 100644 --- a/vanetza/asn1/its/Altitude.c +++ b/vanetza/asn1/its/Altitude.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Altitude_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Altitude_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Altitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Altitude_1, diff --git a/vanetza/asn1/its/AltitudeConfidence.c b/vanetza/asn1/its/AltitudeConfidence.c index 526e85125..8b842dfef 100644 --- a/vanetza/asn1/its/AltitudeConfidence.c +++ b/vanetza/asn1/its/AltitudeConfidence.c @@ -88,6 +88,9 @@ asn_TYPE_descriptor_t asn_DEF_AltitudeConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AltitudeConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/AltitudeValue.c b/vanetza/asn1/its/AltitudeValue.c index 921c9c386..c614245ac 100644 --- a/vanetza/asn1/its/AltitudeValue.c +++ b/vanetza/asn1/its/AltitudeValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_AltitudeValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AltitudeValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AltitudeValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Angle.c b/vanetza/asn1/its/Angle.c index 5fb5299a5..0eec976d8 100644 --- a/vanetza/asn1/its/Angle.c +++ b/vanetza/asn1/its/Angle.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Angle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Angle_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Angle_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/AngleConfidence.c b/vanetza/asn1/its/AngleConfidence.c index 17893523f..aad0a7ccc 100644 --- a/vanetza/asn1/its/AngleConfidence.c +++ b/vanetza/asn1/its/AngleConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_AngleConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AngleConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AngleConfidence_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/AnimalSubclass.c b/vanetza/asn1/its/AnimalSubclass.c index cd42dd052..f2b55a844 100644 --- a/vanetza/asn1/its/AnimalSubclass.c +++ b/vanetza/asn1/its/AnimalSubclass.c @@ -64,6 +64,9 @@ asn_TYPE_member_t asn_MBR_AnimalSubclass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_2_cmp_0, /* Compare DEFAULT 0 */ @@ -82,6 +85,9 @@ asn_TYPE_member_t asn_MBR_AnimalSubclass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_3_cmp_0, /* Compare DEFAULT 0 */ @@ -123,6 +129,9 @@ asn_TYPE_descriptor_t asn_DEF_AnimalSubclass = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AnimalSubclass_1, diff --git a/vanetza/asn1/its/AnimalSubclassType.c b/vanetza/asn1/its/AnimalSubclassType.c index 2805bffa7..5985c8574 100644 --- a/vanetza/asn1/its/AnimalSubclassType.c +++ b/vanetza/asn1/its/AnimalSubclassType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_AnimalSubclassType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AnimalSubclassType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AnimalSubclassType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/AntennaOffsetSet.c b/vanetza/asn1/its/AntennaOffsetSet.c index 8975942b5..f66f35042 100644 --- a/vanetza/asn1/its/AntennaOffsetSet.c +++ b/vanetza/asn1/its/AntennaOffsetSet.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_AntennaOffsetSet_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_AntennaOffsetSet_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_AntennaOffsetSet_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_AntennaOffsetSet = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AntennaOffsetSet_1, diff --git a/vanetza/asn1/its/AnyCatalogue.c b/vanetza/asn1/its/AnyCatalogue.c index 903198814..70b4a0f44 100644 --- a/vanetza/asn1/its/AnyCatalogue.c +++ b/vanetza/asn1/its/AnyCatalogue.c @@ -131,6 +131,9 @@ asn_TYPE_member_t asn_MBR_AnyCatalogue_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -148,6 +151,9 @@ asn_TYPE_member_t asn_MBR_AnyCatalogue_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_version_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_version_constraint_1 }, 0, 0, /* No default value */ @@ -165,6 +171,9 @@ asn_TYPE_member_t asn_MBR_AnyCatalogue_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_pictogramCode_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_pictogramCode_constraint_1 }, 0, 0, /* No default value */ @@ -182,6 +191,9 @@ asn_TYPE_member_t asn_MBR_AnyCatalogue_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_value_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_value_constraint_1 }, 0, 0, /* No default value */ @@ -199,6 +211,9 @@ asn_TYPE_member_t asn_MBR_AnyCatalogue_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -216,6 +231,9 @@ asn_TYPE_member_t asn_MBR_AnyCatalogue_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -260,6 +278,9 @@ asn_TYPE_descriptor_t asn_DEF_AnyCatalogue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AnyCatalogue_1, diff --git a/vanetza/asn1/its/ApproachID.c b/vanetza/asn1/its/ApproachID.c index 9f050cf29..847c0ae04 100644 --- a/vanetza/asn1/its/ApproachID.c +++ b/vanetza/asn1/its/ApproachID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ApproachID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ApproachID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ApproachID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/AreaCircular.c b/vanetza/asn1/its/AreaCircular.c index 0a50431b8..6d89cba3c 100644 --- a/vanetza/asn1/its/AreaCircular.c +++ b/vanetza/asn1/its/AreaCircular.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_AreaCircular_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_AreaCircular_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_AreaCircular = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AreaCircular_1, diff --git a/vanetza/asn1/its/AreaEllipse.c b/vanetza/asn1/its/AreaEllipse.c index 1671139ed..2a93af4db 100644 --- a/vanetza/asn1/its/AreaEllipse.c +++ b/vanetza/asn1/its/AreaEllipse.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_AreaEllipse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_AreaEllipse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_AreaEllipse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_AreaEllipse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_AreaEllipse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -131,6 +146,9 @@ asn_TYPE_descriptor_t asn_DEF_AreaEllipse = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AreaEllipse_1, diff --git a/vanetza/asn1/its/AreaPolygon.c b/vanetza/asn1/its/AreaPolygon.c index c9dfe63e6..ffdb6a296 100644 --- a/vanetza/asn1/its/AreaPolygon.c +++ b/vanetza/asn1/its/AreaPolygon.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_AreaPolygon_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -57,6 +60,9 @@ asn_TYPE_descriptor_t asn_DEF_AreaPolygon = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AreaPolygon_1, diff --git a/vanetza/asn1/its/AreaRadial.c b/vanetza/asn1/its/AreaRadial.c index 9462e1916..87687a024 100644 --- a/vanetza/asn1/its/AreaRadial.c +++ b/vanetza/asn1/its/AreaRadial.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_AreaRadial_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_AreaRadial_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_AreaRadial_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_AreaRadial_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_AreaRadial_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_AreaRadial_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -122,6 +140,9 @@ asn_TYPE_member_t asn_MBR_AreaRadial_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -167,6 +188,9 @@ asn_TYPE_descriptor_t asn_DEF_AreaRadial = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AreaRadial_1, diff --git a/vanetza/asn1/its/AreaRectangle.c b/vanetza/asn1/its/AreaRectangle.c index 92fa00371..5e796f543 100644 --- a/vanetza/asn1/its/AreaRectangle.c +++ b/vanetza/asn1/its/AreaRectangle.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_AreaRectangle_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_AreaRectangle_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_AreaRectangle_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_AreaRectangle_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_AreaRectangle_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -131,6 +146,9 @@ asn_TYPE_descriptor_t asn_DEF_AreaRectangle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AreaRectangle_1, diff --git a/vanetza/asn1/its/AttributeIdList.c b/vanetza/asn1/its/AttributeIdList.c index 27718801d..0c934025d 100644 --- a/vanetza/asn1/its/AttributeIdList.c +++ b/vanetza/asn1/its/AttributeIdList.c @@ -69,6 +69,9 @@ asn_TYPE_member_t asn_MBR_AttributeIdList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Member_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_NativeInteger_constraint_1 }, 0, 0, /* No default value */ @@ -100,6 +103,9 @@ asn_TYPE_descriptor_t asn_DEF_AttributeIdList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AttributeIdList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_AttributeIdList_1, diff --git a/vanetza/asn1/its/AutomatedVehicleContainer.c b/vanetza/asn1/its/AutomatedVehicleContainer.c index 25eef0c0f..82d375e6e 100644 --- a/vanetza/asn1/its/AutomatedVehicleContainer.c +++ b/vanetza/asn1/its/AutomatedVehicleContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_AutomatedVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_AutomatedVehicleContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AutomatedVehicleContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_AutomatedVehicleContainer_1, diff --git a/vanetza/asn1/its/AutomatedVehicleRule.c b/vanetza/asn1/its/AutomatedVehicleRule.c index 01136ba2d..cf8763b09 100644 --- a/vanetza/asn1/its/AutomatedVehicleRule.c +++ b/vanetza/asn1/its/AutomatedVehicleRule.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_AutomatedVehicleRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_AutomatedVehicleRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_AutomatedVehicleRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_AutomatedVehicleRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_AutomatedVehicleRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_AutomatedVehicleRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -122,6 +140,9 @@ asn_TYPE_member_t asn_MBR_AutomatedVehicleRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -139,6 +160,9 @@ asn_TYPE_member_t asn_MBR_AutomatedVehicleRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -156,6 +180,9 @@ asn_TYPE_member_t asn_MBR_AutomatedVehicleRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -203,6 +230,9 @@ asn_TYPE_descriptor_t asn_DEF_AutomatedVehicleRule = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AutomatedVehicleRule_1, diff --git a/vanetza/asn1/its/AutomatedVehicleRules.c b/vanetza/asn1/its/AutomatedVehicleRules.c index 6ca683b7c..22ee543fc 100644 --- a/vanetza/asn1/its/AutomatedVehicleRules.c +++ b/vanetza/asn1/its/AutomatedVehicleRules.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_AutomatedVehicleRules_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_AutomatedVehicleRules = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AutomatedVehicleRules_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_AutomatedVehicleRules_1, diff --git a/vanetza/asn1/its/AvcPart.c b/vanetza/asn1/its/AvcPart.c index 4ab1e178e..93d4d91a6 100644 --- a/vanetza/asn1/its/AvcPart.c +++ b/vanetza/asn1/its/AvcPart.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_AvcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_AvcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_AvcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_AvcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_AvcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_AvcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -134,6 +152,9 @@ asn_TYPE_member_t asn_MBR_AvcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -179,6 +200,9 @@ asn_TYPE_descriptor_t asn_DEF_AvcPart = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AvcPart_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AvcPart_1, diff --git a/vanetza/asn1/its/AviEriDateTime.c b/vanetza/asn1/its/AviEriDateTime.c index 789cf380d..0e9af3bf5 100644 --- a/vanetza/asn1/its/AviEriDateTime.c +++ b/vanetza/asn1/its/AviEriDateTime.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_AviEriDateTime = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_AviEriDateTime_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ AviEriDateTime_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/AxleWeightLimits.c b/vanetza/asn1/its/AxleWeightLimits.c index 313fefe92..83ec0bfac 100644 --- a/vanetza/asn1/its/AxleWeightLimits.c +++ b/vanetza/asn1/its/AxleWeightLimits.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_AxleWeightLimits_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_AxleWeightLimits_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_AxleWeightLimits_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_AxleWeightLimits_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_AxleWeightLimits_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -129,6 +144,9 @@ asn_TYPE_descriptor_t asn_DEF_AxleWeightLimits = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_AxleWeightLimits_1, diff --git a/vanetza/asn1/its/BankingAngle.c b/vanetza/asn1/its/BankingAngle.c index a2e19aa58..02c6aa4cf 100644 --- a/vanetza/asn1/its/BankingAngle.c +++ b/vanetza/asn1/its/BankingAngle.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_BankingAngle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_BankingAngle_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ BankingAngle_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/BasicContainer.c b/vanetza/asn1/its/BasicContainer.c index ef8a1ef07..e1d6a1ea2 100644 --- a/vanetza/asn1/its/BasicContainer.c +++ b/vanetza/asn1/its/BasicContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_BasicContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_BasicContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_BasicContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_BasicContainer_1, diff --git a/vanetza/asn1/its/BasicVehicleContainerHighFrequency.c b/vanetza/asn1/its/BasicVehicleContainerHighFrequency.c index 49b0f5478..72d3aa3ce 100644 --- a/vanetza/asn1/its/BasicVehicleContainerHighFrequency.c +++ b/vanetza/asn1/its/BasicVehicleContainerHighFrequency.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -122,6 +140,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -139,6 +160,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -156,6 +180,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -173,6 +200,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -190,6 +220,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -207,6 +240,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -224,6 +260,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -241,6 +280,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -258,6 +300,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -275,6 +320,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -329,6 +377,9 @@ asn_TYPE_descriptor_t asn_DEF_BasicVehicleContainerHighFrequency = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_BasicVehicleContainerHighFrequency_1, diff --git a/vanetza/asn1/its/BasicVehicleContainerLowFrequency.c b/vanetza/asn1/its/BasicVehicleContainerLowFrequency.c index 33c393080..1fecbfc51 100644 --- a/vanetza/asn1/its/BasicVehicleContainerLowFrequency.c +++ b/vanetza/asn1/its/BasicVehicleContainerLowFrequency.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerLowFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerLowFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_BasicVehicleContainerLowFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_BasicVehicleContainerLowFrequency = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_BasicVehicleContainerLowFrequency_1, diff --git a/vanetza/asn1/its/BasicVehicleRole.c b/vanetza/asn1/its/BasicVehicleRole.c index db708d630..609fcc5e3 100644 --- a/vanetza/asn1/its/BasicVehicleRole.c +++ b/vanetza/asn1/its/BasicVehicleRole.c @@ -104,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_BasicVehicleRole = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_BasicVehicleRole_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/BatteryStatus.c b/vanetza/asn1/its/BatteryStatus.c index f30acdd41..1f6b975d2 100644 --- a/vanetza/asn1/its/BatteryStatus.c +++ b/vanetza/asn1/its/BatteryStatus.c @@ -66,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_BatteryStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_BatteryStatus_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/CAM.c b/vanetza/asn1/its/CAM.c index e40743340..f715884aa 100644 --- a/vanetza/asn1/its/CAM.c +++ b/vanetza/asn1/its/CAM.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_CAM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_CAM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_CAM = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CAM_1, diff --git a/vanetza/asn1/its/CO2EmissionValue.c b/vanetza/asn1/its/CO2EmissionValue.c index ab1868417..528ca7a2a 100644 --- a/vanetza/asn1/its/CO2EmissionValue.c +++ b/vanetza/asn1/its/CO2EmissionValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_CO2EmissionValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_CO2EmissionValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CO2EmissionValue_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/CPM.c b/vanetza/asn1/its/CPM.c index 9c319e295..87c65e902 100644 --- a/vanetza/asn1/its/CPM.c +++ b/vanetza/asn1/its/CPM.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_CPM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_CPM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_CPM = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CPM_1, diff --git a/vanetza/asn1/its/CS1.c b/vanetza/asn1/its/CS1.c index d12dac6b6..9bda72e07 100644 --- a/vanetza/asn1/its/CS1.c +++ b/vanetza/asn1/its/CS1.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_CS1_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_CS1_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ static asn_TYPE_member_t asn_MBR_CS1_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_CS1 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CS1_1, diff --git a/vanetza/asn1/its/CS2.c b/vanetza/asn1/its/CS2.c index 74ca5cc4b..1f6707f90 100644 --- a/vanetza/asn1/its/CS2.c +++ b/vanetza/asn1/its/CS2.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_CS2_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_CS2_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_CS2 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CS2_1, diff --git a/vanetza/asn1/its/CS3.c b/vanetza/asn1/its/CS3.c index 41b616cd4..cd2a56b20 100644 --- a/vanetza/asn1/its/CS3.c +++ b/vanetza/asn1/its/CS3.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_CS3_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_CS3_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ static asn_TYPE_member_t asn_MBR_CS3_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ static asn_TYPE_member_t asn_MBR_CS3_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -111,6 +123,9 @@ asn_TYPE_descriptor_t asn_DEF_CS3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CS3_1, diff --git a/vanetza/asn1/its/CS4.c b/vanetza/asn1/its/CS4.c index 0803d06cf..1e6a98e50 100644 --- a/vanetza/asn1/its/CS4.c +++ b/vanetza/asn1/its/CS4.c @@ -32,6 +32,9 @@ static asn_TYPE_member_t asn_MBR_CS4_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ static asn_TYPE_member_t asn_MBR_CS4_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ static asn_TYPE_member_t asn_MBR_CS4_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +114,9 @@ asn_TYPE_descriptor_t asn_DEF_CS4 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_CS4_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CS4_1, diff --git a/vanetza/asn1/its/CS5.c b/vanetza/asn1/its/CS5.c index 99b9ca978..739f9b67f 100644 --- a/vanetza/asn1/its/CS5.c +++ b/vanetza/asn1/its/CS5.c @@ -50,6 +50,10 @@ static asn_per_constraints_t asn_PER_memb_fill_constr_3 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_memb_fill_constr_3 CC_NOTUSED = { + 9}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_TYPE_member_t asn_MBR_CS5_1[] = { { ATF_NOFLAGS, 0, offsetof(struct CS5, vin), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), @@ -63,6 +67,9 @@ asn_TYPE_member_t asn_MBR_CS5_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -80,6 +87,9 @@ asn_TYPE_member_t asn_MBR_CS5_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_fill_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_memb_fill_constr_3, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_fill_constraint_1 }, 0, 0, /* No default value */ @@ -118,6 +128,9 @@ asn_TYPE_descriptor_t asn_DEF_CS5 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CS5_1, diff --git a/vanetza/asn1/its/CS7.c b/vanetza/asn1/its/CS7.c index 0949ac877..5c156aacd 100644 --- a/vanetza/asn1/its/CS7.c +++ b/vanetza/asn1/its/CS7.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_CS7 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_FreightContainerData_1, diff --git a/vanetza/asn1/its/CS8.c b/vanetza/asn1/its/CS8.c index e178413bd..eb6e185c2 100644 --- a/vanetza/asn1/its/CS8.c +++ b/vanetza/asn1/its/CS8.c @@ -50,6 +50,10 @@ static asn_per_constraints_t asn_PER_memb_fill_constr_2 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_memb_fill_constr_2 CC_NOTUSED = { + 6}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static asn_TYPE_member_t asn_MBR_CS8_1[] = { { ATF_NOFLAGS, 0, offsetof(struct CS8, fill), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), @@ -63,6 +67,9 @@ static asn_TYPE_member_t asn_MBR_CS8_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_fill_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_memb_fill_constr_2, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_fill_constraint_1 }, 0, 0, /* No default value */ @@ -80,6 +87,9 @@ static asn_TYPE_member_t asn_MBR_CS8_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -97,6 +107,9 @@ static asn_TYPE_member_t asn_MBR_CS8_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -136,6 +149,9 @@ asn_TYPE_descriptor_t asn_DEF_CS8 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CS8_1, diff --git a/vanetza/asn1/its/CamParameters.c b/vanetza/asn1/its/CamParameters.c index 29413a18e..ad47c4b04 100644 --- a/vanetza/asn1/its/CamParameters.c +++ b/vanetza/asn1/its/CamParameters.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_CamParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_CamParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_CamParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_CamParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +125,9 @@ asn_TYPE_descriptor_t asn_DEF_CamParameters = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CamParameters_1, diff --git a/vanetza/asn1/its/CartesianAngle.c b/vanetza/asn1/its/CartesianAngle.c index 9e1da0c64..e26874cee 100644 --- a/vanetza/asn1/its/CartesianAngle.c +++ b/vanetza/asn1/its/CartesianAngle.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_CartesianAngle_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_CartesianAngle_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_CartesianAngle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CartesianAngle_1, diff --git a/vanetza/asn1/its/CartesianAngleValue.c b/vanetza/asn1/its/CartesianAngleValue.c index 264c9015f..d147c50dd 100644 --- a/vanetza/asn1/its/CartesianAngleValue.c +++ b/vanetza/asn1/its/CartesianAngleValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_CartesianAngleValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_CartesianAngleValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CartesianAngleValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/CauseCode.c b/vanetza/asn1/its/CauseCode.c index 09a5811d3..69f593766 100644 --- a/vanetza/asn1/its/CauseCode.c +++ b/vanetza/asn1/its/CauseCode.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_CauseCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_CauseCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_CauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CauseCode_1, diff --git a/vanetza/asn1/its/CauseCodeType.c b/vanetza/asn1/its/CauseCodeType.c index 8de15d262..17ab6ad55 100644 --- a/vanetza/asn1/its/CauseCodeType.c +++ b/vanetza/asn1/its/CauseCodeType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_CauseCodeType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_CauseCodeType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CauseCodeType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/CenDsrcTollingZone.c b/vanetza/asn1/its/CenDsrcTollingZone.c index 88b4ed77c..60542e238 100644 --- a/vanetza/asn1/its/CenDsrcTollingZone.c +++ b/vanetza/asn1/its/CenDsrcTollingZone.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_CenDsrcTollingZone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_CenDsrcTollingZone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_CenDsrcTollingZone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_CenDsrcTollingZone = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CenDsrcTollingZone_1, diff --git a/vanetza/asn1/its/CenDsrcTollingZoneID.c b/vanetza/asn1/its/CenDsrcTollingZoneID.c index f3da3c029..ee50f4692 100644 --- a/vanetza/asn1/its/CenDsrcTollingZoneID.c +++ b/vanetza/asn1/its/CenDsrcTollingZoneID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_CenDsrcTollingZoneID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_CenDsrcTollingZoneID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CenDsrcTollingZoneID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ChannelId.c b/vanetza/asn1/its/ChannelId.c index 26ac14811..458b24598 100644 --- a/vanetza/asn1/its/ChannelId.c +++ b/vanetza/asn1/its/ChannelId.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ChannelId = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ChannelId_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ChannelId_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ChannelRq.c b/vanetza/asn1/its/ChannelRq.c index 28b2145d6..9071c28cc 100644 --- a/vanetza/asn1/its/ChannelRq.c +++ b/vanetza/asn1/its/ChannelRq.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_ChannelRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_ChannelRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_ChannelRq = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ChannelRq_1, diff --git a/vanetza/asn1/its/ChannelRs.c b/vanetza/asn1/its/ChannelRs.c index c8bc35d25..49249d8c3 100644 --- a/vanetza/asn1/its/ChannelRs.c +++ b/vanetza/asn1/its/ChannelRs.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_ChannelRs_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_ChannelRs_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_ChannelRs = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ChannelRs_1, diff --git a/vanetza/asn1/its/ClassConfidence.c b/vanetza/asn1/its/ClassConfidence.c index 87e8e459c..e1e79ac26 100644 --- a/vanetza/asn1/its/ClassConfidence.c +++ b/vanetza/asn1/its/ClassConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ClassConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ClassConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ClassConfidence_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ClosedLanes.c b/vanetza/asn1/its/ClosedLanes.c index 2c772edae..adc601ac7 100644 --- a/vanetza/asn1/its/ClosedLanes.c +++ b/vanetza/asn1/its/ClosedLanes.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_ClosedLanes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_ClosedLanes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_ClosedLanes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_ClosedLanes = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ClosedLanes_1, diff --git a/vanetza/asn1/its/Code-Units.c b/vanetza/asn1/its/Code-Units.c index 4c6071b56..eb679cc2b 100644 --- a/vanetza/asn1/its/Code-Units.c +++ b/vanetza/asn1/its/Code-Units.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Code_Units = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Code_Units_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Code_Units_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/CollectivePerceptionMessage.c b/vanetza/asn1/its/CollectivePerceptionMessage.c index 736d83301..dac052a3d 100644 --- a/vanetza/asn1/its/CollectivePerceptionMessage.c +++ b/vanetza/asn1/its/CollectivePerceptionMessage.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_CollectivePerceptionMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_CollectivePerceptionMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_CollectivePerceptionMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CollectivePerceptionMessage_1, diff --git a/vanetza/asn1/its/CollisionRiskSubCauseCode.c b/vanetza/asn1/its/CollisionRiskSubCauseCode.c index 7561f9cfe..d6773ab0e 100644 --- a/vanetza/asn1/its/CollisionRiskSubCauseCode.c +++ b/vanetza/asn1/its/CollisionRiskSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_CollisionRiskSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_CollisionRiskSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CollisionRiskSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ComparisonOperator.c b/vanetza/asn1/its/ComparisonOperator.c index 4a72ea66d..3ef61bde9 100644 --- a/vanetza/asn1/its/ComparisonOperator.c +++ b/vanetza/asn1/its/ComparisonOperator.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ComparisonOperator = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ComparisonOperator_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ComparisonOperator_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/CompleteVehicleCharacteristics.c b/vanetza/asn1/its/CompleteVehicleCharacteristics.c index c8acd50ac..4682113ec 100644 --- a/vanetza/asn1/its/CompleteVehicleCharacteristics.c +++ b/vanetza/asn1/its/CompleteVehicleCharacteristics.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_CompleteVehicleCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_CompleteVehicleCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_CompleteVehicleCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_CompleteVehicleCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CompleteVehicleCharacteristics_1, diff --git a/vanetza/asn1/its/ComputedLane.c b/vanetza/asn1/its/ComputedLane.c index c1bce7d4a..dedda6358 100644 --- a/vanetza/asn1/its/ComputedLane.c +++ b/vanetza/asn1/its/ComputedLane.c @@ -94,6 +94,9 @@ static asn_TYPE_member_t asn_MBR_offsetXaxis_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -111,6 +114,9 @@ static asn_TYPE_member_t asn_MBR_offsetXaxis_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -147,6 +153,9 @@ asn_TYPE_descriptor_t asn_DEF_offsetXaxis_3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_offsetXaxis_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_offsetXaxis_3, @@ -167,6 +176,9 @@ static asn_TYPE_member_t asn_MBR_offsetYaxis_6[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -184,6 +196,9 @@ static asn_TYPE_member_t asn_MBR_offsetYaxis_6[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -220,6 +235,9 @@ asn_TYPE_descriptor_t asn_DEF_offsetYaxis_6 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_offsetYaxis_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_offsetYaxis_6, @@ -240,6 +258,9 @@ static asn_TYPE_member_t asn_MBR_regional_12[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -273,6 +294,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_12 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_12, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_12, @@ -293,6 +317,9 @@ asn_TYPE_member_t asn_MBR_ComputedLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -310,6 +337,9 @@ asn_TYPE_member_t asn_MBR_ComputedLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -327,6 +357,9 @@ asn_TYPE_member_t asn_MBR_ComputedLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -344,6 +377,9 @@ asn_TYPE_member_t asn_MBR_ComputedLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -361,6 +397,9 @@ asn_TYPE_member_t asn_MBR_ComputedLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -378,6 +417,9 @@ asn_TYPE_member_t asn_MBR_ComputedLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -395,6 +437,9 @@ asn_TYPE_member_t asn_MBR_ComputedLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_12, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -440,6 +485,9 @@ asn_TYPE_descriptor_t asn_DEF_ComputedLane = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ComputedLane_1, diff --git a/vanetza/asn1/its/ComputedSegment.c b/vanetza/asn1/its/ComputedSegment.c index 4f3874fae..456844830 100644 --- a/vanetza/asn1/its/ComputedSegment.c +++ b/vanetza/asn1/its/ComputedSegment.c @@ -57,6 +57,9 @@ asn_TYPE_member_t asn_MBR_ComputedSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ asn_TYPE_member_t asn_MBR_ComputedSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -91,6 +97,9 @@ asn_TYPE_member_t asn_MBR_ComputedSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -108,6 +117,9 @@ asn_TYPE_member_t asn_MBR_ComputedSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_offsetDistance_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_offsetDistance_constraint_1 }, 0, 0, /* No default value */ @@ -125,6 +137,9 @@ asn_TYPE_member_t asn_MBR_ComputedSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -168,6 +183,9 @@ asn_TYPE_descriptor_t asn_DEF_ComputedSegment = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ComputedSegment_1, diff --git a/vanetza/asn1/its/Condition.c b/vanetza/asn1/its/Condition.c index 4fbe08bf8..b1a78b4f2 100644 --- a/vanetza/asn1/its/Condition.c +++ b/vanetza/asn1/its/Condition.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Condition = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Condition_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Condition_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ConnectedDenms.c b/vanetza/asn1/its/ConnectedDenms.c index b08521d8a..5bb77f333 100644 --- a/vanetza/asn1/its/ConnectedDenms.c +++ b/vanetza/asn1/its/ConnectedDenms.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ConnectedDenms_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_ConnectedDenms = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ConnectedDenms_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ConnectedDenms_1, diff --git a/vanetza/asn1/its/ConnectingLane.c b/vanetza/asn1/its/ConnectingLane.c index 10015ddf1..e80852f57 100644 --- a/vanetza/asn1/its/ConnectingLane.c +++ b/vanetza/asn1/its/ConnectingLane.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_ConnectingLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_ConnectingLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_ConnectingLane = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ConnectingLane_1, diff --git a/vanetza/asn1/its/Connection.c b/vanetza/asn1/its/Connection.c index f2d710628..e1e17f9d7 100644 --- a/vanetza/asn1/its/Connection.c +++ b/vanetza/asn1/its/Connection.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Connection_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Connection_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_Connection_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_Connection_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_Connection_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -131,6 +146,9 @@ asn_TYPE_descriptor_t asn_DEF_Connection = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Connection_1, diff --git a/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.c b/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.c index 5609b8eee..5e02deb3a 100644 --- a/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.c +++ b/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.c @@ -21,6 +21,9 @@ asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -60,6 +63,9 @@ asn_TYPE_descriptor_t asn_DEF_ConnectionManeuverAssist_addGrpC = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ConnectionManeuverAssist_addGrpC_1, diff --git a/vanetza/asn1/its/ConnectionManeuverAssist.c b/vanetza/asn1/its/ConnectionManeuverAssist.c index 7789bd016..e1811d0ed 100644 --- a/vanetza/asn1/its/ConnectionManeuverAssist.c +++ b/vanetza/asn1/its/ConnectionManeuverAssist.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_7[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_7 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_7, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -252,6 +276,9 @@ asn_TYPE_descriptor_t asn_DEF_ConnectionManeuverAssist = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ConnectionManeuverAssist_1, diff --git a/vanetza/asn1/its/ConnectionTrajectory-addGrpC.c b/vanetza/asn1/its/ConnectionTrajectory-addGrpC.c index 408e3d4d9..8e3a2c25a 100644 --- a/vanetza/asn1/its/ConnectionTrajectory-addGrpC.c +++ b/vanetza/asn1/its/ConnectionTrajectory-addGrpC.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_ConnectionTrajectory_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_ConnectionTrajectory_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_ConnectionTrajectory_addGrpC = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ConnectionTrajectory_addGrpC_1, diff --git a/vanetza/asn1/its/ConnectsToList.c b/vanetza/asn1/its/ConnectsToList.c index e92e2f8a3..41a68a17b 100644 --- a/vanetza/asn1/its/ConnectsToList.c +++ b/vanetza/asn1/its/ConnectsToList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ConnectsToList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_ConnectsToList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ConnectsToList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ConnectsToList_1, diff --git a/vanetza/asn1/its/ConstraintTextLines1.c b/vanetza/asn1/its/ConstraintTextLines1.c index a82d62cc7..5bb552282 100644 --- a/vanetza/asn1/its/ConstraintTextLines1.c +++ b/vanetza/asn1/its/ConstraintTextLines1.c @@ -63,6 +63,9 @@ asn_TYPE_member_t asn_MBR_ConstraintTextLines1_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Member_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Text_constraint_1 }, 0, 0, /* No default value */ @@ -94,6 +97,9 @@ asn_TYPE_descriptor_t asn_DEF_ConstraintTextLines1 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ConstraintTextLines1_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ConstraintTextLines1_1, diff --git a/vanetza/asn1/its/ConstraintTextLines2.c b/vanetza/asn1/its/ConstraintTextLines2.c index 4bf381d9c..f6618cf51 100644 --- a/vanetza/asn1/its/ConstraintTextLines2.c +++ b/vanetza/asn1/its/ConstraintTextLines2.c @@ -63,6 +63,9 @@ asn_TYPE_member_t asn_MBR_ConstraintTextLines2_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Member_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Text_constraint_1 }, 0, 0, /* No default value */ @@ -94,6 +97,9 @@ asn_TYPE_descriptor_t asn_DEF_ConstraintTextLines2 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ConstraintTextLines2_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ConstraintTextLines2_1, diff --git a/vanetza/asn1/its/ContractAuthenticator.c b/vanetza/asn1/its/ContractAuthenticator.c index fb3deb888..c209d8f8f 100644 --- a/vanetza/asn1/its/ContractAuthenticator.c +++ b/vanetza/asn1/its/ContractAuthenticator.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_ContractAuthenticator = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ContractSerialNumber.c b/vanetza/asn1/its/ContractSerialNumber.c index e5a6208d3..080351f7d 100644 --- a/vanetza/asn1/its/ContractSerialNumber.c +++ b/vanetza/asn1/its/ContractSerialNumber.c @@ -59,6 +59,9 @@ asn_TYPE_descriptor_t asn_DEF_ContractSerialNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ContractSerialNumber_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ContractSerialNumber_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ContractValidity.c b/vanetza/asn1/its/ContractValidity.c index 55015dadd..494d6e6e6 100644 --- a/vanetza/asn1/its/ContractValidity.c +++ b/vanetza/asn1/its/ContractValidity.c @@ -58,6 +58,9 @@ static asn_TYPE_member_t asn_MBR_ContractValidity_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_contractRestrictions_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_contractRestrictions_constraint_1 }, 0, 0, /* No default value */ @@ -75,6 +78,9 @@ static asn_TYPE_member_t asn_MBR_ContractValidity_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +119,9 @@ asn_TYPE_descriptor_t asn_DEF_ContractValidity = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ContractValidity_1, diff --git a/vanetza/asn1/its/ContractVehicle.c b/vanetza/asn1/its/ContractVehicle.c index 001420bb3..44464ab47 100644 --- a/vanetza/asn1/its/ContractVehicle.c +++ b/vanetza/asn1/its/ContractVehicle.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_ContractVehicle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LPN_1, diff --git a/vanetza/asn1/its/CoopAwareness.c b/vanetza/asn1/its/CoopAwareness.c index a0172aed0..ff8572a11 100644 --- a/vanetza/asn1/its/CoopAwareness.c +++ b/vanetza/asn1/its/CoopAwareness.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_CoopAwareness_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_CoopAwareness_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_CoopAwareness = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CoopAwareness_1, diff --git a/vanetza/asn1/its/CopValue.c b/vanetza/asn1/its/CopValue.c index 625ff78d3..9fa02f171 100644 --- a/vanetza/asn1/its/CopValue.c +++ b/vanetza/asn1/its/CopValue.c @@ -74,6 +74,9 @@ asn_TYPE_descriptor_t asn_DEF_CopValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_CopValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/CopyRq.c b/vanetza/asn1/its/CopyRq.c index 61a765d48..825377bb3 100644 --- a/vanetza/asn1/its/CopyRq.c +++ b/vanetza/asn1/its/CopyRq.c @@ -57,6 +57,9 @@ static asn_TYPE_member_t asn_MBR_CopyRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_destinationEID_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_destinationEID_constraint_1 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ static asn_TYPE_member_t asn_MBR_CopyRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -112,6 +118,9 @@ asn_TYPE_descriptor_t asn_DEF_CopyRq = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CopyRq_1, diff --git a/vanetza/asn1/its/CountryCode.c b/vanetza/asn1/its/CountryCode.c index 0516534d2..5e0bec5ac 100644 --- a/vanetza/asn1/its/CountryCode.c +++ b/vanetza/asn1/its/CountryCode.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_CountryCode_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_CountryCode_constr_1 CC_NOTUSED = { + 10}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_CountryCode_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_CountryCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_CountryCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_CountryCode_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CountryCode_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/CpmManagementContainer.c b/vanetza/asn1/its/CpmManagementContainer.c index ac881ee41..acd6c8fe3 100644 --- a/vanetza/asn1/its/CpmManagementContainer.c +++ b/vanetza/asn1/its/CpmManagementContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_CpmManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_CpmManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_CpmManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_CpmManagementContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CpmManagementContainer_1, diff --git a/vanetza/asn1/its/CpmParameters.c b/vanetza/asn1/its/CpmParameters.c index bcd48bae2..6db7a4a91 100644 --- a/vanetza/asn1/its/CpmParameters.c +++ b/vanetza/asn1/its/CpmParameters.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_CpmParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_CpmParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_CpmParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_CpmParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_CpmParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_CpmParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -149,6 +167,9 @@ asn_TYPE_descriptor_t asn_DEF_CpmParameters = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CpmParameters_1, diff --git a/vanetza/asn1/its/CreditRq.c b/vanetza/asn1/its/CreditRq.c index d5ce1d3e4..dfc567d8f 100644 --- a/vanetza/asn1/its/CreditRq.c +++ b/vanetza/asn1/its/CreditRq.c @@ -57,6 +57,9 @@ static asn_TYPE_member_t asn_MBR_CreditRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ static asn_TYPE_member_t asn_MBR_CreditRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -91,6 +97,9 @@ static asn_TYPE_member_t asn_MBR_CreditRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_key_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_key_constraint_1 }, 0, 0, /* No default value */ @@ -130,6 +139,9 @@ asn_TYPE_descriptor_t asn_DEF_CreditRq = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CreditRq_1, diff --git a/vanetza/asn1/its/CreditRs.c b/vanetza/asn1/its/CreditRs.c index babce0a50..8ad612bb6 100644 --- a/vanetza/asn1/its/CreditRs.c +++ b/vanetza/asn1/its/CreditRs.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_CreditRs_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_CreditRs_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_CreditRs = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CreditRs_1, diff --git a/vanetza/asn1/its/Curvature.c b/vanetza/asn1/its/Curvature.c index 0e622d571..eb277e229 100644 --- a/vanetza/asn1/its/Curvature.c +++ b/vanetza/asn1/its/Curvature.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Curvature_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Curvature_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Curvature = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Curvature_1, diff --git a/vanetza/asn1/its/CurvatureCalculationMode.c b/vanetza/asn1/its/CurvatureCalculationMode.c index 05ffff1ac..8fc67ec03 100644 --- a/vanetza/asn1/its/CurvatureCalculationMode.c +++ b/vanetza/asn1/its/CurvatureCalculationMode.c @@ -64,6 +64,9 @@ asn_TYPE_descriptor_t asn_DEF_CurvatureCalculationMode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_CurvatureCalculationMode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/CurvatureConfidence.c b/vanetza/asn1/its/CurvatureConfidence.c index 98ffd0e44..ea91f93a6 100644 --- a/vanetza/asn1/its/CurvatureConfidence.c +++ b/vanetza/asn1/its/CurvatureConfidence.c @@ -72,6 +72,9 @@ asn_TYPE_descriptor_t asn_DEF_CurvatureConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_CurvatureConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/CurvatureValue.c b/vanetza/asn1/its/CurvatureValue.c index fd8e9a348..45a4a3076 100644 --- a/vanetza/asn1/its/CurvatureValue.c +++ b/vanetza/asn1/its/CurvatureValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_CurvatureValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_CurvatureValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CurvatureValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DDD-IO-LIST.c b/vanetza/asn1/its/DDD-IO-LIST.c index cde3f913f..1e62d8cb0 100644 --- a/vanetza/asn1/its/DDD-IO-LIST.c +++ b/vanetza/asn1/its/DDD-IO-LIST.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_DDD_IO_LIST_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_DDD_IO_LIST = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DDD_IO_LIST_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_DDD_IO_LIST_1, diff --git a/vanetza/asn1/its/DDD-IO.c b/vanetza/asn1/its/DDD-IO.c index 24403557b..9150adcae 100644 --- a/vanetza/asn1/its/DDD-IO.c +++ b/vanetza/asn1/its/DDD-IO.c @@ -131,6 +131,9 @@ asn_TYPE_member_t asn_MBR_DDD_IO_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_arrowDirection_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_arrowDirection_constraint_1 }, 0, 0, /* No default value */ @@ -148,6 +151,9 @@ asn_TYPE_member_t asn_MBR_DDD_IO_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -165,6 +171,9 @@ asn_TYPE_member_t asn_MBR_DDD_IO_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -182,6 +191,9 @@ asn_TYPE_member_t asn_MBR_DDD_IO_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_roadNumberIdentifier_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_roadNumberIdentifier_constraint_1 }, 0, 0, /* No default value */ @@ -199,6 +211,9 @@ asn_TYPE_member_t asn_MBR_DDD_IO_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_streetName_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_streetName_constraint_1 }, 0, 0, /* No default value */ @@ -216,6 +231,9 @@ asn_TYPE_member_t asn_MBR_DDD_IO_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -233,6 +251,9 @@ asn_TYPE_member_t asn_MBR_DDD_IO_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -250,6 +271,9 @@ asn_TYPE_member_t asn_MBR_DDD_IO_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -296,6 +320,9 @@ asn_TYPE_descriptor_t asn_DEF_DDD_IO = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DDD_IO_1, diff --git a/vanetza/asn1/its/DDateTime.c b/vanetza/asn1/its/DDateTime.c index f3fee2305..6c4eb2e30 100644 --- a/vanetza/asn1/its/DDateTime.c +++ b/vanetza/asn1/its/DDateTime.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_DDateTime_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_DDateTime_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_DDateTime_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_DDateTime_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_DDateTime_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_DDateTime_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -122,6 +140,9 @@ asn_TYPE_member_t asn_MBR_DDateTime_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -167,6 +188,9 @@ asn_TYPE_descriptor_t asn_DEF_DDateTime = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DDateTime_1, diff --git a/vanetza/asn1/its/DDay.c b/vanetza/asn1/its/DDay.c index fe163402b..36f7bb312 100644 --- a/vanetza/asn1/its/DDay.c +++ b/vanetza/asn1/its/DDay.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DDay = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DDay_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DDay_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DENM.c b/vanetza/asn1/its/DENM.c index d67deb26a..e21e5580f 100644 --- a/vanetza/asn1/its/DENM.c +++ b/vanetza/asn1/its/DENM.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_DENM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_DENM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_DENM = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DENM_1, diff --git a/vanetza/asn1/its/DHour.c b/vanetza/asn1/its/DHour.c index 14ca6e073..aa35e8ad3 100644 --- a/vanetza/asn1/its/DHour.c +++ b/vanetza/asn1/its/DHour.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DHour = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DHour_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DHour_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DMinute.c b/vanetza/asn1/its/DMinute.c index fa2bda36e..4b2fda4a4 100644 --- a/vanetza/asn1/its/DMinute.c +++ b/vanetza/asn1/its/DMinute.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DMinute = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DMinute_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DMinute_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DMonth.c b/vanetza/asn1/its/DMonth.c index 4f599dc8f..db925e20f 100644 --- a/vanetza/asn1/its/DMonth.c +++ b/vanetza/asn1/its/DMonth.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DMonth = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DMonth_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DMonth_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DOffset.c b/vanetza/asn1/its/DOffset.c index 1a25c86de..700a2c479 100644 --- a/vanetza/asn1/its/DOffset.c +++ b/vanetza/asn1/its/DOffset.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DOffset = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DOffset_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DOffset_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DSRCmsgID.c b/vanetza/asn1/its/DSRCmsgID.c index f725944d3..010b80fb1 100644 --- a/vanetza/asn1/its/DSRCmsgID.c +++ b/vanetza/asn1/its/DSRCmsgID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DSRCmsgID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DSRCmsgID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DSRCmsgID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DSecond.c b/vanetza/asn1/its/DSecond.c index fa8e611cd..fa721a99d 100644 --- a/vanetza/asn1/its/DSecond.c +++ b/vanetza/asn1/its/DSecond.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DSecond = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DSecond_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DSecond_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DYear.c b/vanetza/asn1/its/DYear.c index 6926189d7..d31d2e735 100644 --- a/vanetza/asn1/its/DYear.c +++ b/vanetza/asn1/its/DYear.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DYear = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DYear_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DYear_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DangerousEndOfQueueSubCauseCode.c b/vanetza/asn1/its/DangerousEndOfQueueSubCauseCode.c index 6f99da05b..8cb33e67b 100644 --- a/vanetza/asn1/its/DangerousEndOfQueueSubCauseCode.c +++ b/vanetza/asn1/its/DangerousEndOfQueueSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DangerousEndOfQueueSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DangerousEndOfQueueSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DangerousEndOfQueueSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DangerousGoodsBasic.c b/vanetza/asn1/its/DangerousGoodsBasic.c index ea641d806..1c4b497b3 100644 --- a/vanetza/asn1/its/DangerousGoodsBasic.c +++ b/vanetza/asn1/its/DangerousGoodsBasic.c @@ -96,6 +96,9 @@ asn_TYPE_descriptor_t asn_DEF_DangerousGoodsBasic = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DangerousGoodsBasic_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DangerousGoodsContainer.c b/vanetza/asn1/its/DangerousGoodsContainer.c index b8d832cc0..87c2fb377 100644 --- a/vanetza/asn1/its/DangerousGoodsContainer.c +++ b/vanetza/asn1/its/DangerousGoodsContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_DangerousGoodsContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -57,6 +60,9 @@ asn_TYPE_descriptor_t asn_DEF_DangerousGoodsContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DangerousGoodsContainer_1, diff --git a/vanetza/asn1/its/DangerousGoodsExtended.c b/vanetza/asn1/its/DangerousGoodsExtended.c index 740bf8373..3f3e755ed 100644 --- a/vanetza/asn1/its/DangerousGoodsExtended.c +++ b/vanetza/asn1/its/DangerousGoodsExtended.c @@ -153,6 +153,9 @@ asn_TYPE_member_t asn_MBR_DangerousGoodsExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -170,6 +173,9 @@ asn_TYPE_member_t asn_MBR_DangerousGoodsExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_unNumber_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_unNumber_constraint_1 }, 0, 0, /* No default value */ @@ -187,6 +193,9 @@ asn_TYPE_member_t asn_MBR_DangerousGoodsExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -204,6 +213,9 @@ asn_TYPE_member_t asn_MBR_DangerousGoodsExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -221,6 +233,9 @@ asn_TYPE_member_t asn_MBR_DangerousGoodsExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -238,6 +253,9 @@ asn_TYPE_member_t asn_MBR_DangerousGoodsExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_emergencyActionCode_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_emergencyActionCode_constraint_1 }, 0, 0, /* No default value */ @@ -255,6 +273,9 @@ asn_TYPE_member_t asn_MBR_DangerousGoodsExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -272,6 +293,9 @@ asn_TYPE_member_t asn_MBR_DangerousGoodsExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_companyName_constr_9, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_companyName_constraint_1 }, 0, 0, /* No default value */ @@ -318,6 +342,9 @@ asn_TYPE_descriptor_t asn_DEF_DangerousGoodsExtended = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DangerousGoodsExtended_1, diff --git a/vanetza/asn1/its/DangerousSituationSubCauseCode.c b/vanetza/asn1/its/DangerousSituationSubCauseCode.c index dc789cf10..58b4edaf0 100644 --- a/vanetza/asn1/its/DangerousSituationSubCauseCode.c +++ b/vanetza/asn1/its/DangerousSituationSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DangerousSituationSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DangerousSituationSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DangerousSituationSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DataParameters.c b/vanetza/asn1/its/DataParameters.c index debc4b587..348d7c8e2 100644 --- a/vanetza/asn1/its/DataParameters.c +++ b/vanetza/asn1/its/DataParameters.c @@ -228,6 +228,9 @@ asn_TYPE_member_t asn_MBR_DataParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_processMethod_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_processMethod_constraint_1 }, 0, 0, /* No default value */ @@ -245,6 +248,9 @@ asn_TYPE_member_t asn_MBR_DataParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_processAgency_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_processAgency_constraint_1 }, 0, 0, /* No default value */ @@ -262,6 +268,9 @@ asn_TYPE_member_t asn_MBR_DataParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_lastCheckedDate_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_lastCheckedDate_constraint_1 }, 0, 0, /* No default value */ @@ -279,6 +288,9 @@ asn_TYPE_member_t asn_MBR_DataParameters_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_geoidUsed_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_geoidUsed_constraint_1 }, 0, 0, /* No default value */ @@ -321,6 +333,9 @@ asn_TYPE_descriptor_t asn_DEF_DataParameters = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DataParameters_1, diff --git a/vanetza/asn1/its/DateAndTime.c b/vanetza/asn1/its/DateAndTime.c index c8afae939..7411793e7 100644 --- a/vanetza/asn1/its/DateAndTime.c +++ b/vanetza/asn1/its/DateAndTime.c @@ -131,6 +131,9 @@ static asn_TYPE_member_t asn_MBR_timeCompact_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_hours_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_hours_constraint_3 }, 0, 0, /* No default value */ @@ -148,6 +151,9 @@ static asn_TYPE_member_t asn_MBR_timeCompact_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_mins_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_mins_constraint_3 }, 0, 0, /* No default value */ @@ -165,6 +171,9 @@ static asn_TYPE_member_t asn_MBR_timeCompact_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_double_secs_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_double_secs_constraint_3 }, 0, 0, /* No default value */ @@ -206,6 +215,9 @@ asn_TYPE_descriptor_t asn_DEF_timeCompact_3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_timeCompact_3, @@ -226,6 +238,9 @@ asn_TYPE_member_t asn_MBR_DateAndTime_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -243,6 +258,9 @@ asn_TYPE_member_t asn_MBR_DateAndTime_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -281,6 +299,9 @@ asn_TYPE_descriptor_t asn_DEF_DateAndTime = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DateAndTime_1, diff --git a/vanetza/asn1/its/DateCompact.c b/vanetza/asn1/its/DateCompact.c index faf733a57..6c42a372e 100644 --- a/vanetza/asn1/its/DateCompact.c +++ b/vanetza/asn1/its/DateCompact.c @@ -131,6 +131,9 @@ asn_TYPE_member_t asn_MBR_DateCompact_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_year_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_year_constraint_1 }, 0, 0, /* No default value */ @@ -148,6 +151,9 @@ asn_TYPE_member_t asn_MBR_DateCompact_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_month_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_month_constraint_1 }, 0, 0, /* No default value */ @@ -165,6 +171,9 @@ asn_TYPE_member_t asn_MBR_DateCompact_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_day_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_day_constraint_1 }, 0, 0, /* No default value */ @@ -204,6 +213,9 @@ asn_TYPE_descriptor_t asn_DEF_DateCompact = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DateCompact_1, diff --git a/vanetza/asn1/its/DayOfWeek.c b/vanetza/asn1/its/DayOfWeek.c index 020f1a042..3b2262713 100644 --- a/vanetza/asn1/its/DayOfWeek.c +++ b/vanetza/asn1/its/DayOfWeek.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_DayOfWeek_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_DayOfWeek_constr_1 CC_NOTUSED = { + 8}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_DayOfWeek_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_DayOfWeek = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DayOfWeek_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_DayOfWeek_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DayOfWeek_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DebitRq.c b/vanetza/asn1/its/DebitRq.c index 11c490e96..ce5f6ad9d 100644 --- a/vanetza/asn1/its/DebitRq.c +++ b/vanetza/asn1/its/DebitRq.c @@ -57,6 +57,9 @@ static asn_TYPE_member_t asn_MBR_DebitRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ static asn_TYPE_member_t asn_MBR_DebitRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -91,6 +97,9 @@ static asn_TYPE_member_t asn_MBR_DebitRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_keyRef_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_keyRef_constraint_1 }, 0, 0, /* No default value */ @@ -130,6 +139,9 @@ asn_TYPE_descriptor_t asn_DEF_DebitRq = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DebitRq_1, diff --git a/vanetza/asn1/its/DebitRs.c b/vanetza/asn1/its/DebitRs.c index 623392baf..5fde8f817 100644 --- a/vanetza/asn1/its/DebitRs.c +++ b/vanetza/asn1/its/DebitRs.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_DebitRs_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_DebitRs_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_DebitRs = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DebitRs_1, diff --git a/vanetza/asn1/its/DecentralizedEnvironmentalNotificationMessage.c b/vanetza/asn1/its/DecentralizedEnvironmentalNotificationMessage.c index 2b01e1a73..12f3b21b1 100644 --- a/vanetza/asn1/its/DecentralizedEnvironmentalNotificationMessage.c +++ b/vanetza/asn1/its/DecentralizedEnvironmentalNotificationMessage.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_DecentralizedEnvironmentalNotificationMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_DecentralizedEnvironmentalNotificationMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_DecentralizedEnvironmentalNotificationMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_DecentralizedEnvironmentalNotificationMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +125,9 @@ asn_TYPE_descriptor_t asn_DEF_DecentralizedEnvironmentalNotificationMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DecentralizedEnvironmentalNotificationMessage_1, diff --git a/vanetza/asn1/its/DefinitionAccuracy.c b/vanetza/asn1/its/DefinitionAccuracy.c index a9f250b3b..47108e975 100644 --- a/vanetza/asn1/its/DefinitionAccuracy.c +++ b/vanetza/asn1/its/DefinitionAccuracy.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DefinitionAccuracy = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DefinitionAccuracy_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DefinitionAccuracy_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DeltaAltitude.c b/vanetza/asn1/its/DeltaAltitude.c index 97d1372ed..145088d78 100644 --- a/vanetza/asn1/its/DeltaAltitude.c +++ b/vanetza/asn1/its/DeltaAltitude.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DeltaAltitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DeltaAltitude_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DeltaAltitude_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DeltaAngle.c b/vanetza/asn1/its/DeltaAngle.c index a9d884092..86278929e 100644 --- a/vanetza/asn1/its/DeltaAngle.c +++ b/vanetza/asn1/its/DeltaAngle.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DeltaAngle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DeltaAngle_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DeltaAngle_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DeltaLatitude.c b/vanetza/asn1/its/DeltaLatitude.c index 5b30a4f23..7c75bd425 100644 --- a/vanetza/asn1/its/DeltaLatitude.c +++ b/vanetza/asn1/its/DeltaLatitude.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DeltaLatitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DeltaLatitude_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DeltaLatitude_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DeltaLongitude.c b/vanetza/asn1/its/DeltaLongitude.c index 1e447b38c..506aa2907 100644 --- a/vanetza/asn1/its/DeltaLongitude.c +++ b/vanetza/asn1/its/DeltaLongitude.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DeltaLongitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DeltaLongitude_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DeltaLongitude_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DeltaPosition.c b/vanetza/asn1/its/DeltaPosition.c index 1cb87e5cf..e67600bed 100644 --- a/vanetza/asn1/its/DeltaPosition.c +++ b/vanetza/asn1/its/DeltaPosition.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_DeltaPosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_DeltaPosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_DeltaPosition = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DeltaPosition_1, diff --git a/vanetza/asn1/its/DeltaPositions.c b/vanetza/asn1/its/DeltaPositions.c index 4eb01f3a1..558299517 100644 --- a/vanetza/asn1/its/DeltaPositions.c +++ b/vanetza/asn1/its/DeltaPositions.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_DeltaPositions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_DeltaPositions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DeltaPositions_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_DeltaPositions_1, diff --git a/vanetza/asn1/its/DeltaReferencePosition.c b/vanetza/asn1/its/DeltaReferencePosition.c index 42378c963..7b00bb2dc 100644 --- a/vanetza/asn1/its/DeltaReferencePosition.c +++ b/vanetza/asn1/its/DeltaReferencePosition.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_DeltaReferencePosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_DeltaReferencePosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_DeltaReferencePosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_DeltaReferencePosition = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DeltaReferencePosition_1, diff --git a/vanetza/asn1/its/DeltaReferencePositions.c b/vanetza/asn1/its/DeltaReferencePositions.c index 7ec9ae868..a3a78d71e 100644 --- a/vanetza/asn1/its/DeltaReferencePositions.c +++ b/vanetza/asn1/its/DeltaReferencePositions.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_DeltaReferencePositions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_DeltaReferencePositions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DeltaReferencePositions_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_DeltaReferencePositions_1, diff --git a/vanetza/asn1/its/DeltaTime.c b/vanetza/asn1/its/DeltaTime.c index 82c54584b..967f7d09c 100644 --- a/vanetza/asn1/its/DeltaTime.c +++ b/vanetza/asn1/its/DeltaTime.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DeltaTime = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DeltaTime_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DeltaTime_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Depth.c b/vanetza/asn1/its/Depth.c index a376db7fb..293e57c28 100644 --- a/vanetza/asn1/its/Depth.c +++ b/vanetza/asn1/its/Depth.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Depth = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Depth_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Depth_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DescriptiveCharacteristics.c b/vanetza/asn1/its/DescriptiveCharacteristics.c index 75718902a..a083875f5 100644 --- a/vanetza/asn1/its/DescriptiveCharacteristics.c +++ b/vanetza/asn1/its/DescriptiveCharacteristics.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DescriptiveCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DescriptiveCharacteristics_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DescriptiveCharacteristics_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DescriptiveName.c b/vanetza/asn1/its/DescriptiveName.c index 00eb5c6ae..5207554ad 100644 --- a/vanetza/asn1/its/DescriptiveName.c +++ b/vanetza/asn1/its/DescriptiveName.c @@ -83,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_DescriptiveName = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DescriptiveName_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DescriptiveName_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DestinationPlace.c b/vanetza/asn1/its/DestinationPlace.c index d4ead829f..3824b765c 100644 --- a/vanetza/asn1/its/DestinationPlace.c +++ b/vanetza/asn1/its/DestinationPlace.c @@ -88,6 +88,9 @@ asn_TYPE_member_t asn_MBR_DestinationPlace_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +108,9 @@ asn_TYPE_member_t asn_MBR_DestinationPlace_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_destRSCode_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_destRSCode_constraint_1 }, 0, 0, /* No default value */ @@ -122,6 +128,9 @@ asn_TYPE_member_t asn_MBR_DestinationPlace_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -139,6 +148,9 @@ asn_TYPE_member_t asn_MBR_DestinationPlace_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_placeNameIdentification_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_placeNameIdentification_constraint_1 }, 0, 0, /* No default value */ @@ -156,6 +168,9 @@ asn_TYPE_member_t asn_MBR_DestinationPlace_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -199,6 +214,9 @@ asn_TYPE_descriptor_t asn_DEF_DestinationPlace = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DestinationPlace_1, diff --git a/vanetza/asn1/its/DestinationPlaces.c b/vanetza/asn1/its/DestinationPlaces.c index b980f6082..deed0d527 100644 --- a/vanetza/asn1/its/DestinationPlaces.c +++ b/vanetza/asn1/its/DestinationPlaces.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_DestinationPlaces_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_DestinationPlaces = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DestinationPlaces_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_DestinationPlaces_1, diff --git a/vanetza/asn1/its/DestinationRoad.c b/vanetza/asn1/its/DestinationRoad.c index 032c1b44b..5ed3409d5 100644 --- a/vanetza/asn1/its/DestinationRoad.c +++ b/vanetza/asn1/its/DestinationRoad.c @@ -57,6 +57,9 @@ asn_TYPE_member_t asn_MBR_DestinationRoad_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ asn_TYPE_member_t asn_MBR_DestinationRoad_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_roadNumberIdentifier_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_roadNumberIdentifier_constraint_1 }, 0, 0, /* No default value */ @@ -91,6 +97,9 @@ asn_TYPE_member_t asn_MBR_DestinationRoad_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -132,6 +141,9 @@ asn_TYPE_descriptor_t asn_DEF_DestinationRoad = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DestinationRoad_1, diff --git a/vanetza/asn1/its/DestinationRoadType.c b/vanetza/asn1/its/DestinationRoadType.c index a9bd166ad..b12a6694c 100644 --- a/vanetza/asn1/its/DestinationRoadType.c +++ b/vanetza/asn1/its/DestinationRoadType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DestinationRoadType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DestinationRoadType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DestinationRoadType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DestinationRoads.c b/vanetza/asn1/its/DestinationRoads.c index 640468321..39d10c2ad 100644 --- a/vanetza/asn1/its/DestinationRoads.c +++ b/vanetza/asn1/its/DestinationRoads.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_DestinationRoads_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_DestinationRoads = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DestinationRoads_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_DestinationRoads_1, diff --git a/vanetza/asn1/its/DestinationType.c b/vanetza/asn1/its/DestinationType.c index 888a1d901..8a1bf5dab 100644 --- a/vanetza/asn1/its/DestinationType.c +++ b/vanetza/asn1/its/DestinationType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DestinationType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DestinationType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DestinationType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DetectionArea.c b/vanetza/asn1/its/DetectionArea.c index 227be46db..4731fe378 100644 --- a/vanetza/asn1/its/DetectionArea.c +++ b/vanetza/asn1/its/DetectionArea.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_DetectionArea_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_DetectionArea_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_DetectionArea_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_DetectionArea_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_DetectionArea_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_DetectionArea_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -156,6 +174,9 @@ asn_TYPE_descriptor_t asn_DEF_DetectionArea = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DetectionArea_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_DetectionArea_1, diff --git a/vanetza/asn1/its/DieselEmissionValues.c b/vanetza/asn1/its/DieselEmissionValues.c index fff80bda6..e9b861a7d 100644 --- a/vanetza/asn1/its/DieselEmissionValues.c +++ b/vanetza/asn1/its/DieselEmissionValues.c @@ -57,6 +57,9 @@ static asn_TYPE_member_t asn_MBR_particulate_2[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ static asn_TYPE_member_t asn_MBR_particulate_2[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_value_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_value_constraint_2 }, 0, 0, /* No default value */ @@ -114,6 +120,9 @@ asn_TYPE_descriptor_t asn_DEF_particulate_2 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_particulate_2, @@ -134,6 +143,9 @@ asn_TYPE_member_t asn_MBR_DieselEmissionValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -151,6 +163,9 @@ asn_TYPE_member_t asn_MBR_DieselEmissionValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -189,6 +204,9 @@ asn_TYPE_descriptor_t asn_DEF_DieselEmissionValues = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DieselEmissionValues_1, diff --git a/vanetza/asn1/its/DigitalMap.c b/vanetza/asn1/its/DigitalMap.c index ee67ff741..528b4314b 100644 --- a/vanetza/asn1/its/DigitalMap.c +++ b/vanetza/asn1/its/DigitalMap.c @@ -32,6 +32,9 @@ static asn_TYPE_member_t asn_MBR_DigitalMap_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_DigitalMap = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DigitalMap_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_DigitalMap_1, diff --git a/vanetza/asn1/its/Direction.c b/vanetza/asn1/its/Direction.c index 7c263a100..5e0960be9 100644 --- a/vanetza/asn1/its/Direction.c +++ b/vanetza/asn1/its/Direction.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Direction = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Direction_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Direction_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Distance.c b/vanetza/asn1/its/Distance.c index d3abec3a0..6b6243814 100644 --- a/vanetza/asn1/its/Distance.c +++ b/vanetza/asn1/its/Distance.c @@ -94,6 +94,9 @@ asn_TYPE_member_t asn_MBR_Distance_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_value_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_value_constraint_1 }, 0, 0, /* No default value */ @@ -111,6 +114,9 @@ asn_TYPE_member_t asn_MBR_Distance_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_unit_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_unit_constraint_1 }, 0, 0, /* No default value */ @@ -149,6 +155,9 @@ asn_TYPE_descriptor_t asn_DEF_Distance = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Distance_1, diff --git a/vanetza/asn1/its/DistanceConfidence.c b/vanetza/asn1/its/DistanceConfidence.c index e508c2bc2..71478fb52 100644 --- a/vanetza/asn1/its/DistanceConfidence.c +++ b/vanetza/asn1/its/DistanceConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DistanceConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DistanceConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DistanceConfidence_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DistanceOrDuration.c b/vanetza/asn1/its/DistanceOrDuration.c index 6e520bad4..eb11d007b 100644 --- a/vanetza/asn1/its/DistanceOrDuration.c +++ b/vanetza/asn1/its/DistanceOrDuration.c @@ -94,6 +94,9 @@ asn_TYPE_member_t asn_MBR_DistanceOrDuration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_value_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_value_constraint_1 }, 0, 0, /* No default value */ @@ -111,6 +114,9 @@ asn_TYPE_member_t asn_MBR_DistanceOrDuration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_unit_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_unit_constraint_1 }, 0, 0, /* No default value */ @@ -149,6 +155,9 @@ asn_TYPE_descriptor_t asn_DEF_DistanceOrDuration = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_DistanceOrDuration_1, diff --git a/vanetza/asn1/its/DistanceValue.c b/vanetza/asn1/its/DistanceValue.c index 6033430d4..2f64ef48d 100644 --- a/vanetza/asn1/its/DistanceValue.c +++ b/vanetza/asn1/its/DistanceValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DistanceValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DistanceValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DistanceValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DriveDirection.c b/vanetza/asn1/its/DriveDirection.c index 16da6dceb..d4687f813 100644 --- a/vanetza/asn1/its/DriveDirection.c +++ b/vanetza/asn1/its/DriveDirection.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_DriveDirection = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DriveDirection_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/DrivenLineOffsetLg.c b/vanetza/asn1/its/DrivenLineOffsetLg.c index b86614634..62b504ae0 100644 --- a/vanetza/asn1/its/DrivenLineOffsetLg.c +++ b/vanetza/asn1/its/DrivenLineOffsetLg.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DrivenLineOffsetLg = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DrivenLineOffsetLg_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DrivenLineOffsetLg_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DrivenLineOffsetSm.c b/vanetza/asn1/its/DrivenLineOffsetSm.c index 9686fda2a..9e9e66aaa 100644 --- a/vanetza/asn1/its/DrivenLineOffsetSm.c +++ b/vanetza/asn1/its/DrivenLineOffsetSm.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DrivenLineOffsetSm = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DrivenLineOffsetSm_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DrivenLineOffsetSm_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DrivingLaneStatus.c b/vanetza/asn1/its/DrivingLaneStatus.c index 4e310c765..db577dd59 100644 --- a/vanetza/asn1/its/DrivingLaneStatus.c +++ b/vanetza/asn1/its/DrivingLaneStatus.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_DrivingLaneStatus_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_DrivingLaneStatus_constr_1 CC_NOTUSED = { + -1}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_DrivingLaneStatus_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_DrivingLaneStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DrivingLaneStatus_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_DrivingLaneStatus_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DrivingLaneStatus_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/DynamicStatus.c b/vanetza/asn1/its/DynamicStatus.c index 18de07877..5128dd864 100644 --- a/vanetza/asn1/its/DynamicStatus.c +++ b/vanetza/asn1/its/DynamicStatus.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_DynamicStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_DynamicStatus_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ DynamicStatus_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/EFC-ContextMark.c b/vanetza/asn1/its/EFC-ContextMark.c index ca887705d..4beeb0a2d 100644 --- a/vanetza/asn1/its/EFC-ContextMark.c +++ b/vanetza/asn1/its/EFC-ContextMark.c @@ -95,6 +95,9 @@ static asn_TYPE_member_t asn_MBR_EFC_ContextMark_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -112,6 +115,9 @@ static asn_TYPE_member_t asn_MBR_EFC_ContextMark_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_typeOfContract_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_typeOfContract_constraint_1 }, 0, 0, /* No default value */ @@ -129,6 +135,9 @@ static asn_TYPE_member_t asn_MBR_EFC_ContextMark_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_contextVersion_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_contextVersion_constraint_1 }, 0, 0, /* No default value */ @@ -168,6 +177,9 @@ asn_TYPE_descriptor_t asn_DEF_EFC_ContextMark = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_EFC_ContextMark_1, diff --git a/vanetza/asn1/its/EXTERNAL.c b/vanetza/asn1/its/EXTERNAL.c index baec28ac9..6c02f308d 100644 --- a/vanetza/asn1/its/EXTERNAL.c +++ b/vanetza/asn1/its/EXTERNAL.c @@ -1,7 +1,7 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "ASN1C-UsefulInformationObjectClasses" - * found in "/home/raphael/opt/asn1c/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" + * found in "/home/raphael/opt/asn1c-18e56503/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R` */ @@ -32,6 +32,9 @@ static asn_TYPE_member_t asn_MBR_encoding_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ static asn_TYPE_member_t asn_MBR_encoding_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ static asn_TYPE_member_t asn_MBR_encoding_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +112,9 @@ asn_TYPE_descriptor_t asn_DEF_encoding_5 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_encoding_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_encoding_5, @@ -123,6 +135,9 @@ static asn_TYPE_member_t asn_MBR_EXTERNAL_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +155,9 @@ static asn_TYPE_member_t asn_MBR_EXTERNAL_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +175,9 @@ static asn_TYPE_member_t asn_MBR_EXTERNAL_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +195,9 @@ static asn_TYPE_member_t asn_MBR_EXTERNAL_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -219,6 +243,9 @@ asn_TYPE_descriptor_t asn_DEF_EXTERNAL = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_EXTERNAL_1, diff --git a/vanetza/asn1/its/EXTERNAL.h b/vanetza/asn1/its/EXTERNAL.h index 6dbea898a..b59ee5a33 100644 --- a/vanetza/asn1/its/EXTERNAL.h +++ b/vanetza/asn1/its/EXTERNAL.h @@ -1,7 +1,7 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "ASN1C-UsefulInformationObjectClasses" - * found in "/home/raphael/opt/asn1c/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" + * found in "/home/raphael/opt/asn1c-18e56503/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R` */ diff --git a/vanetza/asn1/its/EfcDsrcApplication_DriverCharacteristics.c b/vanetza/asn1/its/EfcDsrcApplication_DriverCharacteristics.c index 8d5d9d77b..310de764c 100644 --- a/vanetza/asn1/its/EfcDsrcApplication_DriverCharacteristics.c +++ b/vanetza/asn1/its/EfcDsrcApplication_DriverCharacteristics.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_EfcDsrcApplication_DriverCharacteristics_1[] = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_EfcDsrcApplication_DriverCharacteristics_1[] = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_EfcDsrcApplication_DriverCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_EfcDsrcApplication_DriverCharacteristics_1, diff --git a/vanetza/asn1/its/EfcDsrcApplication_TrailerCharacteristics.c b/vanetza/asn1/its/EfcDsrcApplication_TrailerCharacteristics.c index 75bfff607..23cbcc8f3 100644 --- a/vanetza/asn1/its/EfcDsrcApplication_TrailerCharacteristics.c +++ b/vanetza/asn1/its/EfcDsrcApplication_TrailerCharacteristics.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_EfcDsrcApplication_TrailerCharacteristics_1[] = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_EfcDsrcApplication_TrailerCharacteristics_1[] = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ static asn_TYPE_member_t asn_MBR_EfcDsrcApplication_TrailerCharacteristics_1[] = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_EfcDsrcApplication_TrailerCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_EfcDsrcApplication_TrailerCharacteristics_1, diff --git a/vanetza/asn1/its/Elevation.c b/vanetza/asn1/its/Elevation.c index ec6bca736..a847540a0 100644 --- a/vanetza/asn1/its/Elevation.c +++ b/vanetza/asn1/its/Elevation.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Elevation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Elevation_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Elevation_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ElevationConfidence.c b/vanetza/asn1/its/ElevationConfidence.c index 7eb3a0942..0dbf61c7b 100644 --- a/vanetza/asn1/its/ElevationConfidence.c +++ b/vanetza/asn1/its/ElevationConfidence.c @@ -88,6 +88,9 @@ asn_TYPE_descriptor_t asn_DEF_ElevationConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ElevationConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/EmbarkationStatus.c b/vanetza/asn1/its/EmbarkationStatus.c index e251b6873..191768111 100644 --- a/vanetza/asn1/its/EmbarkationStatus.c +++ b/vanetza/asn1/its/EmbarkationStatus.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_EmbarkationStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ BOOLEAN_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/EmergencyContainer.c b/vanetza/asn1/its/EmergencyContainer.c index 1c4dc75c2..d2f443ba2 100644 --- a/vanetza/asn1/its/EmergencyContainer.c +++ b/vanetza/asn1/its/EmergencyContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_EmergencyContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_EmergencyContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_EmergencyContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_EmergencyContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_EmergencyContainer_1, diff --git a/vanetza/asn1/its/EmergencyPriority.c b/vanetza/asn1/its/EmergencyPriority.c index ebe4590c0..c282bb3e8 100644 --- a/vanetza/asn1/its/EmergencyPriority.c +++ b/vanetza/asn1/its/EmergencyPriority.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_EmergencyPriority_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_EmergencyPriority_constr_1 CC_NOTUSED = { + 2}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_EmergencyPriority_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_EmergencyPriority = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EmergencyPriority_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_EmergencyPriority_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ EmergencyPriority_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/EmergencyVehicleApproachingSubCauseCode.c b/vanetza/asn1/its/EmergencyVehicleApproachingSubCauseCode.c index 231d03d36..13df8f9f6 100644 --- a/vanetza/asn1/its/EmergencyVehicleApproachingSubCauseCode.c +++ b/vanetza/asn1/its/EmergencyVehicleApproachingSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_EmergencyVehicleApproachingSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EmergencyVehicleApproachingSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ EmergencyVehicleApproachingSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/EmissionType.c b/vanetza/asn1/its/EmissionType.c index 30c0da84b..df89d9cbc 100644 --- a/vanetza/asn1/its/EmissionType.c +++ b/vanetza/asn1/its/EmissionType.c @@ -70,6 +70,9 @@ asn_TYPE_descriptor_t asn_DEF_EmissionType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EmissionType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/EnabledLaneList.c b/vanetza/asn1/its/EnabledLaneList.c index 0f5ab04fa..2ece7a0ba 100644 --- a/vanetza/asn1/its/EnabledLaneList.c +++ b/vanetza/asn1/its/EnabledLaneList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_EnabledLaneList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_EnabledLaneList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EnabledLaneList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_EnabledLaneList_1, diff --git a/vanetza/asn1/its/EnergyStorageType.c b/vanetza/asn1/its/EnergyStorageType.c index b725f4d99..e2748cba6 100644 --- a/vanetza/asn1/its/EnergyStorageType.c +++ b/vanetza/asn1/its/EnergyStorageType.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_EnergyStorageType_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_EnergyStorageType_constr_1 CC_NOTUSED = { + 7}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_EnergyStorageType_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_EnergyStorageType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EnergyStorageType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_EnergyStorageType_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ EnergyStorageType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Engine.c b/vanetza/asn1/its/Engine.c index 5bc8e29f8..214d0d42d 100644 --- a/vanetza/asn1/its/Engine.c +++ b/vanetza/asn1/its/Engine.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_Engine_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_Engine_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Engine = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Engine_1, diff --git a/vanetza/asn1/its/EngineCharacteristics.c b/vanetza/asn1/its/EngineCharacteristics.c index 324879b4c..7e6f7f12b 100644 --- a/vanetza/asn1/its/EngineCharacteristics.c +++ b/vanetza/asn1/its/EngineCharacteristics.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_EngineCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EngineCharacteristics_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ EngineCharacteristics_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/EnvironmentalCharacteristics.c b/vanetza/asn1/its/EnvironmentalCharacteristics.c index 48c6224d8..97029cad4 100644 --- a/vanetza/asn1/its/EnvironmentalCharacteristics.c +++ b/vanetza/asn1/its/EnvironmentalCharacteristics.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_EnvironmentalCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_EnvironmentalCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_EnvironmentalCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_EnvironmentalCharacteristics_1, diff --git a/vanetza/asn1/its/EquipmentOBUId.c b/vanetza/asn1/its/EquipmentOBUId.c index 7283b9a45..58ecc7e34 100644 --- a/vanetza/asn1/its/EquipmentOBUId.c +++ b/vanetza/asn1/its/EquipmentOBUId.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_EquipmentOBUId = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/EquipmentStatus.c b/vanetza/asn1/its/EquipmentStatus.c index fe9bdeba0..fdc017b43 100644 --- a/vanetza/asn1/its/EquipmentStatus.c +++ b/vanetza/asn1/its/EquipmentStatus.c @@ -54,6 +54,10 @@ static asn_per_constraints_t asn_PER_type_EquipmentStatus_constr_1 CC_NOTUSED = 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_EquipmentStatus_constr_1 CC_NOTUSED = { + 16}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_EquipmentStatus_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_EquipmentStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EquipmentStatus_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_EquipmentStatus_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ EquipmentStatus_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/EuVehicleCategoryCode.c b/vanetza/asn1/its/EuVehicleCategoryCode.c index 365f19b20..d46b90db1 100644 --- a/vanetza/asn1/its/EuVehicleCategoryCode.c +++ b/vanetza/asn1/its/EuVehicleCategoryCode.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_EuVehicleCategoryCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_EuVehicleCategoryCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_EuVehicleCategoryCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_EuVehicleCategoryCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_EuVehicleCategoryCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_EuVehicleCategoryCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -156,6 +174,9 @@ asn_TYPE_descriptor_t asn_DEF_EuVehicleCategoryCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EuVehicleCategoryCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_EuVehicleCategoryCode_1, diff --git a/vanetza/asn1/its/EuVehicleCategoryL.c b/vanetza/asn1/its/EuVehicleCategoryL.c index e792d4059..8606d140d 100644 --- a/vanetza/asn1/its/EuVehicleCategoryL.c +++ b/vanetza/asn1/its/EuVehicleCategoryL.c @@ -70,6 +70,9 @@ asn_TYPE_descriptor_t asn_DEF_EuVehicleCategoryL = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EuVehicleCategoryL_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/EuVehicleCategoryM.c b/vanetza/asn1/its/EuVehicleCategoryM.c index 14b3cc6e2..6d2e2ec49 100644 --- a/vanetza/asn1/its/EuVehicleCategoryM.c +++ b/vanetza/asn1/its/EuVehicleCategoryM.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_EuVehicleCategoryM = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EuVehicleCategoryM_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/EuVehicleCategoryN.c b/vanetza/asn1/its/EuVehicleCategoryN.c index 932341ab8..509fdeab2 100644 --- a/vanetza/asn1/its/EuVehicleCategoryN.c +++ b/vanetza/asn1/its/EuVehicleCategoryN.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_EuVehicleCategoryN = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EuVehicleCategoryN_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/EuVehicleCategoryO.c b/vanetza/asn1/its/EuVehicleCategoryO.c index d83653c98..91f408be7 100644 --- a/vanetza/asn1/its/EuVehicleCategoryO.c +++ b/vanetza/asn1/its/EuVehicleCategoryO.c @@ -64,6 +64,9 @@ asn_TYPE_descriptor_t asn_DEF_EuVehicleCategoryO = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EuVehicleCategoryO_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/EuroValue.c b/vanetza/asn1/its/EuroValue.c index 8ca7f7d97..56a4b9d47 100644 --- a/vanetza/asn1/its/EuroValue.c +++ b/vanetza/asn1/its/EuroValue.c @@ -88,6 +88,9 @@ asn_TYPE_descriptor_t asn_DEF_EuroValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EuroValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/EventHistory.c b/vanetza/asn1/its/EventHistory.c index 6c25a0471..272d0d7f7 100644 --- a/vanetza/asn1/its/EventHistory.c +++ b/vanetza/asn1/its/EventHistory.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_EventHistory_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_EventHistory = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_EventHistory_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_EventHistory_1, diff --git a/vanetza/asn1/its/EventPoint.c b/vanetza/asn1/its/EventPoint.c index b7692c51c..f12736105 100644 --- a/vanetza/asn1/its/EventPoint.c +++ b/vanetza/asn1/its/EventPoint.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_EventPoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_EventPoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_EventPoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_EventPoint = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_EventPoint_1, diff --git a/vanetza/asn1/its/ExceptionalCondition.c b/vanetza/asn1/its/ExceptionalCondition.c index 7b31d8aa3..6ad08fa52 100644 --- a/vanetza/asn1/its/ExceptionalCondition.c +++ b/vanetza/asn1/its/ExceptionalCondition.c @@ -84,6 +84,9 @@ asn_TYPE_descriptor_t asn_DEF_ExceptionalCondition = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ExceptionalCondition_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ExhaustEmissionValues.c b/vanetza/asn1/its/ExhaustEmissionValues.c index 383952912..ce06c3e34 100644 --- a/vanetza/asn1/its/ExhaustEmissionValues.c +++ b/vanetza/asn1/its/ExhaustEmissionValues.c @@ -57,6 +57,9 @@ asn_TYPE_member_t asn_MBR_ExhaustEmissionValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ asn_TYPE_member_t asn_MBR_ExhaustEmissionValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_emissionCO_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_emissionCO_constraint_1 }, 0, 0, /* No default value */ @@ -91,6 +97,9 @@ asn_TYPE_member_t asn_MBR_ExhaustEmissionValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -108,6 +117,9 @@ asn_TYPE_member_t asn_MBR_ExhaustEmissionValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -125,6 +137,9 @@ asn_TYPE_member_t asn_MBR_ExhaustEmissionValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -166,6 +181,9 @@ asn_TYPE_descriptor_t asn_DEF_ExhaustEmissionValues = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ExhaustEmissionValues_1, diff --git a/vanetza/asn1/its/Ext1.c b/vanetza/asn1/its/Ext1.c index adee320c9..6f5b3ebb6 100644 --- a/vanetza/asn1/its/Ext1.c +++ b/vanetza/asn1/its/Ext1.c @@ -69,6 +69,9 @@ asn_TYPE_member_t asn_MBR_Ext1_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_content_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_content_constraint_1 }, 0, 0, /* No default value */ @@ -86,6 +89,9 @@ asn_TYPE_member_t asn_MBR_Ext1_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -121,6 +127,9 @@ asn_TYPE_descriptor_t asn_DEF_Ext1 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Ext1_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Ext1_1, diff --git a/vanetza/asn1/its/Ext2.c b/vanetza/asn1/its/Ext2.c index 4c4f8b1f9..98d92a442 100644 --- a/vanetza/asn1/its/Ext2.c +++ b/vanetza/asn1/its/Ext2.c @@ -69,6 +69,9 @@ asn_TYPE_member_t asn_MBR_Ext2_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_content_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_content_constraint_1 }, 0, 0, /* No default value */ @@ -86,6 +89,9 @@ asn_TYPE_member_t asn_MBR_Ext2_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -121,6 +127,9 @@ asn_TYPE_descriptor_t asn_DEF_Ext2 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Ext2_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Ext2_1, diff --git a/vanetza/asn1/its/Ext3.c b/vanetza/asn1/its/Ext3.c index 34dd59fec..16470efb9 100644 --- a/vanetza/asn1/its/Ext3.c +++ b/vanetza/asn1/its/Ext3.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Ext3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Ext3_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Ext3_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ExteriorLights.c b/vanetza/asn1/its/ExteriorLights.c index 2c670f2c7..58acc997e 100644 --- a/vanetza/asn1/its/ExteriorLights.c +++ b/vanetza/asn1/its/ExteriorLights.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_ExteriorLights_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_ExteriorLights_constr_1 CC_NOTUSED = { + 8}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_ExteriorLights_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_ExteriorLights = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ExteriorLights_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_ExteriorLights_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ExteriorLights_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/FreeSpaceAddendum.c b/vanetza/asn1/its/FreeSpaceAddendum.c index 54890e214..01085ba4c 100644 --- a/vanetza/asn1/its/FreeSpaceAddendum.c +++ b/vanetza/asn1/its/FreeSpaceAddendum.c @@ -42,6 +42,9 @@ asn_TYPE_member_t asn_MBR_FreeSpaceAddendum_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -59,6 +62,9 @@ asn_TYPE_member_t asn_MBR_FreeSpaceAddendum_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -76,6 +82,9 @@ asn_TYPE_member_t asn_MBR_FreeSpaceAddendum_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_member_t asn_MBR_FreeSpaceAddendum_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_5_cmp_1, /* Compare DEFAULT 1 */ @@ -136,6 +148,9 @@ asn_TYPE_descriptor_t asn_DEF_FreeSpaceAddendum = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_FreeSpaceAddendum_1, diff --git a/vanetza/asn1/its/FreeSpaceAddendumContainer.c b/vanetza/asn1/its/FreeSpaceAddendumContainer.c index 2091a9e18..d75617ba6 100644 --- a/vanetza/asn1/its/FreeSpaceAddendumContainer.c +++ b/vanetza/asn1/its/FreeSpaceAddendumContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_FreeSpaceAddendumContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_FreeSpaceAddendumContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_FreeSpaceAddendumContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_FreeSpaceAddendumContainer_1, diff --git a/vanetza/asn1/its/FreeSpaceArea.c b/vanetza/asn1/its/FreeSpaceArea.c index 60971d641..1c96226d1 100644 --- a/vanetza/asn1/its/FreeSpaceArea.c +++ b/vanetza/asn1/its/FreeSpaceArea.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_FreeSpaceArea_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_FreeSpaceArea_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_FreeSpaceArea_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_FreeSpaceArea_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -120,6 +132,9 @@ asn_TYPE_descriptor_t asn_DEF_FreeSpaceArea = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_FreeSpaceArea_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_FreeSpaceArea_1, diff --git a/vanetza/asn1/its/FreeSpaceConfidence.c b/vanetza/asn1/its/FreeSpaceConfidence.c index 5134553d6..4d4704611 100644 --- a/vanetza/asn1/its/FreeSpaceConfidence.c +++ b/vanetza/asn1/its/FreeSpaceConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_FreeSpaceConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_FreeSpaceConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ FreeSpaceConfidence_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/FreightContainerData.c b/vanetza/asn1/its/FreightContainerData.c index 633f4d0d7..212171302 100644 --- a/vanetza/asn1/its/FreightContainerData.c +++ b/vanetza/asn1/its/FreightContainerData.c @@ -281,6 +281,10 @@ static asn_per_constraints_t asn_PER_memb_ownerCode_constr_2 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_memb_ownerCode_constr_2 CC_NOTUSED = { + 19}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ #if !defined(ASN_DISABLE_OER_SUPPORT) static asn_oer_constraints_t asn_OER_memb_serialNumber_constr_3 CC_NOTUSED = { { 4, 1 } /* (0..1000000) */, @@ -389,6 +393,10 @@ static asn_per_constraints_t asn_PER_memb_fill_constr_11 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_memb_fill_constr_11 CC_NOTUSED = { + 3}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_TYPE_member_t asn_MBR_FreightContainerData_1[] = { { ATF_NOFLAGS, 0, offsetof(struct FreightContainerData, ownerCode), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), @@ -402,6 +410,9 @@ asn_TYPE_member_t asn_MBR_FreightContainerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_ownerCode_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_memb_ownerCode_constr_2, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_ownerCode_constraint_1 }, 0, 0, /* No default value */ @@ -419,6 +430,9 @@ asn_TYPE_member_t asn_MBR_FreightContainerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_serialNumber_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_serialNumber_constraint_1 }, 0, 0, /* No default value */ @@ -436,6 +450,9 @@ asn_TYPE_member_t asn_MBR_FreightContainerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_checkDigit_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_checkDigit_constraint_1 }, 0, 0, /* No default value */ @@ -453,6 +470,9 @@ asn_TYPE_member_t asn_MBR_FreightContainerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_length_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_length_constraint_1 }, 0, 0, /* No default value */ @@ -470,6 +490,9 @@ asn_TYPE_member_t asn_MBR_FreightContainerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_height_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_height_constraint_1 }, 0, 0, /* No default value */ @@ -487,6 +510,9 @@ asn_TYPE_member_t asn_MBR_FreightContainerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_width_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_width_constraint_1 }, 0, 0, /* No default value */ @@ -504,6 +530,9 @@ asn_TYPE_member_t asn_MBR_FreightContainerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_containerTypeCode_constr_8, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_containerTypeCode_constraint_1 }, 0, 0, /* No default value */ @@ -521,6 +550,9 @@ asn_TYPE_member_t asn_MBR_FreightContainerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_maximumGrossMass_constr_9, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_maximumGrossMass_constraint_1 }, 0, 0, /* No default value */ @@ -538,6 +570,9 @@ asn_TYPE_member_t asn_MBR_FreightContainerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_tareMass_constr_10, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_tareMass_constraint_1 }, 0, 0, /* No default value */ @@ -555,6 +590,9 @@ asn_TYPE_member_t asn_MBR_FreightContainerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_fill_constr_11, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_memb_fill_constr_11, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_fill_constraint_1 }, 0, 0, /* No default value */ @@ -601,6 +639,9 @@ asn_TYPE_descriptor_t asn_DEF_FreightContainerData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_FreightContainerData_1, diff --git a/vanetza/asn1/its/FrictionCoefficient.c b/vanetza/asn1/its/FrictionCoefficient.c index 01e937337..424c95e35 100644 --- a/vanetza/asn1/its/FrictionCoefficient.c +++ b/vanetza/asn1/its/FrictionCoefficient.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_FrictionCoefficient = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_FrictionCoefficient_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ FrictionCoefficient_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/FrontOverhang.c b/vanetza/asn1/its/FrontOverhang.c index 274dbc009..f6264c049 100644 --- a/vanetza/asn1/its/FrontOverhang.c +++ b/vanetza/asn1/its/FrontOverhang.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_FrontOverhang = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_FrontOverhang_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ FrontOverhang_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/FuelType.c b/vanetza/asn1/its/FuelType.c index 5aec588bb..ea0f028a4 100644 --- a/vanetza/asn1/its/FuelType.c +++ b/vanetza/asn1/its/FuelType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_FuelType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_FuelType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ FuelType_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/FullPositionVector.c b/vanetza/asn1/its/FullPositionVector.c index fb28e67bb..d7660ff3f 100644 --- a/vanetza/asn1/its/FullPositionVector.c +++ b/vanetza/asn1/its/FullPositionVector.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_FullPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_FullPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_FullPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_FullPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_FullPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_FullPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -122,6 +140,9 @@ asn_TYPE_member_t asn_MBR_FullPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -139,6 +160,9 @@ asn_TYPE_member_t asn_MBR_FullPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -156,6 +180,9 @@ asn_TYPE_member_t asn_MBR_FullPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -173,6 +200,9 @@ asn_TYPE_member_t asn_MBR_FullPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -221,6 +251,9 @@ asn_TYPE_descriptor_t asn_DEF_FullPositionVector = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_FullPositionVector_1, diff --git a/vanetza/asn1/its/FutureCharacteristics.c b/vanetza/asn1/its/FutureCharacteristics.c index 2dfeb83ae..5d3c20579 100644 --- a/vanetza/asn1/its/FutureCharacteristics.c +++ b/vanetza/asn1/its/FutureCharacteristics.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_FutureCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_FutureCharacteristics_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ FutureCharacteristics_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/GNSSstatus.c b/vanetza/asn1/its/GNSSstatus.c index 66aad136b..634e65e00 100644 --- a/vanetza/asn1/its/GNSSstatus.c +++ b/vanetza/asn1/its/GNSSstatus.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_GNSSstatus_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_GNSSstatus_constr_1 CC_NOTUSED = { + 8}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_GNSSstatus_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_GNSSstatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_GNSSstatus_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_GNSSstatus_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ GNSSstatus_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/GapBetweenVehicles.c b/vanetza/asn1/its/GapBetweenVehicles.c index 17cd66437..6f6876490 100644 --- a/vanetza/asn1/its/GapBetweenVehicles.c +++ b/vanetza/asn1/its/GapBetweenVehicles.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_GapBetweenVehicles = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_GapBetweenVehicles_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ GapBetweenVehicles_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/GddAttribute.c b/vanetza/asn1/its/GddAttribute.c index c2100838a..628d7bb86 100644 --- a/vanetza/asn1/its/GddAttribute.c +++ b/vanetza/asn1/its/GddAttribute.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_GddAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_GddAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_GddAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_GddAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_GddAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_GddAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -134,6 +152,9 @@ asn_TYPE_member_t asn_MBR_GddAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -151,6 +172,9 @@ asn_TYPE_member_t asn_MBR_GddAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -168,6 +192,9 @@ asn_TYPE_member_t asn_MBR_GddAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -185,6 +212,9 @@ asn_TYPE_member_t asn_MBR_GddAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -228,6 +258,9 @@ asn_TYPE_descriptor_t asn_DEF_GddAttribute = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_GddAttribute_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_GddAttribute_1, diff --git a/vanetza/asn1/its/GddAttributes.c b/vanetza/asn1/its/GddAttributes.c index 97e63aaa8..6ea4541b1 100644 --- a/vanetza/asn1/its/GddAttributes.c +++ b/vanetza/asn1/its/GddAttributes.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_GddAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_GddAttributes = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_GddAttributes_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_GddAttributes_1, diff --git a/vanetza/asn1/its/GddStructure.c b/vanetza/asn1/its/GddStructure.c index 1f7fb4730..4ad9d6778 100644 --- a/vanetza/asn1/its/GddStructure.c +++ b/vanetza/asn1/its/GddStructure.c @@ -222,6 +222,9 @@ asn_TYPE_descriptor_t asn_DEF_trafficSignPictogram_5 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_trafficSignPictogram_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ @@ -267,6 +270,9 @@ asn_TYPE_descriptor_t asn_DEF_publicFacilitiesPictogram_10 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_publicFacilitiesPictogram_constr_10, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ @@ -314,6 +320,9 @@ asn_TYPE_descriptor_t asn_DEF_ambientOrRoadConditionPictogram_13 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ambientOrRoadConditionPictogram_constr_13, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ @@ -333,6 +342,9 @@ static asn_TYPE_member_t asn_MBR_serviceCategoryCode_4[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -350,6 +362,9 @@ static asn_TYPE_member_t asn_MBR_serviceCategoryCode_4[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -367,6 +382,9 @@ static asn_TYPE_member_t asn_MBR_serviceCategoryCode_4[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -404,6 +422,9 @@ asn_TYPE_descriptor_t asn_DEF_serviceCategoryCode_4 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_serviceCategoryCode_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_serviceCategoryCode_4, @@ -424,6 +445,9 @@ static asn_TYPE_member_t asn_MBR_pictogramCategoryCode_18[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_nature_constr_19, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_nature_constraint_18 }, 0, 0, /* No default value */ @@ -441,6 +465,9 @@ static asn_TYPE_member_t asn_MBR_pictogramCategoryCode_18[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_serialNumber_constr_20, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_serialNumber_constraint_18 }, 0, 0, /* No default value */ @@ -481,6 +508,9 @@ asn_TYPE_descriptor_t asn_DEF_pictogramCategoryCode_18 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_pictogramCategoryCode_18, @@ -501,6 +531,9 @@ static asn_TYPE_member_t asn_MBR_pictogramCode_2[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_countryCode_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_countryCode_constraint_2 }, 0, 0, /* No default value */ @@ -518,6 +551,9 @@ static asn_TYPE_member_t asn_MBR_pictogramCode_2[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -535,6 +571,9 @@ static asn_TYPE_member_t asn_MBR_pictogramCode_2[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -578,6 +617,9 @@ asn_TYPE_descriptor_t asn_DEF_pictogramCode_2 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_pictogramCode_2, @@ -598,6 +640,9 @@ asn_TYPE_member_t asn_MBR_GddStructure_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -615,6 +660,9 @@ asn_TYPE_member_t asn_MBR_GddStructure_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -655,6 +703,9 @@ asn_TYPE_descriptor_t asn_DEF_GddStructure = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_GddStructure_1, diff --git a/vanetza/asn1/its/GeneralIviContainer.c b/vanetza/asn1/its/GeneralIviContainer.c index 20e236635..358c239f9 100644 --- a/vanetza/asn1/its/GeneralIviContainer.c +++ b/vanetza/asn1/its/GeneralIviContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_GeneralIviContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_GeneralIviContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_GeneralIviContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_GeneralIviContainer_1, diff --git a/vanetza/asn1/its/GenerationDeltaTime.c b/vanetza/asn1/its/GenerationDeltaTime.c index 124cec1ed..03629d014 100644 --- a/vanetza/asn1/its/GenerationDeltaTime.c +++ b/vanetza/asn1/its/GenerationDeltaTime.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_GenerationDeltaTime = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_GenerationDeltaTime_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ GenerationDeltaTime_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/GenericLane.c b/vanetza/asn1/its/GenericLane.c index 503946852..ec428a9fb 100644 --- a/vanetza/asn1/its/GenericLane.c +++ b/vanetza/asn1/its/GenericLane.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_11[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_11 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_11, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_11, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_GenericLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_GenericLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_GenericLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_GenericLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_GenericLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_GenericLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -225,6 +249,9 @@ asn_TYPE_member_t asn_MBR_GenericLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -242,6 +269,9 @@ asn_TYPE_member_t asn_MBR_GenericLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -259,6 +289,9 @@ asn_TYPE_member_t asn_MBR_GenericLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -276,6 +309,9 @@ asn_TYPE_member_t asn_MBR_GenericLane_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_11, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -324,6 +360,9 @@ asn_TYPE_descriptor_t asn_DEF_GenericLane = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_GenericLane_1, diff --git a/vanetza/asn1/its/GeoGraphicalLimit.c b/vanetza/asn1/its/GeoGraphicalLimit.c index 5a265fa68..3f22ec446 100644 --- a/vanetza/asn1/its/GeoGraphicalLimit.c +++ b/vanetza/asn1/its/GeoGraphicalLimit.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_GeoGraphicalLimit_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_GeoGraphicalLimit_constr_1 CC_NOTUSED = { + 8}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_GeoGraphicalLimit_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_GeoGraphicalLimit = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_GeoGraphicalLimit_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_GeoGraphicalLimit_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ GeoGraphicalLimit_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/GeographicLocationContainer.c b/vanetza/asn1/its/GeographicLocationContainer.c index 42af3b3f2..c3fe9b853 100644 --- a/vanetza/asn1/its/GeographicLocationContainer.c +++ b/vanetza/asn1/its/GeographicLocationContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_GeographicLocationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_GeographicLocationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_GeographicLocationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_GeographicLocationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_GeographicLocationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -131,6 +146,9 @@ asn_TYPE_descriptor_t asn_DEF_GeographicLocationContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_GeographicLocationContainer_1, diff --git a/vanetza/asn1/its/GetInstanceRq.c b/vanetza/asn1/its/GetInstanceRq.c index f8f2f090d..28d860bf1 100644 --- a/vanetza/asn1/its/GetInstanceRq.c +++ b/vanetza/asn1/its/GetInstanceRq.c @@ -94,6 +94,9 @@ static asn_TYPE_member_t asn_MBR_GetInstanceRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_posOfFirstInstance_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_posOfFirstInstance_constraint_1 }, 0, 0, /* No default value */ @@ -111,6 +114,9 @@ static asn_TYPE_member_t asn_MBR_GetInstanceRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_posOfLastInstance_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_posOfLastInstance_constraint_1 }, 0, 0, /* No default value */ @@ -128,6 +134,9 @@ static asn_TYPE_member_t asn_MBR_GetInstanceRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -167,6 +176,9 @@ asn_TYPE_descriptor_t asn_DEF_GetInstanceRq = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_GetInstanceRq_1, diff --git a/vanetza/asn1/its/GetStampedRq.c b/vanetza/asn1/its/GetStampedRq.c index f86229e83..c5995a0e6 100644 --- a/vanetza/asn1/its/GetStampedRq.c +++ b/vanetza/asn1/its/GetStampedRq.c @@ -57,6 +57,9 @@ static asn_TYPE_member_t asn_MBR_GetStampedRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ static asn_TYPE_member_t asn_MBR_GetStampedRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -91,6 +97,9 @@ static asn_TYPE_member_t asn_MBR_GetStampedRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_keyRef_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_keyRef_constraint_1 }, 0, 0, /* No default value */ @@ -130,6 +139,9 @@ asn_TYPE_descriptor_t asn_DEF_GetStampedRq = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_GetStampedRq_1, diff --git a/vanetza/asn1/its/GicPart.c b/vanetza/asn1/its/GicPart.c index e9808c262..3c75b1569 100644 --- a/vanetza/asn1/its/GicPart.c +++ b/vanetza/asn1/its/GicPart.c @@ -131,6 +131,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -148,6 +151,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -165,6 +171,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -182,6 +191,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -199,6 +211,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -216,6 +231,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_minimumAwarenessTime_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_minimumAwarenessTime_constraint_1 }, 0, 0, /* No default value */ @@ -233,6 +251,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -250,6 +271,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -267,6 +291,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -284,6 +311,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -301,6 +331,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -318,6 +351,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -335,6 +371,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_layoutId_constr_14, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_layoutId_constraint_1 }, 0, 0, /* No default value */ @@ -352,6 +391,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_preStoredlayoutId_constr_15, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_preStoredlayoutId_constraint_1 }, 0, 0, /* No default value */ @@ -369,6 +411,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -386,6 +431,9 @@ asn_TYPE_member_t asn_MBR_GicPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -440,6 +488,9 @@ asn_TYPE_descriptor_t asn_DEF_GicPart = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_GicPart_1, diff --git a/vanetza/asn1/its/GlcPart.c b/vanetza/asn1/its/GlcPart.c index c0b179a7e..541656640 100644 --- a/vanetza/asn1/its/GlcPart.c +++ b/vanetza/asn1/its/GlcPart.c @@ -57,6 +57,9 @@ asn_TYPE_member_t asn_MBR_GlcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ asn_TYPE_member_t asn_MBR_GlcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -91,6 +97,9 @@ asn_TYPE_member_t asn_MBR_GlcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_zoneExtension_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_zoneExtension_constraint_1 }, 0, 0, /* No default value */ @@ -108,6 +117,9 @@ asn_TYPE_member_t asn_MBR_GlcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -125,6 +137,9 @@ asn_TYPE_member_t asn_MBR_GlcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -168,6 +183,9 @@ asn_TYPE_descriptor_t asn_DEF_GlcPart = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_GlcPart_1, diff --git a/vanetza/asn1/its/GlcParts.c b/vanetza/asn1/its/GlcParts.c index 40fee5821..40d7288d0 100644 --- a/vanetza/asn1/its/GlcParts.c +++ b/vanetza/asn1/its/GlcParts.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_GlcParts_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_GlcParts = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_GlcParts_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_GlcParts_1, diff --git a/vanetza/asn1/its/GoodsType.c b/vanetza/asn1/its/GoodsType.c index efaabd45e..52d600af2 100644 --- a/vanetza/asn1/its/GoodsType.c +++ b/vanetza/asn1/its/GoodsType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_GoodsType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_GoodsType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ GoodsType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/HardShoulderStatus.c b/vanetza/asn1/its/HardShoulderStatus.c index 0bd377644..d89aa593a 100644 --- a/vanetza/asn1/its/HardShoulderStatus.c +++ b/vanetza/asn1/its/HardShoulderStatus.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_HardShoulderStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HardShoulderStatus_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/HazardousLocation-AnimalOnTheRoadSubCauseCode.c b/vanetza/asn1/its/HazardousLocation-AnimalOnTheRoadSubCauseCode.c index 112c15f3e..99e3d566e 100644 --- a/vanetza/asn1/its/HazardousLocation-AnimalOnTheRoadSubCauseCode.c +++ b/vanetza/asn1/its/HazardousLocation-AnimalOnTheRoadSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_HazardousLocation_AnimalOnTheRoadSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HazardousLocation_AnimalOnTheRoadSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ HazardousLocation_AnimalOnTheRoadSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/HazardousLocation-DangerousCurveSubCauseCode.c b/vanetza/asn1/its/HazardousLocation-DangerousCurveSubCauseCode.c index 3b0cb10e9..a7fa9b892 100644 --- a/vanetza/asn1/its/HazardousLocation-DangerousCurveSubCauseCode.c +++ b/vanetza/asn1/its/HazardousLocation-DangerousCurveSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_HazardousLocation_DangerousCurveSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HazardousLocation_DangerousCurveSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ HazardousLocation_DangerousCurveSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/HazardousLocation-ObstacleOnTheRoadSubCauseCode.c b/vanetza/asn1/its/HazardousLocation-ObstacleOnTheRoadSubCauseCode.c index 99232a4b7..bc1bfdd6a 100644 --- a/vanetza/asn1/its/HazardousLocation-ObstacleOnTheRoadSubCauseCode.c +++ b/vanetza/asn1/its/HazardousLocation-ObstacleOnTheRoadSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_HazardousLocation_ObstacleOnTheRoadSubCauseCode = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HazardousLocation_ObstacleOnTheRoadSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ HazardousLocation_ObstacleOnTheRoadSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/HazardousLocation-SurfaceConditionSubCauseCode.c b/vanetza/asn1/its/HazardousLocation-SurfaceConditionSubCauseCode.c index 8f9b6ccca..9ff9949d5 100644 --- a/vanetza/asn1/its/HazardousLocation-SurfaceConditionSubCauseCode.c +++ b/vanetza/asn1/its/HazardousLocation-SurfaceConditionSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_HazardousLocation_SurfaceConditionSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HazardousLocation_SurfaceConditionSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ HazardousLocation_SurfaceConditionSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Heading.c b/vanetza/asn1/its/Heading.c index ae21b83ce..15408c3bd 100644 --- a/vanetza/asn1/its/Heading.c +++ b/vanetza/asn1/its/Heading.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Heading_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Heading_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Heading = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Heading_1, diff --git a/vanetza/asn1/its/HeadingConfidence.c b/vanetza/asn1/its/HeadingConfidence.c index 9bc2ea73c..1546e6390 100644 --- a/vanetza/asn1/its/HeadingConfidence.c +++ b/vanetza/asn1/its/HeadingConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_HeadingConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HeadingConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ HeadingConfidence_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/HeadingIso.c b/vanetza/asn1/its/HeadingIso.c index 3eeb92255..45447e416 100644 --- a/vanetza/asn1/its/HeadingIso.c +++ b/vanetza/asn1/its/HeadingIso.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_HeadingIso = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HeadingIso_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ HeadingIso_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/HeadingIsoConfidenceIso.c b/vanetza/asn1/its/HeadingIsoConfidenceIso.c index fad3ea5d8..d2001b499 100644 --- a/vanetza/asn1/its/HeadingIsoConfidenceIso.c +++ b/vanetza/asn1/its/HeadingIsoConfidenceIso.c @@ -72,6 +72,9 @@ asn_TYPE_descriptor_t asn_DEF_HeadingIsoConfidenceIso = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HeadingIsoConfidenceIso_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/HeadingValue.c b/vanetza/asn1/its/HeadingValue.c index a90124219..478c11354 100644 --- a/vanetza/asn1/its/HeadingValue.c +++ b/vanetza/asn1/its/HeadingValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_HeadingValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HeadingValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ HeadingValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/HeightLonCarr.c b/vanetza/asn1/its/HeightLonCarr.c index 447b3235b..f2d25908f 100644 --- a/vanetza/asn1/its/HeightLonCarr.c +++ b/vanetza/asn1/its/HeightLonCarr.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_HeightLonCarr = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HeightLonCarr_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ HeightLonCarr_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/HighFrequencyContainer.c b/vanetza/asn1/its/HighFrequencyContainer.c index a61c0a628..3be61eabf 100644 --- a/vanetza/asn1/its/HighFrequencyContainer.c +++ b/vanetza/asn1/its/HighFrequencyContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_HighFrequencyContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_HighFrequencyContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_HighFrequencyContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HighFrequencyContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_HighFrequencyContainer_1, diff --git a/vanetza/asn1/its/HitchPointOffset.c b/vanetza/asn1/its/HitchPointOffset.c index 191de67f9..bb4a47ba9 100644 --- a/vanetza/asn1/its/HitchPointOffset.c +++ b/vanetza/asn1/its/HitchPointOffset.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_HitchPointOffset = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HitchPointOffset_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ HitchPointOffset_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/HoursMinutes.c b/vanetza/asn1/its/HoursMinutes.c index ef1297c90..95f3b7041 100644 --- a/vanetza/asn1/its/HoursMinutes.c +++ b/vanetza/asn1/its/HoursMinutes.c @@ -94,6 +94,9 @@ asn_TYPE_member_t asn_MBR_HoursMinutes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_hours_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_hours_constraint_1 }, 0, 0, /* No default value */ @@ -111,6 +114,9 @@ asn_TYPE_member_t asn_MBR_HoursMinutes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_mins_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_mins_constraint_1 }, 0, 0, /* No default value */ @@ -149,6 +155,9 @@ asn_TYPE_descriptor_t asn_DEF_HoursMinutes = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_HoursMinutes_1, diff --git a/vanetza/asn1/its/HumanPresenceOnTheRoadSubCauseCode.c b/vanetza/asn1/its/HumanPresenceOnTheRoadSubCauseCode.c index d9208008a..8cbf6d99e 100644 --- a/vanetza/asn1/its/HumanPresenceOnTheRoadSubCauseCode.c +++ b/vanetza/asn1/its/HumanPresenceOnTheRoadSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_HumanPresenceOnTheRoadSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HumanPresenceOnTheRoadSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ HumanPresenceOnTheRoadSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/HumanProblemSubCauseCode.c b/vanetza/asn1/its/HumanProblemSubCauseCode.c index eca20b7d5..461f7e6fc 100644 --- a/vanetza/asn1/its/HumanProblemSubCauseCode.c +++ b/vanetza/asn1/its/HumanProblemSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_HumanProblemSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_HumanProblemSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ HumanProblemSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ICC-Id.c b/vanetza/asn1/its/ICC-Id.c index cf8acb9aa..d22895ce1 100644 --- a/vanetza/asn1/its/ICC-Id.c +++ b/vanetza/asn1/its/ICC-Id.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_ICC_Id = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ISO14823Attribute.c b/vanetza/asn1/its/ISO14823Attribute.c index debb961f7..cd903f6a2 100644 --- a/vanetza/asn1/its/ISO14823Attribute.c +++ b/vanetza/asn1/its/ISO14823Attribute.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ISO14823Attribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_ISO14823Attribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_ISO14823Attribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_ISO14823Attribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_ISO14823Attribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_ISO14823Attribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -134,6 +152,9 @@ asn_TYPE_member_t asn_MBR_ISO14823Attribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -151,6 +172,9 @@ asn_TYPE_member_t asn_MBR_ISO14823Attribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -192,6 +216,9 @@ asn_TYPE_descriptor_t asn_DEF_ISO14823Attribute = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ISO14823Attribute_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_ISO14823Attribute_1, diff --git a/vanetza/asn1/its/ISO14823Attributes.c b/vanetza/asn1/its/ISO14823Attributes.c index 91c7de3d2..d781a2b89 100644 --- a/vanetza/asn1/its/ISO14823Attributes.c +++ b/vanetza/asn1/its/ISO14823Attributes.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ISO14823Attributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_ISO14823Attributes = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ISO14823Attributes_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ISO14823Attributes_1, diff --git a/vanetza/asn1/its/ISO14823Code.c b/vanetza/asn1/its/ISO14823Code.c index 61fed4604..a89ace390 100644 --- a/vanetza/asn1/its/ISO14823Code.c +++ b/vanetza/asn1/its/ISO14823Code.c @@ -222,6 +222,9 @@ asn_TYPE_descriptor_t asn_DEF_trafficSignPictogram_5 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_trafficSignPictogram_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ @@ -267,6 +270,9 @@ asn_TYPE_descriptor_t asn_DEF_publicFacilitiesPictogram_10 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_publicFacilitiesPictogram_constr_10, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ @@ -314,6 +320,9 @@ asn_TYPE_descriptor_t asn_DEF_ambientOrRoadConditionPictogram_13 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ambientOrRoadConditionPictogram_constr_13, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ @@ -333,6 +342,9 @@ static asn_TYPE_member_t asn_MBR_serviceCategoryCode_4[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -350,6 +362,9 @@ static asn_TYPE_member_t asn_MBR_serviceCategoryCode_4[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -367,6 +382,9 @@ static asn_TYPE_member_t asn_MBR_serviceCategoryCode_4[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -404,6 +422,9 @@ asn_TYPE_descriptor_t asn_DEF_serviceCategoryCode_4 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_serviceCategoryCode_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_serviceCategoryCode_4, @@ -424,6 +445,9 @@ static asn_TYPE_member_t asn_MBR_pictogramCategoryCode_18[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_nature_constr_19, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_nature_constraint_18 }, 0, 0, /* No default value */ @@ -441,6 +465,9 @@ static asn_TYPE_member_t asn_MBR_pictogramCategoryCode_18[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_serialNumber_constr_20, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_serialNumber_constraint_18 }, 0, 0, /* No default value */ @@ -481,6 +508,9 @@ asn_TYPE_descriptor_t asn_DEF_pictogramCategoryCode_18 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_pictogramCategoryCode_18, @@ -501,6 +531,9 @@ static asn_TYPE_member_t asn_MBR_pictogramCode_2[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_countryCode_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_countryCode_constraint_2 }, 0, 0, /* No default value */ @@ -518,6 +551,9 @@ static asn_TYPE_member_t asn_MBR_pictogramCode_2[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -535,6 +571,9 @@ static asn_TYPE_member_t asn_MBR_pictogramCode_2[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -578,6 +617,9 @@ asn_TYPE_descriptor_t asn_DEF_pictogramCode_2 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_pictogramCode_2, @@ -598,6 +640,9 @@ asn_TYPE_member_t asn_MBR_ISO14823Code_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -615,6 +660,9 @@ asn_TYPE_member_t asn_MBR_ISO14823Code_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -655,6 +703,9 @@ asn_TYPE_descriptor_t asn_DEF_ISO14823Code = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ISO14823Code_1, diff --git a/vanetza/asn1/its/ITS-Container_Temperature.c b/vanetza/asn1/its/ITS-Container_Temperature.c index c060b9598..3ae6fec49 100644 --- a/vanetza/asn1/its/ITS-Container_Temperature.c +++ b/vanetza/asn1/its/ITS-Container_Temperature.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ITS_Container_Temperature = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ITS_Container_Temperature_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ITS_Container_Temperature_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/IVIM.c b/vanetza/asn1/its/IVIM.c index 7c0e7e5d9..9a7b9c3e0 100644 --- a/vanetza/asn1/its/IVIM.c +++ b/vanetza/asn1/its/IVIM.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_IVIM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_IVIM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_IVIM = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_IVIM_1, diff --git a/vanetza/asn1/its/IVI_DriverCharacteristics.c b/vanetza/asn1/its/IVI_DriverCharacteristics.c index 6e04e9bdd..5190c42c8 100644 --- a/vanetza/asn1/its/IVI_DriverCharacteristics.c +++ b/vanetza/asn1/its/IVI_DriverCharacteristics.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_IVI_DriverCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IVI_DriverCharacteristics_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IVI_DriverCharacteristics_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/IVI_Temperature.c b/vanetza/asn1/its/IVI_Temperature.c index f1fa14eff..d63ac3080 100644 --- a/vanetza/asn1/its/IVI_Temperature.c +++ b/vanetza/asn1/its/IVI_Temperature.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_IVI_Temperature = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IVI_Temperature_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IVI_Temperature_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/IVI_TrailerCharacteristics.c b/vanetza/asn1/its/IVI_TrailerCharacteristics.c index 02e2c6bcd..73b203966 100644 --- a/vanetza/asn1/its/IVI_TrailerCharacteristics.c +++ b/vanetza/asn1/its/IVI_TrailerCharacteristics.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_IVI_TrailerCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_IVI_TrailerCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_IVI_TrailerCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_IVI_TrailerCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_IVI_TrailerCharacteristics_1, diff --git a/vanetza/asn1/its/Identifier.c b/vanetza/asn1/its/Identifier.c index 4a10f9d18..497964947 100644 --- a/vanetza/asn1/its/Identifier.c +++ b/vanetza/asn1/its/Identifier.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Identifier = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Identifier_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Identifier_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ImpactReductionContainer.c b/vanetza/asn1/its/ImpactReductionContainer.c index 965648f9d..8ecfbbb03 100644 --- a/vanetza/asn1/its/ImpactReductionContainer.c +++ b/vanetza/asn1/its/ImpactReductionContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -122,6 +140,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -139,6 +160,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -156,6 +180,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -173,6 +200,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -190,6 +220,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -207,6 +240,9 @@ asn_TYPE_member_t asn_MBR_ImpactReductionContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -255,6 +291,9 @@ asn_TYPE_descriptor_t asn_DEF_ImpactReductionContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ImpactReductionContainer_1, diff --git a/vanetza/asn1/its/InformationQuality.c b/vanetza/asn1/its/InformationQuality.c index dd9fa177e..7b75d5eff 100644 --- a/vanetza/asn1/its/InformationQuality.c +++ b/vanetza/asn1/its/InformationQuality.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_InformationQuality = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_InformationQuality_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ InformationQuality_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Int1.c b/vanetza/asn1/its/Int1.c index 09d7f1e0c..1722a6dec 100644 --- a/vanetza/asn1/its/Int1.c +++ b/vanetza/asn1/its/Int1.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Int1 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Int1_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Int1_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Int2.c b/vanetza/asn1/its/Int2.c index 7cad18d42..d78529237 100644 --- a/vanetza/asn1/its/Int2.c +++ b/vanetza/asn1/its/Int2.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Int2 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Int2_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Int2_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Int3.c b/vanetza/asn1/its/Int3.c index c8d1d1023..888e83ff2 100644 --- a/vanetza/asn1/its/Int3.c +++ b/vanetza/asn1/its/Int3.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Int3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Int3_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Int3_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Int4.c b/vanetza/asn1/its/Int4.c index 0d96d7093..4ec383e41 100644 --- a/vanetza/asn1/its/Int4.c +++ b/vanetza/asn1/its/Int4.c @@ -64,6 +64,9 @@ asn_TYPE_descriptor_t asn_DEF_Int4 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Int4_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Int4_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/InternationalSign-applicablePeriod.c b/vanetza/asn1/its/InternationalSign-applicablePeriod.c index bb4267c3b..dfb290086 100644 --- a/vanetza/asn1/its/InternationalSign-applicablePeriod.c +++ b/vanetza/asn1/its/InternationalSign-applicablePeriod.c @@ -94,6 +94,9 @@ static asn_TYPE_member_t asn_MBR_year_2[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_yearRangeStartYear_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_yearRangeStartYear_constraint_2 }, 0, 0, /* No default value */ @@ -111,6 +114,9 @@ static asn_TYPE_member_t asn_MBR_year_2[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_yearRangeEndYear_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_yearRangeEndYear_constraint_2 }, 0, 0, /* No default value */ @@ -151,6 +157,9 @@ asn_TYPE_descriptor_t asn_DEF_year_2 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_year_2, @@ -171,6 +180,9 @@ static asn_TYPE_member_t asn_MBR_month_day_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -188,6 +200,9 @@ static asn_TYPE_member_t asn_MBR_month_day_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -228,6 +243,9 @@ asn_TYPE_descriptor_t asn_DEF_month_day_5 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_month_day_5, @@ -248,6 +266,9 @@ static asn_TYPE_member_t asn_MBR_hourMinutes_9[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -265,6 +286,9 @@ static asn_TYPE_member_t asn_MBR_hourMinutes_9[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -305,6 +329,9 @@ asn_TYPE_descriptor_t asn_DEF_hourMinutes_9 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_hourMinutes_9, @@ -325,6 +352,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_applicablePeriod_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -342,6 +372,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_applicablePeriod_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -359,6 +392,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_applicablePeriod_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -376,6 +412,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_applicablePeriod_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -393,6 +432,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_applicablePeriod_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -410,6 +452,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_applicablePeriod_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -454,6 +499,9 @@ asn_TYPE_descriptor_t asn_DEF_InternationalSign_applicablePeriod = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_InternationalSign_applicablePeriod_1, diff --git a/vanetza/asn1/its/InternationalSign-applicableVehicleDimensions.c b/vanetza/asn1/its/InternationalSign-applicableVehicleDimensions.c index 628fcc427..b837caa4d 100644 --- a/vanetza/asn1/its/InternationalSign-applicableVehicleDimensions.c +++ b/vanetza/asn1/its/InternationalSign-applicableVehicleDimensions.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_applicableVehicleDimensions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_applicableVehicleDimensions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_applicableVehicleDimensions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_applicableVehicleDimensions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +125,9 @@ asn_TYPE_descriptor_t asn_DEF_InternationalSign_applicableVehicleDimensions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_InternationalSign_applicableVehicleDimensions_1, diff --git a/vanetza/asn1/its/InternationalSign-destinationInformation.c b/vanetza/asn1/its/InternationalSign-destinationInformation.c index 7f3778480..107dcf23f 100644 --- a/vanetza/asn1/its/InternationalSign-destinationInformation.c +++ b/vanetza/asn1/its/InternationalSign-destinationInformation.c @@ -131,6 +131,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_destinationInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_junctionDirection_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_junctionDirection_constraint_1 }, 0, 0, /* No default value */ @@ -148,6 +151,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_destinationInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_roundaboutCwDirection_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_roundaboutCwDirection_constraint_1 }, 0, 0, /* No default value */ @@ -165,6 +171,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_destinationInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_roundaboutCcwDirection_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_roundaboutCcwDirection_constraint_1 }, 0, 0, /* No default value */ @@ -182,6 +191,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_destinationInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -224,6 +236,9 @@ asn_TYPE_descriptor_t asn_DEF_InternationalSign_destinationInformation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_InternationalSign_destinationInformation_1, diff --git a/vanetza/asn1/its/InternationalSign-directionalFlowOfLane.c b/vanetza/asn1/its/InternationalSign-directionalFlowOfLane.c index 3dc4ba6f5..1b520ac6d 100644 --- a/vanetza/asn1/its/InternationalSign-directionalFlowOfLane.c +++ b/vanetza/asn1/its/InternationalSign-directionalFlowOfLane.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_InternationalSign_directionalFlowOfLane = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_InternationalSign_directionalFlowOfLane_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ InternationalSign_directionalFlowOfLane_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/InternationalSign-distanceBetweenVehicles.c b/vanetza/asn1/its/InternationalSign-distanceBetweenVehicles.c index f7f808fcb..c1b0f9c0b 100644 --- a/vanetza/asn1/its/InternationalSign-distanceBetweenVehicles.c +++ b/vanetza/asn1/its/InternationalSign-distanceBetweenVehicles.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_InternationalSign_distanceBetweenVehicles = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Distance_1, diff --git a/vanetza/asn1/its/InternationalSign-exemptedApplicablePeriod.c b/vanetza/asn1/its/InternationalSign-exemptedApplicablePeriod.c index e8bc63db6..00b0d6079 100644 --- a/vanetza/asn1/its/InternationalSign-exemptedApplicablePeriod.c +++ b/vanetza/asn1/its/InternationalSign-exemptedApplicablePeriod.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_InternationalSign_exemptedApplicablePeriod = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_InternationalSign_applicablePeriod_1, diff --git a/vanetza/asn1/its/InternationalSign-numberOfLane.c b/vanetza/asn1/its/InternationalSign-numberOfLane.c index 44a6a4a10..79803811a 100644 --- a/vanetza/asn1/its/InternationalSign-numberOfLane.c +++ b/vanetza/asn1/its/InternationalSign-numberOfLane.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_InternationalSign_numberOfLane = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_InternationalSign_numberOfLane_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ InternationalSign_numberOfLane_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/InternationalSign-rateOfIncline.c b/vanetza/asn1/its/InternationalSign-rateOfIncline.c index 49ab941d5..4a436285c 100644 --- a/vanetza/asn1/its/InternationalSign-rateOfIncline.c +++ b/vanetza/asn1/its/InternationalSign-rateOfIncline.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_InternationalSign_rateOfIncline = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_InternationalSign_rateOfIncline_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ InternationalSign_rateOfIncline_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/InternationalSign-section.c b/vanetza/asn1/its/InternationalSign-section.c index 0d46f7a0d..43d0fabd5 100644 --- a/vanetza/asn1/its/InternationalSign-section.c +++ b/vanetza/asn1/its/InternationalSign-section.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_section_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_section_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_InternationalSign_section = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_InternationalSign_section_1, diff --git a/vanetza/asn1/its/InternationalSign-speedLimits.c b/vanetza/asn1/its/InternationalSign-speedLimits.c index f6b9c7e2a..e6fc0b38b 100644 --- a/vanetza/asn1/its/InternationalSign-speedLimits.c +++ b/vanetza/asn1/its/InternationalSign-speedLimits.c @@ -131,6 +131,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_speedLimits_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_speedLimitMax_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_speedLimitMax_constraint_1 }, 0, 0, /* No default value */ @@ -148,6 +151,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_speedLimits_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_speedLimitMin_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_speedLimitMin_constraint_1 }, 0, 0, /* No default value */ @@ -165,6 +171,9 @@ asn_TYPE_member_t asn_MBR_InternationalSign_speedLimits_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_unit_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_unit_constraint_1 }, 0, 0, /* No default value */ @@ -206,6 +215,9 @@ asn_TYPE_descriptor_t asn_DEF_InternationalSign_speedLimits = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_InternationalSign_speedLimits_1, diff --git a/vanetza/asn1/its/IntersectionAccessPoint.c b/vanetza/asn1/its/IntersectionAccessPoint.c index bdc99892c..52636211a 100644 --- a/vanetza/asn1/its/IntersectionAccessPoint.c +++ b/vanetza/asn1/its/IntersectionAccessPoint.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_IntersectionAccessPoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_IntersectionAccessPoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_IntersectionAccessPoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -102,6 +111,9 @@ asn_TYPE_descriptor_t asn_DEF_IntersectionAccessPoint = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IntersectionAccessPoint_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_IntersectionAccessPoint_1, diff --git a/vanetza/asn1/its/IntersectionGeometry.c b/vanetza/asn1/its/IntersectionGeometry.c index dda0de32d..5490b4d98 100644 --- a/vanetza/asn1/its/IntersectionGeometry.c +++ b/vanetza/asn1/its/IntersectionGeometry.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_10[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_10 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_10, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_10, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_IntersectionGeometry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_IntersectionGeometry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_IntersectionGeometry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_IntersectionGeometry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_IntersectionGeometry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_IntersectionGeometry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -225,6 +249,9 @@ asn_TYPE_member_t asn_MBR_IntersectionGeometry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -242,6 +269,9 @@ asn_TYPE_member_t asn_MBR_IntersectionGeometry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -259,6 +289,9 @@ asn_TYPE_member_t asn_MBR_IntersectionGeometry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_10, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -306,6 +339,9 @@ asn_TYPE_descriptor_t asn_DEF_IntersectionGeometry = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_IntersectionGeometry_1, diff --git a/vanetza/asn1/its/IntersectionGeometryList.c b/vanetza/asn1/its/IntersectionGeometryList.c index 3258fb1a4..17c9acd1d 100644 --- a/vanetza/asn1/its/IntersectionGeometryList.c +++ b/vanetza/asn1/its/IntersectionGeometryList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_IntersectionGeometryList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_IntersectionGeometryList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IntersectionGeometryList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_IntersectionGeometryList_1, diff --git a/vanetza/asn1/its/IntersectionID.c b/vanetza/asn1/its/IntersectionID.c index 52b40be1a..e2fa6f8f5 100644 --- a/vanetza/asn1/its/IntersectionID.c +++ b/vanetza/asn1/its/IntersectionID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_IntersectionID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IntersectionID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IntersectionID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/IntersectionReferenceID.c b/vanetza/asn1/its/IntersectionReferenceID.c index 70e073989..d4dacb009 100644 --- a/vanetza/asn1/its/IntersectionReferenceID.c +++ b/vanetza/asn1/its/IntersectionReferenceID.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_IntersectionReferenceID_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_IntersectionReferenceID_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_IntersectionReferenceID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_IntersectionReferenceID_1, diff --git a/vanetza/asn1/its/IntersectionState-addGrpC.c b/vanetza/asn1/its/IntersectionState-addGrpC.c index 8893216f9..71b2cf810 100644 --- a/vanetza/asn1/its/IntersectionState-addGrpC.c +++ b/vanetza/asn1/its/IntersectionState-addGrpC.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_IntersectionState_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -59,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_IntersectionState_addGrpC = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_IntersectionState_addGrpC_1, diff --git a/vanetza/asn1/its/IntersectionState.c b/vanetza/asn1/its/IntersectionState.c index c92a2dfbc..4f695eb3c 100644 --- a/vanetza/asn1/its/IntersectionState.c +++ b/vanetza/asn1/its/IntersectionState.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_11[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_11 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_11, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_11, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_IntersectionState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_IntersectionState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_IntersectionState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_IntersectionState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_IntersectionState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_IntersectionState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -225,6 +249,9 @@ asn_TYPE_member_t asn_MBR_IntersectionState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -242,6 +269,9 @@ asn_TYPE_member_t asn_MBR_IntersectionState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -259,6 +289,9 @@ asn_TYPE_member_t asn_MBR_IntersectionState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -276,6 +309,9 @@ asn_TYPE_member_t asn_MBR_IntersectionState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_11, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -324,6 +360,9 @@ asn_TYPE_descriptor_t asn_DEF_IntersectionState = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_IntersectionState_1, diff --git a/vanetza/asn1/its/IntersectionStateList.c b/vanetza/asn1/its/IntersectionStateList.c index 6d946524c..90571e462 100644 --- a/vanetza/asn1/its/IntersectionStateList.c +++ b/vanetza/asn1/its/IntersectionStateList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_IntersectionStateList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_IntersectionStateList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IntersectionStateList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_IntersectionStateList_1, diff --git a/vanetza/asn1/its/IntersectionStatusObject.c b/vanetza/asn1/its/IntersectionStatusObject.c index e79774c95..c7d5b05f6 100644 --- a/vanetza/asn1/its/IntersectionStatusObject.c +++ b/vanetza/asn1/its/IntersectionStatusObject.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_IntersectionStatusObject_constr_1 CC_NOTUSED 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_IntersectionStatusObject_constr_1 CC_NOTUSED = { + 16}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_IntersectionStatusObject_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_IntersectionStatusObject = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IntersectionStatusObject_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_IntersectionStatusObject_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IntersectionStatusObject_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Iso3833VehicleType.c b/vanetza/asn1/its/Iso3833VehicleType.c index e68ab7c62..79840a12d 100644 --- a/vanetza/asn1/its/Iso3833VehicleType.c +++ b/vanetza/asn1/its/Iso3833VehicleType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Iso3833VehicleType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Iso3833VehicleType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Iso3833VehicleType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/IssuerIdentifierIso.c b/vanetza/asn1/its/IssuerIdentifierIso.c index 62208c0fa..aa3125132 100644 --- a/vanetza/asn1/its/IssuerIdentifierIso.c +++ b/vanetza/asn1/its/IssuerIdentifierIso.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_IssuerIdentifierIso = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IssuerIdentifierIso_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IssuerIdentifierIso_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ItineraryPath.c b/vanetza/asn1/its/ItineraryPath.c index 493adc804..2f5bb9fcb 100644 --- a/vanetza/asn1/its/ItineraryPath.c +++ b/vanetza/asn1/its/ItineraryPath.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ItineraryPath_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_ItineraryPath = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ItineraryPath_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ItineraryPath_1, diff --git a/vanetza/asn1/its/ItsPduHeader.c b/vanetza/asn1/its/ItsPduHeader.c index 480eb51c8..844b5b5b9 100644 --- a/vanetza/asn1/its/ItsPduHeader.c +++ b/vanetza/asn1/its/ItsPduHeader.c @@ -94,6 +94,9 @@ asn_TYPE_member_t asn_MBR_ItsPduHeader_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_protocolVersion_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_protocolVersion_constraint_1 }, 0, 0, /* No default value */ @@ -111,6 +114,9 @@ asn_TYPE_member_t asn_MBR_ItsPduHeader_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_messageID_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_messageID_constraint_1 }, 0, 0, /* No default value */ @@ -128,6 +134,9 @@ asn_TYPE_member_t asn_MBR_ItsPduHeader_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -167,6 +176,9 @@ asn_TYPE_descriptor_t asn_DEF_ItsPduHeader = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ItsPduHeader_1, diff --git a/vanetza/asn1/its/ItsStationPosition.c b/vanetza/asn1/its/ItsStationPosition.c index dfd9fa093..68811f58a 100644 --- a/vanetza/asn1/its/ItsStationPosition.c +++ b/vanetza/asn1/its/ItsStationPosition.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_ItsStationPosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_ItsStationPosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_ItsStationPosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_ItsStationPosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +125,9 @@ asn_TYPE_descriptor_t asn_DEF_ItsStationPosition = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ItsStationPosition_1, diff --git a/vanetza/asn1/its/ItsStationPositionList.c b/vanetza/asn1/its/ItsStationPositionList.c index 5770ffb42..05db051d1 100644 --- a/vanetza/asn1/its/ItsStationPositionList.c +++ b/vanetza/asn1/its/ItsStationPositionList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ItsStationPositionList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_ItsStationPositionList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ItsStationPositionList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ItsStationPositionList_1, diff --git a/vanetza/asn1/its/IviContainer.c b/vanetza/asn1/its/IviContainer.c index 7c1db89cc..efbef7cfd 100644 --- a/vanetza/asn1/its/IviContainer.c +++ b/vanetza/asn1/its/IviContainer.c @@ -32,6 +32,9 @@ static asn_TYPE_member_t asn_MBR_ext1_8[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ static asn_TYPE_member_t asn_MBR_ext1_8[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ static asn_TYPE_member_t asn_MBR_ext1_8[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -107,6 +116,9 @@ asn_TYPE_descriptor_t asn_DEF_ext1_8 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ext1_8, @@ -127,6 +139,9 @@ asn_TYPE_member_t asn_MBR_IviContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -144,6 +159,9 @@ asn_TYPE_member_t asn_MBR_IviContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -161,6 +179,9 @@ asn_TYPE_member_t asn_MBR_IviContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -178,6 +199,9 @@ asn_TYPE_member_t asn_MBR_IviContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -195,6 +219,9 @@ asn_TYPE_member_t asn_MBR_IviContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -212,6 +239,9 @@ asn_TYPE_member_t asn_MBR_IviContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -251,6 +281,9 @@ asn_TYPE_descriptor_t asn_DEF_IviContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IviContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_IviContainer_1, diff --git a/vanetza/asn1/its/IviContainers.c b/vanetza/asn1/its/IviContainers.c index 04558a23e..febe1fa2b 100644 --- a/vanetza/asn1/its/IviContainers.c +++ b/vanetza/asn1/its/IviContainers.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_IviContainers_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_IviContainers = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IviContainers_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_IviContainers_1, diff --git a/vanetza/asn1/its/IviIdentificationNumber.c b/vanetza/asn1/its/IviIdentificationNumber.c index 928b2e356..451dfed7f 100644 --- a/vanetza/asn1/its/IviIdentificationNumber.c +++ b/vanetza/asn1/its/IviIdentificationNumber.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_IviIdentificationNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IviIdentificationNumber_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IviIdentificationNumber_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/IviIdentificationNumbers.c b/vanetza/asn1/its/IviIdentificationNumbers.c index 06706775b..8a2533a53 100644 --- a/vanetza/asn1/its/IviIdentificationNumbers.c +++ b/vanetza/asn1/its/IviIdentificationNumbers.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_IviIdentificationNumbers_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_IviIdentificationNumbers = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IviIdentificationNumbers_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_IviIdentificationNumbers_1, diff --git a/vanetza/asn1/its/IviLaneWidth.c b/vanetza/asn1/its/IviLaneWidth.c index 7811fe19d..1e78bc2fd 100644 --- a/vanetza/asn1/its/IviLaneWidth.c +++ b/vanetza/asn1/its/IviLaneWidth.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_IviLaneWidth = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IviLaneWidth_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IviLaneWidth_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/IviManagementContainer.c b/vanetza/asn1/its/IviManagementContainer.c index 907d809ce..3798d5f5d 100644 --- a/vanetza/asn1/its/IviManagementContainer.c +++ b/vanetza/asn1/its/IviManagementContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_IviManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_IviManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_IviManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_IviManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_IviManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_IviManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -122,6 +140,9 @@ asn_TYPE_member_t asn_MBR_IviManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -139,6 +160,9 @@ asn_TYPE_member_t asn_MBR_IviManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -185,6 +209,9 @@ asn_TYPE_descriptor_t asn_DEF_IviManagementContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_IviManagementContainer_1, diff --git a/vanetza/asn1/its/IviPurpose.c b/vanetza/asn1/its/IviPurpose.c index 53dced2a7..70d1903e5 100644 --- a/vanetza/asn1/its/IviPurpose.c +++ b/vanetza/asn1/its/IviPurpose.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_IviPurpose = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IviPurpose_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IviPurpose_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/IviStatus.c b/vanetza/asn1/its/IviStatus.c index 6b75dbe55..6a94894d3 100644 --- a/vanetza/asn1/its/IviStatus.c +++ b/vanetza/asn1/its/IviStatus.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_IviStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IviStatus_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IviStatus_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/IviStructure.c b/vanetza/asn1/its/IviStructure.c index 7f6615261..25ef0d2a4 100644 --- a/vanetza/asn1/its/IviStructure.c +++ b/vanetza/asn1/its/IviStructure.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_IviStructure_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_IviStructure_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_IviStructure = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_IviStructure_1, diff --git a/vanetza/asn1/its/IviType.c b/vanetza/asn1/its/IviType.c index 5efd0320a..9ec43b73d 100644 --- a/vanetza/asn1/its/IviType.c +++ b/vanetza/asn1/its/IviType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_IviType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_IviType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IviType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LPN.c b/vanetza/asn1/its/LPN.c index ac1e5f870..85a10e407 100644 --- a/vanetza/asn1/its/LPN.c +++ b/vanetza/asn1/its/LPN.c @@ -124,6 +124,9 @@ asn_TYPE_descriptor_t asn_DEF_alphabetIndicator_3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_alphabetIndicator_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ @@ -143,6 +146,9 @@ asn_TYPE_member_t asn_MBR_LPN_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -160,6 +166,9 @@ asn_TYPE_member_t asn_MBR_LPN_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -177,6 +186,9 @@ asn_TYPE_member_t asn_MBR_LPN_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -216,6 +228,9 @@ asn_TYPE_descriptor_t asn_DEF_LPN = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LPN_1, diff --git a/vanetza/asn1/its/LaneAttributes-Barrier.c b/vanetza/asn1/its/LaneAttributes-Barrier.c index da9f537ea..c771fbbea 100644 --- a/vanetza/asn1/its/LaneAttributes-Barrier.c +++ b/vanetza/asn1/its/LaneAttributes-Barrier.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_LaneAttributes_Barrier_constr_1 CC_NOTUSED = 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_LaneAttributes_Barrier_constr_1 CC_NOTUSED = { + 16}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_LaneAttributes_Barrier_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Barrier = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneAttributes_Barrier_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_LaneAttributes_Barrier_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneAttributes_Barrier_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneAttributes-Bike.c b/vanetza/asn1/its/LaneAttributes-Bike.c index c16986d79..dd9c630e9 100644 --- a/vanetza/asn1/its/LaneAttributes-Bike.c +++ b/vanetza/asn1/its/LaneAttributes-Bike.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_LaneAttributes_Bike_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_LaneAttributes_Bike_constr_1 CC_NOTUSED = { + 16}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_LaneAttributes_Bike_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Bike = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneAttributes_Bike_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_LaneAttributes_Bike_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneAttributes_Bike_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneAttributes-Crosswalk.c b/vanetza/asn1/its/LaneAttributes-Crosswalk.c index 40235605d..91540c670 100644 --- a/vanetza/asn1/its/LaneAttributes-Crosswalk.c +++ b/vanetza/asn1/its/LaneAttributes-Crosswalk.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_LaneAttributes_Crosswalk_constr_1 CC_NOTUSED 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_LaneAttributes_Crosswalk_constr_1 CC_NOTUSED = { + 16}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_LaneAttributes_Crosswalk_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Crosswalk = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneAttributes_Crosswalk_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_LaneAttributes_Crosswalk_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneAttributes_Crosswalk_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneAttributes-Parking.c b/vanetza/asn1/its/LaneAttributes-Parking.c index 06872fb3d..eea2ce3aa 100644 --- a/vanetza/asn1/its/LaneAttributes-Parking.c +++ b/vanetza/asn1/its/LaneAttributes-Parking.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_LaneAttributes_Parking_constr_1 CC_NOTUSED = 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_LaneAttributes_Parking_constr_1 CC_NOTUSED = { + 16}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_LaneAttributes_Parking_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Parking = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneAttributes_Parking_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_LaneAttributes_Parking_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneAttributes_Parking_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneAttributes-Sidewalk.c b/vanetza/asn1/its/LaneAttributes-Sidewalk.c index bbeab91b4..e128bf943 100644 --- a/vanetza/asn1/its/LaneAttributes-Sidewalk.c +++ b/vanetza/asn1/its/LaneAttributes-Sidewalk.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_LaneAttributes_Sidewalk_constr_1 CC_NOTUSED = 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_LaneAttributes_Sidewalk_constr_1 CC_NOTUSED = { + 16}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_LaneAttributes_Sidewalk_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Sidewalk = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneAttributes_Sidewalk_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_LaneAttributes_Sidewalk_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneAttributes_Sidewalk_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneAttributes-Striping.c b/vanetza/asn1/its/LaneAttributes-Striping.c index f6b58f503..db8d08936 100644 --- a/vanetza/asn1/its/LaneAttributes-Striping.c +++ b/vanetza/asn1/its/LaneAttributes-Striping.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_LaneAttributes_Striping_constr_1 CC_NOTUSED = 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_LaneAttributes_Striping_constr_1 CC_NOTUSED = { + 16}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_LaneAttributes_Striping_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Striping = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneAttributes_Striping_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_LaneAttributes_Striping_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneAttributes_Striping_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneAttributes-TrackedVehicle.c b/vanetza/asn1/its/LaneAttributes-TrackedVehicle.c index 21ac6e542..6fee18cfd 100644 --- a/vanetza/asn1/its/LaneAttributes-TrackedVehicle.c +++ b/vanetza/asn1/its/LaneAttributes-TrackedVehicle.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_LaneAttributes_TrackedVehicle_constr_1 CC_NOT 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_LaneAttributes_TrackedVehicle_constr_1 CC_NOTUSED = { + 16}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_LaneAttributes_TrackedVehicle_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneAttributes_TrackedVehicle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneAttributes_TrackedVehicle_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_LaneAttributes_TrackedVehicle_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneAttributes_TrackedVehicle_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneAttributes-Vehicle.c b/vanetza/asn1/its/LaneAttributes-Vehicle.c index 63720cf4a..d7f377c4c 100644 --- a/vanetza/asn1/its/LaneAttributes-Vehicle.c +++ b/vanetza/asn1/its/LaneAttributes-Vehicle.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_LaneAttributes_Vehicle_constr_1 CC_NOTUSED = 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_LaneAttributes_Vehicle_constr_1 CC_NOTUSED = { + -1}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_LaneAttributes_Vehicle_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Vehicle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneAttributes_Vehicle_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_LaneAttributes_Vehicle_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneAttributes_Vehicle_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneAttributes-addGrpC.c b/vanetza/asn1/its/LaneAttributes-addGrpC.c index ed08e1feb..751b059fc 100644 --- a/vanetza/asn1/its/LaneAttributes-addGrpC.c +++ b/vanetza/asn1/its/LaneAttributes-addGrpC.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_LaneAttributes_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_LaneAttributes_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneAttributes_addGrpC = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LaneAttributes_addGrpC_1, diff --git a/vanetza/asn1/its/LaneAttributes.c b/vanetza/asn1/its/LaneAttributes.c index 1397f905e..4fb0a0d49 100644 --- a/vanetza/asn1/its/LaneAttributes.c +++ b/vanetza/asn1/its/LaneAttributes.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_LaneAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_LaneAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_LaneAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_LaneAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +125,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneAttributes = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LaneAttributes_1, diff --git a/vanetza/asn1/its/LaneCharacteristics.c b/vanetza/asn1/its/LaneCharacteristics.c index 659cd809e..acc2fbc34 100644 --- a/vanetza/asn1/its/LaneCharacteristics.c +++ b/vanetza/asn1/its/LaneCharacteristics.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_LaneCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_LaneCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_LaneCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_LaneCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_LaneCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_LaneCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -147,6 +165,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LaneCharacteristics_1, diff --git a/vanetza/asn1/its/LaneConfiguration.c b/vanetza/asn1/its/LaneConfiguration.c index 009d8d93f..a8dda3f1d 100644 --- a/vanetza/asn1/its/LaneConfiguration.c +++ b/vanetza/asn1/its/LaneConfiguration.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_LaneConfiguration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneConfiguration = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneConfiguration_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_LaneConfiguration_1, diff --git a/vanetza/asn1/its/LaneConnectionID.c b/vanetza/asn1/its/LaneConnectionID.c index 49ed9f203..feb56c3d1 100644 --- a/vanetza/asn1/its/LaneConnectionID.c +++ b/vanetza/asn1/its/LaneConnectionID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneConnectionID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneConnectionID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneConnectionID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/LaneDataAttribute.c b/vanetza/asn1/its/LaneDataAttribute.c index 721a16acf..14cc3c426 100644 --- a/vanetza/asn1/its/LaneDataAttribute.c +++ b/vanetza/asn1/its/LaneDataAttribute.c @@ -82,6 +82,9 @@ static asn_TYPE_member_t asn_MBR_regional_8[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -115,6 +118,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_8 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_8, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_8, @@ -135,6 +141,9 @@ asn_TYPE_member_t asn_MBR_LaneDataAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -152,6 +161,9 @@ asn_TYPE_member_t asn_MBR_LaneDataAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -169,6 +181,9 @@ asn_TYPE_member_t asn_MBR_LaneDataAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -186,6 +201,9 @@ asn_TYPE_member_t asn_MBR_LaneDataAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -203,6 +221,9 @@ asn_TYPE_member_t asn_MBR_LaneDataAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -220,6 +241,9 @@ asn_TYPE_member_t asn_MBR_LaneDataAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -237,6 +261,9 @@ asn_TYPE_member_t asn_MBR_LaneDataAttribute_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_8, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -277,6 +304,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneDataAttribute = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneDataAttribute_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_LaneDataAttribute_1, diff --git a/vanetza/asn1/its/LaneDataAttributeList.c b/vanetza/asn1/its/LaneDataAttributeList.c index ac30e0c34..26d6baf90 100644 --- a/vanetza/asn1/its/LaneDataAttributeList.c +++ b/vanetza/asn1/its/LaneDataAttributeList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_LaneDataAttributeList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneDataAttributeList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneDataAttributeList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_LaneDataAttributeList_1, diff --git a/vanetza/asn1/its/LaneDelimitation.c b/vanetza/asn1/its/LaneDelimitation.c index 804ee714d..09fa482e7 100644 --- a/vanetza/asn1/its/LaneDelimitation.c +++ b/vanetza/asn1/its/LaneDelimitation.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneDelimitation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneDelimitation_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneDelimitation_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneDirection.c b/vanetza/asn1/its/LaneDirection.c index 1bf39abd7..a0498587b 100644 --- a/vanetza/asn1/its/LaneDirection.c +++ b/vanetza/asn1/its/LaneDirection.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_LaneDirection_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_LaneDirection_constr_1 CC_NOTUSED = { + 2}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_LaneDirection_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneDirection = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneDirection_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_LaneDirection_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneDirection_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneID.c b/vanetza/asn1/its/LaneID.c index b75958815..8efab28a9 100644 --- a/vanetza/asn1/its/LaneID.c +++ b/vanetza/asn1/its/LaneID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/LaneIds.c b/vanetza/asn1/its/LaneIds.c index a12ae2032..905b35ad8 100644 --- a/vanetza/asn1/its/LaneIds.c +++ b/vanetza/asn1/its/LaneIds.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_LaneIds_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneIds = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneIds_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_LaneIds_1, diff --git a/vanetza/asn1/its/LaneInformation.c b/vanetza/asn1/its/LaneInformation.c index 4f6569395..48ce7c158 100644 --- a/vanetza/asn1/its/LaneInformation.c +++ b/vanetza/asn1/its/LaneInformation.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_ext1_10[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_ext1_10[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ static asn_TYPE_member_t asn_MBR_ext1_10[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ static asn_TYPE_member_t asn_MBR_ext1_10[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ static asn_TYPE_member_t asn_MBR_ext1_10[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -133,6 +148,9 @@ asn_TYPE_descriptor_t asn_DEF_ext1_10 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ext1_10, @@ -153,6 +171,9 @@ asn_TYPE_member_t asn_MBR_LaneInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -170,6 +191,9 @@ asn_TYPE_member_t asn_MBR_LaneInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -187,6 +211,9 @@ asn_TYPE_member_t asn_MBR_LaneInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -204,6 +231,9 @@ asn_TYPE_member_t asn_MBR_LaneInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -221,6 +251,9 @@ asn_TYPE_member_t asn_MBR_LaneInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -238,6 +271,9 @@ asn_TYPE_member_t asn_MBR_LaneInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -255,6 +291,9 @@ asn_TYPE_member_t asn_MBR_LaneInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -272,6 +311,9 @@ asn_TYPE_member_t asn_MBR_LaneInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -318,6 +360,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneInformation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LaneInformation_1, diff --git a/vanetza/asn1/its/LaneList.c b/vanetza/asn1/its/LaneList.c index 878ea7d66..56f3e8caf 100644 --- a/vanetza/asn1/its/LaneList.c +++ b/vanetza/asn1/its/LaneList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_LaneList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_LaneList_1, diff --git a/vanetza/asn1/its/LaneMarkingStatus.c b/vanetza/asn1/its/LaneMarkingStatus.c index 793535ca2..64df2d6e6 100644 --- a/vanetza/asn1/its/LaneMarkingStatus.c +++ b/vanetza/asn1/its/LaneMarkingStatus.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneMarkingStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ BOOLEAN_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/LanePosition.c b/vanetza/asn1/its/LanePosition.c index 6e52d7dc5..427a2754a 100644 --- a/vanetza/asn1/its/LanePosition.c +++ b/vanetza/asn1/its/LanePosition.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LanePosition = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LanePosition_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LanePosition_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LanePositions.c b/vanetza/asn1/its/LanePositions.c index e37db06f7..34f0c1dd4 100644 --- a/vanetza/asn1/its/LanePositions.c +++ b/vanetza/asn1/its/LanePositions.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_LanePositions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_LanePositions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LanePositions_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_LanePositions_1, diff --git a/vanetza/asn1/its/LaneSharing.c b/vanetza/asn1/its/LaneSharing.c index 0e10e96e5..e077fa8a5 100644 --- a/vanetza/asn1/its/LaneSharing.c +++ b/vanetza/asn1/its/LaneSharing.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_LaneSharing_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_LaneSharing_constr_1 CC_NOTUSED = { + 10}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_LaneSharing_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneSharing = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneSharing_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_LaneSharing_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneSharing_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneStatus.c b/vanetza/asn1/its/LaneStatus.c index 584d81fee..61922c98b 100644 --- a/vanetza/asn1/its/LaneStatus.c +++ b/vanetza/asn1/its/LaneStatus.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneStatus_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneStatus_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneType.c b/vanetza/asn1/its/LaneType.c index b7bf32f5a..e4bd2a8a6 100644 --- a/vanetza/asn1/its/LaneType.c +++ b/vanetza/asn1/its/LaneType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LaneTypeAttributes.c b/vanetza/asn1/its/LaneTypeAttributes.c index 9d5f85ce8..ada5fa569 100644 --- a/vanetza/asn1/its/LaneTypeAttributes.c +++ b/vanetza/asn1/its/LaneTypeAttributes.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_LaneTypeAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_LaneTypeAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_LaneTypeAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_LaneTypeAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_LaneTypeAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_LaneTypeAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -134,6 +152,9 @@ asn_TYPE_member_t asn_MBR_LaneTypeAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -151,6 +172,9 @@ asn_TYPE_member_t asn_MBR_LaneTypeAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -192,6 +216,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneTypeAttributes = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneTypeAttributes_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_LaneTypeAttributes_1, diff --git a/vanetza/asn1/its/LaneWidth.c b/vanetza/asn1/its/LaneWidth.c index 47a27499b..dc0577c04 100644 --- a/vanetza/asn1/its/LaneWidth.c +++ b/vanetza/asn1/its/LaneWidth.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LaneWidth = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LaneWidth_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LaneWidth_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/LateralAcceleration.c b/vanetza/asn1/its/LateralAcceleration.c index d2812c672..244a0bfff 100644 --- a/vanetza/asn1/its/LateralAcceleration.c +++ b/vanetza/asn1/its/LateralAcceleration.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_LateralAcceleration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_LateralAcceleration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_LateralAcceleration = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LateralAcceleration_1, diff --git a/vanetza/asn1/its/LateralAccelerationValue.c b/vanetza/asn1/its/LateralAccelerationValue.c index 9909d9263..2edc53749 100644 --- a/vanetza/asn1/its/LateralAccelerationValue.c +++ b/vanetza/asn1/its/LateralAccelerationValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LateralAccelerationValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LateralAccelerationValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LateralAccelerationValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Latitude.c b/vanetza/asn1/its/Latitude.c index e4c2fc0b2..2de27891e 100644 --- a/vanetza/asn1/its/Latitude.c +++ b/vanetza/asn1/its/Latitude.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Latitude = { #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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Latitude_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LayerID.c b/vanetza/asn1/its/LayerID.c index f5acbefb8..6ed4b8c3d 100644 --- a/vanetza/asn1/its/LayerID.c +++ b/vanetza/asn1/its/LayerID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LayerID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LayerID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LayerID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/LayerType.c b/vanetza/asn1/its/LayerType.c index 46be59b8f..8244b0b9b 100644 --- a/vanetza/asn1/its/LayerType.c +++ b/vanetza/asn1/its/LayerType.c @@ -74,6 +74,9 @@ asn_TYPE_descriptor_t asn_DEF_LayerType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LayerType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LayoutComponent.c b/vanetza/asn1/its/LayoutComponent.c index d5d5ea89d..743a840b2 100644 --- a/vanetza/asn1/its/LayoutComponent.c +++ b/vanetza/asn1/its/LayoutComponent.c @@ -242,6 +242,9 @@ asn_TYPE_member_t asn_MBR_LayoutComponent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_layoutComponentId_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_layoutComponentId_constraint_1 }, 0, 0, /* No default value */ @@ -259,6 +262,9 @@ asn_TYPE_member_t asn_MBR_LayoutComponent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_height_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_height_constraint_1 }, 0, 0, /* No default value */ @@ -276,6 +282,9 @@ asn_TYPE_member_t asn_MBR_LayoutComponent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_width_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_width_constraint_1 }, 0, 0, /* No default value */ @@ -293,6 +302,9 @@ asn_TYPE_member_t asn_MBR_LayoutComponent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_x_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_x_constraint_1 }, 0, 0, /* No default value */ @@ -310,6 +322,9 @@ asn_TYPE_member_t asn_MBR_LayoutComponent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_y_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_y_constraint_1 }, 0, 0, /* No default value */ @@ -327,6 +342,9 @@ asn_TYPE_member_t asn_MBR_LayoutComponent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_textScripting_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_textScripting_constraint_1 }, 0, 0, /* No default value */ @@ -369,6 +387,9 @@ asn_TYPE_descriptor_t asn_DEF_LayoutComponent = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LayoutComponent_1, diff --git a/vanetza/asn1/its/LayoutComponents.c b/vanetza/asn1/its/LayoutComponents.c index 4ab7ca528..3c7c294bc 100644 --- a/vanetza/asn1/its/LayoutComponents.c +++ b/vanetza/asn1/its/LayoutComponents.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_LayoutComponents_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_LayoutComponents = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LayoutComponents_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_LayoutComponents_1, diff --git a/vanetza/asn1/its/LayoutContainer.c b/vanetza/asn1/its/LayoutContainer.c index b9c896351..c7e4417e6 100644 --- a/vanetza/asn1/its/LayoutContainer.c +++ b/vanetza/asn1/its/LayoutContainer.c @@ -131,6 +131,9 @@ asn_TYPE_member_t asn_MBR_LayoutContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_layoutId_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_layoutId_constraint_1 }, 0, 0, /* No default value */ @@ -148,6 +151,9 @@ asn_TYPE_member_t asn_MBR_LayoutContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_height_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_height_constraint_1 }, 0, 0, /* No default value */ @@ -165,6 +171,9 @@ asn_TYPE_member_t asn_MBR_LayoutContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_width_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_width_constraint_1 }, 0, 0, /* No default value */ @@ -182,6 +191,9 @@ asn_TYPE_member_t asn_MBR_LayoutContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -224,6 +236,9 @@ asn_TYPE_descriptor_t asn_DEF_LayoutContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LayoutContainer_1, diff --git a/vanetza/asn1/its/LicPlateNumber.c b/vanetza/asn1/its/LicPlateNumber.c index 9629d0a67..6fb9b1629 100644 --- a/vanetza/asn1/its/LicPlateNumber.c +++ b/vanetza/asn1/its/LicPlateNumber.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_LicPlateNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/LightBarSirenInUse.c b/vanetza/asn1/its/LightBarSirenInUse.c index 0bd3b03ee..855736a64 100644 --- a/vanetza/asn1/its/LightBarSirenInUse.c +++ b/vanetza/asn1/its/LightBarSirenInUse.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_LightBarSirenInUse_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_LightBarSirenInUse_constr_1 CC_NOTUSED = { + 2}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_LightBarSirenInUse_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_LightBarSirenInUse = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LightBarSirenInUse_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_LightBarSirenInUse_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LightBarSirenInUse_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LoadType.c b/vanetza/asn1/its/LoadType.c index 24bfd08d5..e07fb8b91 100644 --- a/vanetza/asn1/its/LoadType.c +++ b/vanetza/asn1/its/LoadType.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_LoadType_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_LoadType_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_LoadType_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_LoadType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LoadType_1, diff --git a/vanetza/asn1/its/LocationContainer.c b/vanetza/asn1/its/LocationContainer.c index a8fe69dc2..cd7208302 100644 --- a/vanetza/asn1/its/LocationContainer.c +++ b/vanetza/asn1/its/LocationContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_LocationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_LocationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_LocationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_LocationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +125,9 @@ asn_TYPE_descriptor_t asn_DEF_LocationContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LocationContainer_1, diff --git a/vanetza/asn1/its/Longitude.c b/vanetza/asn1/its/Longitude.c index cdbe76a75..aeff3a26c 100644 --- a/vanetza/asn1/its/Longitude.c +++ b/vanetza/asn1/its/Longitude.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Longitude = { #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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Longitude_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LongitudinalAcceleration.c b/vanetza/asn1/its/LongitudinalAcceleration.c index 62c114201..aa514bce3 100644 --- a/vanetza/asn1/its/LongitudinalAcceleration.c +++ b/vanetza/asn1/its/LongitudinalAcceleration.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_LongitudinalAcceleration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_LongitudinalAcceleration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_LongitudinalAcceleration = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LongitudinalAcceleration_1, diff --git a/vanetza/asn1/its/LongitudinalAccelerationValue.c b/vanetza/asn1/its/LongitudinalAccelerationValue.c index 568864282..f3d72fd45 100644 --- a/vanetza/asn1/its/LongitudinalAccelerationValue.c +++ b/vanetza/asn1/its/LongitudinalAccelerationValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LongitudinalAccelerationValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LongitudinalAccelerationValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LongitudinalAccelerationValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LongitudinalLanePosition.c b/vanetza/asn1/its/LongitudinalLanePosition.c index 2cdc3a28e..1f3f7f5e6 100644 --- a/vanetza/asn1/its/LongitudinalLanePosition.c +++ b/vanetza/asn1/its/LongitudinalLanePosition.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_LongitudinalLanePosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_LongitudinalLanePosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_LongitudinalLanePosition = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LongitudinalLanePosition_1, diff --git a/vanetza/asn1/its/LongitudinalLanePositionConfidence.c b/vanetza/asn1/its/LongitudinalLanePositionConfidence.c index 1cb4c692a..31ac88375 100644 --- a/vanetza/asn1/its/LongitudinalLanePositionConfidence.c +++ b/vanetza/asn1/its/LongitudinalLanePositionConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LongitudinalLanePositionConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LongitudinalLanePositionConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LongitudinalLanePositionConfidence_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LongitudinalLanePositionValue.c b/vanetza/asn1/its/LongitudinalLanePositionValue.c index c37ee06e5..70abb6866 100644 --- a/vanetza/asn1/its/LongitudinalLanePositionValue.c +++ b/vanetza/asn1/its/LongitudinalLanePositionValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_LongitudinalLanePositionValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LongitudinalLanePositionValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ LongitudinalLanePositionValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/LowFrequencyContainer.c b/vanetza/asn1/its/LowFrequencyContainer.c index aac880891..b2f8927e0 100644 --- a/vanetza/asn1/its/LowFrequencyContainer.c +++ b/vanetza/asn1/its/LowFrequencyContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_LowFrequencyContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_LowFrequencyContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_LowFrequencyContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_LowFrequencyContainer_1, diff --git a/vanetza/asn1/its/MAPEM.c b/vanetza/asn1/its/MAPEM.c index 9f367b65d..aaa049c17 100644 --- a/vanetza/asn1/its/MAPEM.c +++ b/vanetza/asn1/its/MAPEM.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_MAPEM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_MAPEM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_MAPEM = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_MAPEM_1, diff --git a/vanetza/asn1/its/ManagementContainer.c b/vanetza/asn1/its/ManagementContainer.c index 11abd5c67..aa338fa1c 100644 --- a/vanetza/asn1/its/ManagementContainer.c +++ b/vanetza/asn1/its/ManagementContainer.c @@ -42,6 +42,9 @@ asn_TYPE_member_t asn_MBR_ManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -59,6 +62,9 @@ asn_TYPE_member_t asn_MBR_ManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -76,6 +82,9 @@ asn_TYPE_member_t asn_MBR_ManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_member_t asn_MBR_ManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -110,6 +122,9 @@ asn_TYPE_member_t asn_MBR_ManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -127,6 +142,9 @@ asn_TYPE_member_t asn_MBR_ManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -144,6 +162,9 @@ asn_TYPE_member_t asn_MBR_ManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -161,6 +182,9 @@ asn_TYPE_member_t asn_MBR_ManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_9_cmp_600, /* Compare DEFAULT 600 */ @@ -179,6 +203,9 @@ asn_TYPE_member_t asn_MBR_ManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -196,6 +223,9 @@ asn_TYPE_member_t asn_MBR_ManagementContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -244,6 +274,9 @@ asn_TYPE_descriptor_t asn_DEF_ManagementContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ManagementContainer_1, diff --git a/vanetza/asn1/its/ManeuverAssistList.c b/vanetza/asn1/its/ManeuverAssistList.c index ed045a248..5b3bd03f2 100644 --- a/vanetza/asn1/its/ManeuverAssistList.c +++ b/vanetza/asn1/its/ManeuverAssistList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ManeuverAssistList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_ManeuverAssistList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ManeuverAssistList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ManeuverAssistList_1, diff --git a/vanetza/asn1/its/ManufacturerIdentifier.c b/vanetza/asn1/its/ManufacturerIdentifier.c index b8cf9118f..971e90a1a 100644 --- a/vanetza/asn1/its/ManufacturerIdentifier.c +++ b/vanetza/asn1/its/ManufacturerIdentifier.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ManufacturerIdentifier = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ManufacturerIdentifier_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ManufacturerIdentifier_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/MapData-addGrpC.c b/vanetza/asn1/its/MapData-addGrpC.c index 05ac3a17f..523d8345b 100644 --- a/vanetza/asn1/its/MapData-addGrpC.c +++ b/vanetza/asn1/its/MapData-addGrpC.c @@ -21,6 +21,9 @@ asn_TYPE_member_t asn_MBR_MapData_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -60,6 +63,9 @@ asn_TYPE_descriptor_t asn_DEF_MapData_addGrpC = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_MapData_addGrpC_1, diff --git a/vanetza/asn1/its/MapData.c b/vanetza/asn1/its/MapData.c index 172067624..0d574d58d 100644 --- a/vanetza/asn1/its/MapData.c +++ b/vanetza/asn1/its/MapData.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_10[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_10 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_10, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_10, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_MapData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_MapData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_MapData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_MapData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_MapData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_MapData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -225,6 +249,9 @@ asn_TYPE_member_t asn_MBR_MapData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -242,6 +269,9 @@ asn_TYPE_member_t asn_MBR_MapData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -259,6 +289,9 @@ asn_TYPE_member_t asn_MBR_MapData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_10, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -306,6 +339,9 @@ asn_TYPE_descriptor_t asn_DEF_MapData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_MapData_1, diff --git a/vanetza/asn1/its/MapLocationContainer.c b/vanetza/asn1/its/MapLocationContainer.c index 70c1e1111..49b2c373e 100644 --- a/vanetza/asn1/its/MapLocationContainer.c +++ b/vanetza/asn1/its/MapLocationContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_MapLocationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_MapLocationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_MapLocationContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_MapLocationContainer_1, diff --git a/vanetza/asn1/its/MapReference.c b/vanetza/asn1/its/MapReference.c index 5ebd9917b..0e05b3ec5 100644 --- a/vanetza/asn1/its/MapReference.c +++ b/vanetza/asn1/its/MapReference.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_MapReference_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_MapReference_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_MapReference = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MapReference_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_MapReference_1, diff --git a/vanetza/asn1/its/MarkingColour.c b/vanetza/asn1/its/MarkingColour.c index e9a903954..2e3b896bf 100644 --- a/vanetza/asn1/its/MarkingColour.c +++ b/vanetza/asn1/its/MarkingColour.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_MarkingColour = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MarkingColour_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ MarkingColour_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/MatchedPosition.c b/vanetza/asn1/its/MatchedPosition.c index e09eefac2..72a7e206f 100644 --- a/vanetza/asn1/its/MatchedPosition.c +++ b/vanetza/asn1/its/MatchedPosition.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_MatchedPosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_MatchedPosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_MatchedPosition = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_MatchedPosition_1, diff --git a/vanetza/asn1/its/MaterialType.c b/vanetza/asn1/its/MaterialType.c index 63e486c85..4b53afd33 100644 --- a/vanetza/asn1/its/MaterialType.c +++ b/vanetza/asn1/its/MaterialType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_MaterialType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MaterialType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ MaterialType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/MaxLenghtOfPlatoon.c b/vanetza/asn1/its/MaxLenghtOfPlatoon.c index 7e2cb69da..657cb62cd 100644 --- a/vanetza/asn1/its/MaxLenghtOfPlatoon.c +++ b/vanetza/asn1/its/MaxLenghtOfPlatoon.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_MaxLenghtOfPlatoon = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MaxLenghtOfPlatoon_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ MaxLenghtOfPlatoon_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/MaxNoOfVehicles.c b/vanetza/asn1/its/MaxNoOfVehicles.c index 0a3217483..27d79704a 100644 --- a/vanetza/asn1/its/MaxNoOfVehicles.c +++ b/vanetza/asn1/its/MaxNoOfVehicles.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_MaxNoOfVehicles = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MaxNoOfVehicles_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ MaxNoOfVehicles_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/MergeDivergeNodeAngle.c b/vanetza/asn1/its/MergeDivergeNodeAngle.c index 26eea7461..9360228c5 100644 --- a/vanetza/asn1/its/MergeDivergeNodeAngle.c +++ b/vanetza/asn1/its/MergeDivergeNodeAngle.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_MergeDivergeNodeAngle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MergeDivergeNodeAngle_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ MergeDivergeNodeAngle_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/MinuteOfTheYear.c b/vanetza/asn1/its/MinuteOfTheYear.c index ba4f94573..372400e85 100644 --- a/vanetza/asn1/its/MinuteOfTheYear.c +++ b/vanetza/asn1/its/MinuteOfTheYear.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_MinuteOfTheYear = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MinuteOfTheYear_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ MinuteOfTheYear_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/MlcPart.c b/vanetza/asn1/its/MlcPart.c index 2dcf0b1f9..97f4dbfb2 100644 --- a/vanetza/asn1/its/MlcPart.c +++ b/vanetza/asn1/its/MlcPart.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_MlcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_MlcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_MlcPart = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_MlcPart_1, diff --git a/vanetza/asn1/its/MlcParts.c b/vanetza/asn1/its/MlcParts.c index 223ec5b53..a8fff5d2c 100644 --- a/vanetza/asn1/its/MlcParts.c +++ b/vanetza/asn1/its/MlcParts.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_MlcParts_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_MlcParts = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MlcParts_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_MlcParts_1, diff --git a/vanetza/asn1/its/MonthDay.c b/vanetza/asn1/its/MonthDay.c index 943fb5475..2d3b06bae 100644 --- a/vanetza/asn1/its/MonthDay.c +++ b/vanetza/asn1/its/MonthDay.c @@ -94,6 +94,9 @@ asn_TYPE_member_t asn_MBR_MonthDay_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_month_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_month_constraint_1 }, 0, 0, /* No default value */ @@ -111,6 +114,9 @@ asn_TYPE_member_t asn_MBR_MonthDay_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_day_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_day_constraint_1 }, 0, 0, /* No default value */ @@ -149,6 +155,9 @@ asn_TYPE_descriptor_t asn_DEF_MonthDay = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_MonthDay_1, diff --git a/vanetza/asn1/its/MovementEvent-addGrpC.c b/vanetza/asn1/its/MovementEvent-addGrpC.c index a9a35e471..d8c7426c4 100644 --- a/vanetza/asn1/its/MovementEvent-addGrpC.c +++ b/vanetza/asn1/its/MovementEvent-addGrpC.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_MovementEvent_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -59,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_MovementEvent_addGrpC = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_MovementEvent_addGrpC_1, diff --git a/vanetza/asn1/its/MovementEvent.c b/vanetza/asn1/its/MovementEvent.c index 1b4a8c8fc..42b5be90f 100644 --- a/vanetza/asn1/its/MovementEvent.c +++ b/vanetza/asn1/its/MovementEvent.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_5 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_5, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_MovementEvent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_MovementEvent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_MovementEvent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_MovementEvent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -216,6 +234,9 @@ asn_TYPE_descriptor_t asn_DEF_MovementEvent = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_MovementEvent_1, diff --git a/vanetza/asn1/its/MovementEventList.c b/vanetza/asn1/its/MovementEventList.c index f3e1e77a8..18dd9769f 100644 --- a/vanetza/asn1/its/MovementEventList.c +++ b/vanetza/asn1/its/MovementEventList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_MovementEventList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_MovementEventList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MovementEventList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_MovementEventList_1, diff --git a/vanetza/asn1/its/MovementList.c b/vanetza/asn1/its/MovementList.c index f73efdaff..72bc490a9 100644 --- a/vanetza/asn1/its/MovementList.c +++ b/vanetza/asn1/its/MovementList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_MovementList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_MovementList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MovementList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_MovementList_1, diff --git a/vanetza/asn1/its/MovementPhaseState.c b/vanetza/asn1/its/MovementPhaseState.c index d89812695..c8f1b08a1 100644 --- a/vanetza/asn1/its/MovementPhaseState.c +++ b/vanetza/asn1/its/MovementPhaseState.c @@ -76,6 +76,9 @@ asn_TYPE_descriptor_t asn_DEF_MovementPhaseState = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MovementPhaseState_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/MovementState.c b/vanetza/asn1/its/MovementState.c index 491c5cb64..f886d67e5 100644 --- a/vanetza/asn1/its/MovementState.c +++ b/vanetza/asn1/its/MovementState.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_6[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_6 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_6, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_MovementState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_MovementState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_MovementState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_MovementState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_MovementState_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -234,6 +255,9 @@ asn_TYPE_descriptor_t asn_DEF_MovementState = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_MovementState_1, diff --git a/vanetza/asn1/its/MsgCount.c b/vanetza/asn1/its/MsgCount.c index 3b7d2bc15..7d13cdfa6 100644 --- a/vanetza/asn1/its/MsgCount.c +++ b/vanetza/asn1/its/MsgCount.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_MsgCount = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_MsgCount_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ MsgCount_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Node-LLmD-64b.c b/vanetza/asn1/its/Node-LLmD-64b.c index 148b5565d..1a6775bbe 100644 --- a/vanetza/asn1/its/Node-LLmD-64b.c +++ b/vanetza/asn1/its/Node-LLmD-64b.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Node_LLmD_64b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Node_LLmD_64b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Node_LLmD_64b = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Node_LLmD_64b_1, diff --git a/vanetza/asn1/its/Node-XY-20b.c b/vanetza/asn1/its/Node-XY-20b.c index 14e59e7b8..5ffc40226 100644 --- a/vanetza/asn1/its/Node-XY-20b.c +++ b/vanetza/asn1/its/Node-XY-20b.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_20b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_20b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Node_XY_20b = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Node_XY_20b_1, diff --git a/vanetza/asn1/its/Node-XY-22b.c b/vanetza/asn1/its/Node-XY-22b.c index 0a97913ea..6d3929e27 100644 --- a/vanetza/asn1/its/Node-XY-22b.c +++ b/vanetza/asn1/its/Node-XY-22b.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_22b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_22b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Node_XY_22b = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Node_XY_22b_1, diff --git a/vanetza/asn1/its/Node-XY-24b.c b/vanetza/asn1/its/Node-XY-24b.c index f78db9367..7c924d80d 100644 --- a/vanetza/asn1/its/Node-XY-24b.c +++ b/vanetza/asn1/its/Node-XY-24b.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_24b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_24b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Node_XY_24b = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Node_XY_24b_1, diff --git a/vanetza/asn1/its/Node-XY-26b.c b/vanetza/asn1/its/Node-XY-26b.c index 245d0725b..9fe88d879 100644 --- a/vanetza/asn1/its/Node-XY-26b.c +++ b/vanetza/asn1/its/Node-XY-26b.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_26b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_26b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Node_XY_26b = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Node_XY_26b_1, diff --git a/vanetza/asn1/its/Node-XY-28b.c b/vanetza/asn1/its/Node-XY-28b.c index 950000aab..9b173a7f1 100644 --- a/vanetza/asn1/its/Node-XY-28b.c +++ b/vanetza/asn1/its/Node-XY-28b.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_28b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_28b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Node_XY_28b = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Node_XY_28b_1, diff --git a/vanetza/asn1/its/Node-XY-32b.c b/vanetza/asn1/its/Node-XY-32b.c index f5e42c667..2ffe1c109 100644 --- a/vanetza/asn1/its/Node-XY-32b.c +++ b/vanetza/asn1/its/Node-XY-32b.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_32b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Node_XY_32b_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Node_XY_32b = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Node_XY_32b_1, diff --git a/vanetza/asn1/its/Node.c b/vanetza/asn1/its/Node.c index d5dfd4931..0aad8d6e1 100644 --- a/vanetza/asn1/its/Node.c +++ b/vanetza/asn1/its/Node.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Node_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Node_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_Node_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_Node_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +125,9 @@ asn_TYPE_descriptor_t asn_DEF_Node = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Node_1, diff --git a/vanetza/asn1/its/NodeAttributeSet-addGrpC.c b/vanetza/asn1/its/NodeAttributeSet-addGrpC.c index 22c34e6a7..eba84e3eb 100644 --- a/vanetza/asn1/its/NodeAttributeSet-addGrpC.c +++ b/vanetza/asn1/its/NodeAttributeSet-addGrpC.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_NodeAttributeSet_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_NodeAttributeSet_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_NodeAttributeSet_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_NodeAttributeSet_addGrpC = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_NodeAttributeSet_addGrpC_1, diff --git a/vanetza/asn1/its/NodeAttributeSetXY.c b/vanetza/asn1/its/NodeAttributeSetXY.c index be4b27dcb..0c11deec8 100644 --- a/vanetza/asn1/its/NodeAttributeSetXY.c +++ b/vanetza/asn1/its/NodeAttributeSetXY.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_8[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_8 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_8, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_8, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_NodeAttributeSetXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_NodeAttributeSetXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_NodeAttributeSetXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_NodeAttributeSetXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_NodeAttributeSetXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_NodeAttributeSetXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -225,6 +249,9 @@ asn_TYPE_member_t asn_MBR_NodeAttributeSetXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_8, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -270,6 +297,9 @@ asn_TYPE_descriptor_t asn_DEF_NodeAttributeSetXY = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_NodeAttributeSetXY_1, diff --git a/vanetza/asn1/its/NodeAttributeXY.c b/vanetza/asn1/its/NodeAttributeXY.c index 3c921330f..888ac4eac 100644 --- a/vanetza/asn1/its/NodeAttributeXY.c +++ b/vanetza/asn1/its/NodeAttributeXY.c @@ -82,6 +82,9 @@ asn_TYPE_descriptor_t asn_DEF_NodeAttributeXY = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_NodeAttributeXY_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/NodeAttributeXYList.c b/vanetza/asn1/its/NodeAttributeXYList.c index cf5d7282e..0ea58edcf 100644 --- a/vanetza/asn1/its/NodeAttributeXYList.c +++ b/vanetza/asn1/its/NodeAttributeXYList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_NodeAttributeXYList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_NodeAttributeXYList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_NodeAttributeXYList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_NodeAttributeXYList_1, diff --git a/vanetza/asn1/its/NodeLink.c b/vanetza/asn1/its/NodeLink.c index b78e502a1..8f2f8576c 100644 --- a/vanetza/asn1/its/NodeLink.c +++ b/vanetza/asn1/its/NodeLink.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_NodeLink_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_NodeLink = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_NodeLink_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_NodeLink_1, diff --git a/vanetza/asn1/its/NodeListXY.c b/vanetza/asn1/its/NodeListXY.c index 445e15033..102228b02 100644 --- a/vanetza/asn1/its/NodeListXY.c +++ b/vanetza/asn1/its/NodeListXY.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_NodeListXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_NodeListXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_NodeListXY = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_NodeListXY_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_NodeListXY_1, diff --git a/vanetza/asn1/its/NodeOffsetPointXY.c b/vanetza/asn1/its/NodeOffsetPointXY.c index 13aa3fc8b..17739baaa 100644 --- a/vanetza/asn1/its/NodeOffsetPointXY.c +++ b/vanetza/asn1/its/NodeOffsetPointXY.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -134,6 +152,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -151,6 +172,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -192,6 +216,9 @@ asn_TYPE_descriptor_t asn_DEF_NodeOffsetPointXY = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_NodeOffsetPointXY_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_NodeOffsetPointXY_1, diff --git a/vanetza/asn1/its/NodeOffsetPointZ.c b/vanetza/asn1/its/NodeOffsetPointZ.c index f09bca061..27e3a61fa 100644 --- a/vanetza/asn1/its/NodeOffsetPointZ.c +++ b/vanetza/asn1/its/NodeOffsetPointZ.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointZ_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointZ_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointZ_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointZ_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointZ_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_NodeOffsetPointZ_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -156,6 +174,9 @@ asn_TYPE_descriptor_t asn_DEF_NodeOffsetPointZ = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_NodeOffsetPointZ_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_NodeOffsetPointZ_1, diff --git a/vanetza/asn1/its/NodeSetXY.c b/vanetza/asn1/its/NodeSetXY.c index 42f27803a..e5d306a2d 100644 --- a/vanetza/asn1/its/NodeSetXY.c +++ b/vanetza/asn1/its/NodeSetXY.c @@ -33,6 +33,9 @@ asn_TYPE_member_t asn_MBR_NodeSetXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -64,6 +67,9 @@ asn_TYPE_descriptor_t asn_DEF_NodeSetXY = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_NodeSetXY_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_NodeSetXY_1, diff --git a/vanetza/asn1/its/NodeXY.c b/vanetza/asn1/its/NodeXY.c index 6b4d375a0..0b3174483 100644 --- a/vanetza/asn1/its/NodeXY.c +++ b/vanetza/asn1/its/NodeXY.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_NodeXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_NodeXY_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_NodeXY = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_NodeXY_1, diff --git a/vanetza/asn1/its/NumberOfOccupants.c b/vanetza/asn1/its/NumberOfOccupants.c index bed24f651..fe364bc44 100644 --- a/vanetza/asn1/its/NumberOfOccupants.c +++ b/vanetza/asn1/its/NumberOfOccupants.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_NumberOfOccupants = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_NumberOfOccupants_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NumberOfOccupants_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/NumberOfPerceivedObjects.c b/vanetza/asn1/its/NumberOfPerceivedObjects.c index 54ac383dc..35e926058 100644 --- a/vanetza/asn1/its/NumberOfPerceivedObjects.c +++ b/vanetza/asn1/its/NumberOfPerceivedObjects.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_NumberOfPerceivedObjects = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_NumberOfPerceivedObjects_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NumberOfPerceivedObjects_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ObjectAge.c b/vanetza/asn1/its/ObjectAge.c index 001c48be8..fb18ccca4 100644 --- a/vanetza/asn1/its/ObjectAge.c +++ b/vanetza/asn1/its/ObjectAge.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ObjectAge = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ObjectAge_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ObjectAge_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ObjectClass.c b/vanetza/asn1/its/ObjectClass.c index cecc70772..a58e43616 100644 --- a/vanetza/asn1/its/ObjectClass.c +++ b/vanetza/asn1/its/ObjectClass.c @@ -32,6 +32,9 @@ static asn_TYPE_member_t asn_MBR_class_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ static asn_TYPE_member_t asn_MBR_class_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ static asn_TYPE_member_t asn_MBR_class_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ static asn_TYPE_member_t asn_MBR_class_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -121,6 +133,9 @@ asn_TYPE_descriptor_t asn_DEF_class_3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_class_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_class_3, @@ -141,6 +156,9 @@ asn_TYPE_member_t asn_MBR_ObjectClass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -158,6 +176,9 @@ asn_TYPE_member_t asn_MBR_ObjectClass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -196,6 +217,9 @@ asn_TYPE_descriptor_t asn_DEF_ObjectClass = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ObjectClass_1, diff --git a/vanetza/asn1/its/ObjectClassDescription.c b/vanetza/asn1/its/ObjectClassDescription.c index a8ebfcf88..a9671e38c 100644 --- a/vanetza/asn1/its/ObjectClassDescription.c +++ b/vanetza/asn1/its/ObjectClassDescription.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ObjectClassDescription_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_ObjectClassDescription = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ObjectClassDescription_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ObjectClassDescription_1, diff --git a/vanetza/asn1/its/ObjectConfidence.c b/vanetza/asn1/its/ObjectConfidence.c index f1a1ab77d..d5de66636 100644 --- a/vanetza/asn1/its/ObjectConfidence.c +++ b/vanetza/asn1/its/ObjectConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ObjectConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ObjectConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ObjectConfidence_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ObjectDimension.c b/vanetza/asn1/its/ObjectDimension.c index 44940e1b2..f37b69154 100644 --- a/vanetza/asn1/its/ObjectDimension.c +++ b/vanetza/asn1/its/ObjectDimension.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_ObjectDimension_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_ObjectDimension_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_ObjectDimension = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ObjectDimension_1, diff --git a/vanetza/asn1/its/ObjectDimensionConfidence.c b/vanetza/asn1/its/ObjectDimensionConfidence.c index 809160e45..6022dae78 100644 --- a/vanetza/asn1/its/ObjectDimensionConfidence.c +++ b/vanetza/asn1/its/ObjectDimensionConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ObjectDimensionConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ObjectDimensionConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ObjectDimensionConfidence_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ObjectDimensionValue.c b/vanetza/asn1/its/ObjectDimensionValue.c index 0a918005e..8d623a526 100644 --- a/vanetza/asn1/its/ObjectDimensionValue.c +++ b/vanetza/asn1/its/ObjectDimensionValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ObjectDimensionValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ObjectDimensionValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ObjectDimensionValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ObjectDistanceWithConfidence.c b/vanetza/asn1/its/ObjectDistanceWithConfidence.c index bc66ae3d5..f4a2cb4d7 100644 --- a/vanetza/asn1/its/ObjectDistanceWithConfidence.c +++ b/vanetza/asn1/its/ObjectDistanceWithConfidence.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_ObjectDistanceWithConfidence_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_ObjectDistanceWithConfidence_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_ObjectDistanceWithConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ObjectDistanceWithConfidence_1, diff --git a/vanetza/asn1/its/ObjectRefPoint.c b/vanetza/asn1/its/ObjectRefPoint.c index d8936d17f..a50e187fb 100644 --- a/vanetza/asn1/its/ObjectRefPoint.c +++ b/vanetza/asn1/its/ObjectRefPoint.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ObjectRefPoint = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ObjectRefPoint_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ObjectRefPoint_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Offset-B09.c b/vanetza/asn1/its/Offset-B09.c index c29b331f0..fae6dba58 100644 --- a/vanetza/asn1/its/Offset-B09.c +++ b/vanetza/asn1/its/Offset-B09.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Offset_B09 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Offset_B09_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Offset_B09_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Offset-B10.c b/vanetza/asn1/its/Offset-B10.c index 25a98f111..926b11495 100644 --- a/vanetza/asn1/its/Offset-B10.c +++ b/vanetza/asn1/its/Offset-B10.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Offset_B10 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Offset_B10_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Offset_B10_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Offset-B11.c b/vanetza/asn1/its/Offset-B11.c index 8a35f6421..3305fdf82 100644 --- a/vanetza/asn1/its/Offset-B11.c +++ b/vanetza/asn1/its/Offset-B11.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Offset_B11 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Offset_B11_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Offset_B11_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Offset-B12.c b/vanetza/asn1/its/Offset-B12.c index 2cddab7b7..c710c17e2 100644 --- a/vanetza/asn1/its/Offset-B12.c +++ b/vanetza/asn1/its/Offset-B12.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Offset_B12 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Offset_B12_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Offset_B12_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Offset-B13.c b/vanetza/asn1/its/Offset-B13.c index d43c32359..f671bef75 100644 --- a/vanetza/asn1/its/Offset-B13.c +++ b/vanetza/asn1/its/Offset-B13.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Offset_B13 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Offset_B13_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Offset_B13_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Offset-B14.c b/vanetza/asn1/its/Offset-B14.c index 26c25cd48..8ff6dce56 100644 --- a/vanetza/asn1/its/Offset-B14.c +++ b/vanetza/asn1/its/Offset-B14.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Offset_B14 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Offset_B14_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Offset_B14_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Offset-B16.c b/vanetza/asn1/its/Offset-B16.c index 1e79820e7..b0aa512bc 100644 --- a/vanetza/asn1/its/Offset-B16.c +++ b/vanetza/asn1/its/Offset-B16.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Offset_B16 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Offset_B16_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Offset_B16_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/OffsetPoint.c b/vanetza/asn1/its/OffsetPoint.c index c6cbad45b..416a7d038 100644 --- a/vanetza/asn1/its/OffsetPoint.c +++ b/vanetza/asn1/its/OffsetPoint.c @@ -51,6 +51,9 @@ asn_TYPE_member_t asn_MBR_OffsetPoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_nodeOffsetPointxy_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_nodeOffsetPointxy_constraint_1 }, 0, 0, /* No default value */ @@ -68,6 +71,9 @@ asn_TYPE_member_t asn_MBR_OffsetPoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -108,6 +114,9 @@ asn_TYPE_descriptor_t asn_DEF_OffsetPoint = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_OffsetPoint_1, diff --git a/vanetza/asn1/its/OpeningDaysHours.c b/vanetza/asn1/its/OpeningDaysHours.c index 28b62a7bd..080b1c7f6 100644 --- a/vanetza/asn1/its/OpeningDaysHours.c +++ b/vanetza/asn1/its/OpeningDaysHours.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_OpeningDaysHours = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ UTF8String_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/OriginatingRSUContainer.c b/vanetza/asn1/its/OriginatingRSUContainer.c index f2ce91a87..9325a4e2b 100644 --- a/vanetza/asn1/its/OriginatingRSUContainer.c +++ b/vanetza/asn1/its/OriginatingRSUContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_OriginatingRSUContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_OriginatingRSUContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_OriginatingRSUContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_OriginatingRSUContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_OriginatingRSUContainer_1, diff --git a/vanetza/asn1/its/OriginatingVehicleContainer.c b/vanetza/asn1/its/OriginatingVehicleContainer.c index 99b30a6a3..eb14d65ba 100644 --- a/vanetza/asn1/its/OriginatingVehicleContainer.c +++ b/vanetza/asn1/its/OriginatingVehicleContainer.c @@ -42,6 +42,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -59,6 +62,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -76,6 +82,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_5_cmp_0, /* Compare DEFAULT 0 */ @@ -111,6 +123,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -128,6 +143,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -145,6 +163,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -162,6 +183,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -179,6 +203,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -196,6 +223,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -213,6 +243,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -230,6 +263,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -247,6 +283,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -264,6 +303,9 @@ asn_TYPE_member_t asn_MBR_OriginatingVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -316,6 +358,9 @@ asn_TYPE_descriptor_t asn_DEF_OriginatingVehicleContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_OriginatingVehicleContainer_1, diff --git a/vanetza/asn1/its/OtherSubclass.c b/vanetza/asn1/its/OtherSubclass.c index 1dd800960..fe5a2a1ab 100644 --- a/vanetza/asn1/its/OtherSubclass.c +++ b/vanetza/asn1/its/OtherSubclass.c @@ -64,6 +64,9 @@ asn_TYPE_member_t asn_MBR_OtherSubclass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_2_cmp_0, /* Compare DEFAULT 0 */ @@ -82,6 +85,9 @@ asn_TYPE_member_t asn_MBR_OtherSubclass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_3_cmp_0, /* Compare DEFAULT 0 */ @@ -123,6 +129,9 @@ asn_TYPE_descriptor_t asn_DEF_OtherSubclass = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_OtherSubclass_1, diff --git a/vanetza/asn1/its/OtherSublassType.c b/vanetza/asn1/its/OtherSublassType.c index ec16254ce..98f9fef88 100644 --- a/vanetza/asn1/its/OtherSublassType.c +++ b/vanetza/asn1/its/OtherSublassType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_OtherSublassType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_OtherSublassType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OtherSublassType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/OverlayLaneList.c b/vanetza/asn1/its/OverlayLaneList.c index f8c058d9b..38f1c02dd 100644 --- a/vanetza/asn1/its/OverlayLaneList.c +++ b/vanetza/asn1/its/OverlayLaneList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_OverlayLaneList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_OverlayLaneList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_OverlayLaneList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_OverlayLaneList_1, diff --git a/vanetza/asn1/its/PassengerCapacity.c b/vanetza/asn1/its/PassengerCapacity.c index 96e6e6a9c..cd9da22d6 100644 --- a/vanetza/asn1/its/PassengerCapacity.c +++ b/vanetza/asn1/its/PassengerCapacity.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PassengerCapacity_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PassengerCapacity_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_PassengerCapacity = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PassengerCapacity_1, diff --git a/vanetza/asn1/its/PathDeltaTime.c b/vanetza/asn1/its/PathDeltaTime.c index 8530c56d1..4c9c47129 100644 --- a/vanetza/asn1/its/PathDeltaTime.c +++ b/vanetza/asn1/its/PathDeltaTime.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_PathDeltaTime = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PathDeltaTime_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PathDeltaTime_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PathHistory.c b/vanetza/asn1/its/PathHistory.c index dc059d900..db30498a3 100644 --- a/vanetza/asn1/its/PathHistory.c +++ b/vanetza/asn1/its/PathHistory.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_PathHistory_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_PathHistory = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PathHistory_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_PathHistory_1, diff --git a/vanetza/asn1/its/PathPoint.c b/vanetza/asn1/its/PathPoint.c index 01647498b..72f6a27a7 100644 --- a/vanetza/asn1/its/PathPoint.c +++ b/vanetza/asn1/its/PathPoint.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PathPoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PathPoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_PathPoint = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PathPoint_1, diff --git a/vanetza/asn1/its/PayUnit.c b/vanetza/asn1/its/PayUnit.c index f952c2f57..cb34673d8 100644 --- a/vanetza/asn1/its/PayUnit.c +++ b/vanetza/asn1/its/PayUnit.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_PayUnit = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PayUnit_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PayUnit_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/PaymentFee.c b/vanetza/asn1/its/PaymentFee.c index ce297d6ab..caa1e42c6 100644 --- a/vanetza/asn1/its/PaymentFee.c +++ b/vanetza/asn1/its/PaymentFee.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PaymentFee_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PaymentFee_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_PaymentFee = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PaymentFee_1, diff --git a/vanetza/asn1/its/PaymentMeans.c b/vanetza/asn1/its/PaymentMeans.c index 32c38f26e..ea5994bfb 100644 --- a/vanetza/asn1/its/PaymentMeans.c +++ b/vanetza/asn1/its/PaymentMeans.c @@ -58,6 +58,9 @@ static asn_TYPE_member_t asn_MBR_PaymentMeans_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +78,9 @@ static asn_TYPE_member_t asn_MBR_PaymentMeans_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -92,6 +98,9 @@ static asn_TYPE_member_t asn_MBR_PaymentMeans_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_pamentMeansUsageControl_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_pamentMeansUsageControl_constraint_1 }, 0, 0, /* No default value */ @@ -131,6 +140,9 @@ asn_TYPE_descriptor_t asn_DEF_PaymentMeans = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PaymentMeans_1, diff --git a/vanetza/asn1/its/PaymentMeansBalance.c b/vanetza/asn1/its/PaymentMeansBalance.c index f0eb0875f..05793131b 100644 --- a/vanetza/asn1/its/PaymentMeansBalance.c +++ b/vanetza/asn1/its/PaymentMeansBalance.c @@ -38,6 +38,9 @@ asn_TYPE_descriptor_t asn_DEF_PaymentMeansBalance = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_SignedValue_1, diff --git a/vanetza/asn1/its/PaymentMeansUnit.c b/vanetza/asn1/its/PaymentMeansUnit.c index 81808a6a6..b982d7021 100644 --- a/vanetza/asn1/its/PaymentMeansUnit.c +++ b/vanetza/asn1/its/PaymentMeansUnit.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_PaymentMeansUnit = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PaymentMeansUnit_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PaymentMeansUnit_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/PaymentSecurityData.c b/vanetza/asn1/its/PaymentSecurityData.c index 4766963b0..3841a8470 100644 --- a/vanetza/asn1/its/PaymentSecurityData.c +++ b/vanetza/asn1/its/PaymentSecurityData.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_PaymentSecurityData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/PedestrianBicycleDetect.c b/vanetza/asn1/its/PedestrianBicycleDetect.c index 9bfcc7b0c..2a88a2e2e 100644 --- a/vanetza/asn1/its/PedestrianBicycleDetect.c +++ b/vanetza/asn1/its/PedestrianBicycleDetect.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_PedestrianBicycleDetect = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ BOOLEAN_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/PerceivedObject.c b/vanetza/asn1/its/PerceivedObject.c index c94607d9f..713cf8e2e 100644 --- a/vanetza/asn1/its/PerceivedObject.c +++ b/vanetza/asn1/its/PerceivedObject.c @@ -64,6 +64,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -81,6 +84,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -98,6 +104,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -115,6 +124,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -132,6 +144,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_6_cmp_0, /* Compare DEFAULT 0 */ @@ -150,6 +165,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -167,6 +185,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -184,6 +205,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -201,6 +225,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -218,6 +245,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -235,6 +265,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -252,6 +285,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -269,6 +305,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -286,6 +325,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -303,6 +345,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -320,6 +365,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -337,6 +385,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -354,6 +405,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -371,6 +425,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_20_cmp_0, /* Compare DEFAULT 0 */ @@ -389,6 +446,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -406,6 +466,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -423,6 +486,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObject_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -483,6 +549,9 @@ asn_TYPE_descriptor_t asn_DEF_PerceivedObject = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PerceivedObject_1, diff --git a/vanetza/asn1/its/PerceivedObjectContainer.c b/vanetza/asn1/its/PerceivedObjectContainer.c index 64ebd38eb..dbdadf651 100644 --- a/vanetza/asn1/its/PerceivedObjectContainer.c +++ b/vanetza/asn1/its/PerceivedObjectContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObjectContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_PerceivedObjectContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PerceivedObjectContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_PerceivedObjectContainer_1, diff --git a/vanetza/asn1/its/PerceivedObjectContainerSegmentInfo.c b/vanetza/asn1/its/PerceivedObjectContainerSegmentInfo.c index f215d7209..1c2a75c5e 100644 --- a/vanetza/asn1/its/PerceivedObjectContainerSegmentInfo.c +++ b/vanetza/asn1/its/PerceivedObjectContainerSegmentInfo.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObjectContainerSegmentInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PerceivedObjectContainerSegmentInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_PerceivedObjectContainerSegmentInfo = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PerceivedObjectContainerSegmentInfo_1, diff --git a/vanetza/asn1/its/PerformanceClass.c b/vanetza/asn1/its/PerformanceClass.c index 9a8749ef9..1e4a01bfd 100644 --- a/vanetza/asn1/its/PerformanceClass.c +++ b/vanetza/asn1/its/PerformanceClass.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_PerformanceClass = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PerformanceClass_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PerformanceClass_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PersonSubclass.c b/vanetza/asn1/its/PersonSubclass.c index 7b40f6101..993a4f6ed 100644 --- a/vanetza/asn1/its/PersonSubclass.c +++ b/vanetza/asn1/its/PersonSubclass.c @@ -64,6 +64,9 @@ asn_TYPE_member_t asn_MBR_PersonSubclass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_2_cmp_0, /* Compare DEFAULT 0 */ @@ -82,6 +85,9 @@ asn_TYPE_member_t asn_MBR_PersonSubclass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_3_cmp_0, /* Compare DEFAULT 0 */ @@ -123,6 +129,9 @@ asn_TYPE_descriptor_t asn_DEF_PersonSubclass = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PersonSubclass_1, diff --git a/vanetza/asn1/its/PersonSubclassType.c b/vanetza/asn1/its/PersonSubclassType.c index 2769eacc9..c3d72969a 100644 --- a/vanetza/asn1/its/PersonSubclassType.c +++ b/vanetza/asn1/its/PersonSubclassType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_PersonSubclassType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PersonSubclassType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PersonSubclassType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PersonalAccountNumber.c b/vanetza/asn1/its/PersonalAccountNumber.c index 6cd81d3d9..a9e1e2e01 100644 --- a/vanetza/asn1/its/PersonalAccountNumber.c +++ b/vanetza/asn1/its/PersonalAccountNumber.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_PersonalAccountNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PersonalAccountNumber_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PersonalAccountNumber_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/PhoneNumber.c b/vanetza/asn1/its/PhoneNumber.c index 1edeb85f2..0f1f16648 100644 --- a/vanetza/asn1/its/PhoneNumber.c +++ b/vanetza/asn1/its/PhoneNumber.c @@ -105,6 +105,9 @@ asn_TYPE_descriptor_t asn_DEF_PhoneNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PhoneNumber_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PhoneNumber_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/PlatooningRule.c b/vanetza/asn1/its/PlatooningRule.c index 1938580a2..5eca35910 100644 --- a/vanetza/asn1/its/PlatooningRule.c +++ b/vanetza/asn1/its/PlatooningRule.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PlatooningRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PlatooningRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_PlatooningRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_PlatooningRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_PlatooningRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_PlatooningRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -122,6 +140,9 @@ asn_TYPE_member_t asn_MBR_PlatooningRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -139,6 +160,9 @@ asn_TYPE_member_t asn_MBR_PlatooningRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -156,6 +180,9 @@ asn_TYPE_member_t asn_MBR_PlatooningRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -173,6 +200,9 @@ asn_TYPE_member_t asn_MBR_PlatooningRule_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -221,6 +251,9 @@ asn_TYPE_descriptor_t asn_DEF_PlatooningRule = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PlatooningRule_1, diff --git a/vanetza/asn1/its/PlatooningRules.c b/vanetza/asn1/its/PlatooningRules.c index 75278f548..5505a3f21 100644 --- a/vanetza/asn1/its/PlatooningRules.c +++ b/vanetza/asn1/its/PlatooningRules.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_PlatooningRules_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_PlatooningRules = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PlatooningRules_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_PlatooningRules_1, diff --git a/vanetza/asn1/its/PolyPointList.c b/vanetza/asn1/its/PolyPointList.c index 608841b4f..4c8849ebf 100644 --- a/vanetza/asn1/its/PolyPointList.c +++ b/vanetza/asn1/its/PolyPointList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_PolyPointList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_PolyPointList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PolyPointList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_PolyPointList_1, diff --git a/vanetza/asn1/its/PolygonalLine.c b/vanetza/asn1/its/PolygonalLine.c index 80dbf4fe3..3b6f120bc 100644 --- a/vanetza/asn1/its/PolygonalLine.c +++ b/vanetza/asn1/its/PolygonalLine.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_PolygonalLine_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_PolygonalLine_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_PolygonalLine_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_PolygonalLine_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -120,6 +132,9 @@ asn_TYPE_descriptor_t asn_DEF_PolygonalLine = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PolygonalLine_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_PolygonalLine_1, diff --git a/vanetza/asn1/its/PosCentMass.c b/vanetza/asn1/its/PosCentMass.c index ce3a8317f..809bf4d59 100644 --- a/vanetza/asn1/its/PosCentMass.c +++ b/vanetza/asn1/its/PosCentMass.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_PosCentMass = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PosCentMass_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PosCentMass_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PosConfidenceEllipse.c b/vanetza/asn1/its/PosConfidenceEllipse.c index ae8e0dabf..afe2ae795 100644 --- a/vanetza/asn1/its/PosConfidenceEllipse.c +++ b/vanetza/asn1/its/PosConfidenceEllipse.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PosConfidenceEllipse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PosConfidenceEllipse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_PosConfidenceEllipse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_PosConfidenceEllipse = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PosConfidenceEllipse_1, diff --git a/vanetza/asn1/its/PosFrontAx.c b/vanetza/asn1/its/PosFrontAx.c index 5668fb983..05c084c04 100644 --- a/vanetza/asn1/its/PosFrontAx.c +++ b/vanetza/asn1/its/PosFrontAx.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_PosFrontAx = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PosFrontAx_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PosFrontAx_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PosLonCarr.c b/vanetza/asn1/its/PosLonCarr.c index 677b7c49f..b7aaa4e29 100644 --- a/vanetza/asn1/its/PosLonCarr.c +++ b/vanetza/asn1/its/PosLonCarr.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_PosLonCarr = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PosLonCarr_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PosLonCarr_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PosPillar.c b/vanetza/asn1/its/PosPillar.c index bd2091642..f4b2fd6ab 100644 --- a/vanetza/asn1/its/PosPillar.c +++ b/vanetza/asn1/its/PosPillar.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_PosPillar = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PosPillar_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PosPillar_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Position3D-addGrpC.c b/vanetza/asn1/its/Position3D-addGrpC.c index 7fd4e52d1..ba5f36a39 100644 --- a/vanetza/asn1/its/Position3D-addGrpC.c +++ b/vanetza/asn1/its/Position3D-addGrpC.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Position3D_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -57,6 +60,9 @@ asn_TYPE_descriptor_t asn_DEF_Position3D_addGrpC = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Position3D_addGrpC_1, diff --git a/vanetza/asn1/its/Position3D.c b/vanetza/asn1/its/Position3D.c index f650c83bf..c29c6b358 100644 --- a/vanetza/asn1/its/Position3D.c +++ b/vanetza/asn1/its/Position3D.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_5 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_5, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_Position3D_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_Position3D_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_Position3D_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_Position3D_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -216,6 +234,9 @@ asn_TYPE_descriptor_t asn_DEF_Position3D = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Position3D_1, diff --git a/vanetza/asn1/its/PositionConfidence.c b/vanetza/asn1/its/PositionConfidence.c index a3ee8dd90..98b79c32b 100644 --- a/vanetza/asn1/its/PositionConfidence.c +++ b/vanetza/asn1/its/PositionConfidence.c @@ -88,6 +88,9 @@ asn_TYPE_descriptor_t asn_DEF_PositionConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PositionConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PositionConfidenceSet.c b/vanetza/asn1/its/PositionConfidenceSet.c index 40f75824e..d539f6b13 100644 --- a/vanetza/asn1/its/PositionConfidenceSet.c +++ b/vanetza/asn1/its/PositionConfidenceSet.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PositionConfidenceSet_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PositionConfidenceSet_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_PositionConfidenceSet = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PositionConfidenceSet_1, diff --git a/vanetza/asn1/its/PositionOfOccupants.c b/vanetza/asn1/its/PositionOfOccupants.c index 6b0bca5ac..ac90b7f13 100644 --- a/vanetza/asn1/its/PositionOfOccupants.c +++ b/vanetza/asn1/its/PositionOfOccupants.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_PositionOfOccupants_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_PositionOfOccupants_constr_1 CC_NOTUSED = { + 20}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_PositionOfOccupants_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_PositionOfOccupants = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PositionOfOccupants_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_PositionOfOccupants_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PositionOfOccupants_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PositionOfPillars.c b/vanetza/asn1/its/PositionOfPillars.c index 69137fa69..c8c169b3a 100644 --- a/vanetza/asn1/its/PositionOfPillars.c +++ b/vanetza/asn1/its/PositionOfPillars.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_PositionOfPillars_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_PositionOfPillars = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PositionOfPillars_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_PositionOfPillars_1, diff --git a/vanetza/asn1/its/PositionalAccuracy.c b/vanetza/asn1/its/PositionalAccuracy.c index c0a20f256..4f061ccd0 100644 --- a/vanetza/asn1/its/PositionalAccuracy.c +++ b/vanetza/asn1/its/PositionalAccuracy.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PositionalAccuracy_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PositionalAccuracy_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_PositionalAccuracy_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_PositionalAccuracy = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PositionalAccuracy_1, diff --git a/vanetza/asn1/its/PositioningSolutionType.c b/vanetza/asn1/its/PositioningSolutionType.c index 28f4461b7..fe7805de3 100644 --- a/vanetza/asn1/its/PositioningSolutionType.c +++ b/vanetza/asn1/its/PositioningSolutionType.c @@ -70,6 +70,9 @@ asn_TYPE_descriptor_t asn_DEF_PositioningSolutionType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PositioningSolutionType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PostCrashSubCauseCode.c b/vanetza/asn1/its/PostCrashSubCauseCode.c index bc207a060..65619aa6f 100644 --- a/vanetza/asn1/its/PostCrashSubCauseCode.c +++ b/vanetza/asn1/its/PostCrashSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_PostCrashSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PostCrashSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PostCrashSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PreemptPriorityList.c b/vanetza/asn1/its/PreemptPriorityList.c index 27f9caa1d..d0992caa9 100644 --- a/vanetza/asn1/its/PreemptPriorityList.c +++ b/vanetza/asn1/its/PreemptPriorityList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_PreemptPriorityList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_PreemptPriorityList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PreemptPriorityList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_PreemptPriorityList_1, diff --git a/vanetza/asn1/its/PrioritizationResponse.c b/vanetza/asn1/its/PrioritizationResponse.c index bef7e2336..32e699f64 100644 --- a/vanetza/asn1/its/PrioritizationResponse.c +++ b/vanetza/asn1/its/PrioritizationResponse.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PrioritizationResponse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PrioritizationResponse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_PrioritizationResponse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_PrioritizationResponse = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PrioritizationResponse_1, diff --git a/vanetza/asn1/its/PrioritizationResponseList.c b/vanetza/asn1/its/PrioritizationResponseList.c index 5c6c15291..c1b56ae64 100644 --- a/vanetza/asn1/its/PrioritizationResponseList.c +++ b/vanetza/asn1/its/PrioritizationResponseList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_PrioritizationResponseList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_PrioritizationResponseList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PrioritizationResponseList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_PrioritizationResponseList_1, diff --git a/vanetza/asn1/its/PrioritizationResponseStatus.c b/vanetza/asn1/its/PrioritizationResponseStatus.c index fe96559e8..42521b641 100644 --- a/vanetza/asn1/its/PrioritizationResponseStatus.c +++ b/vanetza/asn1/its/PrioritizationResponseStatus.c @@ -74,6 +74,9 @@ asn_TYPE_descriptor_t asn_DEF_PrioritizationResponseStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PrioritizationResponseStatus_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PriorityLevel.c b/vanetza/asn1/its/PriorityLevel.c index d31439365..2c7b9bc96 100644 --- a/vanetza/asn1/its/PriorityLevel.c +++ b/vanetza/asn1/its/PriorityLevel.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_PriorityLevel = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PriorityLevel_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PriorityLevel_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/PriorityRequestType.c b/vanetza/asn1/its/PriorityRequestType.c index f4d1a6956..755ce002a 100644 --- a/vanetza/asn1/its/PriorityRequestType.c +++ b/vanetza/asn1/its/PriorityRequestType.c @@ -66,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_PriorityRequestType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PriorityRequestType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ProtectedCommunicationZone.c b/vanetza/asn1/its/ProtectedCommunicationZone.c index c3605c970..4db7ae292 100644 --- a/vanetza/asn1/its/ProtectedCommunicationZone.c +++ b/vanetza/asn1/its/ProtectedCommunicationZone.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_ProtectedCommunicationZone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_ProtectedCommunicationZone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_ProtectedCommunicationZone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_ProtectedCommunicationZone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_ProtectedCommunicationZone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_ProtectedCommunicationZone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -149,6 +167,9 @@ asn_TYPE_descriptor_t asn_DEF_ProtectedCommunicationZone = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ProtectedCommunicationZone_1, diff --git a/vanetza/asn1/its/ProtectedCommunicationZonesRSU.c b/vanetza/asn1/its/ProtectedCommunicationZonesRSU.c index 4886db7ea..e44037d0b 100644 --- a/vanetza/asn1/its/ProtectedCommunicationZonesRSU.c +++ b/vanetza/asn1/its/ProtectedCommunicationZonesRSU.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ProtectedCommunicationZonesRSU_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_ProtectedCommunicationZonesRSU = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ProtectedCommunicationZonesRSU_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ProtectedCommunicationZonesRSU_1, diff --git a/vanetza/asn1/its/ProtectedZoneID.c b/vanetza/asn1/its/ProtectedZoneID.c index 353992a7f..dd5c37fe0 100644 --- a/vanetza/asn1/its/ProtectedZoneID.c +++ b/vanetza/asn1/its/ProtectedZoneID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ProtectedZoneID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ProtectedZoneID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ProtectedZoneID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ProtectedZoneRadius.c b/vanetza/asn1/its/ProtectedZoneRadius.c index 881fc564c..ec35c04dc 100644 --- a/vanetza/asn1/its/ProtectedZoneRadius.c +++ b/vanetza/asn1/its/ProtectedZoneRadius.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ProtectedZoneRadius = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ProtectedZoneRadius_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ProtectedZoneRadius_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ProtectedZoneType.c b/vanetza/asn1/its/ProtectedZoneType.c index 89af1b164..e12d27c33 100644 --- a/vanetza/asn1/its/ProtectedZoneType.c +++ b/vanetza/asn1/its/ProtectedZoneType.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_ProtectedZoneType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ProtectedZoneType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Provider.c b/vanetza/asn1/its/Provider.c index ea66e502c..2b29bff2d 100644 --- a/vanetza/asn1/its/Provider.c +++ b/vanetza/asn1/its/Provider.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Provider_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Provider_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Provider = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Provider_1, diff --git a/vanetza/asn1/its/PtActivation.c b/vanetza/asn1/its/PtActivation.c index 5748b7230..849b60f91 100644 --- a/vanetza/asn1/its/PtActivation.c +++ b/vanetza/asn1/its/PtActivation.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PtActivation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PtActivation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_PtActivation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PtActivation_1, diff --git a/vanetza/asn1/its/PtActivationData.c b/vanetza/asn1/its/PtActivationData.c index 2465a21de..b1d2ff454 100644 --- a/vanetza/asn1/its/PtActivationData.c +++ b/vanetza/asn1/its/PtActivationData.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_PtActivationData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PtActivationData_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PtActivationData_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/PtActivationType.c b/vanetza/asn1/its/PtActivationType.c index 62d3a5f34..291ce6961 100644 --- a/vanetza/asn1/its/PtActivationType.c +++ b/vanetza/asn1/its/PtActivationType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_PtActivationType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PtActivationType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PtActivationType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PtvRequestType.c b/vanetza/asn1/its/PtvRequestType.c index c168b736c..0065a0ee1 100644 --- a/vanetza/asn1/its/PtvRequestType.c +++ b/vanetza/asn1/its/PtvRequestType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_PtvRequestType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_PtvRequestType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/PublicTransportContainer.c b/vanetza/asn1/its/PublicTransportContainer.c index ae02b26ae..6690300ae 100644 --- a/vanetza/asn1/its/PublicTransportContainer.c +++ b/vanetza/asn1/its/PublicTransportContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PublicTransportContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PublicTransportContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_PublicTransportContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PublicTransportContainer_1, diff --git a/vanetza/asn1/its/PurseBalance.c b/vanetza/asn1/its/PurseBalance.c index dd1281c52..1b46d8cbe 100644 --- a/vanetza/asn1/its/PurseBalance.c +++ b/vanetza/asn1/its/PurseBalance.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_PurseBalance_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_PurseBalance_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_PurseBalance = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_PurseBalance_1, diff --git a/vanetza/asn1/its/RSCUnit.c b/vanetza/asn1/its/RSCUnit.c index f6a61e7b3..f0dbd14a8 100644 --- a/vanetza/asn1/its/RSCUnit.c +++ b/vanetza/asn1/its/RSCUnit.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_RSCUnit = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RSCUnit_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RSCUnit_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RSCode.c b/vanetza/asn1/its/RSCode.c index 161f0c4d2..92ae5dcd3 100644 --- a/vanetza/asn1/its/RSCode.c +++ b/vanetza/asn1/its/RSCode.c @@ -106,6 +106,9 @@ static asn_TYPE_member_t asn_MBR_code_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -123,6 +126,9 @@ static asn_TYPE_member_t asn_MBR_code_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +146,9 @@ static asn_TYPE_member_t asn_MBR_code_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_itisCodes_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_itisCodes_constraint_3 }, 0, 0, /* No default value */ @@ -157,6 +166,9 @@ static asn_TYPE_member_t asn_MBR_code_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -195,6 +207,9 @@ asn_TYPE_descriptor_t asn_DEF_code_3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_code_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_code_3, @@ -215,6 +230,9 @@ asn_TYPE_member_t asn_MBR_RSCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_layoutComponentId_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_layoutComponentId_constraint_1 }, 0, 0, /* No default value */ @@ -232,6 +250,9 @@ asn_TYPE_member_t asn_MBR_RSCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -272,6 +293,9 @@ asn_TYPE_descriptor_t asn_DEF_RSCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RSCode_1, diff --git a/vanetza/asn1/its/RSUContainerHighFrequency.c b/vanetza/asn1/its/RSUContainerHighFrequency.c index 814e9d44b..26f50f295 100644 --- a/vanetza/asn1/its/RSUContainerHighFrequency.c +++ b/vanetza/asn1/its/RSUContainerHighFrequency.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RSUContainerHighFrequency_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -59,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_RSUContainerHighFrequency = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RSUContainerHighFrequency_1, diff --git a/vanetza/asn1/its/RTCM-Revision.c b/vanetza/asn1/its/RTCM-Revision.c index 17ccd5aec..874c9c54e 100644 --- a/vanetza/asn1/its/RTCM-Revision.c +++ b/vanetza/asn1/its/RTCM-Revision.c @@ -66,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_RTCM_Revision = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RTCM_Revision_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RTCMEM.c b/vanetza/asn1/its/RTCMEM.c index e243c7a9e..f661db30c 100644 --- a/vanetza/asn1/its/RTCMEM.c +++ b/vanetza/asn1/its/RTCMEM.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_RTCMEM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_RTCMEM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_RTCMEM = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RTCMEM_1, diff --git a/vanetza/asn1/its/RTCMcorrections.c b/vanetza/asn1/its/RTCMcorrections.c index 7d0122e03..05ea25c20 100644 --- a/vanetza/asn1/its/RTCMcorrections.c +++ b/vanetza/asn1/its/RTCMcorrections.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_8[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_8 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_8, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_8, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_RTCMcorrections_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_RTCMcorrections_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_RTCMcorrections_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_RTCMcorrections_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_RTCMcorrections_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_RTCMcorrections_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -225,6 +249,9 @@ asn_TYPE_member_t asn_MBR_RTCMcorrections_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_8, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -270,6 +297,9 @@ asn_TYPE_descriptor_t asn_DEF_RTCMcorrections = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RTCMcorrections_1, diff --git a/vanetza/asn1/its/RTCMheader.c b/vanetza/asn1/its/RTCMheader.c index 6beaa1ebd..fb508d649 100644 --- a/vanetza/asn1/its/RTCMheader.c +++ b/vanetza/asn1/its/RTCMheader.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RTCMheader_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RTCMheader_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_RTCMheader = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RTCMheader_1, diff --git a/vanetza/asn1/its/RTCMmessage.c b/vanetza/asn1/its/RTCMmessage.c index f542b8cec..9e11c5783 100644 --- a/vanetza/asn1/its/RTCMmessage.c +++ b/vanetza/asn1/its/RTCMmessage.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_RTCMmessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RTCMmessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RTCMmessage_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/RTCMmessageList.c b/vanetza/asn1/its/RTCMmessageList.c index 9589489ac..5607184d5 100644 --- a/vanetza/asn1/its/RTCMmessageList.c +++ b/vanetza/asn1/its/RTCMmessageList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_RTCMmessageList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_RTCMmessageList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RTCMmessageList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_RTCMmessageList_1, diff --git a/vanetza/asn1/its/Radius.c b/vanetza/asn1/its/Radius.c index 64726600d..e7ae0a03b 100644 --- a/vanetza/asn1/its/Radius.c +++ b/vanetza/asn1/its/Radius.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Radius = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Radius_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Radius_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Range.c b/vanetza/asn1/its/Range.c index adcd85c56..554bf9c88 100644 --- a/vanetza/asn1/its/Range.c +++ b/vanetza/asn1/its/Range.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Range = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Range_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Range_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RccPart.c b/vanetza/asn1/its/RccPart.c index b54cbb80d..0d9898965 100644 --- a/vanetza/asn1/its/RccPart.c +++ b/vanetza/asn1/its/RccPart.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RccPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RccPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_RccPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_RccPart = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RccPart_1, diff --git a/vanetza/asn1/its/RearOverhang.c b/vanetza/asn1/its/RearOverhang.c index 932a2ff8e..55105c79c 100644 --- a/vanetza/asn1/its/RearOverhang.c +++ b/vanetza/asn1/its/RearOverhang.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_RearOverhang = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RearOverhang_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RearOverhang_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ReceiptAuthenticator.c b/vanetza/asn1/its/ReceiptAuthenticator.c index 487db98a5..2f3a3a26f 100644 --- a/vanetza/asn1/its/ReceiptAuthenticator.c +++ b/vanetza/asn1/its/ReceiptAuthenticator.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptAuthenticator = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ReceiptContract.c b/vanetza/asn1/its/ReceiptContract.c index 2cc73ab60..15b889999 100644 --- a/vanetza/asn1/its/ReceiptContract.c +++ b/vanetza/asn1/its/ReceiptContract.c @@ -58,6 +58,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptContract_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +78,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptContract_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_sessionTypeOfContract_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_sessionTypeOfContract_constraint_1 }, 0, 0, /* No default value */ @@ -92,6 +98,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptContract_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -131,6 +140,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptContract = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ReceiptContract_1, diff --git a/vanetza/asn1/its/ReceiptData.c b/vanetza/asn1/its/ReceiptData.c index 198d7c99e..2e34c12ed 100644 --- a/vanetza/asn1/its/ReceiptData.c +++ b/vanetza/asn1/its/ReceiptData.c @@ -133,6 +133,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -150,6 +153,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -167,6 +173,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -184,6 +193,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -201,6 +213,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -218,6 +233,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -235,6 +253,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -252,6 +273,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -269,6 +293,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -286,6 +313,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -303,6 +333,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_sessionTypeOfContract_constr_12, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_sessionTypeOfContract_constraint_1 }, 0, 0, /* No default value */ @@ -320,6 +353,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_sessionContextVersion_constr_13, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_sessionContextVersion_constraint_1 }, 0, 0, /* No default value */ @@ -337,6 +373,9 @@ asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_receiptDataAuthenticator_constr_14, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_receiptDataAuthenticator_constraint_1 }, 0, 0, /* No default value */ @@ -386,6 +425,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ReceiptData_1, diff --git a/vanetza/asn1/its/ReceiptData1.c b/vanetza/asn1/its/ReceiptData1.c index 0e55e2b70..c0c807fa3 100644 --- a/vanetza/asn1/its/ReceiptData1.c +++ b/vanetza/asn1/its/ReceiptData1.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptData1 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ReceiptData_1, diff --git a/vanetza/asn1/its/ReceiptData2.c b/vanetza/asn1/its/ReceiptData2.c index efcd37caa..069feb916 100644 --- a/vanetza/asn1/its/ReceiptData2.c +++ b/vanetza/asn1/its/ReceiptData2.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptData2 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ReceiptData_1, diff --git a/vanetza/asn1/its/ReceiptDistance.c b/vanetza/asn1/its/ReceiptDistance.c index baec36344..8554d6680 100644 --- a/vanetza/asn1/its/ReceiptDistance.c +++ b/vanetza/asn1/its/ReceiptDistance.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptDistance = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ReceiptDistance_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ReceiptDistance_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ReceiptFinancialPart.c b/vanetza/asn1/its/ReceiptFinancialPart.c index 50f248f5e..051b79ac4 100644 --- a/vanetza/asn1/its/ReceiptFinancialPart.c +++ b/vanetza/asn1/its/ReceiptFinancialPart.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptFinancialPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptFinancialPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptFinancialPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptFinancialPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -111,6 +123,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptFinancialPart = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ReceiptFinancialPart_1, diff --git a/vanetza/asn1/its/ReceiptICC-Id.c b/vanetza/asn1/its/ReceiptICC-Id.c index f2b6bfade..2e13f8fbb 100644 --- a/vanetza/asn1/its/ReceiptICC-Id.c +++ b/vanetza/asn1/its/ReceiptICC-Id.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptICC_Id = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ReceiptOBUId.c b/vanetza/asn1/its/ReceiptOBUId.c index ab092d834..ea1146a16 100644 --- a/vanetza/asn1/its/ReceiptOBUId.c +++ b/vanetza/asn1/its/ReceiptOBUId.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptOBUId = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ReceiptServicePart.c b/vanetza/asn1/its/ReceiptServicePart.c index 3e64acc0f..62ad09928 100644 --- a/vanetza/asn1/its/ReceiptServicePart.c +++ b/vanetza/asn1/its/ReceiptServicePart.c @@ -87,6 +87,10 @@ static asn_per_constraints_t asn_PER_memb_sessionLocation_constr_5 CC_NOTUSED = 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_memb_sessionLocation_constr_5 CC_NOTUSED = { + 8}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static asn_TYPE_member_t asn_MBR_ReceiptServicePart_1[] = { { ATF_NOFLAGS, 0, offsetof(struct ReceiptServicePart, sessionTime), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), @@ -100,6 +104,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptServicePart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +124,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptServicePart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -134,6 +144,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptServicePart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_stationLocation_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_stationLocation_constraint_1 }, 0, 0, /* No default value */ @@ -151,6 +164,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptServicePart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_sessionLocation_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_memb_sessionLocation_constr_5, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_sessionLocation_constraint_1 }, 0, 0, /* No default value */ @@ -168,6 +184,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptServicePart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -185,6 +204,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptServicePart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -202,6 +224,9 @@ static asn_TYPE_member_t asn_MBR_ReceiptServicePart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -245,6 +270,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptServicePart = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ReceiptServicePart_1, diff --git a/vanetza/asn1/its/ReceiptServiceSerialNumber.c b/vanetza/asn1/its/ReceiptServiceSerialNumber.c index c47dbeafc..47ed2dfd1 100644 --- a/vanetza/asn1/its/ReceiptServiceSerialNumber.c +++ b/vanetza/asn1/its/ReceiptServiceSerialNumber.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptServiceSerialNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ReceiptServiceSerialNumber_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ReceiptServiceSerialNumber_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ReceiptText.c b/vanetza/asn1/its/ReceiptText.c index 9137a50af..37fb21337 100644 --- a/vanetza/asn1/its/ReceiptText.c +++ b/vanetza/asn1/its/ReceiptText.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_ReceiptText = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/RefPointId.c b/vanetza/asn1/its/RefPointId.c index 09246fee9..605907061 100644 --- a/vanetza/asn1/its/RefPointId.c +++ b/vanetza/asn1/its/RefPointId.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_RefPointId = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RefPointId_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RefPointId_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ReferenceDenms.c b/vanetza/asn1/its/ReferenceDenms.c index fd53803b9..95250a03d 100644 --- a/vanetza/asn1/its/ReferenceDenms.c +++ b/vanetza/asn1/its/ReferenceDenms.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ReferenceDenms_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_ReferenceDenms = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ReferenceDenms_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ReferenceDenms_1, diff --git a/vanetza/asn1/its/ReferencePosition.c b/vanetza/asn1/its/ReferencePosition.c index 53d87bbf7..46b24e297 100644 --- a/vanetza/asn1/its/ReferencePosition.c +++ b/vanetza/asn1/its/ReferencePosition.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_ReferencePosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_ReferencePosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_ReferencePosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_ReferencePosition_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -111,6 +123,9 @@ asn_TYPE_descriptor_t asn_DEF_ReferencePosition = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ReferencePosition_1, diff --git a/vanetza/asn1/its/RegionId.c b/vanetza/asn1/its/RegionId.c index 063c57d07..04f7439bc 100644 --- a/vanetza/asn1/its/RegionId.c +++ b/vanetza/asn1/its/RegionId.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_RegionId = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RegionId_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RegionId_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/RegionalExtension.c b/vanetza/asn1/its/RegionalExtension.c index 9265878e0..c976426a3 100644 --- a/vanetza/asn1/its/RegionalExtension.c +++ b/vanetza/asn1/its/RegionalExtension.c @@ -2241,6 +2241,9 @@ static asn_TYPE_member_t asn_MBR_regExtValue_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -2276,6 +2279,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, asn_MBR_regExtValue_3, @@ -2296,6 +2302,9 @@ asn_TYPE_member_t asn_MBR_Reg_MapData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_1 }, 0, 0, /* No default value */ @@ -2313,6 +2322,9 @@ asn_TYPE_member_t asn_MBR_Reg_MapData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_1 }, 0, 0, /* No default value */ @@ -2351,6 +2363,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_MapData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_MapData_1, @@ -2384,6 +2399,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_6 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -2403,6 +2421,9 @@ asn_TYPE_member_t asn_MBR_Reg_RTCMcorrections_4[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_4 }, 0, 0, /* No default value */ @@ -2420,6 +2441,9 @@ asn_TYPE_member_t asn_MBR_Reg_RTCMcorrections_4[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_4 }, 0, 0, /* No default value */ @@ -2458,6 +2482,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_RTCMcorrections = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_RTCMcorrections_4, @@ -2491,6 +2518,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_9 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -2510,6 +2540,9 @@ asn_TYPE_member_t asn_MBR_Reg_SPAT_7[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_8, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_7 }, 0, 0, /* No default value */ @@ -2527,6 +2560,9 @@ asn_TYPE_member_t asn_MBR_Reg_SPAT_7[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_9, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_7 }, 0, 0, /* No default value */ @@ -2565,6 +2601,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_SPAT = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_SPAT_7, @@ -2598,6 +2637,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_12 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -2617,6 +2659,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalRequestMessage_10[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_11, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_10 }, 0, 0, /* No default value */ @@ -2634,6 +2679,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalRequestMessage_10[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_12, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_10 }, 0, 0, /* No default value */ @@ -2672,6 +2720,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_SignalRequestMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_SignalRequestMessage_10, @@ -2705,6 +2756,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_15 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -2724,6 +2778,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalStatusMessage_13[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_14, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_13 }, 0, 0, /* No default value */ @@ -2741,6 +2798,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalStatusMessage_13[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_15, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_13 }, 0, 0, /* No default value */ @@ -2779,6 +2839,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_SignalStatusMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_SignalStatusMessage_13, @@ -2812,6 +2875,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_18 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -2831,6 +2897,9 @@ asn_TYPE_member_t asn_MBR_Reg_AdvisorySpeed_16[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_17, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_16 }, 0, 0, /* No default value */ @@ -2848,6 +2917,9 @@ asn_TYPE_member_t asn_MBR_Reg_AdvisorySpeed_16[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_18, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_16 }, 0, 0, /* No default value */ @@ -2886,6 +2958,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_AdvisorySpeed = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_AdvisorySpeed_16, @@ -2919,6 +2994,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_21 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -2938,6 +3016,9 @@ asn_TYPE_member_t asn_MBR_Reg_ComputedLane_19[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_20, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_19 }, 0, 0, /* No default value */ @@ -2955,6 +3036,9 @@ asn_TYPE_member_t asn_MBR_Reg_ComputedLane_19[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_21, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_19 }, 0, 0, /* No default value */ @@ -2993,6 +3077,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_ComputedLane = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_ComputedLane_19, @@ -3013,6 +3100,9 @@ static asn_TYPE_member_t asn_MBR_regExtValue_24[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -3048,6 +3138,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_24 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, asn_MBR_regExtValue_24, @@ -3068,6 +3161,9 @@ asn_TYPE_member_t asn_MBR_Reg_ConnectionManeuverAssist_22[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_23, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_22 }, 0, 0, /* No default value */ @@ -3085,6 +3181,9 @@ asn_TYPE_member_t asn_MBR_Reg_ConnectionManeuverAssist_22[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_24, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_22 }, 0, 0, /* No default value */ @@ -3123,6 +3222,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_ConnectionManeuverAssist = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_ConnectionManeuverAssist_22, @@ -3143,6 +3245,9 @@ static asn_TYPE_member_t asn_MBR_regExtValue_27[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -3178,6 +3283,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_27 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, asn_MBR_regExtValue_27, @@ -3198,6 +3306,9 @@ asn_TYPE_member_t asn_MBR_Reg_GenericLane_25[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_26, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_25 }, 0, 0, /* No default value */ @@ -3215,6 +3326,9 @@ asn_TYPE_member_t asn_MBR_Reg_GenericLane_25[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_27, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_25 }, 0, 0, /* No default value */ @@ -3253,6 +3367,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_GenericLane = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_GenericLane_25, @@ -3286,6 +3403,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_30 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -3305,6 +3425,9 @@ asn_TYPE_member_t asn_MBR_Reg_IntersectionGeometry_28[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_29, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_28 }, 0, 0, /* No default value */ @@ -3322,6 +3445,9 @@ asn_TYPE_member_t asn_MBR_Reg_IntersectionGeometry_28[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_30, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_28 }, 0, 0, /* No default value */ @@ -3360,6 +3486,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_IntersectionGeometry = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_IntersectionGeometry_28, @@ -3380,6 +3509,9 @@ static asn_TYPE_member_t asn_MBR_regExtValue_33[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -3415,6 +3547,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_33 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, asn_MBR_regExtValue_33, @@ -3435,6 +3570,9 @@ asn_TYPE_member_t asn_MBR_Reg_IntersectionState_31[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_32, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_31 }, 0, 0, /* No default value */ @@ -3452,6 +3590,9 @@ asn_TYPE_member_t asn_MBR_Reg_IntersectionState_31[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_33, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_31 }, 0, 0, /* No default value */ @@ -3490,6 +3631,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_IntersectionState = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_IntersectionState_31, @@ -3510,6 +3654,9 @@ static asn_TYPE_member_t asn_MBR_regExtValue_36[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -3545,6 +3692,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_36 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, asn_MBR_regExtValue_36, @@ -3565,6 +3715,9 @@ asn_TYPE_member_t asn_MBR_Reg_LaneAttributes_34[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_35, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_34 }, 0, 0, /* No default value */ @@ -3582,6 +3735,9 @@ asn_TYPE_member_t asn_MBR_Reg_LaneAttributes_34[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_36, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_34 }, 0, 0, /* No default value */ @@ -3620,6 +3776,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_LaneAttributes = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_LaneAttributes_34, @@ -3653,6 +3812,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_39 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -3672,6 +3834,9 @@ asn_TYPE_member_t asn_MBR_Reg_LaneDataAttribute_37[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_38, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_37 }, 0, 0, /* No default value */ @@ -3689,6 +3854,9 @@ asn_TYPE_member_t asn_MBR_Reg_LaneDataAttribute_37[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_39, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_37 }, 0, 0, /* No default value */ @@ -3727,6 +3895,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_LaneDataAttribute = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_LaneDataAttribute_37, @@ -3747,6 +3918,9 @@ static asn_TYPE_member_t asn_MBR_regExtValue_42[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -3782,6 +3956,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_42 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, asn_MBR_regExtValue_42, @@ -3802,6 +3979,9 @@ asn_TYPE_member_t asn_MBR_Reg_MovementEvent_40[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_41, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_40 }, 0, 0, /* No default value */ @@ -3819,6 +3999,9 @@ asn_TYPE_member_t asn_MBR_Reg_MovementEvent_40[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_42, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_40 }, 0, 0, /* No default value */ @@ -3857,6 +4040,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_MovementEvent = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_MovementEvent_40, @@ -3890,6 +4076,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_45 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -3909,6 +4098,9 @@ asn_TYPE_member_t asn_MBR_Reg_MovementState_43[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_44, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_43 }, 0, 0, /* No default value */ @@ -3926,6 +4118,9 @@ asn_TYPE_member_t asn_MBR_Reg_MovementState_43[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_45, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_43 }, 0, 0, /* No default value */ @@ -3964,6 +4159,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_MovementState = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_MovementState_43, @@ -3984,6 +4182,9 @@ static asn_TYPE_member_t asn_MBR_regExtValue_48[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -4019,6 +4220,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_48 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, asn_MBR_regExtValue_48, @@ -4039,6 +4243,9 @@ asn_TYPE_member_t asn_MBR_Reg_NodeAttributeSetXY_46[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_47, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_46 }, 0, 0, /* No default value */ @@ -4056,6 +4263,9 @@ asn_TYPE_member_t asn_MBR_Reg_NodeAttributeSetXY_46[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_48, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_46 }, 0, 0, /* No default value */ @@ -4094,6 +4304,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_NodeAttributeSetXY = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_NodeAttributeSetXY_46, @@ -4127,6 +4340,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_51 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -4146,6 +4362,9 @@ asn_TYPE_member_t asn_MBR_Reg_NodeOffsetPointXY_49[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_50, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_49 }, 0, 0, /* No default value */ @@ -4163,6 +4382,9 @@ asn_TYPE_member_t asn_MBR_Reg_NodeOffsetPointXY_49[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_51, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_49 }, 0, 0, /* No default value */ @@ -4201,6 +4423,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_NodeOffsetPointXY = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_NodeOffsetPointXY_49, @@ -4221,6 +4446,9 @@ static asn_TYPE_member_t asn_MBR_regExtValue_54[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -4256,6 +4484,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_54 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, asn_MBR_regExtValue_54, @@ -4276,6 +4507,9 @@ asn_TYPE_member_t asn_MBR_Reg_Position3D_52[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_53, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_52 }, 0, 0, /* No default value */ @@ -4293,6 +4527,9 @@ asn_TYPE_member_t asn_MBR_Reg_Position3D_52[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_54, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_52 }, 0, 0, /* No default value */ @@ -4331,6 +4568,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_Position3D = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_Position3D_52, @@ -4351,6 +4591,9 @@ static asn_TYPE_member_t asn_MBR_regExtValue_57[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -4386,6 +4629,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_57 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, asn_MBR_regExtValue_57, @@ -4406,6 +4652,9 @@ asn_TYPE_member_t asn_MBR_Reg_RequestorDescription_55[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_56, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_55 }, 0, 0, /* No default value */ @@ -4423,6 +4672,9 @@ asn_TYPE_member_t asn_MBR_Reg_RequestorDescription_55[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_57, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_55 }, 0, 0, /* No default value */ @@ -4461,6 +4713,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_RequestorDescription = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_RequestorDescription_55, @@ -4494,6 +4749,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_60 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -4513,6 +4771,9 @@ asn_TYPE_member_t asn_MBR_Reg_RequestorType_58[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_59, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_58 }, 0, 0, /* No default value */ @@ -4530,6 +4791,9 @@ asn_TYPE_member_t asn_MBR_Reg_RequestorType_58[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_60, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_58 }, 0, 0, /* No default value */ @@ -4568,6 +4832,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_RequestorType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_RequestorType_58, @@ -4588,6 +4855,9 @@ static asn_TYPE_member_t asn_MBR_regExtValue_63[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -4623,6 +4893,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_63 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, asn_MBR_regExtValue_63, @@ -4643,6 +4916,9 @@ asn_TYPE_member_t asn_MBR_Reg_RestrictionUserType_61[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_62, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_61 }, 0, 0, /* No default value */ @@ -4660,6 +4936,9 @@ asn_TYPE_member_t asn_MBR_Reg_RestrictionUserType_61[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_63, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_61 }, 0, 0, /* No default value */ @@ -4698,6 +4977,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_RestrictionUserType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_RestrictionUserType_61, @@ -4731,6 +5013,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_66 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -4750,6 +5035,9 @@ asn_TYPE_member_t asn_MBR_Reg_RoadSegment_64[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_65, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_64 }, 0, 0, /* No default value */ @@ -4767,6 +5055,9 @@ asn_TYPE_member_t asn_MBR_Reg_RoadSegment_64[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_66, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_64 }, 0, 0, /* No default value */ @@ -4805,6 +5096,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_RoadSegment = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_RoadSegment_64, @@ -4838,6 +5132,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_69 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -4857,6 +5154,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalControlZone_67[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_68, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_67 }, 0, 0, /* No default value */ @@ -4874,6 +5174,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalControlZone_67[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_69, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_67 }, 0, 0, /* No default value */ @@ -4912,6 +5215,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_SignalControlZone = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_SignalControlZone_67, @@ -4945,6 +5251,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_72 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -4964,6 +5273,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalRequest_70[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_71, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_70 }, 0, 0, /* No default value */ @@ -4981,6 +5293,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalRequest_70[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_72, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_70 }, 0, 0, /* No default value */ @@ -5019,6 +5334,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_SignalRequest = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_SignalRequest_70, @@ -5052,6 +5370,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_75 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -5071,6 +5392,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalRequestPackage_73[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_74, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_73 }, 0, 0, /* No default value */ @@ -5088,6 +5412,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalRequestPackage_73[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_75, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_73 }, 0, 0, /* No default value */ @@ -5126,6 +5453,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_SignalRequestPackage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_SignalRequestPackage_73, @@ -5159,6 +5489,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_78 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, 0, 0, /* No members */ @@ -5178,6 +5511,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalStatus_76[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_77, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_76 }, 0, 0, /* No default value */ @@ -5195,6 +5531,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalStatus_76[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_78, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_76 }, 0, 0, /* No default value */ @@ -5233,6 +5572,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_SignalStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_SignalStatus_76, @@ -5253,6 +5595,9 @@ static asn_TYPE_member_t asn_MBR_regExtValue_81[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -5288,6 +5633,9 @@ asn_TYPE_descriptor_t asn_DEF_regExtValue_81 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OPEN_TYPE_constraint }, asn_MBR_regExtValue_81, @@ -5308,6 +5656,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalStatusPackage_79[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regionId_constr_80, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regionId_constraint_79 }, 0, 0, /* No default value */ @@ -5325,6 +5676,9 @@ asn_TYPE_member_t asn_MBR_Reg_SignalStatusPackage_79[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regExtValue_constr_81, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regExtValue_constraint_79 }, 0, 0, /* No default value */ @@ -5363,6 +5717,9 @@ asn_TYPE_descriptor_t asn_DEF_Reg_SignalStatusPackage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Reg_SignalStatusPackage_79, diff --git a/vanetza/asn1/its/RegulatorySpeedLimit.c b/vanetza/asn1/its/RegulatorySpeedLimit.c index 994974bd4..b2a39cb5c 100644 --- a/vanetza/asn1/its/RegulatorySpeedLimit.c +++ b/vanetza/asn1/its/RegulatorySpeedLimit.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RegulatorySpeedLimit_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RegulatorySpeedLimit_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_RegulatorySpeedLimit = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RegulatorySpeedLimit_1, diff --git a/vanetza/asn1/its/RejectedReason.c b/vanetza/asn1/its/RejectedReason.c index caff62a35..a93993ceb 100644 --- a/vanetza/asn1/its/RejectedReason.c +++ b/vanetza/asn1/its/RejectedReason.c @@ -70,6 +70,9 @@ asn_TYPE_descriptor_t asn_DEF_RejectedReason = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RejectedReason_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RelevanceDistance.c b/vanetza/asn1/its/RelevanceDistance.c index 0c6e4d967..2234ef852 100644 --- a/vanetza/asn1/its/RelevanceDistance.c +++ b/vanetza/asn1/its/RelevanceDistance.c @@ -72,6 +72,9 @@ asn_TYPE_descriptor_t asn_DEF_RelevanceDistance = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RelevanceDistance_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RelevanceTrafficDirection.c b/vanetza/asn1/its/RelevanceTrafficDirection.c index ff247f06e..f13e7a5b9 100644 --- a/vanetza/asn1/its/RelevanceTrafficDirection.c +++ b/vanetza/asn1/its/RelevanceTrafficDirection.c @@ -64,6 +64,9 @@ asn_TYPE_descriptor_t asn_DEF_RelevanceTrafficDirection = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RelevanceTrafficDirection_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RepeatingPeriodDayTypes.c b/vanetza/asn1/its/RepeatingPeriodDayTypes.c index e237634ee..cbe050746 100644 --- a/vanetza/asn1/its/RepeatingPeriodDayTypes.c +++ b/vanetza/asn1/its/RepeatingPeriodDayTypes.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_RepeatingPeriodDayTypes_constr_1 CC_NOTUSED = 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_RepeatingPeriodDayTypes_constr_1 CC_NOTUSED = { + 4}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_RepeatingPeriodDayTypes_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_RepeatingPeriodDayTypes = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RepeatingPeriodDayTypes_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_RepeatingPeriodDayTypes_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RepeatingPeriodDayTypes_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RequestID.c b/vanetza/asn1/its/RequestID.c index db8a4c848..e7adbc560 100644 --- a/vanetza/asn1/its/RequestID.c +++ b/vanetza/asn1/its/RequestID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_RequestID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RequestID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RequestID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/RequestImportanceLevel.c b/vanetza/asn1/its/RequestImportanceLevel.c index 25d9a466a..d63c307dd 100644 --- a/vanetza/asn1/its/RequestImportanceLevel.c +++ b/vanetza/asn1/its/RequestImportanceLevel.c @@ -88,6 +88,9 @@ asn_TYPE_descriptor_t asn_DEF_RequestImportanceLevel = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RequestImportanceLevel_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RequestResponseIndication.c b/vanetza/asn1/its/RequestResponseIndication.c index e5eb895a3..49b15c1f4 100644 --- a/vanetza/asn1/its/RequestResponseIndication.c +++ b/vanetza/asn1/its/RequestResponseIndication.c @@ -60,6 +60,9 @@ asn_TYPE_descriptor_t asn_DEF_RequestResponseIndication = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RequestResponseIndication_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RequestSubRole.c b/vanetza/asn1/its/RequestSubRole.c index 049ce0636..79d4995f0 100644 --- a/vanetza/asn1/its/RequestSubRole.c +++ b/vanetza/asn1/its/RequestSubRole.c @@ -88,6 +88,9 @@ asn_TYPE_descriptor_t asn_DEF_RequestSubRole = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RequestSubRole_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RequestorDescription-addGrpC.c b/vanetza/asn1/its/RequestorDescription-addGrpC.c index e191cc3bc..9e36e1e43 100644 --- a/vanetza/asn1/its/RequestorDescription-addGrpC.c +++ b/vanetza/asn1/its/RequestorDescription-addGrpC.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RequestorDescription_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RequestorDescription_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_RequestorDescription_addGrpC = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RequestorDescription_addGrpC_1, diff --git a/vanetza/asn1/its/RequestorDescription.c b/vanetza/asn1/its/RequestorDescription.c index 59b51383d..d641bffda 100644 --- a/vanetza/asn1/its/RequestorDescription.c +++ b/vanetza/asn1/its/RequestorDescription.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_10[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_10 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_10, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_10, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_RequestorDescription_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_RequestorDescription_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_RequestorDescription_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_RequestorDescription_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_RequestorDescription_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_RequestorDescription_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -225,6 +249,9 @@ asn_TYPE_member_t asn_MBR_RequestorDescription_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -242,6 +269,9 @@ asn_TYPE_member_t asn_MBR_RequestorDescription_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -259,6 +289,9 @@ asn_TYPE_member_t asn_MBR_RequestorDescription_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_10, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -306,6 +339,9 @@ asn_TYPE_descriptor_t asn_DEF_RequestorDescription = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RequestorDescription_1, diff --git a/vanetza/asn1/its/RequestorPositionVector.c b/vanetza/asn1/its/RequestorPositionVector.c index d9eb83358..db7ebe3cd 100644 --- a/vanetza/asn1/its/RequestorPositionVector.c +++ b/vanetza/asn1/its/RequestorPositionVector.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RequestorPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RequestorPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_RequestorPositionVector_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_RequestorPositionVector = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RequestorPositionVector_1, diff --git a/vanetza/asn1/its/RequestorType.c b/vanetza/asn1/its/RequestorType.c index c276b4216..5c5d86687 100644 --- a/vanetza/asn1/its/RequestorType.c +++ b/vanetza/asn1/its/RequestorType.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RequestorType_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RequestorType_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_RequestorType_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_RequestorType_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_RequestorType_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_RequestorType_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -149,6 +167,9 @@ asn_TYPE_descriptor_t asn_DEF_RequestorType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RequestorType_1, diff --git a/vanetza/asn1/its/RescueAndRecoveryWorkInProgressSubCauseCode.c b/vanetza/asn1/its/RescueAndRecoveryWorkInProgressSubCauseCode.c index 763fba449..d051375ba 100644 --- a/vanetza/asn1/its/RescueAndRecoveryWorkInProgressSubCauseCode.c +++ b/vanetza/asn1/its/RescueAndRecoveryWorkInProgressSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_RescueAndRecoveryWorkInProgressSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RescueAndRecoveryWorkInProgressSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RescueAndRecoveryWorkInProgressSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RescueContainer.c b/vanetza/asn1/its/RescueContainer.c index 931c9f58b..00d20f116 100644 --- a/vanetza/asn1/its/RescueContainer.c +++ b/vanetza/asn1/its/RescueContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RescueContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -57,6 +60,9 @@ asn_TYPE_descriptor_t asn_DEF_RescueContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RescueContainer_1, diff --git a/vanetza/asn1/its/RestrictedTypes.c b/vanetza/asn1/its/RestrictedTypes.c index 2800a9825..e40b0f1d0 100644 --- a/vanetza/asn1/its/RestrictedTypes.c +++ b/vanetza/asn1/its/RestrictedTypes.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_RestrictedTypes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_RestrictedTypes = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RestrictedTypes_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_RestrictedTypes_1, diff --git a/vanetza/asn1/its/RestrictionAppliesTo.c b/vanetza/asn1/its/RestrictionAppliesTo.c index 459fbac65..5118454fe 100644 --- a/vanetza/asn1/its/RestrictionAppliesTo.c +++ b/vanetza/asn1/its/RestrictionAppliesTo.c @@ -86,6 +86,9 @@ asn_TYPE_descriptor_t asn_DEF_RestrictionAppliesTo = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RestrictionAppliesTo_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RestrictionClassAssignment.c b/vanetza/asn1/its/RestrictionClassAssignment.c index c070245f5..19b3997a6 100644 --- a/vanetza/asn1/its/RestrictionClassAssignment.c +++ b/vanetza/asn1/its/RestrictionClassAssignment.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RestrictionClassAssignment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RestrictionClassAssignment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_RestrictionClassAssignment = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RestrictionClassAssignment_1, diff --git a/vanetza/asn1/its/RestrictionClassID.c b/vanetza/asn1/its/RestrictionClassID.c index f80112417..83dd9f38b 100644 --- a/vanetza/asn1/its/RestrictionClassID.c +++ b/vanetza/asn1/its/RestrictionClassID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_RestrictionClassID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RestrictionClassID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RestrictionClassID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/RestrictionClassList.c b/vanetza/asn1/its/RestrictionClassList.c index c84ebeae0..8639d08df 100644 --- a/vanetza/asn1/its/RestrictionClassList.c +++ b/vanetza/asn1/its/RestrictionClassList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_RestrictionClassList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_RestrictionClassList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RestrictionClassList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_RestrictionClassList_1, diff --git a/vanetza/asn1/its/RestrictionUserType-addGrpC.c b/vanetza/asn1/its/RestrictionUserType-addGrpC.c index 1ea6714c0..93d88f46f 100644 --- a/vanetza/asn1/its/RestrictionUserType-addGrpC.c +++ b/vanetza/asn1/its/RestrictionUserType-addGrpC.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RestrictionUserType_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RestrictionUserType_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_RestrictionUserType_addGrpC = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RestrictionUserType_addGrpC_1, diff --git a/vanetza/asn1/its/RestrictionUserType.c b/vanetza/asn1/its/RestrictionUserType.c index 21634e6f6..4689f2b11 100644 --- a/vanetza/asn1/its/RestrictionUserType.c +++ b/vanetza/asn1/its/RestrictionUserType.c @@ -82,6 +82,9 @@ static asn_TYPE_member_t asn_MBR_regional_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -115,6 +118,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_3, @@ -135,6 +141,9 @@ asn_TYPE_member_t asn_MBR_RestrictionUserType_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -152,6 +161,9 @@ asn_TYPE_member_t asn_MBR_RestrictionUserType_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -187,6 +199,9 @@ asn_TYPE_descriptor_t asn_DEF_RestrictionUserType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RestrictionUserType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_RestrictionUserType_1, diff --git a/vanetza/asn1/its/RestrictionUserTypeList.c b/vanetza/asn1/its/RestrictionUserTypeList.c index c7f680dba..9e0367829 100644 --- a/vanetza/asn1/its/RestrictionUserTypeList.c +++ b/vanetza/asn1/its/RestrictionUserTypeList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_RestrictionUserTypeList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_RestrictionUserTypeList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RestrictionUserTypeList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_RestrictionUserTypeList_1, diff --git a/vanetza/asn1/its/ResultFin.c b/vanetza/asn1/its/ResultFin.c index 39309e644..b02da2630 100644 --- a/vanetza/asn1/its/ResultFin.c +++ b/vanetza/asn1/its/ResultFin.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_ResultFin = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ResultFin_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ResultFin_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ResultOp.c b/vanetza/asn1/its/ResultOp.c index 1473415ef..648c7c6e6 100644 --- a/vanetza/asn1/its/ResultOp.c +++ b/vanetza/asn1/its/ResultOp.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ResultOp = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ResultOp_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ResultOp_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RoadConfigurationContainer.c b/vanetza/asn1/its/RoadConfigurationContainer.c index e8c37937d..489319f43 100644 --- a/vanetza/asn1/its/RoadConfigurationContainer.c +++ b/vanetza/asn1/its/RoadConfigurationContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_RoadConfigurationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadConfigurationContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RoadConfigurationContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_RoadConfigurationContainer_1, diff --git a/vanetza/asn1/its/RoadLaneSetList.c b/vanetza/asn1/its/RoadLaneSetList.c index 6020a8408..1c26ae19e 100644 --- a/vanetza/asn1/its/RoadLaneSetList.c +++ b/vanetza/asn1/its/RoadLaneSetList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_RoadLaneSetList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadLaneSetList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RoadLaneSetList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_RoadLaneSetList_1, diff --git a/vanetza/asn1/its/RoadRegulatorID.c b/vanetza/asn1/its/RoadRegulatorID.c index eb2a28596..c197ee5e2 100644 --- a/vanetza/asn1/its/RoadRegulatorID.c +++ b/vanetza/asn1/its/RoadRegulatorID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadRegulatorID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RoadRegulatorID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RoadRegulatorID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/RoadSegment.c b/vanetza/asn1/its/RoadSegment.c index 972a681b3..a2016c1c4 100644 --- a/vanetza/asn1/its/RoadSegment.c +++ b/vanetza/asn1/its/RoadSegment.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_9[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_9 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_9, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_9, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_RoadSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_RoadSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_RoadSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_RoadSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_RoadSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_RoadSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -225,6 +249,9 @@ asn_TYPE_member_t asn_MBR_RoadSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -242,6 +269,9 @@ asn_TYPE_member_t asn_MBR_RoadSegment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_9, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -288,6 +318,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadSegment = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RoadSegment_1, diff --git a/vanetza/asn1/its/RoadSegmentID.c b/vanetza/asn1/its/RoadSegmentID.c index fe23ccc79..007fc627b 100644 --- a/vanetza/asn1/its/RoadSegmentID.c +++ b/vanetza/asn1/its/RoadSegmentID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadSegmentID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RoadSegmentID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RoadSegmentID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/RoadSegmentList.c b/vanetza/asn1/its/RoadSegmentList.c index 29b3bf52a..20a1e1d50 100644 --- a/vanetza/asn1/its/RoadSegmentList.c +++ b/vanetza/asn1/its/RoadSegmentList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_RoadSegmentList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadSegmentList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RoadSegmentList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_RoadSegmentList_1, diff --git a/vanetza/asn1/its/RoadSegmentReferenceID.c b/vanetza/asn1/its/RoadSegmentReferenceID.c index 01258be0e..cd6bea312 100644 --- a/vanetza/asn1/its/RoadSegmentReferenceID.c +++ b/vanetza/asn1/its/RoadSegmentReferenceID.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RoadSegmentReferenceID_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RoadSegmentReferenceID_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadSegmentReferenceID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RoadSegmentReferenceID_1, diff --git a/vanetza/asn1/its/RoadSignCodes.c b/vanetza/asn1/its/RoadSignCodes.c index c5d2d8500..7a0f6717a 100644 --- a/vanetza/asn1/its/RoadSignCodes.c +++ b/vanetza/asn1/its/RoadSignCodes.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_RoadSignCodes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadSignCodes = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RoadSignCodes_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_RoadSignCodes_1, diff --git a/vanetza/asn1/its/RoadSurfaceContainer.c b/vanetza/asn1/its/RoadSurfaceContainer.c index a7d3a19b0..2cf0ea38a 100644 --- a/vanetza/asn1/its/RoadSurfaceContainer.c +++ b/vanetza/asn1/its/RoadSurfaceContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_RoadSurfaceContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadSurfaceContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RoadSurfaceContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_RoadSurfaceContainer_1, diff --git a/vanetza/asn1/its/RoadSurfaceDynamicCharacteristics.c b/vanetza/asn1/its/RoadSurfaceDynamicCharacteristics.c index 1c645a9f1..cfad31ac7 100644 --- a/vanetza/asn1/its/RoadSurfaceDynamicCharacteristics.c +++ b/vanetza/asn1/its/RoadSurfaceDynamicCharacteristics.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RoadSurfaceDynamicCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RoadSurfaceDynamicCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_RoadSurfaceDynamicCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_RoadSurfaceDynamicCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -111,6 +123,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadSurfaceDynamicCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RoadSurfaceDynamicCharacteristics_1, diff --git a/vanetza/asn1/its/RoadSurfaceStaticCharacteristics.c b/vanetza/asn1/its/RoadSurfaceStaticCharacteristics.c index e40cb6f50..ac0276f43 100644 --- a/vanetza/asn1/its/RoadSurfaceStaticCharacteristics.c +++ b/vanetza/asn1/its/RoadSurfaceStaticCharacteristics.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RoadSurfaceStaticCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RoadSurfaceStaticCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_RoadSurfaceStaticCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_RoadSurfaceStaticCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -111,6 +123,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadSurfaceStaticCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RoadSurfaceStaticCharacteristics_1, diff --git a/vanetza/asn1/its/RoadType.c b/vanetza/asn1/its/RoadType.c index 60ac95f5e..239331780 100644 --- a/vanetza/asn1/its/RoadType.c +++ b/vanetza/asn1/its/RoadType.c @@ -64,6 +64,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RoadType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RoadWorksContainerBasic.c b/vanetza/asn1/its/RoadWorksContainerBasic.c index c77d1b287..94ab3e2da 100644 --- a/vanetza/asn1/its/RoadWorksContainerBasic.c +++ b/vanetza/asn1/its/RoadWorksContainerBasic.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerBasic_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerBasic_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerBasic_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadWorksContainerBasic = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RoadWorksContainerBasic_1, diff --git a/vanetza/asn1/its/RoadWorksContainerExtended.c b/vanetza/asn1/its/RoadWorksContainerExtended.c index 8277fd2b9..f268034a6 100644 --- a/vanetza/asn1/its/RoadWorksContainerExtended.c +++ b/vanetza/asn1/its/RoadWorksContainerExtended.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -122,6 +140,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -139,6 +160,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -156,6 +180,9 @@ asn_TYPE_member_t asn_MBR_RoadWorksContainerExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -203,6 +230,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadWorksContainerExtended = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RoadWorksContainerExtended_1, diff --git a/vanetza/asn1/its/RoadwayCrownAngle.c b/vanetza/asn1/its/RoadwayCrownAngle.c index db7913d15..cbcb00e4a 100644 --- a/vanetza/asn1/its/RoadwayCrownAngle.c +++ b/vanetza/asn1/its/RoadwayCrownAngle.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadwayCrownAngle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RoadwayCrownAngle_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RoadwayCrownAngle_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/RoadworksSubCauseCode.c b/vanetza/asn1/its/RoadworksSubCauseCode.c index 9504e09fe..8fd903fef 100644 --- a/vanetza/asn1/its/RoadworksSubCauseCode.c +++ b/vanetza/asn1/its/RoadworksSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_RoadworksSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RoadworksSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ RoadworksSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/RscPart.c b/vanetza/asn1/its/RscPart.c index 540b6ecf7..d138d1545 100644 --- a/vanetza/asn1/its/RscPart.c +++ b/vanetza/asn1/its/RscPart.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_RscPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_RscPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_RscPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_RscPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_RscPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -143,6 +158,9 @@ asn_TYPE_descriptor_t asn_DEF_RscPart = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_RscPart_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_RscPart_1, diff --git a/vanetza/asn1/its/SPAT.c b/vanetza/asn1/its/SPAT.c index e147bda0e..ff7a451db 100644 --- a/vanetza/asn1/its/SPAT.c +++ b/vanetza/asn1/its/SPAT.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_5 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_5, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_SPAT_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_SPAT_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_SPAT_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_SPAT_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -216,6 +234,9 @@ asn_TYPE_descriptor_t asn_DEF_SPAT = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SPAT_1, diff --git a/vanetza/asn1/its/SPATEM.c b/vanetza/asn1/its/SPATEM.c index c29d6a740..78bfe51a2 100644 --- a/vanetza/asn1/its/SPATEM.c +++ b/vanetza/asn1/its/SPATEM.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_SPATEM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_SPATEM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_SPATEM = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SPATEM_1, diff --git a/vanetza/asn1/its/SREM.c b/vanetza/asn1/its/SREM.c index f8f5a81df..26d9d2f8d 100644 --- a/vanetza/asn1/its/SREM.c +++ b/vanetza/asn1/its/SREM.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_SREM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_SREM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_SREM = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SREM_1, diff --git a/vanetza/asn1/its/SSEM.c b/vanetza/asn1/its/SSEM.c index af793dd57..816593fb2 100644 --- a/vanetza/asn1/its/SSEM.c +++ b/vanetza/asn1/its/SSEM.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_SSEM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_SSEM_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_SSEM = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SSEM_1, diff --git a/vanetza/asn1/its/SaeAutomationLevel.c b/vanetza/asn1/its/SaeAutomationLevel.c index 6ba342212..66f99b00c 100644 --- a/vanetza/asn1/its/SaeAutomationLevel.c +++ b/vanetza/asn1/its/SaeAutomationLevel.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SaeAutomationLevel = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SaeAutomationLevel_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SaeAutomationLevel_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/SaeAutomationLevels.c b/vanetza/asn1/its/SaeAutomationLevels.c index 34f30b0d8..490870138 100644 --- a/vanetza/asn1/its/SaeAutomationLevels.c +++ b/vanetza/asn1/its/SaeAutomationLevels.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_SaeAutomationLevels_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_SaeAutomationLevels = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SaeAutomationLevels_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_SaeAutomationLevels_1, diff --git a/vanetza/asn1/its/SafetyCarContainer.c b/vanetza/asn1/its/SafetyCarContainer.c index ea1a4d598..df3f97e07 100644 --- a/vanetza/asn1/its/SafetyCarContainer.c +++ b/vanetza/asn1/its/SafetyCarContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SafetyCarContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_SafetyCarContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_SafetyCarContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_SafetyCarContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +125,9 @@ asn_TYPE_descriptor_t asn_DEF_SafetyCarContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SafetyCarContainer_1, diff --git a/vanetza/asn1/its/Scale-B12.c b/vanetza/asn1/its/Scale-B12.c index e8f56b561..ba859d8cc 100644 --- a/vanetza/asn1/its/Scale-B12.c +++ b/vanetza/asn1/its/Scale-B12.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Scale_B12 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Scale_B12_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Scale_B12_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Segment.c b/vanetza/asn1/its/Segment.c index c8900ec28..b6d9396ac 100644 --- a/vanetza/asn1/its/Segment.c +++ b/vanetza/asn1/its/Segment.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Segment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Segment_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_Segment = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Segment_1, diff --git a/vanetza/asn1/its/SegmentAttributeXY.c b/vanetza/asn1/its/SegmentAttributeXY.c index a65485096..b26ec2500 100644 --- a/vanetza/asn1/its/SegmentAttributeXY.c +++ b/vanetza/asn1/its/SegmentAttributeXY.c @@ -134,6 +134,9 @@ asn_TYPE_descriptor_t asn_DEF_SegmentAttributeXY = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SegmentAttributeXY_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SegmentAttributeXYList.c b/vanetza/asn1/its/SegmentAttributeXYList.c index c0fc2ee47..7f8707052 100644 --- a/vanetza/asn1/its/SegmentAttributeXYList.c +++ b/vanetza/asn1/its/SegmentAttributeXYList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_SegmentAttributeXYList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_SegmentAttributeXYList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SegmentAttributeXYList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_SegmentAttributeXYList_1, diff --git a/vanetza/asn1/its/SegmentCount.c b/vanetza/asn1/its/SegmentCount.c index dbfa24f69..63822f5e6 100644 --- a/vanetza/asn1/its/SegmentCount.c +++ b/vanetza/asn1/its/SegmentCount.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SegmentCount = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SegmentCount_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SegmentCount_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/SemiAxisLength.c b/vanetza/asn1/its/SemiAxisLength.c index 71a37584e..8bbd642ec 100644 --- a/vanetza/asn1/its/SemiAxisLength.c +++ b/vanetza/asn1/its/SemiAxisLength.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SemiAxisLength = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SemiAxisLength_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SemiAxisLength_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SemiMajorAxisAccuracy.c b/vanetza/asn1/its/SemiMajorAxisAccuracy.c index 246f1447e..d422983d4 100644 --- a/vanetza/asn1/its/SemiMajorAxisAccuracy.c +++ b/vanetza/asn1/its/SemiMajorAxisAccuracy.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SemiMajorAxisAccuracy = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SemiMajorAxisAccuracy_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SemiMajorAxisAccuracy_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/SemiMajorAxisOrientation.c b/vanetza/asn1/its/SemiMajorAxisOrientation.c index da33c3647..227606d84 100644 --- a/vanetza/asn1/its/SemiMajorAxisOrientation.c +++ b/vanetza/asn1/its/SemiMajorAxisOrientation.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SemiMajorAxisOrientation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SemiMajorAxisOrientation_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SemiMajorAxisOrientation_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/SemiMinorAxisAccuracy.c b/vanetza/asn1/its/SemiMinorAxisAccuracy.c index d26a29acb..9ec8f96ad 100644 --- a/vanetza/asn1/its/SemiMinorAxisAccuracy.c +++ b/vanetza/asn1/its/SemiMinorAxisAccuracy.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SemiMinorAxisAccuracy = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SemiMinorAxisAccuracy_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SemiMinorAxisAccuracy_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/SemiRangeLength.c b/vanetza/asn1/its/SemiRangeLength.c index 9b36eea5e..2ee785d49 100644 --- a/vanetza/asn1/its/SemiRangeLength.c +++ b/vanetza/asn1/its/SemiRangeLength.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SemiRangeLength = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SemiRangeLength_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SemiRangeLength_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SensorHeight.c b/vanetza/asn1/its/SensorHeight.c index 7c0d6a107..2e9f41e3a 100644 --- a/vanetza/asn1/its/SensorHeight.c +++ b/vanetza/asn1/its/SensorHeight.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SensorHeight = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SensorHeight_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SensorHeight_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SensorIdList.c b/vanetza/asn1/its/SensorIdList.c index 76ffb5065..7b30fbac1 100644 --- a/vanetza/asn1/its/SensorIdList.c +++ b/vanetza/asn1/its/SensorIdList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_SensorIdList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_SensorIdList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SensorIdList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_SensorIdList_1, diff --git a/vanetza/asn1/its/SensorInformation.c b/vanetza/asn1/its/SensorInformation.c index 69a1415ad..f36e4a9ce 100644 --- a/vanetza/asn1/its/SensorInformation.c +++ b/vanetza/asn1/its/SensorInformation.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SensorInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_SensorInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_SensorInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_SensorInformation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +125,9 @@ asn_TYPE_descriptor_t asn_DEF_SensorInformation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SensorInformation_1, diff --git a/vanetza/asn1/its/SensorInformationContainer.c b/vanetza/asn1/its/SensorInformationContainer.c index acf48b4f6..d832388fe 100644 --- a/vanetza/asn1/its/SensorInformationContainer.c +++ b/vanetza/asn1/its/SensorInformationContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_SensorInformationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_SensorInformationContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SensorInformationContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_SensorInformationContainer_1, diff --git a/vanetza/asn1/its/SensorType.c b/vanetza/asn1/its/SensorType.c index 7b8bd3471..9580b2c4e 100644 --- a/vanetza/asn1/its/SensorType.c +++ b/vanetza/asn1/its/SensorType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SensorType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SensorType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SensorType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SequenceNumber.c b/vanetza/asn1/its/SequenceNumber.c index 2183bd9d6..f1c271bb1 100644 --- a/vanetza/asn1/its/SequenceNumber.c +++ b/vanetza/asn1/its/SequenceNumber.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SequenceNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SequenceNumber_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SequenceNumber_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ServiceApplicationLimit.c b/vanetza/asn1/its/ServiceApplicationLimit.c index 9f70f90d5..f67b0e3aa 100644 --- a/vanetza/asn1/its/ServiceApplicationLimit.c +++ b/vanetza/asn1/its/ServiceApplicationLimit.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_ServiceApplicationLimit_constr_1 CC_NOTUSED = 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_ServiceApplicationLimit_constr_1 CC_NOTUSED = { + 8}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_ServiceApplicationLimit_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_ServiceApplicationLimit = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ServiceApplicationLimit_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_ServiceApplicationLimit_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ServiceApplicationLimit_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ServiceNumber.c b/vanetza/asn1/its/ServiceNumber.c index 427c85ac4..442f915ee 100644 --- a/vanetza/asn1/its/ServiceNumber.c +++ b/vanetza/asn1/its/ServiceNumber.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_ServiceNumber_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_ServiceNumber_constr_1 CC_NOTUSED = { + 32}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_ServiceNumber_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_ServiceNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ServiceNumber_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_ServiceNumber_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ServiceNumber_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/SessionClass.c b/vanetza/asn1/its/SessionClass.c index 754da08c5..4343aa2b7 100644 --- a/vanetza/asn1/its/SessionClass.c +++ b/vanetza/asn1/its/SessionClass.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_SessionClass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_SessionClass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_SessionClass = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SessionClass_1, diff --git a/vanetza/asn1/its/SessionLocation.c b/vanetza/asn1/its/SessionLocation.c index 9d0d414aa..a9dfa1945 100644 --- a/vanetza/asn1/its/SessionLocation.c +++ b/vanetza/asn1/its/SessionLocation.c @@ -57,6 +57,9 @@ asn_TYPE_member_t asn_MBR_SessionLocation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ asn_TYPE_member_t asn_MBR_SessionLocation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_laneCodeNumber_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_laneCodeNumber_constraint_1 }, 0, 0, /* No default value */ @@ -112,6 +118,9 @@ asn_TYPE_descriptor_t asn_DEF_SessionLocation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SessionLocation_1, diff --git a/vanetza/asn1/its/SetMMIRq.c b/vanetza/asn1/its/SetMMIRq.c index 9f9771440..610762631 100644 --- a/vanetza/asn1/its/SetMMIRq.c +++ b/vanetza/asn1/its/SetMMIRq.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SetMMIRq = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SetMMIRq_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SetMMIRq_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ShadowingApplies.c b/vanetza/asn1/its/ShadowingApplies.c index 9178efe43..218bf3426 100644 --- a/vanetza/asn1/its/ShadowingApplies.c +++ b/vanetza/asn1/its/ShadowingApplies.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_ShadowingApplies = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ BOOLEAN_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/SignalControlZone.c b/vanetza/asn1/its/SignalControlZone.c index 107f27b41..0b18872b8 100644 --- a/vanetza/asn1/its/SignalControlZone.c +++ b/vanetza/asn1/its/SignalControlZone.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SignalControlZone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -57,6 +60,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalControlZone = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SignalControlZone_1, diff --git a/vanetza/asn1/its/SignalGroupID.c b/vanetza/asn1/its/SignalGroupID.c index 796fb71c1..74cecb243 100644 --- a/vanetza/asn1/its/SignalGroupID.c +++ b/vanetza/asn1/its/SignalGroupID.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalGroupID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SignalGroupID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SignalGroupID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/SignalHeadLocation.c b/vanetza/asn1/its/SignalHeadLocation.c index daf13cbcd..d0538013b 100644 --- a/vanetza/asn1/its/SignalHeadLocation.c +++ b/vanetza/asn1/its/SignalHeadLocation.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SignalHeadLocation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_SignalHeadLocation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_SignalHeadLocation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalHeadLocation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SignalHeadLocation_1, diff --git a/vanetza/asn1/its/SignalHeadLocationList.c b/vanetza/asn1/its/SignalHeadLocationList.c index 2f9e020c5..29f34780c 100644 --- a/vanetza/asn1/its/SignalHeadLocationList.c +++ b/vanetza/asn1/its/SignalHeadLocationList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_SignalHeadLocationList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalHeadLocationList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SignalHeadLocationList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_SignalHeadLocationList_1, diff --git a/vanetza/asn1/its/SignalRequest.c b/vanetza/asn1/its/SignalRequest.c index 4b73dcb6c..0e22fcd95 100644 --- a/vanetza/asn1/its/SignalRequest.c +++ b/vanetza/asn1/its/SignalRequest.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_7[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_7 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_7, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_SignalRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_SignalRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_SignalRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_SignalRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_SignalRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_SignalRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -252,6 +276,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalRequest = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SignalRequest_1, diff --git a/vanetza/asn1/its/SignalRequestList.c b/vanetza/asn1/its/SignalRequestList.c index 1d863e091..fdf810c5a 100644 --- a/vanetza/asn1/its/SignalRequestList.c +++ b/vanetza/asn1/its/SignalRequestList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalRequestList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SignalRequestList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_SignalRequestList_1, diff --git a/vanetza/asn1/its/SignalRequestMessage.c b/vanetza/asn1/its/SignalRequestMessage.c index 2d60e32ed..8302cd839 100644 --- a/vanetza/asn1/its/SignalRequestMessage.c +++ b/vanetza/asn1/its/SignalRequestMessage.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_7[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_7 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_7, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -252,6 +276,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalRequestMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SignalRequestMessage_1, diff --git a/vanetza/asn1/its/SignalRequestPackage.c b/vanetza/asn1/its/SignalRequestPackage.c index 09ba487b3..53fbd2332 100644 --- a/vanetza/asn1/its/SignalRequestPackage.c +++ b/vanetza/asn1/its/SignalRequestPackage.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_6[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_6 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_6, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_SignalRequestPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -234,6 +255,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalRequestPackage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SignalRequestPackage_1, diff --git a/vanetza/asn1/its/SignalRequesterInfo.c b/vanetza/asn1/its/SignalRequesterInfo.c index 331c77e1b..8abe0bbd4 100644 --- a/vanetza/asn1/its/SignalRequesterInfo.c +++ b/vanetza/asn1/its/SignalRequesterInfo.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SignalRequesterInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_SignalRequesterInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_SignalRequesterInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_SignalRequesterInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_SignalRequesterInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -131,6 +146,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalRequesterInfo = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SignalRequesterInfo_1, diff --git a/vanetza/asn1/its/SignalStatus.c b/vanetza/asn1/its/SignalStatus.c index c3a62a117..34e39597f 100644 --- a/vanetza/asn1/its/SignalStatus.c +++ b/vanetza/asn1/its/SignalStatus.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_5 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_5, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_SignalStatus_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_SignalStatus_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_SignalStatus_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_SignalStatus_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -216,6 +234,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SignalStatus_1, diff --git a/vanetza/asn1/its/SignalStatusList.c b/vanetza/asn1/its/SignalStatusList.c index b9ddc83fa..7751ab112 100644 --- a/vanetza/asn1/its/SignalStatusList.c +++ b/vanetza/asn1/its/SignalStatusList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalStatusList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SignalStatusList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_SignalStatusList_1, diff --git a/vanetza/asn1/its/SignalStatusMessage.c b/vanetza/asn1/its/SignalStatusMessage.c index 3cdcb7ec7..552b25d9f 100644 --- a/vanetza/asn1/its/SignalStatusMessage.c +++ b/vanetza/asn1/its/SignalStatusMessage.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_6[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_6 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_6, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusMessage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -234,6 +255,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalStatusMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SignalStatusMessage_1, diff --git a/vanetza/asn1/its/SignalStatusPackage-addGrpC.c b/vanetza/asn1/its/SignalStatusPackage-addGrpC.c index 930333958..56d496225 100644 --- a/vanetza/asn1/its/SignalStatusPackage-addGrpC.c +++ b/vanetza/asn1/its/SignalStatusPackage-addGrpC.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusPackage_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusPackage_addGrpC_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalStatusPackage_addGrpC = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SignalStatusPackage_addGrpC_1, diff --git a/vanetza/asn1/its/SignalStatusPackage.c b/vanetza/asn1/its/SignalStatusPackage.c index 771f6dfee..a6651c79a 100644 --- a/vanetza/asn1/its/SignalStatusPackage.c +++ b/vanetza/asn1/its/SignalStatusPackage.c @@ -70,6 +70,9 @@ static asn_TYPE_member_t asn_MBR_regional_9[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +106,9 @@ asn_TYPE_descriptor_t asn_DEF_regional_9 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_regional_constr_9, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_regional_9, @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +169,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +189,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -191,6 +209,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +229,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -225,6 +249,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -242,6 +269,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusPackage_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_regional_constr_9, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_regional_constraint_1 }, 0, 0, /* No default value */ @@ -288,6 +318,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalStatusPackage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SignalStatusPackage_1, diff --git a/vanetza/asn1/its/SignalStatusPackageList.c b/vanetza/asn1/its/SignalStatusPackageList.c index 6abe5c193..ef28b1b26 100644 --- a/vanetza/asn1/its/SignalStatusPackageList.c +++ b/vanetza/asn1/its/SignalStatusPackageList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_SignalStatusPackageList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalStatusPackageList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SignalStatusPackageList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_SignalStatusPackageList_1, diff --git a/vanetza/asn1/its/SignalViolationSubCauseCode.c b/vanetza/asn1/its/SignalViolationSubCauseCode.c index 1019eee9f..305fc320f 100644 --- a/vanetza/asn1/its/SignalViolationSubCauseCode.c +++ b/vanetza/asn1/its/SignalViolationSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SignalViolationSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SignalViolationSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SignalViolationSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SignedValue.c b/vanetza/asn1/its/SignedValue.c index 69855bbb2..ff68660ec 100644 --- a/vanetza/asn1/its/SignedValue.c +++ b/vanetza/asn1/its/SignedValue.c @@ -106,6 +106,9 @@ asn_TYPE_member_t asn_MBR_SignedValue_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_positive_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_positive_constraint_1 }, 0, 0, /* No default value */ @@ -123,6 +126,9 @@ asn_TYPE_member_t asn_MBR_SignedValue_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_negative_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_negative_constraint_1 }, 0, 0, /* No default value */ @@ -158,6 +164,9 @@ asn_TYPE_descriptor_t asn_DEF_SignedValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SignedValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_SignedValue_1, diff --git a/vanetza/asn1/its/SituationContainer.c b/vanetza/asn1/its/SituationContainer.c index 57910d367..be814605d 100644 --- a/vanetza/asn1/its/SituationContainer.c +++ b/vanetza/asn1/its/SituationContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SituationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_SituationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_SituationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_SituationContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +125,9 @@ asn_TYPE_descriptor_t asn_DEF_SituationContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SituationContainer_1, diff --git a/vanetza/asn1/its/SlowVehicleSubCauseCode.c b/vanetza/asn1/its/SlowVehicleSubCauseCode.c index 3f2f152fd..dbfd36404 100644 --- a/vanetza/asn1/its/SlowVehicleSubCauseCode.c +++ b/vanetza/asn1/its/SlowVehicleSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SlowVehicleSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SlowVehicleSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SlowVehicleSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SoundLevel.c b/vanetza/asn1/its/SoundLevel.c index e1026cf6a..b957b8c59 100644 --- a/vanetza/asn1/its/SoundLevel.c +++ b/vanetza/asn1/its/SoundLevel.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SoundLevel_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_SoundLevel_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_SoundLevel = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SoundLevel_1, diff --git a/vanetza/asn1/its/SpecialTransportContainer.c b/vanetza/asn1/its/SpecialTransportContainer.c index 3c5538618..3d3230551 100644 --- a/vanetza/asn1/its/SpecialTransportContainer.c +++ b/vanetza/asn1/its/SpecialTransportContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SpecialTransportContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_SpecialTransportContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_SpecialTransportContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SpecialTransportContainer_1, diff --git a/vanetza/asn1/its/SpecialTransportType.c b/vanetza/asn1/its/SpecialTransportType.c index e2e6885c1..cde711c9d 100644 --- a/vanetza/asn1/its/SpecialTransportType.c +++ b/vanetza/asn1/its/SpecialTransportType.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_SpecialTransportType_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_SpecialTransportType_constr_1 CC_NOTUSED = { + 4}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_SpecialTransportType_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_SpecialTransportType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SpecialTransportType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_SpecialTransportType_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SpecialTransportType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SpecialVehicleContainer.c b/vanetza/asn1/its/SpecialVehicleContainer.c index 22242a34b..df86ba2f7 100644 --- a/vanetza/asn1/its/SpecialVehicleContainer.c +++ b/vanetza/asn1/its/SpecialVehicleContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_SpecialVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_SpecialVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_SpecialVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_SpecialVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_SpecialVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_SpecialVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -134,6 +152,9 @@ asn_TYPE_member_t asn_MBR_SpecialVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +195,9 @@ asn_TYPE_descriptor_t asn_DEF_SpecialVehicleContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SpecialVehicleContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_SpecialVehicleContainer_1, diff --git a/vanetza/asn1/its/Speed.c b/vanetza/asn1/its/Speed.c index 4f5a1bf53..71af042e5 100644 --- a/vanetza/asn1/its/Speed.c +++ b/vanetza/asn1/its/Speed.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Speed_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Speed_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Speed = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Speed_1, diff --git a/vanetza/asn1/its/SpeedAdvice.c b/vanetza/asn1/its/SpeedAdvice.c index 671166e3a..2c51dcff3 100644 --- a/vanetza/asn1/its/SpeedAdvice.c +++ b/vanetza/asn1/its/SpeedAdvice.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SpeedAdvice = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SpeedAdvice_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SpeedAdvice_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/SpeedConfidence.c b/vanetza/asn1/its/SpeedConfidence.c index 31563d7c3..d6943aaf9 100644 --- a/vanetza/asn1/its/SpeedConfidence.c +++ b/vanetza/asn1/its/SpeedConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SpeedConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SpeedConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SpeedConfidence_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SpeedConfidenceIso.c b/vanetza/asn1/its/SpeedConfidenceIso.c index c7a621314..971ee476a 100644 --- a/vanetza/asn1/its/SpeedConfidenceIso.c +++ b/vanetza/asn1/its/SpeedConfidenceIso.c @@ -72,6 +72,9 @@ asn_TYPE_descriptor_t asn_DEF_SpeedConfidenceIso = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SpeedConfidenceIso_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SpeedExtended.c b/vanetza/asn1/its/SpeedExtended.c index 8507b537e..cf0c7366d 100644 --- a/vanetza/asn1/its/SpeedExtended.c +++ b/vanetza/asn1/its/SpeedExtended.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SpeedExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_SpeedExtended_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_SpeedExtended = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SpeedExtended_1, diff --git a/vanetza/asn1/its/SpeedLimit.c b/vanetza/asn1/its/SpeedLimit.c index 2d93d9f73..4659144b6 100644 --- a/vanetza/asn1/its/SpeedLimit.c +++ b/vanetza/asn1/its/SpeedLimit.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SpeedLimit = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SpeedLimit_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SpeedLimit_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SpeedLimitList.c b/vanetza/asn1/its/SpeedLimitList.c index ac2132096..a3debace6 100644 --- a/vanetza/asn1/its/SpeedLimitList.c +++ b/vanetza/asn1/its/SpeedLimitList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_SpeedLimitList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_SpeedLimitList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SpeedLimitList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_SpeedLimitList_1, diff --git a/vanetza/asn1/its/SpeedLimitType.c b/vanetza/asn1/its/SpeedLimitType.c index e61986963..c100eebb9 100644 --- a/vanetza/asn1/its/SpeedLimitType.c +++ b/vanetza/asn1/its/SpeedLimitType.c @@ -84,6 +84,9 @@ asn_TYPE_descriptor_t asn_DEF_SpeedLimitType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SpeedLimitType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SpeedValue.c b/vanetza/asn1/its/SpeedValue.c index be16e559d..675daac31 100644 --- a/vanetza/asn1/its/SpeedValue.c +++ b/vanetza/asn1/its/SpeedValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SpeedValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SpeedValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SpeedValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SpeedValueExtended.c b/vanetza/asn1/its/SpeedValueExtended.c index bf3a4591c..f4c6f332d 100644 --- a/vanetza/asn1/its/SpeedValueExtended.c +++ b/vanetza/asn1/its/SpeedValueExtended.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SpeedValueExtended = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SpeedValueExtended_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SpeedValueExtended_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SpeedandHeadingIsoandThrottleConfidence.c b/vanetza/asn1/its/SpeedandHeadingIsoandThrottleConfidence.c index 7babc4c29..bce7845a5 100644 --- a/vanetza/asn1/its/SpeedandHeadingIsoandThrottleConfidence.c +++ b/vanetza/asn1/its/SpeedandHeadingIsoandThrottleConfidence.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SpeedandHeadingIsoandThrottleConfidence_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_SpeedandHeadingIsoandThrottleConfidence_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_SpeedandHeadingIsoandThrottleConfidence_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_SpeedandHeadingIsoandThrottleConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SpeedandHeadingIsoandThrottleConfidence_1, diff --git a/vanetza/asn1/its/StartTime.c b/vanetza/asn1/its/StartTime.c index cffaf4a1c..67c679b73 100644 --- a/vanetza/asn1/its/StartTime.c +++ b/vanetza/asn1/its/StartTime.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_StartTime = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_StartTime_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ StartTime_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/StationDataContainer.c b/vanetza/asn1/its/StationDataContainer.c index 2f3876bca..10772d960 100644 --- a/vanetza/asn1/its/StationDataContainer.c +++ b/vanetza/asn1/its/StationDataContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_StationDataContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_StationDataContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_StationDataContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_StationDataContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_StationDataContainer_1, diff --git a/vanetza/asn1/its/StationID.c b/vanetza/asn1/its/StationID.c index 871e72f20..e04f8208b 100644 --- a/vanetza/asn1/its/StationID.c +++ b/vanetza/asn1/its/StationID.c @@ -64,6 +64,9 @@ asn_TYPE_descriptor_t asn_DEF_StationID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_StationID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ StationID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/StationType.c b/vanetza/asn1/its/StationType.c index 8e1a00a58..fec2a6a6f 100644 --- a/vanetza/asn1/its/StationType.c +++ b/vanetza/asn1/its/StationType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_StationType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_StationType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ StationType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/StationTypeIso.c b/vanetza/asn1/its/StationTypeIso.c index 8b30ff4a8..d1029d401 100644 --- a/vanetza/asn1/its/StationTypeIso.c +++ b/vanetza/asn1/its/StationTypeIso.c @@ -88,6 +88,9 @@ asn_TYPE_descriptor_t asn_DEF_StationTypeIso = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_StationTypeIso_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/StationarySince.c b/vanetza/asn1/its/StationarySince.c index 7b757589e..17c52faca 100644 --- a/vanetza/asn1/its/StationarySince.c +++ b/vanetza/asn1/its/StationarySince.c @@ -64,6 +64,9 @@ asn_TYPE_descriptor_t asn_DEF_StationarySince = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_StationarySince_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/StationaryVehicleContainer.c b/vanetza/asn1/its/StationaryVehicleContainer.c index 1eb95eee1..1eb608b5f 100644 --- a/vanetza/asn1/its/StationaryVehicleContainer.c +++ b/vanetza/asn1/its/StationaryVehicleContainer.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_StationaryVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_StationaryVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_StationaryVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_StationaryVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_StationaryVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_StationaryVehicleContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -149,6 +167,9 @@ asn_TYPE_descriptor_t asn_DEF_StationaryVehicleContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_StationaryVehicleContainer_1, diff --git a/vanetza/asn1/its/StationaryVehicleSubCauseCode.c b/vanetza/asn1/its/StationaryVehicleSubCauseCode.c index 1baea2614..02827ca72 100644 --- a/vanetza/asn1/its/StationaryVehicleSubCauseCode.c +++ b/vanetza/asn1/its/StationaryVehicleSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_StationaryVehicleSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_StationaryVehicleSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ StationaryVehicleSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SteeringWheelAngle.c b/vanetza/asn1/its/SteeringWheelAngle.c index 1ee027349..ca0488f5e 100644 --- a/vanetza/asn1/its/SteeringWheelAngle.c +++ b/vanetza/asn1/its/SteeringWheelAngle.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_SteeringWheelAngle_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_SteeringWheelAngle_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_SteeringWheelAngle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SteeringWheelAngle_1, diff --git a/vanetza/asn1/its/SteeringWheelAngleConfidence.c b/vanetza/asn1/its/SteeringWheelAngleConfidence.c index c57c8486c..9c6a90adf 100644 --- a/vanetza/asn1/its/SteeringWheelAngleConfidence.c +++ b/vanetza/asn1/its/SteeringWheelAngleConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SteeringWheelAngleConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SteeringWheelAngleConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SteeringWheelAngleConfidence_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/SteeringWheelAngleValue.c b/vanetza/asn1/its/SteeringWheelAngleValue.c index f7523d5a6..90b69118a 100644 --- a/vanetza/asn1/its/SteeringWheelAngleValue.c +++ b/vanetza/asn1/its/SteeringWheelAngleValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SteeringWheelAngleValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SteeringWheelAngleValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SteeringWheelAngleValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/StopTime.c b/vanetza/asn1/its/StopTime.c index dfcd07739..18b4027e4 100644 --- a/vanetza/asn1/its/StopTime.c +++ b/vanetza/asn1/its/StopTime.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_StopTime = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_StopTime_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ StopTime_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/SubCauseCodeType.c b/vanetza/asn1/its/SubCauseCodeType.c index d80bc6f98..448361498 100644 --- a/vanetza/asn1/its/SubCauseCodeType.c +++ b/vanetza/asn1/its/SubCauseCodeType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_SubCauseCodeType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_SubCauseCodeType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SubCauseCodeType_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/SubRq.c b/vanetza/asn1/its/SubRq.c index 04bb1cb8d..ae6fb8157 100644 --- a/vanetza/asn1/its/SubRq.c +++ b/vanetza/asn1/its/SubRq.c @@ -57,6 +57,9 @@ static asn_TYPE_member_t asn_MBR_SubRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_attributeId_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_attributeId_constraint_1 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ static asn_TYPE_member_t asn_MBR_SubRq_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -112,6 +118,9 @@ asn_TYPE_descriptor_t asn_DEF_SubRq = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_SubRq_1, diff --git a/vanetza/asn1/its/TaxCode.c b/vanetza/asn1/its/TaxCode.c index 64ce58820..af4a3d461 100644 --- a/vanetza/asn1/its/TaxCode.c +++ b/vanetza/asn1/its/TaxCode.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_TaxCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/TcPart.c b/vanetza/asn1/its/TcPart.c index 5b749beca..322471b60 100644 --- a/vanetza/asn1/its/TcPart.c +++ b/vanetza/asn1/its/TcPart.c @@ -131,6 +131,9 @@ static asn_TYPE_member_t asn_MBR_ext1_13[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -148,6 +151,9 @@ static asn_TYPE_member_t asn_MBR_ext1_13[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -165,6 +171,9 @@ static asn_TYPE_member_t asn_MBR_ext1_13[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -208,6 +217,9 @@ asn_TYPE_descriptor_t asn_DEF_ext1_13 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ext1_13, @@ -228,6 +240,9 @@ asn_TYPE_member_t asn_MBR_TcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -245,6 +260,9 @@ asn_TYPE_member_t asn_MBR_TcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -262,6 +280,9 @@ asn_TYPE_member_t asn_MBR_TcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -279,6 +300,9 @@ asn_TYPE_member_t asn_MBR_TcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -296,6 +320,9 @@ asn_TYPE_member_t asn_MBR_TcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_minimumAwarenessTime_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_minimumAwarenessTime_constraint_1 }, 0, 0, /* No default value */ @@ -313,6 +340,9 @@ asn_TYPE_member_t asn_MBR_TcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -330,6 +360,9 @@ asn_TYPE_member_t asn_MBR_TcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_layoutId_constr_8, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_layoutId_constraint_1 }, 0, 0, /* No default value */ @@ -347,6 +380,9 @@ asn_TYPE_member_t asn_MBR_TcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_preStoredlayoutId_constr_9, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_preStoredlayoutId_constraint_1 }, 0, 0, /* No default value */ @@ -364,6 +400,9 @@ asn_TYPE_member_t asn_MBR_TcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -381,6 +420,9 @@ asn_TYPE_member_t asn_MBR_TcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -398,6 +440,9 @@ asn_TYPE_member_t asn_MBR_TcPart_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -447,6 +492,9 @@ asn_TYPE_descriptor_t asn_DEF_TcPart = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_TcPart_1, diff --git a/vanetza/asn1/its/TemporaryID.c b/vanetza/asn1/its/TemporaryID.c index eaf7ded2a..06474b4e2 100644 --- a/vanetza/asn1/its/TemporaryID.c +++ b/vanetza/asn1/its/TemporaryID.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_TemporaryID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TemporaryID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TemporaryID_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Termination.c b/vanetza/asn1/its/Termination.c index 52b052518..0f039a02a 100644 --- a/vanetza/asn1/its/Termination.c +++ b/vanetza/asn1/its/Termination.c @@ -60,6 +60,9 @@ asn_TYPE_descriptor_t asn_DEF_Termination = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Termination_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Text.c b/vanetza/asn1/its/Text.c index 3c4362082..5f7051324 100644 --- a/vanetza/asn1/its/Text.c +++ b/vanetza/asn1/its/Text.c @@ -87,6 +87,10 @@ static asn_per_constraints_t asn_PER_memb_language_constr_3 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_memb_language_constr_3 CC_NOTUSED = { + 10}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_TYPE_member_t asn_MBR_Text_1[] = { { ATF_POINTER, 1, offsetof(struct Text, layoutComponentId), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), @@ -100,6 +104,9 @@ asn_TYPE_member_t asn_MBR_Text_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_layoutComponentId_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_layoutComponentId_constraint_1 }, 0, 0, /* No default value */ @@ -117,6 +124,9 @@ asn_TYPE_member_t asn_MBR_Text_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_language_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_memb_language_constr_3, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_language_constraint_1 }, 0, 0, /* No default value */ @@ -134,6 +144,9 @@ asn_TYPE_member_t asn_MBR_Text_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -175,6 +188,9 @@ asn_TYPE_descriptor_t asn_DEF_Text = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Text_1, diff --git a/vanetza/asn1/its/TextContainer.c b/vanetza/asn1/its/TextContainer.c index 31b64a159..c72ed5e8c 100644 --- a/vanetza/asn1/its/TextContainer.c +++ b/vanetza/asn1/its/TextContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_TextContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_TextContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TextContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_TextContainer_1, diff --git a/vanetza/asn1/its/TextLines.c b/vanetza/asn1/its/TextLines.c index 1b2de4c77..1ab472360 100644 --- a/vanetza/asn1/its/TextLines.c +++ b/vanetza/asn1/its/TextLines.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_TextLines_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_TextLines = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TextLines_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_TextLines_1, diff --git a/vanetza/asn1/its/ThrottleConfidence.c b/vanetza/asn1/its/ThrottleConfidence.c index f042b4d04..e4fae5d53 100644 --- a/vanetza/asn1/its/ThrottleConfidence.c +++ b/vanetza/asn1/its/ThrottleConfidence.c @@ -64,6 +64,9 @@ asn_TYPE_descriptor_t asn_DEF_ThrottleConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ThrottleConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/TimeChangeDetails.c b/vanetza/asn1/its/TimeChangeDetails.c index 07fbf7c4d..3dca87278 100644 --- a/vanetza/asn1/its/TimeChangeDetails.c +++ b/vanetza/asn1/its/TimeChangeDetails.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_TimeChangeDetails_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_TimeChangeDetails_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_TimeChangeDetails_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_TimeChangeDetails_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_TimeChangeDetails_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_TimeChangeDetails_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -149,6 +167,9 @@ asn_TYPE_descriptor_t asn_DEF_TimeChangeDetails = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_TimeChangeDetails_1, diff --git a/vanetza/asn1/its/TimeConfidence.c b/vanetza/asn1/its/TimeConfidence.c index e38ed9f57..6ca2754a0 100644 --- a/vanetza/asn1/its/TimeConfidence.c +++ b/vanetza/asn1/its/TimeConfidence.c @@ -136,6 +136,9 @@ asn_TYPE_descriptor_t asn_DEF_TimeConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TimeConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/TimeIntervalConfidence.c b/vanetza/asn1/its/TimeIntervalConfidence.c index 361be5df3..bf0a5e5d9 100644 --- a/vanetza/asn1/its/TimeIntervalConfidence.c +++ b/vanetza/asn1/its/TimeIntervalConfidence.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_TimeIntervalConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TimeIntervalConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TimeIntervalConfidence_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/TimeMark.c b/vanetza/asn1/its/TimeMark.c index 7950d0eb0..ed0b890cf 100644 --- a/vanetza/asn1/its/TimeMark.c +++ b/vanetza/asn1/its/TimeMark.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_TimeMark = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TimeMark_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TimeMark_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/TimeOfMeasurement.c b/vanetza/asn1/its/TimeOfMeasurement.c index 2a12064a6..7e550463a 100644 --- a/vanetza/asn1/its/TimeOfMeasurement.c +++ b/vanetza/asn1/its/TimeOfMeasurement.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_TimeOfMeasurement = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TimeOfMeasurement_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TimeOfMeasurement_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/TimeReference.c b/vanetza/asn1/its/TimeReference.c index 1ac94a655..46bedecaf 100644 --- a/vanetza/asn1/its/TimeReference.c +++ b/vanetza/asn1/its/TimeReference.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_TimeReference = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TimeReference_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TimeReference_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/TimestampIts.c b/vanetza/asn1/its/TimestampIts.c index 280bcb644..ffe9038a9 100644 --- a/vanetza/asn1/its/TimestampIts.c +++ b/vanetza/asn1/its/TimestampIts.c @@ -74,6 +74,9 @@ asn_TYPE_descriptor_t asn_DEF_TimestampIts = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TimestampIts_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TimestampIts_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Traces.c b/vanetza/asn1/its/Traces.c index d9255b60d..4d74a5e7d 100644 --- a/vanetza/asn1/its/Traces.c +++ b/vanetza/asn1/its/Traces.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Traces_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_Traces = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Traces_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Traces_1, diff --git a/vanetza/asn1/its/TractorAxles.c b/vanetza/asn1/its/TractorAxles.c index 7a53d0ec7..6954065cf 100644 --- a/vanetza/asn1/its/TractorAxles.c +++ b/vanetza/asn1/its/TractorAxles.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_TractorAxles = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TractorAxles_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TractorAxles_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/TractorCharacteristics.c b/vanetza/asn1/its/TractorCharacteristics.c index 27bdda484..02c0c0723 100644 --- a/vanetza/asn1/its/TractorCharacteristics.c +++ b/vanetza/asn1/its/TractorCharacteristics.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_TractorCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_TractorCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_TractorCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_TractorCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_TractorCharacteristics_1, diff --git a/vanetza/asn1/its/TrafficConditionSubCauseCode.c b/vanetza/asn1/its/TrafficConditionSubCauseCode.c index c7bdc88b1..8d101d30b 100644 --- a/vanetza/asn1/its/TrafficConditionSubCauseCode.c +++ b/vanetza/asn1/its/TrafficConditionSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_TrafficConditionSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TrafficConditionSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TrafficConditionSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/TrafficRule.c b/vanetza/asn1/its/TrafficRule.c index dfdae3fff..00963387d 100644 --- a/vanetza/asn1/its/TrafficRule.c +++ b/vanetza/asn1/its/TrafficRule.c @@ -66,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_TrafficRule = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TrafficRule_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/TrailerAxles.c b/vanetza/asn1/its/TrailerAxles.c index b55ed17af..e415d6b1f 100644 --- a/vanetza/asn1/its/TrailerAxles.c +++ b/vanetza/asn1/its/TrailerAxles.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_TrailerAxles = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TrailerAxles_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TrailerAxles_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/TrailerCharacteristicsFixValuesList.c b/vanetza/asn1/its/TrailerCharacteristicsFixValuesList.c index 2604c13fd..987ef34c0 100644 --- a/vanetza/asn1/its/TrailerCharacteristicsFixValuesList.c +++ b/vanetza/asn1/its/TrailerCharacteristicsFixValuesList.c @@ -63,6 +63,9 @@ asn_TYPE_member_t asn_MBR_TrailerCharacteristicsFixValuesList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Member_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_VehicleCharacteristicsFixValues_constraint_1 }, 0, 0, /* No default value */ @@ -94,6 +97,9 @@ asn_TYPE_descriptor_t asn_DEF_TrailerCharacteristicsFixValuesList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TrailerCharacteristicsFixValuesList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_TrailerCharacteristicsFixValuesList_1, diff --git a/vanetza/asn1/its/TrailerCharacteristicsList.c b/vanetza/asn1/its/TrailerCharacteristicsList.c index d3cf2dc08..ea818dbc7 100644 --- a/vanetza/asn1/its/TrailerCharacteristicsList.c +++ b/vanetza/asn1/its/TrailerCharacteristicsList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_TrailerCharacteristicsList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_TrailerCharacteristicsList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TrailerCharacteristicsList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_TrailerCharacteristicsList_1, diff --git a/vanetza/asn1/its/TrailerCharacteristicsRangesList.c b/vanetza/asn1/its/TrailerCharacteristicsRangesList.c index c0a52b183..c617e7c53 100644 --- a/vanetza/asn1/its/TrailerCharacteristicsRangesList.c +++ b/vanetza/asn1/its/TrailerCharacteristicsRangesList.c @@ -63,6 +63,9 @@ asn_TYPE_member_t asn_MBR_TrailerCharacteristicsRangesList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Member_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_VehicleCharacteristicsRanges_constraint_1 }, 0, 0, /* No default value */ @@ -94,6 +97,9 @@ asn_TYPE_descriptor_t asn_DEF_TrailerCharacteristicsRangesList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TrailerCharacteristicsRangesList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_TrailerCharacteristicsRangesList_1, diff --git a/vanetza/asn1/its/TrailerData.c b/vanetza/asn1/its/TrailerData.c index 7809854bc..502f29792 100644 --- a/vanetza/asn1/its/TrailerData.c +++ b/vanetza/asn1/its/TrailerData.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_TrailerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_TrailerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_TrailerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_TrailerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_TrailerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_TrailerData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -149,6 +167,9 @@ asn_TYPE_descriptor_t asn_DEF_TrailerData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_TrailerData_1, diff --git a/vanetza/asn1/its/TrailerDataContainer.c b/vanetza/asn1/its/TrailerDataContainer.c index af2b7b47a..f933ff5b0 100644 --- a/vanetza/asn1/its/TrailerDataContainer.c +++ b/vanetza/asn1/its/TrailerDataContainer.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_TrailerDataContainer_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_TrailerDataContainer = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TrailerDataContainer_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_TrailerDataContainer_1, diff --git a/vanetza/asn1/its/TrailerDetails.c b/vanetza/asn1/its/TrailerDetails.c index 88c1eb738..31eb4f2f0 100644 --- a/vanetza/asn1/its/TrailerDetails.c +++ b/vanetza/asn1/its/TrailerDetails.c @@ -57,6 +57,9 @@ asn_TYPE_member_t asn_MBR_TrailerDetails_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_trailerType_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_trailerType_constraint_1 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ asn_TYPE_member_t asn_MBR_TrailerDetails_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -112,6 +118,9 @@ asn_TYPE_descriptor_t asn_DEF_TrailerDetails = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_TrailerDetails_1, diff --git a/vanetza/asn1/its/TrailerLicencePlateNumber.c b/vanetza/asn1/its/TrailerLicencePlateNumber.c index 276818c4b..55d6d68b0 100644 --- a/vanetza/asn1/its/TrailerLicencePlateNumber.c +++ b/vanetza/asn1/its/TrailerLicencePlateNumber.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_TrailerLicencePlateNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LPN_1, diff --git a/vanetza/asn1/its/TrainCharacteristics.c b/vanetza/asn1/its/TrainCharacteristics.c index 3984dc849..96e852417 100644 --- a/vanetza/asn1/its/TrainCharacteristics.c +++ b/vanetza/asn1/its/TrainCharacteristics.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_TrainCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_TractorCharacteristics_1, diff --git a/vanetza/asn1/its/TransitVehicleOccupancy.c b/vanetza/asn1/its/TransitVehicleOccupancy.c index 91acf4977..f27cf5599 100644 --- a/vanetza/asn1/its/TransitVehicleOccupancy.c +++ b/vanetza/asn1/its/TransitVehicleOccupancy.c @@ -72,6 +72,9 @@ asn_TYPE_descriptor_t asn_DEF_TransitVehicleOccupancy = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TransitVehicleOccupancy_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/TransitVehicleStatus.c b/vanetza/asn1/its/TransitVehicleStatus.c index 4b8fc9412..72754d934 100644 --- a/vanetza/asn1/its/TransitVehicleStatus.c +++ b/vanetza/asn1/its/TransitVehicleStatus.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_TransitVehicleStatus_constr_1 CC_NOTUSED = { 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_TransitVehicleStatus_constr_1 CC_NOTUSED = { + 8}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_TransitVehicleStatus_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_TransitVehicleStatus = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TransitVehicleStatus_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_TransitVehicleStatus_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TransitVehicleStatus_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/TransmissionAndSpeed.c b/vanetza/asn1/its/TransmissionAndSpeed.c index 7b48131bc..9fbd07f82 100644 --- a/vanetza/asn1/its/TransmissionAndSpeed.c +++ b/vanetza/asn1/its/TransmissionAndSpeed.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_TransmissionAndSpeed_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_TransmissionAndSpeed_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_TransmissionAndSpeed = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_TransmissionAndSpeed_1, diff --git a/vanetza/asn1/its/TransmissionInterval.c b/vanetza/asn1/its/TransmissionInterval.c index d53a308d5..cf114b43e 100644 --- a/vanetza/asn1/its/TransmissionInterval.c +++ b/vanetza/asn1/its/TransmissionInterval.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_TransmissionInterval = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TransmissionInterval_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TransmissionInterval_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/TransmissionState.c b/vanetza/asn1/its/TransmissionState.c index 12ec60045..d7f40943b 100644 --- a/vanetza/asn1/its/TransmissionState.c +++ b/vanetza/asn1/its/TransmissionState.c @@ -72,6 +72,9 @@ asn_TYPE_descriptor_t asn_DEF_TransmissionState = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TransmissionState_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/TreatmentType.c b/vanetza/asn1/its/TreatmentType.c index 62161b184..f8f981c9a 100644 --- a/vanetza/asn1/its/TreatmentType.c +++ b/vanetza/asn1/its/TreatmentType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_TreatmentType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TreatmentType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TreatmentType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/TurningRadius.c b/vanetza/asn1/its/TurningRadius.c index 89957658b..2822fa3ec 100644 --- a/vanetza/asn1/its/TurningRadius.c +++ b/vanetza/asn1/its/TurningRadius.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_TurningRadius = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_TurningRadius_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ TurningRadius_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/UnitType.c b/vanetza/asn1/its/UnitType.c index ba46462c9..88ef94a5a 100644 --- a/vanetza/asn1/its/UnitType.c +++ b/vanetza/asn1/its/UnitType.c @@ -60,6 +60,9 @@ asn_TYPE_descriptor_t asn_DEF_UnitType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_UnitType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/VDS.c b/vanetza/asn1/its/VDS.c index 5e5d85184..601e327e6 100644 --- a/vanetza/asn1/its/VDS.c +++ b/vanetza/asn1/its/VDS.c @@ -83,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_VDS = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VDS_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VDS_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/ValidityDuration.c b/vanetza/asn1/its/ValidityDuration.c index 0530b88a5..960c344ff 100644 --- a/vanetza/asn1/its/ValidityDuration.c +++ b/vanetza/asn1/its/ValidityDuration.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ValidityDuration = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ValidityDuration_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ValidityDuration_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ValidityOfContract.c b/vanetza/asn1/its/ValidityOfContract.c index a9095beed..f28449c40 100644 --- a/vanetza/asn1/its/ValidityOfContract.c +++ b/vanetza/asn1/its/ValidityOfContract.c @@ -58,6 +58,9 @@ static asn_TYPE_member_t asn_MBR_ValidityOfContract_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_issuerRestrictions_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_issuerRestrictions_constraint_1 }, 0, 0, /* No default value */ @@ -75,6 +78,9 @@ static asn_TYPE_member_t asn_MBR_ValidityOfContract_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +119,9 @@ asn_TYPE_descriptor_t asn_DEF_ValidityOfContract = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_ValidityOfContract_1, diff --git a/vanetza/asn1/its/ValidityPeriods.c b/vanetza/asn1/its/ValidityPeriods.c index 142126ca9..1817eeb2f 100644 --- a/vanetza/asn1/its/ValidityPeriods.c +++ b/vanetza/asn1/its/ValidityPeriods.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ValidityPeriods_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_ValidityPeriods = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ValidityPeriods_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ValidityPeriods_1, diff --git a/vanetza/asn1/its/VanetzaTest.c b/vanetza/asn1/its/VanetzaTest.c index dbfbde7f0..4aa9b7be4 100644 --- a/vanetza/asn1/its/VanetzaTest.c +++ b/vanetza/asn1/its/VanetzaTest.c @@ -57,6 +57,9 @@ static asn_TYPE_member_t asn_MBR_VanetzaTest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_field_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_field_constraint_1 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ static asn_TYPE_member_t asn_MBR_VanetzaTest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -112,6 +118,9 @@ asn_TYPE_descriptor_t asn_DEF_VanetzaTest = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VanetzaTest_1, diff --git a/vanetza/asn1/its/VarLengthNumber.c b/vanetza/asn1/its/VarLengthNumber.c index bbee59807..e60f700bf 100644 --- a/vanetza/asn1/its/VarLengthNumber.c +++ b/vanetza/asn1/its/VarLengthNumber.c @@ -69,6 +69,9 @@ asn_TYPE_member_t asn_MBR_VarLengthNumber_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_content_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_content_constraint_1 }, 0, 0, /* No default value */ @@ -86,6 +89,9 @@ asn_TYPE_member_t asn_MBR_VarLengthNumber_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -121,6 +127,9 @@ asn_TYPE_descriptor_t asn_DEF_VarLengthNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VarLengthNumber_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_VarLengthNumber_1, diff --git a/vanetza/asn1/its/VcClass.c b/vanetza/asn1/its/VcClass.c index 50192d480..4738d2adb 100644 --- a/vanetza/asn1/its/VcClass.c +++ b/vanetza/asn1/its/VcClass.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VcClass = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VcClass_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VcClass_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/VcCode.c b/vanetza/asn1/its/VcCode.c index ab7902128..5bffb90f1 100644 --- a/vanetza/asn1/its/VcCode.c +++ b/vanetza/asn1/its/VcCode.c @@ -94,6 +94,9 @@ asn_TYPE_member_t asn_MBR_VcCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -111,6 +114,9 @@ asn_TYPE_member_t asn_MBR_VcCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_roadSignCode_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_roadSignCode_constraint_1 }, 0, 0, /* No default value */ @@ -128,6 +134,9 @@ asn_TYPE_member_t asn_MBR_VcCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -145,6 +154,9 @@ asn_TYPE_member_t asn_MBR_VcCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -162,6 +174,9 @@ asn_TYPE_member_t asn_MBR_VcCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_value_constr_6, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_value_constraint_1 }, 0, 0, /* No default value */ @@ -179,6 +194,9 @@ asn_TYPE_member_t asn_MBR_VcCode_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -223,6 +241,9 @@ asn_TYPE_descriptor_t asn_DEF_VcCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VcCode_1, diff --git a/vanetza/asn1/its/VcOption.c b/vanetza/asn1/its/VcOption.c index fc12ec30f..c4d54d0ef 100644 --- a/vanetza/asn1/its/VcOption.c +++ b/vanetza/asn1/its/VcOption.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VcOption = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VcOption_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VcOption_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/VehicleAuthenticator.c b/vanetza/asn1/its/VehicleAuthenticator.c index c225542bb..eac0fcb18 100644 --- a/vanetza/asn1/its/VehicleAuthenticator.c +++ b/vanetza/asn1/its/VehicleAuthenticator.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleAuthenticator = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/VehicleAxles.c b/vanetza/asn1/its/VehicleAxles.c index 16058156b..ebb66b4a4 100644 --- a/vanetza/asn1/its/VehicleAxles.c +++ b/vanetza/asn1/its/VehicleAxles.c @@ -66,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_tyreType_4 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_tyreType_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ @@ -85,6 +88,9 @@ static asn_TYPE_member_t asn_MBR_numberOfAxles_9[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -102,6 +108,9 @@ static asn_TYPE_member_t asn_MBR_numberOfAxles_9[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -142,6 +151,9 @@ asn_TYPE_descriptor_t asn_DEF_numberOfAxles_9 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_numberOfAxles_9, @@ -162,6 +174,9 @@ static asn_TYPE_member_t asn_MBR_vehicleAxlesNumber_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -179,6 +194,9 @@ static asn_TYPE_member_t asn_MBR_vehicleAxlesNumber_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -219,6 +237,9 @@ asn_TYPE_descriptor_t asn_DEF_vehicleAxlesNumber_3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_vehicleAxlesNumber_3, @@ -239,6 +260,9 @@ static asn_TYPE_member_t asn_MBR_VehicleAxles_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -256,6 +280,9 @@ static asn_TYPE_member_t asn_MBR_VehicleAxles_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -294,6 +321,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleAxles = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VehicleAxles_1, diff --git a/vanetza/asn1/its/VehicleBreakdownSubCauseCode.c b/vanetza/asn1/its/VehicleBreakdownSubCauseCode.c index bff236abc..55a4ee744 100644 --- a/vanetza/asn1/its/VehicleBreakdownSubCauseCode.c +++ b/vanetza/asn1/its/VehicleBreakdownSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleBreakdownSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleBreakdownSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VehicleBreakdownSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/VehicleCharacteristicsFixValues.c b/vanetza/asn1/its/VehicleCharacteristicsFixValues.c index 842e050e9..1b3380248 100644 --- a/vanetza/asn1/its/VehicleCharacteristicsFixValues.c +++ b/vanetza/asn1/its/VehicleCharacteristicsFixValues.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsFixValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsFixValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsFixValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsFixValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsFixValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsFixValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -134,6 +152,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsFixValues_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +195,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleCharacteristicsFixValues = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleCharacteristicsFixValues_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_VehicleCharacteristicsFixValues_1, diff --git a/vanetza/asn1/its/VehicleCharacteristicsFixValuesList.c b/vanetza/asn1/its/VehicleCharacteristicsFixValuesList.c index 9424cb351..b10743f0d 100644 --- a/vanetza/asn1/its/VehicleCharacteristicsFixValuesList.c +++ b/vanetza/asn1/its/VehicleCharacteristicsFixValuesList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsFixValuesList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleCharacteristicsFixValuesList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleCharacteristicsFixValuesList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_VehicleCharacteristicsFixValuesList_1, diff --git a/vanetza/asn1/its/VehicleCharacteristicsList.c b/vanetza/asn1/its/VehicleCharacteristicsList.c index 6f6458b7a..2009eaf2c 100644 --- a/vanetza/asn1/its/VehicleCharacteristicsList.c +++ b/vanetza/asn1/its/VehicleCharacteristicsList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleCharacteristicsList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleCharacteristicsList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_VehicleCharacteristicsList_1, diff --git a/vanetza/asn1/its/VehicleCharacteristicsRanges.c b/vanetza/asn1/its/VehicleCharacteristicsRanges.c index 380e70199..d17f3937c 100644 --- a/vanetza/asn1/its/VehicleCharacteristicsRanges.c +++ b/vanetza/asn1/its/VehicleCharacteristicsRanges.c @@ -69,6 +69,9 @@ static asn_TYPE_member_t asn_MBR_limits_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_numberOfAxles_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_numberOfAxles_constraint_3 }, 0, 0, /* No default value */ @@ -86,6 +89,9 @@ static asn_TYPE_member_t asn_MBR_limits_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +109,9 @@ static asn_TYPE_member_t asn_MBR_limits_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -120,6 +129,9 @@ static asn_TYPE_member_t asn_MBR_limits_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -137,6 +149,9 @@ static asn_TYPE_member_t asn_MBR_limits_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -154,6 +169,9 @@ static asn_TYPE_member_t asn_MBR_limits_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -171,6 +189,9 @@ static asn_TYPE_member_t asn_MBR_limits_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -188,6 +209,9 @@ static asn_TYPE_member_t asn_MBR_limits_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -230,6 +254,9 @@ asn_TYPE_descriptor_t asn_DEF_limits_3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_limits_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_limits_3, @@ -250,6 +277,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsRanges_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -267,6 +297,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsRanges_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -305,6 +338,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleCharacteristicsRanges = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VehicleCharacteristicsRanges_1, diff --git a/vanetza/asn1/its/VehicleCharacteristicsRangesList.c b/vanetza/asn1/its/VehicleCharacteristicsRangesList.c index a6e952a3f..91bf4d9ac 100644 --- a/vanetza/asn1/its/VehicleCharacteristicsRangesList.c +++ b/vanetza/asn1/its/VehicleCharacteristicsRangesList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_VehicleCharacteristicsRangesList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleCharacteristicsRangesList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleCharacteristicsRangesList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_VehicleCharacteristicsRangesList_1, diff --git a/vanetza/asn1/its/VehicleClass.c b/vanetza/asn1/its/VehicleClass.c index 4083e5d5e..45b5f2e72 100644 --- a/vanetza/asn1/its/VehicleClass.c +++ b/vanetza/asn1/its/VehicleClass.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleClass = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleClass_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VehicleClass_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/VehicleCurrentMaxTrainWeight.c b/vanetza/asn1/its/VehicleCurrentMaxTrainWeight.c index 76bfc56d3..e664fdd4d 100644 --- a/vanetza/asn1/its/VehicleCurrentMaxTrainWeight.c +++ b/vanetza/asn1/its/VehicleCurrentMaxTrainWeight.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleCurrentMaxTrainWeight = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleCurrentMaxTrainWeight_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VehicleCurrentMaxTrainWeight_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/VehicleDimensions.c b/vanetza/asn1/its/VehicleDimensions.c index e5cd73e73..cd7a0c316 100644 --- a/vanetza/asn1/its/VehicleDimensions.c +++ b/vanetza/asn1/its/VehicleDimensions.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_VehicleDimensions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_VehicleDimensions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_VehicleDimensions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleDimensions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VehicleDimensions_1, diff --git a/vanetza/asn1/its/VehicleHeight.c b/vanetza/asn1/its/VehicleHeight.c index b4a5f6a95..9bee22d39 100644 --- a/vanetza/asn1/its/VehicleHeight.c +++ b/vanetza/asn1/its/VehicleHeight.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleHeight = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleHeight_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VehicleHeight_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/VehicleID.c b/vanetza/asn1/its/VehicleID.c index cb3a04c39..3f668b0b0 100644 --- a/vanetza/asn1/its/VehicleID.c +++ b/vanetza/asn1/its/VehicleID.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_VehicleID_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_VehicleID_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleID_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_VehicleID_1, diff --git a/vanetza/asn1/its/VehicleIdentification.c b/vanetza/asn1/its/VehicleIdentification.c index 5df53f513..2d10bdc2c 100644 --- a/vanetza/asn1/its/VehicleIdentification.c +++ b/vanetza/asn1/its/VehicleIdentification.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_VehicleIdentification_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_VehicleIdentification_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleIdentification = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VehicleIdentification_1, diff --git a/vanetza/asn1/its/VehicleIdentificationNumber.c b/vanetza/asn1/its/VehicleIdentificationNumber.c index 50e9c98de..71c33e589 100644 --- a/vanetza/asn1/its/VehicleIdentificationNumber.c +++ b/vanetza/asn1/its/VehicleIdentificationNumber.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleIdentificationNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_CS5_1, diff --git a/vanetza/asn1/its/VehicleLength.c b/vanetza/asn1/its/VehicleLength.c index ef84e3ec0..4c180c2fe 100644 --- a/vanetza/asn1/its/VehicleLength.c +++ b/vanetza/asn1/its/VehicleLength.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_VehicleLength_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_VehicleLength_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleLength = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VehicleLength_1, diff --git a/vanetza/asn1/its/VehicleLengthConfidenceIndication.c b/vanetza/asn1/its/VehicleLengthConfidenceIndication.c index a1b0a0a97..5575cb555 100644 --- a/vanetza/asn1/its/VehicleLengthConfidenceIndication.c +++ b/vanetza/asn1/its/VehicleLengthConfidenceIndication.c @@ -66,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleLengthConfidenceIndication = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleLengthConfidenceIndication_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/VehicleLengthValue.c b/vanetza/asn1/its/VehicleLengthValue.c index 838c6489d..6b7fdf1a6 100644 --- a/vanetza/asn1/its/VehicleLengthValue.c +++ b/vanetza/asn1/its/VehicleLengthValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleLengthValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleLengthValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VehicleLengthValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/VehicleLicencePlateNumber.c b/vanetza/asn1/its/VehicleLicencePlateNumber.c index 639939d42..7299a5cc8 100644 --- a/vanetza/asn1/its/VehicleLicencePlateNumber.c +++ b/vanetza/asn1/its/VehicleLicencePlateNumber.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleLicencePlateNumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_LPN_1, diff --git a/vanetza/asn1/its/VehicleMass.c b/vanetza/asn1/its/VehicleMass.c index aefdefce8..a2e6c33ca 100644 --- a/vanetza/asn1/its/VehicleMass.c +++ b/vanetza/asn1/its/VehicleMass.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleMass = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleMass_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VehicleMass_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/VehicleRole.c b/vanetza/asn1/its/VehicleRole.c index 0020daf41..0ce12f3a8 100644 --- a/vanetza/asn1/its/VehicleRole.c +++ b/vanetza/asn1/its/VehicleRole.c @@ -88,6 +88,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleRole = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleRole_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/VehicleSensor.c b/vanetza/asn1/its/VehicleSensor.c index b1fe5d0ca..ce9991544 100644 --- a/vanetza/asn1/its/VehicleSensor.c +++ b/vanetza/asn1/its/VehicleSensor.c @@ -42,6 +42,9 @@ asn_TYPE_member_t asn_MBR_VehicleSensor_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_2_cmp_0, /* Compare DEFAULT 0 */ @@ -60,6 +63,9 @@ asn_TYPE_member_t asn_MBR_VehicleSensor_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_member_t asn_MBR_VehicleSensor_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -94,6 +103,9 @@ asn_TYPE_member_t asn_MBR_VehicleSensor_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -111,6 +123,9 @@ asn_TYPE_member_t asn_MBR_VehicleSensor_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -154,6 +169,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleSensor = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VehicleSensor_1, diff --git a/vanetza/asn1/its/VehicleSensorProperties.c b/vanetza/asn1/its/VehicleSensorProperties.c index 088344208..fc0d0b35b 100644 --- a/vanetza/asn1/its/VehicleSensorProperties.c +++ b/vanetza/asn1/its/VehicleSensorProperties.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_VehicleSensorProperties_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_VehicleSensorProperties_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_VehicleSensorProperties_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_VehicleSensorProperties_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_VehicleSensorProperties_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -131,6 +146,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleSensorProperties = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VehicleSensorProperties_1, diff --git a/vanetza/asn1/its/VehicleSensorPropertyList.c b/vanetza/asn1/its/VehicleSensorPropertyList.c index 77f9d74ec..4de60d49e 100644 --- a/vanetza/asn1/its/VehicleSensorPropertyList.c +++ b/vanetza/asn1/its/VehicleSensorPropertyList.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_VehicleSensorPropertyList_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleSensorPropertyList = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleSensorPropertyList_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_VehicleSensorPropertyList_1, diff --git a/vanetza/asn1/its/VehicleSpecificCharacteristics.c b/vanetza/asn1/its/VehicleSpecificCharacteristics.c index 3f47e8a77..aec47307d 100644 --- a/vanetza/asn1/its/VehicleSpecificCharacteristics.c +++ b/vanetza/asn1/its/VehicleSpecificCharacteristics.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_VehicleSpecificCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ static asn_TYPE_member_t asn_MBR_VehicleSpecificCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ static asn_TYPE_member_t asn_MBR_VehicleSpecificCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ static asn_TYPE_member_t asn_MBR_VehicleSpecificCharacteristics_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -111,6 +123,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleSpecificCharacteristics = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VehicleSpecificCharacteristics_1, diff --git a/vanetza/asn1/its/VehicleSubclass.c b/vanetza/asn1/its/VehicleSubclass.c index 4a5127bae..c6351fecf 100644 --- a/vanetza/asn1/its/VehicleSubclass.c +++ b/vanetza/asn1/its/VehicleSubclass.c @@ -64,6 +64,9 @@ asn_TYPE_member_t asn_MBR_VehicleSubclass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_2_cmp_0, /* Compare DEFAULT 0 */ @@ -82,6 +85,9 @@ asn_TYPE_member_t asn_MBR_VehicleSubclass_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_3_cmp_0, /* Compare DEFAULT 0 */ @@ -123,6 +129,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleSubclass = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VehicleSubclass_1, diff --git a/vanetza/asn1/its/VehicleSubclassType.c b/vanetza/asn1/its/VehicleSubclassType.c index 249773c0b..78530c920 100644 --- a/vanetza/asn1/its/VehicleSubclassType.c +++ b/vanetza/asn1/its/VehicleSubclassType.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleSubclassType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleSubclassType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VehicleSubclassType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/VehicleTotalDistance.c b/vanetza/asn1/its/VehicleTotalDistance.c index a3ec9d4f4..088f48356 100644 --- a/vanetza/asn1/its/VehicleTotalDistance.c +++ b/vanetza/asn1/its/VehicleTotalDistance.c @@ -59,6 +59,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleTotalDistance = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleTotalDistance_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VehicleTotalDistance_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/VehicleType.c b/vanetza/asn1/its/VehicleType.c index b44494e3f..3b21cfb2b 100644 --- a/vanetza/asn1/its/VehicleType.c +++ b/vanetza/asn1/its/VehicleType.c @@ -90,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/VehicleWeightLaden.c b/vanetza/asn1/its/VehicleWeightLaden.c index 574f1dafe..0a04d507d 100644 --- a/vanetza/asn1/its/VehicleWeightLaden.c +++ b/vanetza/asn1/its/VehicleWeightLaden.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleWeightLaden = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleWeightLaden_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VehicleWeightLaden_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/VehicleWeightLimits.c b/vanetza/asn1/its/VehicleWeightLimits.c index 36efda3d7..a2ecce6b3 100644 --- a/vanetza/asn1/its/VehicleWeightLimits.c +++ b/vanetza/asn1/its/VehicleWeightLimits.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_VehicleWeightLimits_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_VehicleWeightLimits_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_VehicleWeightLimits_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleWeightLimits = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VehicleWeightLimits_1, diff --git a/vanetza/asn1/its/VehicleWidth.c b/vanetza/asn1/its/VehicleWidth.c index 45a51d543..b15f26334 100644 --- a/vanetza/asn1/its/VehicleWidth.c +++ b/vanetza/asn1/its/VehicleWidth.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VehicleWidth = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VehicleWidth_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VehicleWidth_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Velocity.c b/vanetza/asn1/its/Velocity.c index 30a114020..a152f3115 100644 --- a/vanetza/asn1/its/Velocity.c +++ b/vanetza/asn1/its/Velocity.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Velocity = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Velocity_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Velocity_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/VerticalAcceleration.c b/vanetza/asn1/its/VerticalAcceleration.c index a05989aee..f183af215 100644 --- a/vanetza/asn1/its/VerticalAcceleration.c +++ b/vanetza/asn1/its/VerticalAcceleration.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_VerticalAcceleration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_VerticalAcceleration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_VerticalAcceleration = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_VerticalAcceleration_1, diff --git a/vanetza/asn1/its/VerticalAccelerationValue.c b/vanetza/asn1/its/VerticalAccelerationValue.c index 96ac7248d..28466687d 100644 --- a/vanetza/asn1/its/VerticalAccelerationValue.c +++ b/vanetza/asn1/its/VerticalAccelerationValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_VerticalAccelerationValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_VerticalAccelerationValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VerticalAccelerationValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/WGS84Angle.c b/vanetza/asn1/its/WGS84Angle.c index 4da2d343b..d0918a2b6 100644 --- a/vanetza/asn1/its/WGS84Angle.c +++ b/vanetza/asn1/its/WGS84Angle.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_WGS84Angle_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_WGS84Angle_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_WGS84Angle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_WGS84Angle_1, diff --git a/vanetza/asn1/its/WGS84AngleValue.c b/vanetza/asn1/its/WGS84AngleValue.c index efc1b85e7..02aa85d1b 100644 --- a/vanetza/asn1/its/WGS84AngleValue.c +++ b/vanetza/asn1/its/WGS84AngleValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_WGS84AngleValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_WGS84AngleValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ WGS84AngleValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/WMInumber.c b/vanetza/asn1/its/WMInumber.c index bb581b1b8..ec15cd03c 100644 --- a/vanetza/asn1/its/WMInumber.c +++ b/vanetza/asn1/its/WMInumber.c @@ -83,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_WMInumber = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_WMInumber_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ WMInumber_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/WaitOnStopline.c b/vanetza/asn1/its/WaitOnStopline.c index bcf5f29db..166f5eb13 100644 --- a/vanetza/asn1/its/WaitOnStopline.c +++ b/vanetza/asn1/its/WaitOnStopline.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_WaitOnStopline = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ BOOLEAN_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/WearLevel.c b/vanetza/asn1/its/WearLevel.c index 432652629..c6a6b17ad 100644 --- a/vanetza/asn1/its/WearLevel.c +++ b/vanetza/asn1/its/WearLevel.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_WearLevel = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_WearLevel_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ WearLevel_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Weight.c b/vanetza/asn1/its/Weight.c index a2fa56613..b67ff0c4e 100644 --- a/vanetza/asn1/its/Weight.c +++ b/vanetza/asn1/its/Weight.c @@ -94,6 +94,9 @@ asn_TYPE_member_t asn_MBR_Weight_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_value_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_value_constraint_1 }, 0, 0, /* No default value */ @@ -111,6 +114,9 @@ asn_TYPE_member_t asn_MBR_Weight_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_unit_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_unit_constraint_1 }, 0, 0, /* No default value */ @@ -149,6 +155,9 @@ asn_TYPE_descriptor_t asn_DEF_Weight = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Weight_1, diff --git a/vanetza/asn1/its/WheelBaseVehicle.c b/vanetza/asn1/its/WheelBaseVehicle.c index b0c815354..2b9e6db56 100644 --- a/vanetza/asn1/its/WheelBaseVehicle.c +++ b/vanetza/asn1/its/WheelBaseVehicle.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_WheelBaseVehicle = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_WheelBaseVehicle_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ WheelBaseVehicle_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/WrongWayDrivingSubCauseCode.c b/vanetza/asn1/its/WrongWayDrivingSubCauseCode.c index 5221b74fa..219bcaf80 100644 --- a/vanetza/asn1/its/WrongWayDrivingSubCauseCode.c +++ b/vanetza/asn1/its/WrongWayDrivingSubCauseCode.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_WrongWayDrivingSubCauseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_WrongWayDrivingSubCauseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ WrongWayDrivingSubCauseCode_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/XSensorOffset.c b/vanetza/asn1/its/XSensorOffset.c index 2ce940ed1..1dbbd4f15 100644 --- a/vanetza/asn1/its/XSensorOffset.c +++ b/vanetza/asn1/its/XSensorOffset.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_XSensorOffset = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_XSensorOffset_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ XSensorOffset_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/YSensorOffset.c b/vanetza/asn1/its/YSensorOffset.c index 8b9ebd323..0f9c07a82 100644 --- a/vanetza/asn1/its/YSensorOffset.c +++ b/vanetza/asn1/its/YSensorOffset.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_YSensorOffset = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_YSensorOffset_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ YSensorOffset_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/YawRate.c b/vanetza/asn1/its/YawRate.c index 3c0af73f0..965ebb591 100644 --- a/vanetza/asn1/its/YawRate.c +++ b/vanetza/asn1/its/YawRate.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_YawRate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_YawRate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_YawRate = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_YawRate_1, diff --git a/vanetza/asn1/its/YawRateConfidence.c b/vanetza/asn1/its/YawRateConfidence.c index fa556c42e..0a557b6f8 100644 --- a/vanetza/asn1/its/YawRateConfidence.c +++ b/vanetza/asn1/its/YawRateConfidence.c @@ -74,6 +74,9 @@ asn_TYPE_descriptor_t asn_DEF_YawRateConfidence = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_YawRateConfidence_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/YawRateValue.c b/vanetza/asn1/its/YawRateValue.c index c2a07c67e..67a24317f 100644 --- a/vanetza/asn1/its/YawRateValue.c +++ b/vanetza/asn1/its/YawRateValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_YawRateValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_YawRateValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ YawRateValue_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/ZSensorOffset.c b/vanetza/asn1/its/ZSensorOffset.c index fa0c1af64..8a52b286a 100644 --- a/vanetza/asn1/its/ZSensorOffset.c +++ b/vanetza/asn1/its/ZSensorOffset.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ZSensorOffset = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ZSensorOffset_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ZSensorOffset_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/its/Zid.c b/vanetza/asn1/its/Zid.c index a6579bf26..e21140894 100644 --- a/vanetza/asn1/its/Zid.c +++ b/vanetza/asn1/its/Zid.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Zid = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Zid_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Zid_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/Zone.c b/vanetza/asn1/its/Zone.c index 0cfd6dad5..3720554a0 100644 --- a/vanetza/asn1/its/Zone.c +++ b/vanetza/asn1/its/Zone.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Zone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Zone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Zone_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -102,6 +111,9 @@ asn_TYPE_descriptor_t asn_DEF_Zone = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Zone_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Zone_1, diff --git a/vanetza/asn1/its/ZoneIds.c b/vanetza/asn1/its/ZoneIds.c index 67a269b08..66bd03594 100644 --- a/vanetza/asn1/its/ZoneIds.c +++ b/vanetza/asn1/its/ZoneIds.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_ZoneIds_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_ZoneIds = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ZoneIds_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_ZoneIds_1, diff --git a/vanetza/asn1/its/ZoneLength.c b/vanetza/asn1/its/ZoneLength.c index 44b37dc13..015343c01 100644 --- a/vanetza/asn1/its/ZoneLength.c +++ b/vanetza/asn1/its/ZoneLength.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_ZoneLength = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_ZoneLength_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ZoneLength_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/its/r2/Acceleration3dWithConfidence.c b/vanetza/asn1/its/r2/Acceleration3dWithConfidence.c new file mode 100644 index 000000000..46eb84ea6 --- /dev/null +++ b/vanetza/asn1/its/r2/Acceleration3dWithConfidence.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Acceleration3dWithConfidence.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Acceleration3dWithConfidence_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_Vanetza_ITS2_Acceleration3dWithConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Acceleration3dWithConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Acceleration3dWithConfidence, choice.polarAcceleration), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationPolarWithZ, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "polarAcceleration" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Acceleration3dWithConfidence, choice.cartesianAcceleration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationCartesian, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cartesianAcceleration" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_Acceleration3dWithConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* polarAcceleration */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cartesianAcceleration */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_Acceleration3dWithConfidence_specs_1 = { + sizeof(struct Vanetza_ITS2_Acceleration3dWithConfidence), + offsetof(struct Vanetza_ITS2_Acceleration3dWithConfidence, _asn_ctx), + offsetof(struct Vanetza_ITS2_Acceleration3dWithConfidence, present), + sizeof(((struct Vanetza_ITS2_Acceleration3dWithConfidence *)0)->present), + asn_MAP_Vanetza_ITS2_Acceleration3dWithConfidence_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Acceleration3dWithConfidence = { + "Acceleration3dWithConfidence", + "Acceleration3dWithConfidence", + &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_Vanetza_ITS2_Acceleration3dWithConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Acceleration3dWithConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_Acceleration3dWithConfidence_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_Acceleration3dWithConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Acceleration3dWithConfidence.h b/vanetza/asn1/its/r2/Acceleration3dWithConfidence.h new file mode 100644 index 000000000..abda59a4a --- /dev/null +++ b/vanetza/asn1/its/r2/Acceleration3dWithConfidence.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Acceleration3dWithConfidence_H_ +#define _Vanetza_ITS2_Acceleration3dWithConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "AccelerationPolarWithZ.h" +#include "AccelerationCartesian.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Acceleration3dWithConfidence_PR { + Vanetza_ITS2_Acceleration3dWithConfidence_PR_NOTHING, /* No components present */ + Vanetza_ITS2_Acceleration3dWithConfidence_PR_polarAcceleration, + Vanetza_ITS2_Acceleration3dWithConfidence_PR_cartesianAcceleration +} Vanetza_ITS2_Acceleration3dWithConfidence_PR; + +/* Vanetza_ITS2_Acceleration3dWithConfidence */ +typedef struct Vanetza_ITS2_Acceleration3dWithConfidence { + Vanetza_ITS2_Acceleration3dWithConfidence_PR present; + union Vanetza_ITS2_Acceleration3dWithConfidence_u { + Vanetza_ITS2_AccelerationPolarWithZ_t polarAcceleration; + Vanetza_ITS2_AccelerationCartesian_t cartesianAcceleration; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Acceleration3dWithConfidence_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Acceleration3dWithConfidence; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_Acceleration3dWithConfidence_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Acceleration3dWithConfidence_1[2]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Acceleration3dWithConfidence_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Acceleration3dWithConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccelerationCartesian.c b/vanetza/asn1/its/r2/AccelerationCartesian.c new file mode 100644 index 000000000..36c06bc93 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationCartesian.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccelerationCartesian.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AccelerationCartesian_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_AccelerationCartesian, xAcceleration), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "xAcceleration" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_AccelerationCartesian, yAcceleration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yAcceleration" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_AccelerationCartesian, zAcceleration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zAcceleration" + }, +}; +static const int asn_MAP_Vanetza_ITS2_AccelerationCartesian_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccelerationCartesian_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_AccelerationCartesian_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* xAcceleration */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* yAcceleration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* zAcceleration */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_AccelerationCartesian_specs_1 = { + sizeof(struct Vanetza_ITS2_AccelerationCartesian), + offsetof(struct Vanetza_ITS2_AccelerationCartesian, _asn_ctx), + asn_MAP_Vanetza_ITS2_AccelerationCartesian_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_AccelerationCartesian_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationCartesian = { + "AccelerationCartesian", + "AccelerationCartesian", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_AccelerationCartesian_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccelerationCartesian_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationCartesian_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccelerationCartesian_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccelerationCartesian_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationCartesian_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_AccelerationCartesian_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_AccelerationCartesian_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AccelerationCartesian.h b/vanetza/asn1/its/r2/AccelerationCartesian.h new file mode 100644 index 000000000..5a724124a --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationCartesian.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccelerationCartesian_H_ +#define _Vanetza_ITS2_AccelerationCartesian_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "AccelerationComponent.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_AccelerationComponent; + +/* Vanetza_ITS2_AccelerationCartesian */ +typedef struct Vanetza_ITS2_AccelerationCartesian { + Vanetza_ITS2_AccelerationComponent_t xAcceleration; + Vanetza_ITS2_AccelerationComponent_t yAcceleration; + struct Vanetza_ITS2_AccelerationComponent *zAcceleration; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_AccelerationCartesian_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationCartesian; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_AccelerationCartesian_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AccelerationCartesian_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "AccelerationComponent.h" + +#endif /* _Vanetza_ITS2_AccelerationCartesian_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccelerationChange.c b/vanetza/asn1/its/r2/AccelerationChange.c new file mode 100644 index 000000000..d3fd73896 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationChange.c @@ -0,0 +1,71 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccelerationChange.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_Vanetza_ITS2_AccelerationChange_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_Vanetza_ITS2_AccelerationChange_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_AccelerationChange_value2enum_1[] = { + { 0, 10, "accelerate" }, + { 1, 10, "decelerate" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_AccelerationChange_enum2value_1[] = { + 0, /* accelerate(0) */ + 1 /* decelerate(1) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_AccelerationChange_specs_1 = { + asn_MAP_Vanetza_ITS2_AccelerationChange_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_AccelerationChange_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccelerationChange_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationChange = { + "AccelerationChange", + "AccelerationChange", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_AccelerationChange_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccelerationChange_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationChange_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccelerationChange_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccelerationChange_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationChange_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AccelerationChange_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AccelerationChange_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_AccelerationChange_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AccelerationChange.h b/vanetza/asn1/its/r2/AccelerationChange.h new file mode 100644 index 000000000..d23ed4a2b --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationChange.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccelerationChange_H_ +#define _Vanetza_ITS2_AccelerationChange_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AccelerationChange { + Vanetza_ITS2_AccelerationChange_accelerate = 0, + Vanetza_ITS2_AccelerationChange_decelerate = 1 +} e_Vanetza_ITS2_AccelerationChange; + +/* Vanetza_ITS2_AccelerationChange */ +typedef long Vanetza_ITS2_AccelerationChange_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccelerationChange_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationChange; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_AccelerationChange_specs_1; +asn_struct_free_f Vanetza_ITS2_AccelerationChange_free; +asn_struct_print_f Vanetza_ITS2_AccelerationChange_print; +asn_constr_check_f Vanetza_ITS2_AccelerationChange_constraint; +ber_type_decoder_f Vanetza_ITS2_AccelerationChange_decode_ber; +der_type_encoder_f Vanetza_ITS2_AccelerationChange_encode_der; +xer_type_decoder_f Vanetza_ITS2_AccelerationChange_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AccelerationChange_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AccelerationChange_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AccelerationChange_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AccelerationChange_encode_oer; +per_type_decoder_f Vanetza_ITS2_AccelerationChange_decode_uper; +per_type_encoder_f Vanetza_ITS2_AccelerationChange_encode_uper; +per_type_decoder_f Vanetza_ITS2_AccelerationChange_decode_aper; +per_type_encoder_f Vanetza_ITS2_AccelerationChange_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AccelerationChange_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccelerationChangeIndication.c b/vanetza/asn1/its/r2/AccelerationChangeIndication.c new file mode 100644 index 000000000..766ee38c8 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationChangeIndication.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccelerationChangeIndication.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AccelerationChangeIndication_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_AccelerationChangeIndication, accelOrDecel), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationChange, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelOrDecel" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_AccelerationChangeIndication, actionDeltaTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "actionDeltaTime" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccelerationChangeIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_AccelerationChangeIndication_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* accelOrDecel */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* actionDeltaTime */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_AccelerationChangeIndication_specs_1 = { + sizeof(struct Vanetza_ITS2_AccelerationChangeIndication), + offsetof(struct Vanetza_ITS2_AccelerationChangeIndication, _asn_ctx), + asn_MAP_Vanetza_ITS2_AccelerationChangeIndication_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationChangeIndication = { + "AccelerationChangeIndication", + "AccelerationChangeIndication", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_AccelerationChangeIndication_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccelerationChangeIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationChangeIndication_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccelerationChangeIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccelerationChangeIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationChangeIndication_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_AccelerationChangeIndication_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_AccelerationChangeIndication_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AccelerationChangeIndication.h b/vanetza/asn1/its/r2/AccelerationChangeIndication.h new file mode 100644 index 000000000..7263d894b --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationChangeIndication.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccelerationChangeIndication_H_ +#define _Vanetza_ITS2_AccelerationChangeIndication_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "AccelerationChange.h" +#include "DeltaTimeTenthOfSecond.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_AccelerationChangeIndication */ +typedef struct Vanetza_ITS2_AccelerationChangeIndication { + Vanetza_ITS2_AccelerationChange_t accelOrDecel; + Vanetza_ITS2_DeltaTimeTenthOfSecond_t actionDeltaTime; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_AccelerationChangeIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationChangeIndication; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AccelerationChangeIndication_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccelerationComponent.c b/vanetza/asn1/its/r2/AccelerationComponent.c new file mode 100644 index 000000000..8ebf24d1b --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationComponent.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccelerationComponent.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AccelerationComponent_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_AccelerationComponent, value), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "value" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_AccelerationComponent, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccelerationComponent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_AccelerationComponent_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_Vanetza_ITS2_AccelerationComponent_specs_1 = { + sizeof(struct Vanetza_ITS2_AccelerationComponent), + offsetof(struct Vanetza_ITS2_AccelerationComponent, _asn_ctx), + asn_MAP_Vanetza_ITS2_AccelerationComponent_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_Vanetza_ITS2_AccelerationComponent = { + "AccelerationComponent", + "AccelerationComponent", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_AccelerationComponent_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccelerationComponent_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationComponent_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccelerationComponent_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccelerationComponent_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationComponent_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_AccelerationComponent_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_AccelerationComponent_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AccelerationComponent.h b/vanetza/asn1/its/r2/AccelerationComponent.h new file mode 100644 index 000000000..cf6980b37 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationComponent.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccelerationComponent_H_ +#define _Vanetza_ITS2_AccelerationComponent_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "AccelerationValue.h" +#include "AccelerationConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_AccelerationComponent */ +typedef struct Vanetza_ITS2_AccelerationComponent { + Vanetza_ITS2_AccelerationValue_t value; + Vanetza_ITS2_AccelerationConfidence_t confidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_AccelerationComponent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationComponent; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_AccelerationComponent_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AccelerationComponent_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AccelerationComponent_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccelerationConfidence.c b/vanetza/asn1/its/r2/AccelerationConfidence.c new file mode 100644 index 000000000..95f64ce28 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationConfidence.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccelerationConfidence.h" + +int +Vanetza_ITS2_AccelerationConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 102L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccelerationConfidence_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..102) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccelerationConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 102 } /* (0..102) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccelerationConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationConfidence = { + "AccelerationConfidence", + "AccelerationConfidence", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AccelerationConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccelerationConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccelerationConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccelerationConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AccelerationConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AccelerationConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AccelerationConfidence_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AccelerationConfidence.h b/vanetza/asn1/its/r2/AccelerationConfidence.h new file mode 100644 index 000000000..bfd844364 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationConfidence.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccelerationConfidence_H_ +#define _Vanetza_ITS2_AccelerationConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AccelerationConfidence { + Vanetza_ITS2_AccelerationConfidence_outOfRange = 101, + Vanetza_ITS2_AccelerationConfidence_unavailable = 102 +} e_Vanetza_ITS2_AccelerationConfidence; + +/* Vanetza_ITS2_AccelerationConfidence */ +typedef long Vanetza_ITS2_AccelerationConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccelerationConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationConfidence; +asn_struct_free_f Vanetza_ITS2_AccelerationConfidence_free; +asn_struct_print_f Vanetza_ITS2_AccelerationConfidence_print; +asn_constr_check_f Vanetza_ITS2_AccelerationConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_AccelerationConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_AccelerationConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_AccelerationConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AccelerationConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AccelerationConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AccelerationConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AccelerationConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_AccelerationConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_AccelerationConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_AccelerationConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_AccelerationConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AccelerationConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccelerationControl.c b/vanetza/asn1/its/r2/AccelerationControl.c new file mode 100644 index 000000000..df1c51627 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationControl.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccelerationControl.h" + +int +Vanetza_ITS2_AccelerationControl_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 7UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccelerationControl_constr_1 CC_NOTUSED = { + { 0, 0 }, + 7 /* (SIZE(7..7)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccelerationControl_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 7, 7 } /* (SIZE(7..7)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_AccelerationControl_constr_1 CC_NOTUSED = { + 7}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccelerationControl_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationControl = { + "AccelerationControl", + "AccelerationControl", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_AccelerationControl_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccelerationControl_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationControl_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccelerationControl_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccelerationControl_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationControl_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AccelerationControl_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AccelerationControl_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_AccelerationControl_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AccelerationControl_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AccelerationControl.h b/vanetza/asn1/its/r2/AccelerationControl.h new file mode 100644 index 000000000..4d344f3cd --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationControl.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccelerationControl_H_ +#define _Vanetza_ITS2_AccelerationControl_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AccelerationControl { + Vanetza_ITS2_AccelerationControl_brakePedalEngaged = 0, + Vanetza_ITS2_AccelerationControl_gasPedalEngaged = 1, + Vanetza_ITS2_AccelerationControl_emergencyBrakeEngaged = 2, + Vanetza_ITS2_AccelerationControl_collisionWarningEngaged = 3, + Vanetza_ITS2_AccelerationControl_accEngaged = 4, + Vanetza_ITS2_AccelerationControl_cruiseControlEngaged = 5, + Vanetza_ITS2_AccelerationControl_speedLimiterEngaged = 6 +} e_Vanetza_ITS2_AccelerationControl; + +/* Vanetza_ITS2_AccelerationControl */ +typedef BIT_STRING_t Vanetza_ITS2_AccelerationControl_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccelerationControl_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationControl; +asn_struct_free_f Vanetza_ITS2_AccelerationControl_free; +asn_struct_print_f Vanetza_ITS2_AccelerationControl_print; +asn_constr_check_f Vanetza_ITS2_AccelerationControl_constraint; +ber_type_decoder_f Vanetza_ITS2_AccelerationControl_decode_ber; +der_type_encoder_f Vanetza_ITS2_AccelerationControl_encode_der; +xer_type_decoder_f Vanetza_ITS2_AccelerationControl_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AccelerationControl_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AccelerationControl_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AccelerationControl_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AccelerationControl_encode_oer; +per_type_decoder_f Vanetza_ITS2_AccelerationControl_decode_uper; +per_type_encoder_f Vanetza_ITS2_AccelerationControl_encode_uper; +per_type_decoder_f Vanetza_ITS2_AccelerationControl_decode_aper; +per_type_encoder_f Vanetza_ITS2_AccelerationControl_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AccelerationControl_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccelerationMagnitude.c b/vanetza/asn1/its/r2/AccelerationMagnitude.c new file mode 100644 index 000000000..d6c219b29 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationMagnitude.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccelerationMagnitude.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AccelerationMagnitude_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_AccelerationMagnitude, accelerationMagnitudeValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationMagnitudeValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelerationMagnitudeValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_AccelerationMagnitude, accelerationConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelerationConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccelerationMagnitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_AccelerationMagnitude_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* accelerationMagnitudeValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* accelerationConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_AccelerationMagnitude_specs_1 = { + sizeof(struct Vanetza_ITS2_AccelerationMagnitude), + offsetof(struct Vanetza_ITS2_AccelerationMagnitude, _asn_ctx), + asn_MAP_Vanetza_ITS2_AccelerationMagnitude_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_Vanetza_ITS2_AccelerationMagnitude = { + "AccelerationMagnitude", + "AccelerationMagnitude", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_AccelerationMagnitude_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccelerationMagnitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationMagnitude_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccelerationMagnitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccelerationMagnitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationMagnitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_AccelerationMagnitude_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_AccelerationMagnitude_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AccelerationMagnitude.h b/vanetza/asn1/its/r2/AccelerationMagnitude.h new file mode 100644 index 000000000..9b2b888f7 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationMagnitude.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccelerationMagnitude_H_ +#define _Vanetza_ITS2_AccelerationMagnitude_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "AccelerationMagnitudeValue.h" +#include "AccelerationConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_AccelerationMagnitude */ +typedef struct Vanetza_ITS2_AccelerationMagnitude { + Vanetza_ITS2_AccelerationMagnitudeValue_t accelerationMagnitudeValue; + Vanetza_ITS2_AccelerationConfidence_t accelerationConfidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_AccelerationMagnitude_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationMagnitude; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_AccelerationMagnitude_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AccelerationMagnitude_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AccelerationMagnitude_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccelerationMagnitudeValue.c b/vanetza/asn1/its/r2/AccelerationMagnitudeValue.c new file mode 100644 index 000000000..ad8487eec --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationMagnitudeValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccelerationMagnitudeValue.h" + +int +Vanetza_ITS2_AccelerationMagnitudeValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 161L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccelerationMagnitudeValue_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..161) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccelerationMagnitudeValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 161 } /* (0..161) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccelerationMagnitudeValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationMagnitudeValue = { + "AccelerationMagnitudeValue", + "AccelerationMagnitudeValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AccelerationMagnitudeValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccelerationMagnitudeValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationMagnitudeValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccelerationMagnitudeValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccelerationMagnitudeValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationMagnitudeValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AccelerationMagnitudeValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AccelerationMagnitudeValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AccelerationMagnitudeValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AccelerationMagnitudeValue.h b/vanetza/asn1/its/r2/AccelerationMagnitudeValue.h new file mode 100644 index 000000000..f9f3c3a57 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationMagnitudeValue.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccelerationMagnitudeValue_H_ +#define _Vanetza_ITS2_AccelerationMagnitudeValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AccelerationMagnitudeValue { + Vanetza_ITS2_AccelerationMagnitudeValue_positiveOutOfRange = 160, + Vanetza_ITS2_AccelerationMagnitudeValue_unavailable = 161 +} e_Vanetza_ITS2_AccelerationMagnitudeValue; + +/* Vanetza_ITS2_AccelerationMagnitudeValue */ +typedef long Vanetza_ITS2_AccelerationMagnitudeValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccelerationMagnitudeValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationMagnitudeValue; +asn_struct_free_f Vanetza_ITS2_AccelerationMagnitudeValue_free; +asn_struct_print_f Vanetza_ITS2_AccelerationMagnitudeValue_print; +asn_constr_check_f Vanetza_ITS2_AccelerationMagnitudeValue_constraint; +ber_type_decoder_f Vanetza_ITS2_AccelerationMagnitudeValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_AccelerationMagnitudeValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_AccelerationMagnitudeValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AccelerationMagnitudeValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AccelerationMagnitudeValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AccelerationMagnitudeValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AccelerationMagnitudeValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_AccelerationMagnitudeValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_AccelerationMagnitudeValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_AccelerationMagnitudeValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_AccelerationMagnitudeValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AccelerationMagnitudeValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccelerationPolarWithZ.c b/vanetza/asn1/its/r2/AccelerationPolarWithZ.c new file mode 100644 index 000000000..c4eb18fd6 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationPolarWithZ.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccelerationPolarWithZ.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AccelerationPolarWithZ_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_AccelerationPolarWithZ, accelerationMagnitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationMagnitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelerationMagnitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_AccelerationPolarWithZ, accelerationDirection), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelerationDirection" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_AccelerationPolarWithZ, zAcceleration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zAcceleration" + }, +}; +static const int asn_MAP_Vanetza_ITS2_AccelerationPolarWithZ_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccelerationPolarWithZ_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_AccelerationPolarWithZ_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* accelerationMagnitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* accelerationDirection */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* zAcceleration */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_AccelerationPolarWithZ_specs_1 = { + sizeof(struct Vanetza_ITS2_AccelerationPolarWithZ), + offsetof(struct Vanetza_ITS2_AccelerationPolarWithZ, _asn_ctx), + asn_MAP_Vanetza_ITS2_AccelerationPolarWithZ_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_AccelerationPolarWithZ_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationPolarWithZ = { + "AccelerationPolarWithZ", + "AccelerationPolarWithZ", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_AccelerationPolarWithZ_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccelerationPolarWithZ_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationPolarWithZ_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccelerationPolarWithZ_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccelerationPolarWithZ_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationPolarWithZ_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_AccelerationPolarWithZ_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_AccelerationPolarWithZ_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AccelerationPolarWithZ.h b/vanetza/asn1/its/r2/AccelerationPolarWithZ.h new file mode 100644 index 000000000..31c24ee96 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationPolarWithZ.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccelerationPolarWithZ_H_ +#define _Vanetza_ITS2_AccelerationPolarWithZ_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "AccelerationMagnitude.h" +#include "CartesianAngle.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_AccelerationComponent; + +/* Vanetza_ITS2_AccelerationPolarWithZ */ +typedef struct Vanetza_ITS2_AccelerationPolarWithZ { + Vanetza_ITS2_AccelerationMagnitude_t accelerationMagnitude; + Vanetza_ITS2_CartesianAngle_t accelerationDirection; + struct Vanetza_ITS2_AccelerationComponent *zAcceleration; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_AccelerationPolarWithZ_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationPolarWithZ; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_AccelerationPolarWithZ_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AccelerationPolarWithZ_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "AccelerationComponent.h" + +#endif /* _Vanetza_ITS2_AccelerationPolarWithZ_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccelerationValue.c b/vanetza/asn1/its/r2/AccelerationValue.c new file mode 100644 index 000000000..5f4675474 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccelerationValue.h" + +int +Vanetza_ITS2_AccelerationValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -160L && value <= 161L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccelerationValue_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-160..161) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccelerationValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, -160, 161 } /* (-160..161) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccelerationValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationValue = { + "AccelerationValue", + "AccelerationValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AccelerationValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccelerationValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccelerationValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccelerationValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccelerationValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AccelerationValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AccelerationValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AccelerationValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AccelerationValue.h b/vanetza/asn1/its/r2/AccelerationValue.h new file mode 100644 index 000000000..ef2887346 --- /dev/null +++ b/vanetza/asn1/its/r2/AccelerationValue.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccelerationValue_H_ +#define _Vanetza_ITS2_AccelerationValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AccelerationValue { + Vanetza_ITS2_AccelerationValue_negativeOutOfRange = -160, + Vanetza_ITS2_AccelerationValue_positiveOutOfRange = 160, + Vanetza_ITS2_AccelerationValue_unavailable = 161 +} e_Vanetza_ITS2_AccelerationValue; + +/* Vanetza_ITS2_AccelerationValue */ +typedef long Vanetza_ITS2_AccelerationValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccelerationValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationValue; +asn_struct_free_f Vanetza_ITS2_AccelerationValue_free; +asn_struct_print_f Vanetza_ITS2_AccelerationValue_print; +asn_constr_check_f Vanetza_ITS2_AccelerationValue_constraint; +ber_type_decoder_f Vanetza_ITS2_AccelerationValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_AccelerationValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_AccelerationValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AccelerationValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AccelerationValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AccelerationValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AccelerationValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_AccelerationValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_AccelerationValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_AccelerationValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_AccelerationValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AccelerationValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccessTechnologyClass.c b/vanetza/asn1/its/r2/AccessTechnologyClass.c new file mode 100644 index 000000000..86d10d779 --- /dev/null +++ b/vanetza/asn1/its/r2/AccessTechnologyClass.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccessTechnologyClass.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_Vanetza_ITS2_AccessTechnologyClass_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_Vanetza_ITS2_AccessTechnologyClass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_AccessTechnologyClass_value2enum_1[] = { + { 0, 3, "any" }, + { 1, 10, "itsg5Class" }, + { 2, 11, "ltev2xClass" }, + { 3, 10, "nrv2xClass" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Vanetza_ITS2_AccessTechnologyClass_enum2value_1[] = { + 0, /* any(0) */ + 1, /* itsg5Class(1) */ + 2, /* ltev2xClass(2) */ + 3 /* nrv2xClass(3) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_AccessTechnologyClass_specs_1 = { + asn_MAP_Vanetza_ITS2_AccessTechnologyClass_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_AccessTechnologyClass_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccessTechnologyClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccessTechnologyClass = { + "AccessTechnologyClass", + "AccessTechnologyClass", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_AccessTechnologyClass_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccessTechnologyClass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccessTechnologyClass_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccessTechnologyClass_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccessTechnologyClass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccessTechnologyClass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AccessTechnologyClass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AccessTechnologyClass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_AccessTechnologyClass_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AccessTechnologyClass.h b/vanetza/asn1/its/r2/AccessTechnologyClass.h new file mode 100644 index 000000000..5672543c5 --- /dev/null +++ b/vanetza/asn1/its/r2/AccessTechnologyClass.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccessTechnologyClass_H_ +#define _Vanetza_ITS2_AccessTechnologyClass_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AccessTechnologyClass { + Vanetza_ITS2_AccessTechnologyClass_any = 0, + Vanetza_ITS2_AccessTechnologyClass_itsg5Class = 1, + Vanetza_ITS2_AccessTechnologyClass_ltev2xClass = 2, + Vanetza_ITS2_AccessTechnologyClass_nrv2xClass = 3 + /* + * Enumeration is extensible + */ +} e_Vanetza_ITS2_AccessTechnologyClass; + +/* Vanetza_ITS2_AccessTechnologyClass */ +typedef long Vanetza_ITS2_AccessTechnologyClass_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccessTechnologyClass_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccessTechnologyClass; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_AccessTechnologyClass_specs_1; +asn_struct_free_f Vanetza_ITS2_AccessTechnologyClass_free; +asn_struct_print_f Vanetza_ITS2_AccessTechnologyClass_print; +asn_constr_check_f Vanetza_ITS2_AccessTechnologyClass_constraint; +ber_type_decoder_f Vanetza_ITS2_AccessTechnologyClass_decode_ber; +der_type_encoder_f Vanetza_ITS2_AccessTechnologyClass_encode_der; +xer_type_decoder_f Vanetza_ITS2_AccessTechnologyClass_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AccessTechnologyClass_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AccessTechnologyClass_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AccessTechnologyClass_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AccessTechnologyClass_encode_oer; +per_type_decoder_f Vanetza_ITS2_AccessTechnologyClass_decode_uper; +per_type_encoder_f Vanetza_ITS2_AccessTechnologyClass_encode_uper; +per_type_decoder_f Vanetza_ITS2_AccessTechnologyClass_decode_aper; +per_type_encoder_f Vanetza_ITS2_AccessTechnologyClass_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AccessTechnologyClass_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AccidentSubCauseCode.c b/vanetza/asn1/its/r2/AccidentSubCauseCode.c new file mode 100644 index 000000000..6e1c37885 --- /dev/null +++ b/vanetza/asn1/its/r2/AccidentSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AccidentSubCauseCode.h" + +int +Vanetza_ITS2_AccidentSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccidentSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccidentSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccidentSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccidentSubCauseCode = { + "AccidentSubCauseCode", + "AccidentSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AccidentSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AccidentSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccidentSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AccidentSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AccidentSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AccidentSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AccidentSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AccidentSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AccidentSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AccidentSubCauseCode.h b/vanetza/asn1/its/r2/AccidentSubCauseCode.h new file mode 100644 index 000000000..a5bd8ae14 --- /dev/null +++ b/vanetza/asn1/its/r2/AccidentSubCauseCode.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AccidentSubCauseCode_H_ +#define _Vanetza_ITS2_AccidentSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AccidentSubCauseCode { + Vanetza_ITS2_AccidentSubCauseCode_unavailable = 0, + Vanetza_ITS2_AccidentSubCauseCode_multiVehicleAccident = 1, + Vanetza_ITS2_AccidentSubCauseCode_heavyAccident = 2, + Vanetza_ITS2_AccidentSubCauseCode_accidentInvolvingLorry = 3, + Vanetza_ITS2_AccidentSubCauseCode_accidentInvolvingBus = 4, + Vanetza_ITS2_AccidentSubCauseCode_accidentInvolvingHazardousMaterials = 5, + Vanetza_ITS2_AccidentSubCauseCode_accidentOnOppositeLane = 6, + Vanetza_ITS2_AccidentSubCauseCode_unsecuredAccident = 7, + Vanetza_ITS2_AccidentSubCauseCode_assistanceRequested = 8 +} e_Vanetza_ITS2_AccidentSubCauseCode; + +/* Vanetza_ITS2_AccidentSubCauseCode */ +typedef long Vanetza_ITS2_AccidentSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccidentSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccidentSubCauseCode; +asn_struct_free_f Vanetza_ITS2_AccidentSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_AccidentSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_AccidentSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_AccidentSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_AccidentSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_AccidentSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AccidentSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AccidentSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AccidentSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AccidentSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_AccidentSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_AccidentSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_AccidentSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_AccidentSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AccidentSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ActionID.c b/vanetza/asn1/its/r2/ActionID.c new file mode 100644 index 000000000..51b7a914b --- /dev/null +++ b/vanetza/asn1/its/r2/ActionID.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ActionID.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ActionID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ActionID, originatingStationId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StationID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "originatingStationId" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ActionID, sequenceNumber), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SequenceNumber, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sequenceNumber" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ActionID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ActionID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* originatingStationId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sequenceNumber */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ActionID_specs_1 = { + sizeof(struct Vanetza_ITS2_ActionID), + offsetof(struct Vanetza_ITS2_ActionID, _asn_ctx), + asn_MAP_Vanetza_ITS2_ActionID_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_Vanetza_ITS2_ActionID = { + "ActionID", + "ActionID", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ActionID_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ActionID_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ActionID_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ActionID_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ActionID_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ActionID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ActionID_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ActionID_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ActionID.h b/vanetza/asn1/its/r2/ActionID.h new file mode 100644 index 000000000..26ba05483 --- /dev/null +++ b/vanetza/asn1/its/r2/ActionID.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ActionID_H_ +#define _Vanetza_ITS2_ActionID_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StationID.h" +#include "SequenceNumber.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ActionID */ +typedef struct Vanetza_ITS2_ActionID { + Vanetza_ITS2_StationID_t originatingStationId; + Vanetza_ITS2_SequenceNumber_t sequenceNumber; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ActionID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ActionID; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ActionID_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ActionId.c b/vanetza/asn1/its/r2/ActionId.c new file mode 100644 index 000000000..04d5d4885 --- /dev/null +++ b/vanetza/asn1/its/r2/ActionId.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ActionId.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ActionId_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ActionId, originatingStationId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StationId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "originatingStationId" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ActionId, sequenceNumber), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SequenceNumber, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sequenceNumber" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ActionId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ActionId_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* originatingStationId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sequenceNumber */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ActionId_specs_1 = { + sizeof(struct Vanetza_ITS2_ActionId), + offsetof(struct Vanetza_ITS2_ActionId, _asn_ctx), + asn_MAP_Vanetza_ITS2_ActionId_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_Vanetza_ITS2_ActionId = { + "ActionId", + "ActionId", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ActionId_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ActionId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ActionId_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ActionId_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ActionId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ActionId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ActionId_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ActionId_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ActionId.h b/vanetza/asn1/its/r2/ActionId.h new file mode 100644 index 000000000..a6816f330 --- /dev/null +++ b/vanetza/asn1/its/r2/ActionId.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ActionId_H_ +#define _Vanetza_ITS2_ActionId_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StationId.h" +#include "SequenceNumber.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ActionId */ +typedef struct Vanetza_ITS2_ActionId { + Vanetza_ITS2_StationId_t originatingStationId; + Vanetza_ITS2_SequenceNumber_t sequenceNumber; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ActionId_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ActionId; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ActionId_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ActionId_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ActionId_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ActionIdList.c b/vanetza/asn1/its/r2/ActionIdList.c new file mode 100644 index 000000000..674b09306 --- /dev/null +++ b/vanetza/asn1/its/r2/ActionIdList.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ActionIdList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ActionIdList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ActionIdList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ActionIdList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_ActionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ActionIdList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_ActionIdList_specs_1 = { + sizeof(struct Vanetza_ITS2_ActionIdList), + offsetof(struct Vanetza_ITS2_ActionIdList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ActionIdList = { + "ActionIdList", + "ActionIdList", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_ActionIdList_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ActionIdList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ActionIdList_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ActionIdList_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ActionIdList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ActionIdList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ActionIdList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ActionIdList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_ActionIdList_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_ActionIdList_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ActionIdList.h b/vanetza/asn1/its/r2/ActionIdList.h new file mode 100644 index 000000000..23f6d38ce --- /dev/null +++ b/vanetza/asn1/its/r2/ActionIdList.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ActionIdList_H_ +#define _Vanetza_ITS2_ActionIdList_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 Vanetza_ITS2_ActionId; + +/* Vanetza_ITS2_ActionIdList */ +typedef struct Vanetza_ITS2_ActionIdList { + A_SEQUENCE_OF(struct Vanetza_ITS2_ActionId) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ActionIdList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ActionIdList; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_ActionIdList_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ActionIdList_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ActionIdList_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "ActionId.h" + +#endif /* _Vanetza_ITS2_ActionIdList_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AdverseWeatherCondition-AdhesionSubCauseCode.c b/vanetza/asn1/its/r2/AdverseWeatherCondition-AdhesionSubCauseCode.c new file mode 100644 index 000000000..683eccfb7 --- /dev/null +++ b/vanetza/asn1/its/r2/AdverseWeatherCondition-AdhesionSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AdverseWeatherCondition-AdhesionSubCauseCode.h" + +int +Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode = { + "AdverseWeatherCondition-AdhesionSubCauseCode", + "AdverseWeatherCondition-AdhesionSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AdverseWeatherCondition-AdhesionSubCauseCode.h b/vanetza/asn1/its/r2/AdverseWeatherCondition-AdhesionSubCauseCode.h new file mode 100644 index 000000000..52f4c8a00 --- /dev/null +++ b/vanetza/asn1/its/r2/AdverseWeatherCondition-AdhesionSubCauseCode.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_H_ +#define _Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode { + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_unavailable = 0, + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_heavyFrostOnRoad = 1, + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_fuelOnRoad = 2, + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_mudOnRoad = 3, + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_snowOnRoad = 4, + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_iceOnRoad = 5, + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_blackIceOnRoad = 6, + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_oilOnRoad = 7, + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_looseChippings = 8, + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_instantBlackIce = 9, + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_roadsSalted = 10 +} e_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode; + +/* Vanetza_ITS2_AdverseWeatherCondition-AdhesionSubCauseCode */ +typedef long Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode; +asn_struct_free_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.c b/vanetza/asn1/its/r2/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.c new file mode 100644 index 000000000..bc180a6e3 --- /dev/null +++ b/vanetza/asn1/its/r2/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.h" + +int +Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode = { + "AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode", + "AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.h b/vanetza/asn1/its/r2/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.h new file mode 100644 index 000000000..619213f89 --- /dev/null +++ b/vanetza/asn1/its/r2/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_H_ +#define _Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode { + Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_unavailable = 0, + Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_strongWinds = 1, + Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_damagingHail = 2, + Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_hurricane = 3, + Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_thunderstorm = 4, + Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tornado = 5, + Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_blizzard = 6 +} e_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode; + +/* Vanetza_ITS2_AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode */ +typedef long Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode; +asn_struct_free_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AdverseWeatherCondition-PrecipitationSubCauseCode.c b/vanetza/asn1/its/r2/AdverseWeatherCondition-PrecipitationSubCauseCode.c new file mode 100644 index 000000000..440883f99 --- /dev/null +++ b/vanetza/asn1/its/r2/AdverseWeatherCondition-PrecipitationSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AdverseWeatherCondition-PrecipitationSubCauseCode.h" + +int +Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode = { + "AdverseWeatherCondition-PrecipitationSubCauseCode", + "AdverseWeatherCondition-PrecipitationSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AdverseWeatherCondition-PrecipitationSubCauseCode.h b/vanetza/asn1/its/r2/AdverseWeatherCondition-PrecipitationSubCauseCode.h new file mode 100644 index 000000000..2ff0c242b --- /dev/null +++ b/vanetza/asn1/its/r2/AdverseWeatherCondition-PrecipitationSubCauseCode.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_H_ +#define _Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode { + Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_unavailable = 0, + Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_heavyRain = 1, + Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_heavySnowfall = 2, + Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_softHail = 3 +} e_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode; + +/* Vanetza_ITS2_AdverseWeatherCondition-PrecipitationSubCauseCode */ +typedef long Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode; +asn_struct_free_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AdverseWeatherCondition-VisibilitySubCauseCode.c b/vanetza/asn1/its/r2/AdverseWeatherCondition-VisibilitySubCauseCode.c new file mode 100644 index 000000000..0d734917d --- /dev/null +++ b/vanetza/asn1/its/r2/AdverseWeatherCondition-VisibilitySubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AdverseWeatherCondition-VisibilitySubCauseCode.h" + +int +Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode = { + "AdverseWeatherCondition-VisibilitySubCauseCode", + "AdverseWeatherCondition-VisibilitySubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AdverseWeatherCondition-VisibilitySubCauseCode.h b/vanetza/asn1/its/r2/AdverseWeatherCondition-VisibilitySubCauseCode.h new file mode 100644 index 000000000..0b6104623 --- /dev/null +++ b/vanetza/asn1/its/r2/AdverseWeatherCondition-VisibilitySubCauseCode.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_H_ +#define _Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode { + Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_unavailable = 0, + Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_fog = 1, + Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_smoke = 2, + Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_heavySnowfall = 3, + Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_heavyRain = 4, + Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_heavyHail = 5, + Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_lowSunGlare = 6, + Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_sandstorms = 7, + Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_swarmsOfInsects = 8 +} e_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode; + +/* Vanetza_ITS2_AdverseWeatherCondition-VisibilitySubCauseCode */ +typedef long Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode; +asn_struct_free_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AirHumidity.c b/vanetza/asn1/its/r2/AirHumidity.c new file mode 100644 index 000000000..19ff0ee5d --- /dev/null +++ b/vanetza/asn1/its/r2/AirHumidity.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AirHumidity.h" + +int +Vanetza_ITS2_AirHumidity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AirHumidity_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..1001) */, + -1}; +#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_Vanetza_ITS2_AirHumidity_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1001 } /* (1..1001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AirHumidity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AirHumidity = { + "AirHumidity", + "AirHumidity", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AirHumidity_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AirHumidity_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AirHumidity_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AirHumidity_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AirHumidity_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AirHumidity_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AirHumidity_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AirHumidity_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AirHumidity_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AirHumidity.h b/vanetza/asn1/its/r2/AirHumidity.h new file mode 100644 index 000000000..a790917c9 --- /dev/null +++ b/vanetza/asn1/its/r2/AirHumidity.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AirHumidity_H_ +#define _Vanetza_ITS2_AirHumidity_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AirHumidity { + Vanetza_ITS2_AirHumidity_oneHundredPercent = 1000, + Vanetza_ITS2_AirHumidity_unavailable = 1001 +} e_Vanetza_ITS2_AirHumidity; + +/* Vanetza_ITS2_AirHumidity */ +typedef long Vanetza_ITS2_AirHumidity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AirHumidity; +asn_struct_free_f Vanetza_ITS2_AirHumidity_free; +asn_struct_print_f Vanetza_ITS2_AirHumidity_print; +asn_constr_check_f Vanetza_ITS2_AirHumidity_constraint; +ber_type_decoder_f Vanetza_ITS2_AirHumidity_decode_ber; +der_type_encoder_f Vanetza_ITS2_AirHumidity_encode_der; +xer_type_decoder_f Vanetza_ITS2_AirHumidity_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AirHumidity_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AirHumidity_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AirHumidity_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AirHumidity_encode_oer; +per_type_decoder_f Vanetza_ITS2_AirHumidity_decode_uper; +per_type_encoder_f Vanetza_ITS2_AirHumidity_encode_uper; +per_type_decoder_f Vanetza_ITS2_AirHumidity_decode_aper; +per_type_encoder_f Vanetza_ITS2_AirHumidity_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AirHumidity_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AlacarteContainer.c b/vanetza/asn1/its/r2/AlacarteContainer.c new file mode 100644 index 000000000..5b7f6dc32 --- /dev/null +++ b/vanetza/asn1/its/r2/AlacarteContainer.c @@ -0,0 +1,288 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AlacarteContainer.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ext1_9[] = { + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_AlacarteContainer__ext1, roadConfiguration), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RoadConfigurationContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadConfiguration" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_AlacarteContainer__ext1, preCrash), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PreCrashContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "preCrash" + }, +}; +static const int asn_MAP_Vanetza_ITS2_ext1_oms_9[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ext1_tags_9[] = { + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ext1_tag2el_9[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roadConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* preCrash */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ext1_specs_9 = { + sizeof(struct Vanetza_ITS2_AlacarteContainer__ext1), + offsetof(struct Vanetza_ITS2_AlacarteContainer__ext1, _asn_ctx), + asn_MAP_Vanetza_ITS2_ext1_tag2el_9, + 2, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_ext1_oms_9, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ext1_9 = { + "ext1", + "ext1", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ext1_tags_9, + sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_9) + /sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_9[0]) - 1, /* 1 */ + asn_DEF_Vanetza_ITS2_ext1_tags_9, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_9) + /sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_9[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ext1_9, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ext1_specs_9 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AlacarteContainer_1[] = { + { ATF_POINTER, 7, offsetof(struct Vanetza_ITS2_AlacarteContainer, lanePosition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lanePosition" + }, + { ATF_POINTER, 6, offsetof(struct Vanetza_ITS2_AlacarteContainer, impactReduction), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ImpactReductionContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "impactReduction" + }, + { ATF_POINTER, 5, offsetof(struct Vanetza_ITS2_AlacarteContainer, externalTemperature), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Temperature, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "externalTemperature" + }, + { ATF_POINTER, 4, offsetof(struct Vanetza_ITS2_AlacarteContainer, roadWorks), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RoadWorksContainerExtended, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadWorks" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_AlacarteContainer, positioningSolution), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PositioningSolutionType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "positioningSolution" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_AlacarteContainer, stationaryVehicle), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StationaryVehicleContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stationaryVehicle" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_AlacarteContainer, ext1), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_ext1_9, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ext1" + }, +}; +static const int asn_MAP_Vanetza_ITS2_AlacarteContainer_oms_1[] = { 0, 1, 2, 3, 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AlacarteContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_AlacarteContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lanePosition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* impactReduction */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* externalTemperature */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* roadWorks */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* positioningSolution */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* stationaryVehicle */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* ext1 */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_AlacarteContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_AlacarteContainer), + offsetof(struct Vanetza_ITS2_AlacarteContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_AlacarteContainer_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_AlacarteContainer_oms_1, /* Optional members */ + 6, 1, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AlacarteContainer = { + "AlacarteContainer", + "AlacarteContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_AlacarteContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AlacarteContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AlacarteContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AlacarteContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AlacarteContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AlacarteContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_AlacarteContainer_1, + 7, /* Elements count */ + &asn_SPC_Vanetza_ITS2_AlacarteContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AlacarteContainer.h b/vanetza/asn1/its/r2/AlacarteContainer.h new file mode 100644 index 000000000..3e4ed7cda --- /dev/null +++ b/vanetza/asn1/its/r2/AlacarteContainer.h @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AlacarteContainer_H_ +#define _Vanetza_ITS2_AlacarteContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LanePosition.h" +#include "Temperature.h" +#include "PositioningSolutionType.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_ImpactReductionContainer; +struct Vanetza_ITS2_RoadWorksContainerExtended; +struct Vanetza_ITS2_StationaryVehicleContainer; +struct Vanetza_ITS2_RoadConfigurationContainer; +struct Vanetza_ITS2_PreCrashContainer; + +/* Vanetza_ITS2_AlacarteContainer */ +typedef struct Vanetza_ITS2_AlacarteContainer { + Vanetza_ITS2_LanePosition_t *lanePosition; /* OPTIONAL */ + struct Vanetza_ITS2_ImpactReductionContainer *impactReduction; /* OPTIONAL */ + Vanetza_ITS2_Temperature_t *externalTemperature; /* OPTIONAL */ + struct Vanetza_ITS2_RoadWorksContainerExtended *roadWorks; /* OPTIONAL */ + Vanetza_ITS2_PositioningSolutionType_t *positioningSolution; /* OPTIONAL */ + struct Vanetza_ITS2_StationaryVehicleContainer *stationaryVehicle; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + struct Vanetza_ITS2_AlacarteContainer__ext1 { + struct Vanetza_ITS2_RoadConfigurationContainer *roadConfiguration; /* OPTIONAL */ + struct Vanetza_ITS2_PreCrashContainer *preCrash; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *ext1; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_AlacarteContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AlacarteContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_AlacarteContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AlacarteContainer_1[7]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "ImpactReductionContainer.h" +#include "RoadWorksContainerExtended.h" +#include "StationaryVehicleContainer.h" +#include "RoadConfigurationContainer.h" +#include "PreCrashContainer.h" + +#endif /* _Vanetza_ITS2_AlacarteContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Altitude.c b/vanetza/asn1/its/r2/Altitude.c new file mode 100644 index 000000000..c483ba91d --- /dev/null +++ b/vanetza/asn1/its/r2/Altitude.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Altitude.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Altitude_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Altitude, altitudeValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "altitudeValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Altitude, altitudeConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "altitudeConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Altitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_Altitude_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* altitudeValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* altitudeConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_Altitude_specs_1 = { + sizeof(struct Vanetza_ITS2_Altitude), + offsetof(struct Vanetza_ITS2_Altitude, _asn_ctx), + asn_MAP_Vanetza_ITS2_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_Vanetza_ITS2_Altitude = { + "Altitude", + "Altitude", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_Altitude_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Altitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Altitude_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Altitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Altitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_Altitude_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_Altitude_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Altitude.h b/vanetza/asn1/its/r2/Altitude.h new file mode 100644 index 000000000..ba4f13ed2 --- /dev/null +++ b/vanetza/asn1/its/r2/Altitude.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Altitude_H_ +#define _Vanetza_ITS2_Altitude_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "AltitudeValue.h" +#include "AltitudeConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_Altitude */ +typedef struct Vanetza_ITS2_Altitude { + Vanetza_ITS2_AltitudeValue_t altitudeValue; + Vanetza_ITS2_AltitudeConfidence_t altitudeConfidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Altitude_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Altitude; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_Altitude_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Altitude_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Altitude_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AltitudeConfidence.c b/vanetza/asn1/its/r2/AltitudeConfidence.c new file mode 100644 index 000000000..ffab429b6 --- /dev/null +++ b/vanetza/asn1/its/r2/AltitudeConfidence.c @@ -0,0 +1,99 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AltitudeConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AltitudeConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AltitudeConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_AltitudeConfidence_value2enum_1[] = { + { 0, 10, "alt-000-01" }, + { 1, 10, "alt-000-02" }, + { 2, 10, "alt-000-05" }, + { 3, 10, "alt-000-10" }, + { 4, 10, "alt-000-20" }, + { 5, 10, "alt-000-50" }, + { 6, 10, "alt-001-00" }, + { 7, 10, "alt-002-00" }, + { 8, 10, "alt-005-00" }, + { 9, 10, "alt-010-00" }, + { 10, 10, "alt-020-00" }, + { 11, 10, "alt-050-00" }, + { 12, 10, "alt-100-00" }, + { 13, 10, "alt-200-00" }, + { 14, 10, "outOfRange" }, + { 15, 11, "unavailable" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_AltitudeConfidence_enum2value_1[] = { + 0, /* alt-000-01(0) */ + 1, /* alt-000-02(1) */ + 2, /* alt-000-05(2) */ + 3, /* alt-000-10(3) */ + 4, /* alt-000-20(4) */ + 5, /* alt-000-50(5) */ + 6, /* alt-001-00(6) */ + 7, /* alt-002-00(7) */ + 8, /* alt-005-00(8) */ + 9, /* alt-010-00(9) */ + 10, /* alt-020-00(10) */ + 11, /* alt-050-00(11) */ + 12, /* alt-100-00(12) */ + 13, /* alt-200-00(13) */ + 14, /* outOfRange(14) */ + 15 /* unavailable(15) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_AltitudeConfidence_specs_1 = { + asn_MAP_Vanetza_ITS2_AltitudeConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_AltitudeConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AltitudeConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AltitudeConfidence = { + "AltitudeConfidence", + "AltitudeConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_AltitudeConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AltitudeConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AltitudeConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AltitudeConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AltitudeConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AltitudeConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AltitudeConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AltitudeConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_AltitudeConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AltitudeConfidence.h b/vanetza/asn1/its/r2/AltitudeConfidence.h new file mode 100644 index 000000000..b108db5c8 --- /dev/null +++ b/vanetza/asn1/its/r2/AltitudeConfidence.h @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AltitudeConfidence_H_ +#define _Vanetza_ITS2_AltitudeConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AltitudeConfidence { + Vanetza_ITS2_AltitudeConfidence_alt_000_01 = 0, + Vanetza_ITS2_AltitudeConfidence_alt_000_02 = 1, + Vanetza_ITS2_AltitudeConfidence_alt_000_05 = 2, + Vanetza_ITS2_AltitudeConfidence_alt_000_10 = 3, + Vanetza_ITS2_AltitudeConfidence_alt_000_20 = 4, + Vanetza_ITS2_AltitudeConfidence_alt_000_50 = 5, + Vanetza_ITS2_AltitudeConfidence_alt_001_00 = 6, + Vanetza_ITS2_AltitudeConfidence_alt_002_00 = 7, + Vanetza_ITS2_AltitudeConfidence_alt_005_00 = 8, + Vanetza_ITS2_AltitudeConfidence_alt_010_00 = 9, + Vanetza_ITS2_AltitudeConfidence_alt_020_00 = 10, + Vanetza_ITS2_AltitudeConfidence_alt_050_00 = 11, + Vanetza_ITS2_AltitudeConfidence_alt_100_00 = 12, + Vanetza_ITS2_AltitudeConfidence_alt_200_00 = 13, + Vanetza_ITS2_AltitudeConfidence_outOfRange = 14, + Vanetza_ITS2_AltitudeConfidence_unavailable = 15 +} e_Vanetza_ITS2_AltitudeConfidence; + +/* Vanetza_ITS2_AltitudeConfidence */ +typedef long Vanetza_ITS2_AltitudeConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AltitudeConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AltitudeConfidence; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_AltitudeConfidence_specs_1; +asn_struct_free_f Vanetza_ITS2_AltitudeConfidence_free; +asn_struct_print_f Vanetza_ITS2_AltitudeConfidence_print; +asn_constr_check_f Vanetza_ITS2_AltitudeConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_AltitudeConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_AltitudeConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_AltitudeConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AltitudeConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AltitudeConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AltitudeConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AltitudeConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_AltitudeConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_AltitudeConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_AltitudeConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_AltitudeConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AltitudeConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AltitudeValue.c b/vanetza/asn1/its/r2/AltitudeValue.c new file mode 100644 index 000000000..daf88360a --- /dev/null +++ b/vanetza/asn1/its/r2/AltitudeValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AltitudeValue.h" + +int +Vanetza_ITS2_AltitudeValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -100000L && value <= 800001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AltitudeValue_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-100000..800001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AltitudeValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 20, -1, -100000, 800001 } /* (-100000..800001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AltitudeValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AltitudeValue = { + "AltitudeValue", + "AltitudeValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AltitudeValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AltitudeValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AltitudeValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AltitudeValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AltitudeValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AltitudeValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AltitudeValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AltitudeValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AltitudeValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AltitudeValue.h b/vanetza/asn1/its/r2/AltitudeValue.h new file mode 100644 index 000000000..d096ad56e --- /dev/null +++ b/vanetza/asn1/its/r2/AltitudeValue.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AltitudeValue_H_ +#define _Vanetza_ITS2_AltitudeValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AltitudeValue { + Vanetza_ITS2_AltitudeValue_negativeOutOfRange = -100000, + Vanetza_ITS2_AltitudeValue_postiveOutOfRange = 800000, + Vanetza_ITS2_AltitudeValue_unavailable = 800001 +} e_Vanetza_ITS2_AltitudeValue; + +/* Vanetza_ITS2_AltitudeValue */ +typedef long Vanetza_ITS2_AltitudeValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AltitudeValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AltitudeValue; +asn_struct_free_f Vanetza_ITS2_AltitudeValue_free; +asn_struct_print_f Vanetza_ITS2_AltitudeValue_print; +asn_constr_check_f Vanetza_ITS2_AltitudeValue_constraint; +ber_type_decoder_f Vanetza_ITS2_AltitudeValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_AltitudeValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_AltitudeValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AltitudeValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AltitudeValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AltitudeValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AltitudeValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_AltitudeValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_AltitudeValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_AltitudeValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_AltitudeValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AltitudeValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AngleConfidence.c b/vanetza/asn1/its/r2/AngleConfidence.c new file mode 100644 index 000000000..192e61642 --- /dev/null +++ b/vanetza/asn1/its/r2/AngleConfidence.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AngleConfidence.h" + +int +Vanetza_ITS2_AngleConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AngleConfidence_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AngleConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 127 } /* (1..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AngleConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AngleConfidence = { + "AngleConfidence", + "AngleConfidence", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AngleConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AngleConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AngleConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AngleConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AngleConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AngleConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AngleConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AngleConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AngleConfidence_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AngleConfidence.h b/vanetza/asn1/its/r2/AngleConfidence.h new file mode 100644 index 000000000..c0424116e --- /dev/null +++ b/vanetza/asn1/its/r2/AngleConfidence.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AngleConfidence_H_ +#define _Vanetza_ITS2_AngleConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AngleConfidence { + Vanetza_ITS2_AngleConfidence_outOfRange = 126, + Vanetza_ITS2_AngleConfidence_unavailable = 127 +} e_Vanetza_ITS2_AngleConfidence; + +/* Vanetza_ITS2_AngleConfidence */ +typedef long Vanetza_ITS2_AngleConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AngleConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AngleConfidence; +asn_struct_free_f Vanetza_ITS2_AngleConfidence_free; +asn_struct_print_f Vanetza_ITS2_AngleConfidence_print; +asn_constr_check_f Vanetza_ITS2_AngleConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_AngleConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_AngleConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_AngleConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AngleConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AngleConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AngleConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AngleConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_AngleConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_AngleConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_AngleConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_AngleConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AngleConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AngularAccelerationConfidence.c b/vanetza/asn1/its/r2/AngularAccelerationConfidence.c new file mode 100644 index 000000000..cd324ccc5 --- /dev/null +++ b/vanetza/asn1/its/r2/AngularAccelerationConfidence.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AngularAccelerationConfidence.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_Vanetza_ITS2_AngularAccelerationConfidence_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_Vanetza_ITS2_AngularAccelerationConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_AngularAccelerationConfidence_value2enum_1[] = { + { 0, 16, "degSecSquared-01" }, + { 1, 16, "degSecSquared-02" }, + { 2, 16, "degSecSquared-05" }, + { 3, 16, "degSecSquared-10" }, + { 4, 16, "degSecSquared-20" }, + { 5, 16, "degSecSquared-50" }, + { 6, 10, "outOfRange" }, + { 7, 11, "unavailable" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_AngularAccelerationConfidence_enum2value_1[] = { + 0, /* degSecSquared-01(0) */ + 1, /* degSecSquared-02(1) */ + 2, /* degSecSquared-05(2) */ + 3, /* degSecSquared-10(3) */ + 4, /* degSecSquared-20(4) */ + 5, /* degSecSquared-50(5) */ + 6, /* outOfRange(6) */ + 7 /* unavailable(7) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_AngularAccelerationConfidence_specs_1 = { + asn_MAP_Vanetza_ITS2_AngularAccelerationConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_AngularAccelerationConfidence_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_Vanetza_ITS2_AngularAccelerationConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AngularAccelerationConfidence = { + "AngularAccelerationConfidence", + "AngularAccelerationConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_AngularAccelerationConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AngularAccelerationConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AngularAccelerationConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AngularAccelerationConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AngularAccelerationConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AngularAccelerationConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AngularAccelerationConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AngularAccelerationConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_AngularAccelerationConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AngularAccelerationConfidence.h b/vanetza/asn1/its/r2/AngularAccelerationConfidence.h new file mode 100644 index 000000000..1114f654b --- /dev/null +++ b/vanetza/asn1/its/r2/AngularAccelerationConfidence.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AngularAccelerationConfidence_H_ +#define _Vanetza_ITS2_AngularAccelerationConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AngularAccelerationConfidence { + Vanetza_ITS2_AngularAccelerationConfidence_degSecSquared_01 = 0, + Vanetza_ITS2_AngularAccelerationConfidence_degSecSquared_02 = 1, + Vanetza_ITS2_AngularAccelerationConfidence_degSecSquared_05 = 2, + Vanetza_ITS2_AngularAccelerationConfidence_degSecSquared_10 = 3, + Vanetza_ITS2_AngularAccelerationConfidence_degSecSquared_20 = 4, + Vanetza_ITS2_AngularAccelerationConfidence_degSecSquared_50 = 5, + Vanetza_ITS2_AngularAccelerationConfidence_outOfRange = 6, + Vanetza_ITS2_AngularAccelerationConfidence_unavailable = 7 +} e_Vanetza_ITS2_AngularAccelerationConfidence; + +/* Vanetza_ITS2_AngularAccelerationConfidence */ +typedef long Vanetza_ITS2_AngularAccelerationConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AngularAccelerationConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AngularAccelerationConfidence; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_AngularAccelerationConfidence_specs_1; +asn_struct_free_f Vanetza_ITS2_AngularAccelerationConfidence_free; +asn_struct_print_f Vanetza_ITS2_AngularAccelerationConfidence_print; +asn_constr_check_f Vanetza_ITS2_AngularAccelerationConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_AngularAccelerationConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_AngularAccelerationConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_AngularAccelerationConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AngularAccelerationConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AngularAccelerationConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AngularAccelerationConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AngularAccelerationConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_AngularAccelerationConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_AngularAccelerationConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_AngularAccelerationConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_AngularAccelerationConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AngularAccelerationConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AngularSpeedConfidence.c b/vanetza/asn1/its/r2/AngularSpeedConfidence.c new file mode 100644 index 000000000..89272b496 --- /dev/null +++ b/vanetza/asn1/its/r2/AngularSpeedConfidence.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AngularSpeedConfidence.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_Vanetza_ITS2_AngularSpeedConfidence_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_Vanetza_ITS2_AngularSpeedConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_AngularSpeedConfidence_value2enum_1[] = { + { 0, 9, "degSec-01" }, + { 1, 9, "degSec-02" }, + { 2, 9, "degSec-05" }, + { 3, 9, "degSec-10" }, + { 4, 9, "degSec-20" }, + { 5, 9, "degSec-50" }, + { 6, 10, "outOfRange" }, + { 7, 11, "unavailable" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_AngularSpeedConfidence_enum2value_1[] = { + 0, /* degSec-01(0) */ + 1, /* degSec-02(1) */ + 2, /* degSec-05(2) */ + 3, /* degSec-10(3) */ + 4, /* degSec-20(4) */ + 5, /* degSec-50(5) */ + 6, /* outOfRange(6) */ + 7 /* unavailable(7) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_AngularSpeedConfidence_specs_1 = { + asn_MAP_Vanetza_ITS2_AngularSpeedConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_AngularSpeedConfidence_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_Vanetza_ITS2_AngularSpeedConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AngularSpeedConfidence = { + "AngularSpeedConfidence", + "AngularSpeedConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_AngularSpeedConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AngularSpeedConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AngularSpeedConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AngularSpeedConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AngularSpeedConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AngularSpeedConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AngularSpeedConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AngularSpeedConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_AngularSpeedConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/AngularSpeedConfidence.h b/vanetza/asn1/its/r2/AngularSpeedConfidence.h new file mode 100644 index 000000000..089967cff --- /dev/null +++ b/vanetza/asn1/its/r2/AngularSpeedConfidence.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AngularSpeedConfidence_H_ +#define _Vanetza_ITS2_AngularSpeedConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AngularSpeedConfidence { + Vanetza_ITS2_AngularSpeedConfidence_degSec_01 = 0, + Vanetza_ITS2_AngularSpeedConfidence_degSec_02 = 1, + Vanetza_ITS2_AngularSpeedConfidence_degSec_05 = 2, + Vanetza_ITS2_AngularSpeedConfidence_degSec_10 = 3, + Vanetza_ITS2_AngularSpeedConfidence_degSec_20 = 4, + Vanetza_ITS2_AngularSpeedConfidence_degSec_50 = 5, + Vanetza_ITS2_AngularSpeedConfidence_outOfRange = 6, + Vanetza_ITS2_AngularSpeedConfidence_unavailable = 7 +} e_Vanetza_ITS2_AngularSpeedConfidence; + +/* Vanetza_ITS2_AngularSpeedConfidence */ +typedef long Vanetza_ITS2_AngularSpeedConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AngularSpeedConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AngularSpeedConfidence; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_AngularSpeedConfidence_specs_1; +asn_struct_free_f Vanetza_ITS2_AngularSpeedConfidence_free; +asn_struct_print_f Vanetza_ITS2_AngularSpeedConfidence_print; +asn_constr_check_f Vanetza_ITS2_AngularSpeedConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_AngularSpeedConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_AngularSpeedConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_AngularSpeedConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AngularSpeedConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AngularSpeedConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AngularSpeedConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AngularSpeedConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_AngularSpeedConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_AngularSpeedConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_AngularSpeedConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_AngularSpeedConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AngularSpeedConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/AxlesCount.c b/vanetza/asn1/its/r2/AxlesCount.c new file mode 100644 index 000000000..03840edda --- /dev/null +++ b/vanetza/asn1/its/r2/AxlesCount.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "AxlesCount.h" + +int +Vanetza_ITS2_AxlesCount_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 2L && value <= 1002L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AxlesCount_constr_1 CC_NOTUSED = { + { 2, 1 } /* (2..1002) */, + -1}; +#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_Vanetza_ITS2_AxlesCount_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 2, 1002 } /* (2..1002) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AxlesCount_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AxlesCount = { + "AxlesCount", + "AxlesCount", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_AxlesCount_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_AxlesCount_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AxlesCount_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_AxlesCount_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_AxlesCount_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_AxlesCount_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_AxlesCount_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_AxlesCount_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_AxlesCount_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/AxlesCount.h b/vanetza/asn1/its/r2/AxlesCount.h new file mode 100644 index 000000000..48a0e554e --- /dev/null +++ b/vanetza/asn1/its/r2/AxlesCount.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_AxlesCount_H_ +#define _Vanetza_ITS2_AxlesCount_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_AxlesCount { + Vanetza_ITS2_AxlesCount_outOfRange = 1001, + Vanetza_ITS2_AxlesCount_unavailable = 1002 +} e_Vanetza_ITS2_AxlesCount; + +/* Vanetza_ITS2_AxlesCount */ +typedef long Vanetza_ITS2_AxlesCount_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AxlesCount; +asn_struct_free_f Vanetza_ITS2_AxlesCount_free; +asn_struct_print_f Vanetza_ITS2_AxlesCount_print; +asn_constr_check_f Vanetza_ITS2_AxlesCount_constraint; +ber_type_decoder_f Vanetza_ITS2_AxlesCount_decode_ber; +der_type_encoder_f Vanetza_ITS2_AxlesCount_encode_der; +xer_type_decoder_f Vanetza_ITS2_AxlesCount_decode_xer; +xer_type_encoder_f Vanetza_ITS2_AxlesCount_encode_xer; +jer_type_encoder_f Vanetza_ITS2_AxlesCount_encode_jer; +oer_type_decoder_f Vanetza_ITS2_AxlesCount_decode_oer; +oer_type_encoder_f Vanetza_ITS2_AxlesCount_encode_oer; +per_type_decoder_f Vanetza_ITS2_AxlesCount_decode_uper; +per_type_encoder_f Vanetza_ITS2_AxlesCount_encode_uper; +per_type_decoder_f Vanetza_ITS2_AxlesCount_decode_aper; +per_type_encoder_f Vanetza_ITS2_AxlesCount_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_AxlesCount_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/BarometricPressure.c b/vanetza/asn1/its/r2/BarometricPressure.c new file mode 100644 index 000000000..a6870a18a --- /dev/null +++ b/vanetza/asn1/its/r2/BarometricPressure.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "BarometricPressure.h" + +int +Vanetza_ITS2_BarometricPressure_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 2999L && value <= 12002L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_BarometricPressure_constr_1 CC_NOTUSED = { + { 2, 1 } /* (2999..12002) */, + -1}; +#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_Vanetza_ITS2_BarometricPressure_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 2999, 12002 } /* (2999..12002) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_BarometricPressure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BarometricPressure = { + "BarometricPressure", + "BarometricPressure", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_BarometricPressure_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_BarometricPressure_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BarometricPressure_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_BarometricPressure_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_BarometricPressure_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BarometricPressure_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_BarometricPressure_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_BarometricPressure_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_BarometricPressure_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/BarometricPressure.h b/vanetza/asn1/its/r2/BarometricPressure.h new file mode 100644 index 000000000..9f37cad4f --- /dev/null +++ b/vanetza/asn1/its/r2/BarometricPressure.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_BarometricPressure_H_ +#define _Vanetza_ITS2_BarometricPressure_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_BarometricPressure { + Vanetza_ITS2_BarometricPressure_outOfRangelower = 2999, + Vanetza_ITS2_BarometricPressure_outOfRangeUpper = 12001, + Vanetza_ITS2_BarometricPressure_unavailable = 12002 +} e_Vanetza_ITS2_BarometricPressure; + +/* Vanetza_ITS2_BarometricPressure */ +typedef long Vanetza_ITS2_BarometricPressure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BarometricPressure; +asn_struct_free_f Vanetza_ITS2_BarometricPressure_free; +asn_struct_print_f Vanetza_ITS2_BarometricPressure_print; +asn_constr_check_f Vanetza_ITS2_BarometricPressure_constraint; +ber_type_decoder_f Vanetza_ITS2_BarometricPressure_decode_ber; +der_type_encoder_f Vanetza_ITS2_BarometricPressure_encode_der; +xer_type_decoder_f Vanetza_ITS2_BarometricPressure_decode_xer; +xer_type_encoder_f Vanetza_ITS2_BarometricPressure_encode_xer; +jer_type_encoder_f Vanetza_ITS2_BarometricPressure_encode_jer; +oer_type_decoder_f Vanetza_ITS2_BarometricPressure_decode_oer; +oer_type_encoder_f Vanetza_ITS2_BarometricPressure_encode_oer; +per_type_decoder_f Vanetza_ITS2_BarometricPressure_decode_uper; +per_type_encoder_f Vanetza_ITS2_BarometricPressure_encode_uper; +per_type_decoder_f Vanetza_ITS2_BarometricPressure_decode_aper; +per_type_encoder_f Vanetza_ITS2_BarometricPressure_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_BarometricPressure_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/BasicContainer.c b/vanetza/asn1/its/r2/BasicContainer.c new file mode 100644 index 000000000..d661b8085 --- /dev/null +++ b/vanetza/asn1/its/r2/BasicContainer.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "BasicContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_BasicContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicContainer, stationType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TrafficParticipantType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stationType" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicContainer, referencePosition), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ReferencePositionWithConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "referencePosition" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_BasicContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_BasicContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* stationType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* referencePosition */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_BasicContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_BasicContainer), + offsetof(struct Vanetza_ITS2_BasicContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_BasicContainer_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BasicContainer = { + "BasicContainer", + "BasicContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_BasicContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_BasicContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BasicContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_BasicContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_BasicContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BasicContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_BasicContainer_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_BasicContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/BasicContainer.h b/vanetza/asn1/its/r2/BasicContainer.h new file mode 100644 index 000000000..97539fbc4 --- /dev/null +++ b/vanetza/asn1/its/r2/BasicContainer.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_BasicContainer_H_ +#define _Vanetza_ITS2_BasicContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "TrafficParticipantType.h" +#include "ReferencePositionWithConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_BasicContainer */ +typedef struct Vanetza_ITS2_BasicContainer { + Vanetza_ITS2_TrafficParticipantType_t stationType; + Vanetza_ITS2_ReferencePositionWithConfidence_t referencePosition; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_BasicContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BasicContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_BasicContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_BasicContainer_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_BasicContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/BasicLaneConfiguration.c b/vanetza/asn1/its/r2/BasicLaneConfiguration.c new file mode 100644 index 000000000..0501f8574 --- /dev/null +++ b/vanetza/asn1/its/r2/BasicLaneConfiguration.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "BasicLaneConfiguration.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_BasicLaneConfiguration_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_BasicLaneConfiguration_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 16 } /* (SIZE(1..16,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_BasicLaneConfiguration_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_BasicLaneInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_BasicLaneConfiguration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_BasicLaneConfiguration_specs_1 = { + sizeof(struct Vanetza_ITS2_BasicLaneConfiguration), + offsetof(struct Vanetza_ITS2_BasicLaneConfiguration, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BasicLaneConfiguration = { + "BasicLaneConfiguration", + "BasicLaneConfiguration", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_BasicLaneConfiguration_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_BasicLaneConfiguration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BasicLaneConfiguration_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_BasicLaneConfiguration_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_BasicLaneConfiguration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BasicLaneConfiguration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_BasicLaneConfiguration_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_BasicLaneConfiguration_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_BasicLaneConfiguration_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_BasicLaneConfiguration_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/BasicLaneConfiguration.h b/vanetza/asn1/its/r2/BasicLaneConfiguration.h new file mode 100644 index 000000000..0c186bea7 --- /dev/null +++ b/vanetza/asn1/its/r2/BasicLaneConfiguration.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_BasicLaneConfiguration_H_ +#define _Vanetza_ITS2_BasicLaneConfiguration_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 Vanetza_ITS2_BasicLaneInformation; + +/* Vanetza_ITS2_BasicLaneConfiguration */ +typedef struct Vanetza_ITS2_BasicLaneConfiguration { + A_SEQUENCE_OF(struct Vanetza_ITS2_BasicLaneInformation) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_BasicLaneConfiguration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BasicLaneConfiguration; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_BasicLaneConfiguration_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_BasicLaneConfiguration_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_BasicLaneConfiguration_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "BasicLaneInformation.h" + +#endif /* _Vanetza_ITS2_BasicLaneConfiguration_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/BasicLaneInformation.c b/vanetza/asn1/its/r2/BasicLaneInformation.c new file mode 100644 index 000000000..0e9675d8a --- /dev/null +++ b/vanetza/asn1/its/r2/BasicLaneInformation.c @@ -0,0 +1,170 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "BasicLaneInformation.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_BasicLaneInformation_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_Vanetza_ITS2_BasicLaneInformation_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_BasicLaneInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicLaneInformation, laneNumber), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneNumber" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicLaneInformation, direction), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Direction, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "direction" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_BasicLaneInformation, laneWidth), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LaneWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneWidth" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_BasicLaneInformation, connectingLane), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "connectingLane" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_BasicLaneInformation, connectingRoadSection), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RoadSectionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "connectingRoadSection" + }, +}; +static const int asn_MAP_Vanetza_ITS2_BasicLaneInformation_oms_1[] = { 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_BasicLaneInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_BasicLaneInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* laneNumber */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* direction */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* laneWidth */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* connectingLane */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* connectingRoadSection */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_BasicLaneInformation_specs_1 = { + sizeof(struct Vanetza_ITS2_BasicLaneInformation), + offsetof(struct Vanetza_ITS2_BasicLaneInformation, _asn_ctx), + asn_MAP_Vanetza_ITS2_BasicLaneInformation_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_BasicLaneInformation_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BasicLaneInformation = { + "BasicLaneInformation", + "BasicLaneInformation", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_BasicLaneInformation_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_BasicLaneInformation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BasicLaneInformation_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_BasicLaneInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_BasicLaneInformation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BasicLaneInformation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_BasicLaneInformation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_BasicLaneInformation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_BasicLaneInformation_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_BasicLaneInformation_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/BasicLaneInformation.h b/vanetza/asn1/its/r2/BasicLaneInformation.h new file mode 100644 index 000000000..12dcc5ea7 --- /dev/null +++ b/vanetza/asn1/its/r2/BasicLaneInformation.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_BasicLaneInformation_H_ +#define _Vanetza_ITS2_BasicLaneInformation_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LanePosition.h" +#include "Direction.h" +#include "LaneWidth.h" +#include "RoadSectionId.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_BasicLaneInformation */ +typedef struct Vanetza_ITS2_BasicLaneInformation { + Vanetza_ITS2_LanePosition_t laneNumber; + Vanetza_ITS2_Direction_t direction; + Vanetza_ITS2_LaneWidth_t *laneWidth; /* OPTIONAL */ + Vanetza_ITS2_LanePosition_t *connectingLane; /* OPTIONAL */ + Vanetza_ITS2_RoadSectionId_t *connectingRoadSection; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_BasicLaneInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BasicLaneInformation; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_BasicLaneInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_BasicLaneInformation_1[5]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_BasicLaneInformation_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_BasicLaneInformation_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/BasicVehicleContainerHighFrequency.c b/vanetza/asn1/its/r2/BasicVehicleContainerHighFrequency.c new file mode 100644 index 000000000..304c42262 --- /dev/null +++ b/vanetza/asn1/its/r2/BasicVehicleContainerHighFrequency.c @@ -0,0 +1,389 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "BasicVehicleContainerHighFrequency.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_BasicVehicleContainerHighFrequency_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, heading), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Heading, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, speed), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, driveDirection), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DriveDirection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "driveDirection" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, vehicleLength), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VehicleLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, vehicleWidth), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VehicleWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleWidth" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, longitudinalAcceleration), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitudinalAcceleration" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, curvature), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Curvature, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "curvature" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, curvatureCalculationMode), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CurvatureCalculationMode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "curvatureCalculationMode" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, yawRate), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_YawRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yawRate" + }, + { ATF_POINTER, 7, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, accelerationControl), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationControl, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelerationControl" + }, + { ATF_POINTER, 6, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, lanePosition), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lanePosition" + }, + { ATF_POINTER, 5, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, steeringWheelAngle), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SteeringWheelAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "steeringWheelAngle" + }, + { ATF_POINTER, 4, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, lateralAcceleration), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lateralAcceleration" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, verticalAcceleration), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "verticalAcceleration" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, performanceClass), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PerformanceClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "performanceClass" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, cenDsrcTollingZone), + (ASN_TAG_CLASS_CONTEXT | (15 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CenDsrcTollingZone, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cenDsrcTollingZone" + }, +}; +static const int asn_MAP_Vanetza_ITS2_BasicVehicleContainerHighFrequency_oms_1[] = { 9, 10, 11, 12, 13, 14, 15 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_BasicVehicleContainerHighFrequency_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_BasicVehicleContainerHighFrequency_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* speed */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* driveDirection */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* vehicleLength */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* vehicleWidth */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* longitudinalAcceleration */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* curvature */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* curvatureCalculationMode */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* yawRate */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* accelerationControl */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* lanePosition */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* steeringWheelAngle */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* lateralAcceleration */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* verticalAcceleration */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* performanceClass */ + { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 } /* cenDsrcTollingZone */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_BasicVehicleContainerHighFrequency_specs_1 = { + sizeof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency), + offsetof(struct Vanetza_ITS2_BasicVehicleContainerHighFrequency, _asn_ctx), + asn_MAP_Vanetza_ITS2_BasicVehicleContainerHighFrequency_tag2el_1, + 16, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_BasicVehicleContainerHighFrequency_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BasicVehicleContainerHighFrequency = { + "BasicVehicleContainerHighFrequency", + "BasicVehicleContainerHighFrequency", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_BasicVehicleContainerHighFrequency_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_BasicVehicleContainerHighFrequency_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BasicVehicleContainerHighFrequency_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_BasicVehicleContainerHighFrequency_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_BasicVehicleContainerHighFrequency_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BasicVehicleContainerHighFrequency_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_BasicVehicleContainerHighFrequency_1, + 16, /* Elements count */ + &asn_SPC_Vanetza_ITS2_BasicVehicleContainerHighFrequency_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/BasicVehicleContainerHighFrequency.h b/vanetza/asn1/its/r2/BasicVehicleContainerHighFrequency.h new file mode 100644 index 000000000..748e7aa40 --- /dev/null +++ b/vanetza/asn1/its/r2/BasicVehicleContainerHighFrequency.h @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_BasicVehicleContainerHighFrequency_H_ +#define _Vanetza_ITS2_BasicVehicleContainerHighFrequency_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Heading.h" +#include "Speed.h" +#include "DriveDirection.h" +#include "VehicleLength.h" +#include "VehicleWidth.h" +#include "AccelerationComponent.h" +#include "Curvature.h" +#include "CurvatureCalculationMode.h" +#include "YawRate.h" +#include "AccelerationControl.h" +#include "LanePosition.h" +#include "PerformanceClass.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_SteeringWheelAngle; +struct Vanetza_ITS2_AccelerationComponent; +struct Vanetza_ITS2_CenDsrcTollingZone; + +/* Vanetza_ITS2_BasicVehicleContainerHighFrequency */ +typedef struct Vanetza_ITS2_BasicVehicleContainerHighFrequency { + Vanetza_ITS2_Heading_t heading; + Vanetza_ITS2_Speed_t speed; + Vanetza_ITS2_DriveDirection_t driveDirection; + Vanetza_ITS2_VehicleLength_t vehicleLength; + Vanetza_ITS2_VehicleWidth_t vehicleWidth; + Vanetza_ITS2_AccelerationComponent_t longitudinalAcceleration; + Vanetza_ITS2_Curvature_t curvature; + Vanetza_ITS2_CurvatureCalculationMode_t curvatureCalculationMode; + Vanetza_ITS2_YawRate_t yawRate; + Vanetza_ITS2_AccelerationControl_t *accelerationControl; /* OPTIONAL */ + Vanetza_ITS2_LanePosition_t *lanePosition; /* OPTIONAL */ + struct Vanetza_ITS2_SteeringWheelAngle *steeringWheelAngle; /* OPTIONAL */ + struct Vanetza_ITS2_AccelerationComponent *lateralAcceleration; /* OPTIONAL */ + struct Vanetza_ITS2_AccelerationComponent *verticalAcceleration; /* OPTIONAL */ + Vanetza_ITS2_PerformanceClass_t *performanceClass; /* OPTIONAL */ + struct Vanetza_ITS2_CenDsrcTollingZone *cenDsrcTollingZone; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_BasicVehicleContainerHighFrequency_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BasicVehicleContainerHighFrequency; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_BasicVehicleContainerHighFrequency_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_BasicVehicleContainerHighFrequency_1[16]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "SteeringWheelAngle.h" +#include "AccelerationComponent.h" +#include "CenDsrcTollingZone.h" + +#endif /* _Vanetza_ITS2_BasicVehicleContainerHighFrequency_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/BasicVehicleContainerLowFrequency.c b/vanetza/asn1/its/r2/BasicVehicleContainerLowFrequency.c new file mode 100644 index 000000000..446930731 --- /dev/null +++ b/vanetza/asn1/its/r2/BasicVehicleContainerLowFrequency.c @@ -0,0 +1,152 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "BasicVehicleContainerLowFrequency.h" + +static int +memb_Vanetza_ITS2_pathHistory_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 <= 23UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_pathHistory_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..23)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_pathHistory_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 0, 23 } /* (SIZE(0..23)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_BasicVehicleContainerLowFrequency_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerLowFrequency, vehicleRole), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VehicleRole, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleRole" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerLowFrequency, exteriorLights), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ExteriorLights, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "exteriorLights" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_BasicVehicleContainerLowFrequency, pathHistory), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Path, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_pathHistory_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_pathHistory_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_pathHistory_constraint_1 + }, + 0, 0, /* No default value */ + "pathHistory" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_BasicVehicleContainerLowFrequency_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_BasicVehicleContainerLowFrequency_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleRole */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* exteriorLights */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* pathHistory */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_BasicVehicleContainerLowFrequency_specs_1 = { + sizeof(struct Vanetza_ITS2_BasicVehicleContainerLowFrequency), + offsetof(struct Vanetza_ITS2_BasicVehicleContainerLowFrequency, _asn_ctx), + asn_MAP_Vanetza_ITS2_BasicVehicleContainerLowFrequency_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_Vanetza_ITS2_BasicVehicleContainerLowFrequency = { + "BasicVehicleContainerLowFrequency", + "BasicVehicleContainerLowFrequency", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_BasicVehicleContainerLowFrequency_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_BasicVehicleContainerLowFrequency_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BasicVehicleContainerLowFrequency_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_BasicVehicleContainerLowFrequency_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_BasicVehicleContainerLowFrequency_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BasicVehicleContainerLowFrequency_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_BasicVehicleContainerLowFrequency_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_BasicVehicleContainerLowFrequency_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/BasicVehicleContainerLowFrequency.h b/vanetza/asn1/its/r2/BasicVehicleContainerLowFrequency.h new file mode 100644 index 000000000..caa6c27c2 --- /dev/null +++ b/vanetza/asn1/its/r2/BasicVehicleContainerLowFrequency.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_BasicVehicleContainerLowFrequency_H_ +#define _Vanetza_ITS2_BasicVehicleContainerLowFrequency_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "VehicleRole.h" +#include "ExteriorLights.h" +#include "Path.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_BasicVehicleContainerLowFrequency */ +typedef struct Vanetza_ITS2_BasicVehicleContainerLowFrequency { + Vanetza_ITS2_VehicleRole_t vehicleRole; + Vanetza_ITS2_ExteriorLights_t exteriorLights; + Vanetza_ITS2_Path_t pathHistory; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_BasicVehicleContainerLowFrequency_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BasicVehicleContainerLowFrequency; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_BasicVehicleContainerLowFrequency_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_BasicVehicleContainerLowFrequency_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_BasicVehicleContainerLowFrequency_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/BogiesCount.c b/vanetza/asn1/its/r2/BogiesCount.c new file mode 100644 index 000000000..277835019 --- /dev/null +++ b/vanetza/asn1/its/r2/BogiesCount.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "BogiesCount.h" + +int +Vanetza_ITS2_BogiesCount_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 2L && value <= 101L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_BogiesCount_constr_1 CC_NOTUSED = { + { 1, 1 } /* (2..101) */, + -1}; +#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_Vanetza_ITS2_BogiesCount_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 2, 101 } /* (2..101) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_BogiesCount_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BogiesCount = { + "BogiesCount", + "BogiesCount", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_BogiesCount_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_BogiesCount_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BogiesCount_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_BogiesCount_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_BogiesCount_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_BogiesCount_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_BogiesCount_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_BogiesCount_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_BogiesCount_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/BogiesCount.h b/vanetza/asn1/its/r2/BogiesCount.h new file mode 100644 index 000000000..cc61f06aa --- /dev/null +++ b/vanetza/asn1/its/r2/BogiesCount.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_BogiesCount_H_ +#define _Vanetza_ITS2_BogiesCount_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_BogiesCount { + Vanetza_ITS2_BogiesCount_outOfRange = 100, + Vanetza_ITS2_BogiesCount_unavailable = 101 +} e_Vanetza_ITS2_BogiesCount; + +/* Vanetza_ITS2_BogiesCount */ +typedef long Vanetza_ITS2_BogiesCount_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BogiesCount; +asn_struct_free_f Vanetza_ITS2_BogiesCount_free; +asn_struct_print_f Vanetza_ITS2_BogiesCount_print; +asn_constr_check_f Vanetza_ITS2_BogiesCount_constraint; +ber_type_decoder_f Vanetza_ITS2_BogiesCount_decode_ber; +der_type_encoder_f Vanetza_ITS2_BogiesCount_encode_der; +xer_type_decoder_f Vanetza_ITS2_BogiesCount_decode_xer; +xer_type_encoder_f Vanetza_ITS2_BogiesCount_encode_xer; +jer_type_encoder_f Vanetza_ITS2_BogiesCount_encode_jer; +oer_type_decoder_f Vanetza_ITS2_BogiesCount_decode_oer; +oer_type_encoder_f Vanetza_ITS2_BogiesCount_encode_oer; +per_type_decoder_f Vanetza_ITS2_BogiesCount_decode_uper; +per_type_encoder_f Vanetza_ITS2_BogiesCount_encode_uper; +per_type_decoder_f Vanetza_ITS2_BogiesCount_decode_aper; +per_type_encoder_f Vanetza_ITS2_BogiesCount_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_BogiesCount_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CAM.c b/vanetza/asn1/its/r2/CAM.c new file mode 100644 index 000000000..ce62b45da --- /dev/null +++ b/vanetza/asn1/its/r2/CAM.c @@ -0,0 +1,124 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CAM.h" + +static int +memb_Vanetza_ITS2_header_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_Vanetza_ITS2_header_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_header_constr_2 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_Vanetza_ITS2_CAM_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CAM, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ItsPduHeader, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_header_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_header_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_header_constraint_1 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CAM, cam), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CamPayload, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cam" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CAM_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CAM_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cam */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CAM_specs_1 = { + sizeof(struct Vanetza_ITS2_CAM), + offsetof(struct Vanetza_ITS2_CAM, _asn_ctx), + asn_MAP_Vanetza_ITS2_CAM_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_Vanetza_ITS2_CAM = { + "CAM", + "CAM", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CAM_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CAM_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CAM_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CAM_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CAM_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CAM_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CAM_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CAM_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CAM.h b/vanetza/asn1/its/r2/CAM.h new file mode 100644 index 000000000..cfd8a25ab --- /dev/null +++ b/vanetza/asn1/its/r2/CAM.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CAM_H_ +#define _Vanetza_ITS2_CAM_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "ItsPduHeader.h" +#include "CamPayload.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CAM */ +typedef struct Vanetza_ITS2_CAM { + Vanetza_ITS2_ItsPduHeader_t header; + Vanetza_ITS2_CamPayload_t cam; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CAM_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CAM; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CAM_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CPM-PDU-Descriptions_ManagementContainer.c b/vanetza/asn1/its/r2/CPM-PDU-Descriptions_ManagementContainer.c new file mode 100644 index 000000000..7d15aa52f --- /dev/null +++ b/vanetza/asn1/its/r2/CPM-PDU-Descriptions_ManagementContainer.c @@ -0,0 +1,137 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CPM-PDU-Descriptions_ManagementContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer, referenceTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TimestampIts, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "referenceTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer, referencePosition), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ReferencePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "referencePosition" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer, segmentationInfo), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MessageSegmentationInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "segmentationInfo" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer, messageRateRange), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MessageRateRange, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "messageRateRange" + }, +}; +static const int asn_MAP_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* referenceTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* referencePosition */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* segmentationInfo */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* messageRateRange */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer), + offsetof(struct Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer = { + "ManagementContainer", + "ManagementContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CPM-PDU-Descriptions_ManagementContainer.h b/vanetza/asn1/its/r2/CPM-PDU-Descriptions_ManagementContainer.h new file mode 100644 index 000000000..04887fec9 --- /dev/null +++ b/vanetza/asn1/its/r2/CPM-PDU-Descriptions_ManagementContainer.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_H_ +#define _Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "TimestampIts.h" +#include "ReferencePosition.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_MessageSegmentationInfo; +struct Vanetza_ITS2_MessageRateRange; + +/* Vanetza_ITS2_CPM-PDU-Descriptions_ManagementContainer */ +typedef struct Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer { + Vanetza_ITS2_TimestampIts_t referenceTime; + Vanetza_ITS2_ReferencePosition_t referencePosition; + struct Vanetza_ITS2_MessageSegmentationInfo *segmentationInfo; /* OPTIONAL */ + struct Vanetza_ITS2_MessageRateRange *messageRateRange; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_1[4]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MessageSegmentationInfo.h" +#include "MessageRateRange.h" + +#endif /* _Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CamParameters.c b/vanetza/asn1/its/r2/CamParameters.c new file mode 100644 index 000000000..a9a8c33d3 --- /dev/null +++ b/vanetza/asn1/its/r2/CamParameters.c @@ -0,0 +1,137 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CamParameters.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CamParameters_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CamParameters, basicContainer), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_BasicContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "basicContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CamParameters, highFrequencyContainer), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HighFrequencyContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "highFrequencyContainer" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_CamParameters, lowFrequencyContainer), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LowFrequencyContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lowFrequencyContainer" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_CamParameters, specialVehicleContainer), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SpecialVehicleContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "specialVehicleContainer" + }, +}; +static const int asn_MAP_Vanetza_ITS2_CamParameters_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CamParameters_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CamParameters_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* basicContainer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* highFrequencyContainer */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* lowFrequencyContainer */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* specialVehicleContainer */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CamParameters_specs_1 = { + sizeof(struct Vanetza_ITS2_CamParameters), + offsetof(struct Vanetza_ITS2_CamParameters, _asn_ctx), + asn_MAP_Vanetza_ITS2_CamParameters_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_CamParameters_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CamParameters = { + "CamParameters", + "CamParameters", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CamParameters_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CamParameters_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CamParameters_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CamParameters_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CamParameters_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CamParameters_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CamParameters_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CamParameters_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CamParameters.h b/vanetza/asn1/its/r2/CamParameters.h new file mode 100644 index 000000000..eb34833bf --- /dev/null +++ b/vanetza/asn1/its/r2/CamParameters.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CamParameters_H_ +#define _Vanetza_ITS2_CamParameters_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BasicContainer.h" +#include "HighFrequencyContainer.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_LowFrequencyContainer; +struct Vanetza_ITS2_SpecialVehicleContainer; + +/* Vanetza_ITS2_CamParameters */ +typedef struct Vanetza_ITS2_CamParameters { + Vanetza_ITS2_BasicContainer_t basicContainer; + Vanetza_ITS2_HighFrequencyContainer_t highFrequencyContainer; + struct Vanetza_ITS2_LowFrequencyContainer *lowFrequencyContainer; /* OPTIONAL */ + struct Vanetza_ITS2_SpecialVehicleContainer *specialVehicleContainer; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CamParameters_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CamParameters; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CamParameters_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CamParameters_1[4]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "LowFrequencyContainer.h" +#include "SpecialVehicleContainer.h" + +#endif /* _Vanetza_ITS2_CamParameters_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CamPayload.c b/vanetza/asn1/its/r2/CamPayload.c new file mode 100644 index 000000000..a0ac1239c --- /dev/null +++ b/vanetza/asn1/its/r2/CamPayload.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CamPayload.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CamPayload_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CamPayload, generationDeltaTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_GenerationDeltaTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "generationDeltaTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CamPayload, camParameters), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CamParameters, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "camParameters" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CamPayload_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CamPayload_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* generationDeltaTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* camParameters */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CamPayload_specs_1 = { + sizeof(struct Vanetza_ITS2_CamPayload), + offsetof(struct Vanetza_ITS2_CamPayload, _asn_ctx), + asn_MAP_Vanetza_ITS2_CamPayload_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_Vanetza_ITS2_CamPayload = { + "CamPayload", + "CamPayload", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CamPayload_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CamPayload_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CamPayload_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CamPayload_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CamPayload_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CamPayload_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CamPayload_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CamPayload_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CamPayload.h b/vanetza/asn1/its/r2/CamPayload.h new file mode 100644 index 000000000..ad10a59d2 --- /dev/null +++ b/vanetza/asn1/its/r2/CamPayload.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CamPayload_H_ +#define _Vanetza_ITS2_CamPayload_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "GenerationDeltaTime.h" +#include "CamParameters.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CamPayload */ +typedef struct Vanetza_ITS2_CamPayload { + Vanetza_ITS2_GenerationDeltaTime_t generationDeltaTime; + Vanetza_ITS2_CamParameters_t camParameters; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CamPayload_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CamPayload; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CamPayload_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CamPayload_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CamPayload_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CardinalNumber1B.c b/vanetza/asn1/its/r2/CardinalNumber1B.c new file mode 100644 index 000000000..d057225ca --- /dev/null +++ b/vanetza/asn1/its/r2/CardinalNumber1B.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CardinalNumber1B.h" + +int +Vanetza_ITS2_CardinalNumber1B_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CardinalNumber1B_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CardinalNumber1B_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CardinalNumber1B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CardinalNumber1B = { + "CardinalNumber1B", + "CardinalNumber1B", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CardinalNumber1B_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CardinalNumber1B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CardinalNumber1B_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CardinalNumber1B_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CardinalNumber1B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CardinalNumber1B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CardinalNumber1B_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CardinalNumber1B_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CardinalNumber1B_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CardinalNumber1B.h b/vanetza/asn1/its/r2/CardinalNumber1B.h new file mode 100644 index 000000000..da208b995 --- /dev/null +++ b/vanetza/asn1/its/r2/CardinalNumber1B.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CardinalNumber1B_H_ +#define _Vanetza_ITS2_CardinalNumber1B_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CardinalNumber1B */ +typedef long Vanetza_ITS2_CardinalNumber1B_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CardinalNumber1B_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CardinalNumber1B; +asn_struct_free_f Vanetza_ITS2_CardinalNumber1B_free; +asn_struct_print_f Vanetza_ITS2_CardinalNumber1B_print; +asn_constr_check_f Vanetza_ITS2_CardinalNumber1B_constraint; +ber_type_decoder_f Vanetza_ITS2_CardinalNumber1B_decode_ber; +der_type_encoder_f Vanetza_ITS2_CardinalNumber1B_encode_der; +xer_type_decoder_f Vanetza_ITS2_CardinalNumber1B_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CardinalNumber1B_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CardinalNumber1B_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CardinalNumber1B_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CardinalNumber1B_encode_oer; +per_type_decoder_f Vanetza_ITS2_CardinalNumber1B_decode_uper; +per_type_encoder_f Vanetza_ITS2_CardinalNumber1B_encode_uper; +per_type_decoder_f Vanetza_ITS2_CardinalNumber1B_decode_aper; +per_type_encoder_f Vanetza_ITS2_CardinalNumber1B_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CardinalNumber1B_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CardinalNumber3b.c b/vanetza/asn1/its/r2/CardinalNumber3b.c new file mode 100644 index 000000000..acc782dc7 --- /dev/null +++ b/vanetza/asn1/its/r2/CardinalNumber3b.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CardinalNumber3b.h" + +int +Vanetza_ITS2_CardinalNumber3b_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 8L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CardinalNumber3b_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..8) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CardinalNumber3b_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (1..8) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CardinalNumber3b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CardinalNumber3b = { + "CardinalNumber3b", + "CardinalNumber3b", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CardinalNumber3b_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CardinalNumber3b_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CardinalNumber3b_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CardinalNumber3b_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CardinalNumber3b_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CardinalNumber3b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CardinalNumber3b_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CardinalNumber3b_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CardinalNumber3b_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CardinalNumber3b.h b/vanetza/asn1/its/r2/CardinalNumber3b.h new file mode 100644 index 000000000..c005ef360 --- /dev/null +++ b/vanetza/asn1/its/r2/CardinalNumber3b.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CardinalNumber3b_H_ +#define _Vanetza_ITS2_CardinalNumber3b_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CardinalNumber3b */ +typedef long Vanetza_ITS2_CardinalNumber3b_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CardinalNumber3b_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CardinalNumber3b; +asn_struct_free_f Vanetza_ITS2_CardinalNumber3b_free; +asn_struct_print_f Vanetza_ITS2_CardinalNumber3b_print; +asn_constr_check_f Vanetza_ITS2_CardinalNumber3b_constraint; +ber_type_decoder_f Vanetza_ITS2_CardinalNumber3b_decode_ber; +der_type_encoder_f Vanetza_ITS2_CardinalNumber3b_encode_der; +xer_type_decoder_f Vanetza_ITS2_CardinalNumber3b_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CardinalNumber3b_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CardinalNumber3b_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CardinalNumber3b_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CardinalNumber3b_encode_oer; +per_type_decoder_f Vanetza_ITS2_CardinalNumber3b_decode_uper; +per_type_encoder_f Vanetza_ITS2_CardinalNumber3b_encode_uper; +per_type_decoder_f Vanetza_ITS2_CardinalNumber3b_decode_aper; +per_type_encoder_f Vanetza_ITS2_CardinalNumber3b_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CardinalNumber3b_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianAngle.c b/vanetza/asn1/its/r2/CartesianAngle.c new file mode 100644 index 000000000..36162036a --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngle.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianAngle.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CartesianAngle_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianAngle, value), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "value" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianAngle, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AngleConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianAngle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CartesianAngle_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_Vanetza_ITS2_CartesianAngle_specs_1 = { + sizeof(struct Vanetza_ITS2_CartesianAngle), + offsetof(struct Vanetza_ITS2_CartesianAngle, _asn_ctx), + asn_MAP_Vanetza_ITS2_CartesianAngle_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_Vanetza_ITS2_CartesianAngle = { + "CartesianAngle", + "CartesianAngle", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CartesianAngle_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngle_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngle_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianAngle_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngle_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CartesianAngle_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CartesianAngle_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianAngle.h b/vanetza/asn1/its/r2/CartesianAngle.h new file mode 100644 index 000000000..41e859ef3 --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngle.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianAngle_H_ +#define _Vanetza_ITS2_CartesianAngle_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CartesianAngleValue.h" +#include "AngleConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CartesianAngle */ +typedef struct Vanetza_ITS2_CartesianAngle { + Vanetza_ITS2_CartesianAngleValue_t value; + Vanetza_ITS2_AngleConfidence_t confidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CartesianAngle_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianAngle; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CartesianAngle_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CartesianAngle_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CartesianAngle_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianAngleValue.c b/vanetza/asn1/its/r2/CartesianAngleValue.c new file mode 100644 index 000000000..e969bb32f --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngleValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianAngleValue.h" + +int +Vanetza_ITS2_CartesianAngleValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 3601L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CartesianAngleValue_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..3601) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianAngleValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 3601 } /* (0..3601) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianAngleValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianAngleValue = { + "CartesianAngleValue", + "CartesianAngleValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CartesianAngleValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngleValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngleValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianAngleValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngleValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngleValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CartesianAngleValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CartesianAngleValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CartesianAngleValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianAngleValue.h b/vanetza/asn1/its/r2/CartesianAngleValue.h new file mode 100644 index 000000000..e08f58708 --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngleValue.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianAngleValue_H_ +#define _Vanetza_ITS2_CartesianAngleValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CartesianAngleValue { + Vanetza_ITS2_CartesianAngleValue_valueNotUsed = 3600, + Vanetza_ITS2_CartesianAngleValue_unavailable = 3601 +} e_Vanetza_ITS2_CartesianAngleValue; + +/* Vanetza_ITS2_CartesianAngleValue */ +typedef long Vanetza_ITS2_CartesianAngleValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianAngleValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianAngleValue; +asn_struct_free_f Vanetza_ITS2_CartesianAngleValue_free; +asn_struct_print_f Vanetza_ITS2_CartesianAngleValue_print; +asn_constr_check_f Vanetza_ITS2_CartesianAngleValue_constraint; +ber_type_decoder_f Vanetza_ITS2_CartesianAngleValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_CartesianAngleValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_CartesianAngleValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CartesianAngleValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CartesianAngleValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CartesianAngleValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CartesianAngleValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_CartesianAngleValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_CartesianAngleValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_CartesianAngleValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_CartesianAngleValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CartesianAngleValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianAngularAccelerationComponent.c b/vanetza/asn1/its/r2/CartesianAngularAccelerationComponent.c new file mode 100644 index 000000000..56609eaf3 --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngularAccelerationComponent.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianAngularAccelerationComponent.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CartesianAngularAccelerationComponent_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianAngularAccelerationComponent, value), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponentValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "value" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianAngularAccelerationComponent, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AngularAccelerationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CartesianAngularAccelerationComponent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* value */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* confidence */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CartesianAngularAccelerationComponent_specs_1 = { + sizeof(struct Vanetza_ITS2_CartesianAngularAccelerationComponent), + offsetof(struct Vanetza_ITS2_CartesianAngularAccelerationComponent, _asn_ctx), + asn_MAP_Vanetza_ITS2_CartesianAngularAccelerationComponent_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_Vanetza_ITS2_CartesianAngularAccelerationComponent = { + "CartesianAngularAccelerationComponent", + "CartesianAngularAccelerationComponent", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponent_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponent_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponent_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponent_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponent_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponent_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CartesianAngularAccelerationComponent_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CartesianAngularAccelerationComponent_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianAngularAccelerationComponent.h b/vanetza/asn1/its/r2/CartesianAngularAccelerationComponent.h new file mode 100644 index 000000000..c3e4f016b --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngularAccelerationComponent.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianAngularAccelerationComponent_H_ +#define _Vanetza_ITS2_CartesianAngularAccelerationComponent_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CartesianAngularAccelerationComponentValue.h" +#include "AngularAccelerationConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CartesianAngularAccelerationComponent */ +typedef struct Vanetza_ITS2_CartesianAngularAccelerationComponent { + Vanetza_ITS2_CartesianAngularAccelerationComponentValue_t value; + Vanetza_ITS2_AngularAccelerationConfidence_t confidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CartesianAngularAccelerationComponent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponent; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CartesianAngularAccelerationComponent_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianAngularAccelerationComponentValue.c b/vanetza/asn1/its/r2/CartesianAngularAccelerationComponentValue.c new file mode 100644 index 000000000..9de860109 --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngularAccelerationComponentValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianAngularAccelerationComponentValue.h" + +int +Vanetza_ITS2_CartesianAngularAccelerationComponentValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -255L && value <= 256L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-255..256) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, -255, 256 } /* (-255..256) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponentValue = { + "CartesianAngularAccelerationComponentValue", + "CartesianAngularAccelerationComponentValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CartesianAngularAccelerationComponentValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianAngularAccelerationComponentValue.h b/vanetza/asn1/its/r2/CartesianAngularAccelerationComponentValue.h new file mode 100644 index 000000000..315a90aac --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngularAccelerationComponentValue.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianAngularAccelerationComponentValue_H_ +#define _Vanetza_ITS2_CartesianAngularAccelerationComponentValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CartesianAngularAccelerationComponentValue { + Vanetza_ITS2_CartesianAngularAccelerationComponentValue_negativeOutOfRange = -255, + Vanetza_ITS2_CartesianAngularAccelerationComponentValue_positiveOutOfRange = 255, + Vanetza_ITS2_CartesianAngularAccelerationComponentValue_unavailable = 256 +} e_Vanetza_ITS2_CartesianAngularAccelerationComponentValue; + +/* Vanetza_ITS2_CartesianAngularAccelerationComponentValue */ +typedef long Vanetza_ITS2_CartesianAngularAccelerationComponentValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianAngularAccelerationComponentValue; +asn_struct_free_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_free; +asn_struct_print_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_print; +asn_constr_check_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_constraint; +ber_type_decoder_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_CartesianAngularAccelerationComponentValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CartesianAngularAccelerationComponentValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianAngularVelocityComponent.c b/vanetza/asn1/its/r2/CartesianAngularVelocityComponent.c new file mode 100644 index 000000000..2a6dd927c --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngularVelocityComponent.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianAngularVelocityComponent.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CartesianAngularVelocityComponent_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianAngularVelocityComponent, value), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponentValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "value" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianAngularVelocityComponent, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AngularSpeedConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CartesianAngularVelocityComponent_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_Vanetza_ITS2_CartesianAngularVelocityComponent_specs_1 = { + sizeof(struct Vanetza_ITS2_CartesianAngularVelocityComponent), + offsetof(struct Vanetza_ITS2_CartesianAngularVelocityComponent, _asn_ctx), + asn_MAP_Vanetza_ITS2_CartesianAngularVelocityComponent_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_Vanetza_ITS2_CartesianAngularVelocityComponent = { + "CartesianAngularVelocityComponent", + "CartesianAngularVelocityComponent", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponent_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponent_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponent_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponent_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponent_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponent_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CartesianAngularVelocityComponent_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CartesianAngularVelocityComponent_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianAngularVelocityComponent.h b/vanetza/asn1/its/r2/CartesianAngularVelocityComponent.h new file mode 100644 index 000000000..222297b26 --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngularVelocityComponent.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianAngularVelocityComponent_H_ +#define _Vanetza_ITS2_CartesianAngularVelocityComponent_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CartesianAngularVelocityComponentValue.h" +#include "AngularSpeedConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CartesianAngularVelocityComponent */ +typedef struct Vanetza_ITS2_CartesianAngularVelocityComponent { + Vanetza_ITS2_CartesianAngularVelocityComponentValue_t value; + Vanetza_ITS2_AngularSpeedConfidence_t confidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CartesianAngularVelocityComponent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponent; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CartesianAngularVelocityComponent_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CartesianAngularVelocityComponent_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CartesianAngularVelocityComponent_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianAngularVelocityComponentValue.c b/vanetza/asn1/its/r2/CartesianAngularVelocityComponentValue.c new file mode 100644 index 000000000..36251e212 --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngularVelocityComponentValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianAngularVelocityComponentValue.h" + +int +Vanetza_ITS2_CartesianAngularVelocityComponentValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -255L && value <= 256L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CartesianAngularVelocityComponentValue_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-255..256) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianAngularVelocityComponentValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, -255, 256 } /* (-255..256) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponentValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponentValue = { + "CartesianAngularVelocityComponentValue", + "CartesianAngularVelocityComponentValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponentValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponentValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponentValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponentValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponentValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponentValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CartesianAngularVelocityComponentValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CartesianAngularVelocityComponentValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CartesianAngularVelocityComponentValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianAngularVelocityComponentValue.h b/vanetza/asn1/its/r2/CartesianAngularVelocityComponentValue.h new file mode 100644 index 000000000..e549aae52 --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianAngularVelocityComponentValue.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianAngularVelocityComponentValue_H_ +#define _Vanetza_ITS2_CartesianAngularVelocityComponentValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CartesianAngularVelocityComponentValue { + Vanetza_ITS2_CartesianAngularVelocityComponentValue_negativeOutofRange = -255, + Vanetza_ITS2_CartesianAngularVelocityComponentValue_positiveOutOfRange = 255, + Vanetza_ITS2_CartesianAngularVelocityComponentValue_unavailable = 256 +} e_Vanetza_ITS2_CartesianAngularVelocityComponentValue; + +/* Vanetza_ITS2_CartesianAngularVelocityComponentValue */ +typedef long Vanetza_ITS2_CartesianAngularVelocityComponentValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianAngularVelocityComponentValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponentValue; +asn_struct_free_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_free; +asn_struct_print_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_print; +asn_constr_check_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_constraint; +ber_type_decoder_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_CartesianAngularVelocityComponentValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CartesianAngularVelocityComponentValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianCoordinate.c b/vanetza/asn1/its/r2/CartesianCoordinate.c new file mode 100644 index 000000000..b4007eba4 --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianCoordinate.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianCoordinate.h" + +int +Vanetza_ITS2_CartesianCoordinate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32768L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CartesianCoordinate_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32768..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianCoordinate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianCoordinate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianCoordinate = { + "CartesianCoordinate", + "CartesianCoordinate", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CartesianCoordinate_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinate_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinate_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianCoordinate_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinate_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CartesianCoordinate_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CartesianCoordinate_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CartesianCoordinate_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianCoordinate.h b/vanetza/asn1/its/r2/CartesianCoordinate.h new file mode 100644 index 000000000..2ba38db4a --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianCoordinate.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianCoordinate_H_ +#define _Vanetza_ITS2_CartesianCoordinate_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CartesianCoordinate { + Vanetza_ITS2_CartesianCoordinate_negativeOutOfRange = -32768, + Vanetza_ITS2_CartesianCoordinate_positiveOutOfRange = 32767 +} e_Vanetza_ITS2_CartesianCoordinate; + +/* Vanetza_ITS2_CartesianCoordinate */ +typedef long Vanetza_ITS2_CartesianCoordinate_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianCoordinate_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianCoordinate; +asn_struct_free_f Vanetza_ITS2_CartesianCoordinate_free; +asn_struct_print_f Vanetza_ITS2_CartesianCoordinate_print; +asn_constr_check_f Vanetza_ITS2_CartesianCoordinate_constraint; +ber_type_decoder_f Vanetza_ITS2_CartesianCoordinate_decode_ber; +der_type_encoder_f Vanetza_ITS2_CartesianCoordinate_encode_der; +xer_type_decoder_f Vanetza_ITS2_CartesianCoordinate_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CartesianCoordinate_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CartesianCoordinate_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CartesianCoordinate_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CartesianCoordinate_encode_oer; +per_type_decoder_f Vanetza_ITS2_CartesianCoordinate_decode_uper; +per_type_encoder_f Vanetza_ITS2_CartesianCoordinate_encode_uper; +per_type_decoder_f Vanetza_ITS2_CartesianCoordinate_decode_aper; +per_type_encoder_f Vanetza_ITS2_CartesianCoordinate_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CartesianCoordinate_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianCoordinateLarge.c b/vanetza/asn1/its/r2/CartesianCoordinateLarge.c new file mode 100644 index 000000000..1fbccabae --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianCoordinateLarge.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianCoordinateLarge.h" + +int +Vanetza_ITS2_CartesianCoordinateLarge_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -131072L && value <= 131071L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CartesianCoordinateLarge_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-131072..131071) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianCoordinateLarge_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 18, -1, -131072, 131071 } /* (-131072..131071) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianCoordinateLarge_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianCoordinateLarge = { + "CartesianCoordinateLarge", + "CartesianCoordinateLarge", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CartesianCoordinateLarge_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateLarge_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateLarge_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianCoordinateLarge_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateLarge_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateLarge_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CartesianCoordinateLarge_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CartesianCoordinateLarge_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CartesianCoordinateLarge_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianCoordinateLarge.h b/vanetza/asn1/its/r2/CartesianCoordinateLarge.h new file mode 100644 index 000000000..7d8b9ce8c --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianCoordinateLarge.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianCoordinateLarge_H_ +#define _Vanetza_ITS2_CartesianCoordinateLarge_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CartesianCoordinateLarge { + Vanetza_ITS2_CartesianCoordinateLarge_negativeOutOfRange = -131072, + Vanetza_ITS2_CartesianCoordinateLarge_positiveOutOfRange = 131071 +} e_Vanetza_ITS2_CartesianCoordinateLarge; + +/* Vanetza_ITS2_CartesianCoordinateLarge */ +typedef long Vanetza_ITS2_CartesianCoordinateLarge_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianCoordinateLarge_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianCoordinateLarge; +asn_struct_free_f Vanetza_ITS2_CartesianCoordinateLarge_free; +asn_struct_print_f Vanetza_ITS2_CartesianCoordinateLarge_print; +asn_constr_check_f Vanetza_ITS2_CartesianCoordinateLarge_constraint; +ber_type_decoder_f Vanetza_ITS2_CartesianCoordinateLarge_decode_ber; +der_type_encoder_f Vanetza_ITS2_CartesianCoordinateLarge_encode_der; +xer_type_decoder_f Vanetza_ITS2_CartesianCoordinateLarge_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CartesianCoordinateLarge_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CartesianCoordinateLarge_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CartesianCoordinateLarge_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CartesianCoordinateLarge_encode_oer; +per_type_decoder_f Vanetza_ITS2_CartesianCoordinateLarge_decode_uper; +per_type_encoder_f Vanetza_ITS2_CartesianCoordinateLarge_encode_uper; +per_type_decoder_f Vanetza_ITS2_CartesianCoordinateLarge_decode_aper; +per_type_encoder_f Vanetza_ITS2_CartesianCoordinateLarge_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CartesianCoordinateLarge_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianCoordinateSmall.c b/vanetza/asn1/its/r2/CartesianCoordinateSmall.c new file mode 100644 index 000000000..d7dbd7c0e --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianCoordinateSmall.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianCoordinateSmall.h" + +int +Vanetza_ITS2_CartesianCoordinateSmall_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -3094L && value <= 1001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CartesianCoordinateSmall_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-3094..1001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianCoordinateSmall_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, -3094, 1001 } /* (-3094..1001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall = { + "CartesianCoordinateSmall", + "CartesianCoordinateSmall", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CartesianCoordinateSmall_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CartesianCoordinateSmall_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CartesianCoordinateSmall_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianCoordinateSmall.h b/vanetza/asn1/its/r2/CartesianCoordinateSmall.h new file mode 100644 index 000000000..cb4c3e51e --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianCoordinateSmall.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianCoordinateSmall_H_ +#define _Vanetza_ITS2_CartesianCoordinateSmall_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CartesianCoordinateSmall { + Vanetza_ITS2_CartesianCoordinateSmall_negativeOutOfRange = -3094, + Vanetza_ITS2_CartesianCoordinateSmall_positiveOutOfRange = 1001 +} e_Vanetza_ITS2_CartesianCoordinateSmall; + +/* Vanetza_ITS2_CartesianCoordinateSmall */ +typedef long Vanetza_ITS2_CartesianCoordinateSmall_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CartesianCoordinateSmall_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall; +asn_struct_free_f Vanetza_ITS2_CartesianCoordinateSmall_free; +asn_struct_print_f Vanetza_ITS2_CartesianCoordinateSmall_print; +asn_constr_check_f Vanetza_ITS2_CartesianCoordinateSmall_constraint; +ber_type_decoder_f Vanetza_ITS2_CartesianCoordinateSmall_decode_ber; +der_type_encoder_f Vanetza_ITS2_CartesianCoordinateSmall_encode_der; +xer_type_decoder_f Vanetza_ITS2_CartesianCoordinateSmall_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CartesianCoordinateSmall_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CartesianCoordinateSmall_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CartesianCoordinateSmall_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CartesianCoordinateSmall_encode_oer; +per_type_decoder_f Vanetza_ITS2_CartesianCoordinateSmall_decode_uper; +per_type_encoder_f Vanetza_ITS2_CartesianCoordinateSmall_encode_uper; +per_type_decoder_f Vanetza_ITS2_CartesianCoordinateSmall_decode_aper; +per_type_encoder_f Vanetza_ITS2_CartesianCoordinateSmall_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CartesianCoordinateSmall_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianCoordinateWithConfidence.c b/vanetza/asn1/its/r2/CartesianCoordinateWithConfidence.c new file mode 100644 index 000000000..b536182fd --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianCoordinateWithConfidence.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianCoordinateWithConfidence.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CartesianCoordinateWithConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianCoordinateWithConfidence, value), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianCoordinateLarge, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "value" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianCoordinateWithConfidence, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CoordinateConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianCoordinateWithConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CartesianCoordinateWithConfidence_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_Vanetza_ITS2_CartesianCoordinateWithConfidence_specs_1 = { + sizeof(struct Vanetza_ITS2_CartesianCoordinateWithConfidence), + offsetof(struct Vanetza_ITS2_CartesianCoordinateWithConfidence, _asn_ctx), + asn_MAP_Vanetza_ITS2_CartesianCoordinateWithConfidence_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_Vanetza_ITS2_CartesianCoordinateWithConfidence = { + "CartesianCoordinateWithConfidence", + "CartesianCoordinateWithConfidence", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CartesianCoordinateWithConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateWithConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianCoordinateWithConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianCoordinateWithConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CartesianCoordinateWithConfidence_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CartesianCoordinateWithConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianCoordinateWithConfidence.h b/vanetza/asn1/its/r2/CartesianCoordinateWithConfidence.h new file mode 100644 index 000000000..25218a51e --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianCoordinateWithConfidence.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianCoordinateWithConfidence_H_ +#define _Vanetza_ITS2_CartesianCoordinateWithConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CartesianCoordinateLarge.h" +#include "CoordinateConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CartesianCoordinateWithConfidence */ +typedef struct Vanetza_ITS2_CartesianCoordinateWithConfidence { + Vanetza_ITS2_CartesianCoordinateLarge_t value; + Vanetza_ITS2_CoordinateConfidence_t confidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CartesianCoordinateWithConfidence_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianCoordinateWithConfidence; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CartesianCoordinateWithConfidence_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CartesianCoordinateWithConfidence_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CartesianCoordinateWithConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianPosition3d.c b/vanetza/asn1/its/r2/CartesianPosition3d.c new file mode 100644 index 000000000..df5cd545e --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianPosition3d.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianPosition3d.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CartesianPosition3d_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianPosition3d, xCoordinate), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianCoordinate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "xCoordinate" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianPosition3d, yCoordinate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianCoordinate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yCoordinate" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_CartesianPosition3d, zCoordinate), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianCoordinate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zCoordinate" + }, +}; +static const int asn_MAP_Vanetza_ITS2_CartesianPosition3d_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianPosition3d_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CartesianPosition3d_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* xCoordinate */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* yCoordinate */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* zCoordinate */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CartesianPosition3d_specs_1 = { + sizeof(struct Vanetza_ITS2_CartesianPosition3d), + offsetof(struct Vanetza_ITS2_CartesianPosition3d, _asn_ctx), + asn_MAP_Vanetza_ITS2_CartesianPosition3d_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_CartesianPosition3d_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianPosition3d = { + "CartesianPosition3d", + "CartesianPosition3d", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CartesianPosition3d_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianPosition3d_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianPosition3d_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianPosition3d_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianPosition3d_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianPosition3d_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CartesianPosition3d_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CartesianPosition3d_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianPosition3d.h b/vanetza/asn1/its/r2/CartesianPosition3d.h new file mode 100644 index 000000000..c2eb33a6c --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianPosition3d.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianPosition3d_H_ +#define _Vanetza_ITS2_CartesianPosition3d_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CartesianCoordinate.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CartesianPosition3d */ +typedef struct Vanetza_ITS2_CartesianPosition3d { + Vanetza_ITS2_CartesianCoordinate_t xCoordinate; + Vanetza_ITS2_CartesianCoordinate_t yCoordinate; + Vanetza_ITS2_CartesianCoordinate_t *zCoordinate; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CartesianPosition3d_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianPosition3d; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CartesianPosition3d_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CartesianPosition3d_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CartesianPosition3d_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CartesianPosition3dWithConfidence.c b/vanetza/asn1/its/r2/CartesianPosition3dWithConfidence.c new file mode 100644 index 000000000..dffe00d3e --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianPosition3dWithConfidence.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CartesianPosition3dWithConfidence.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CartesianPosition3dWithConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianPosition3dWithConfidence, xCoordinate), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianCoordinateWithConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "xCoordinate" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CartesianPosition3dWithConfidence, yCoordinate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianCoordinateWithConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yCoordinate" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_CartesianPosition3dWithConfidence, zCoordinate), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianCoordinateWithConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zCoordinate" + }, +}; +static const int asn_MAP_Vanetza_ITS2_CartesianPosition3dWithConfidence_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CartesianPosition3dWithConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CartesianPosition3dWithConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* xCoordinate */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* yCoordinate */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* zCoordinate */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CartesianPosition3dWithConfidence_specs_1 = { + sizeof(struct Vanetza_ITS2_CartesianPosition3dWithConfidence), + offsetof(struct Vanetza_ITS2_CartesianPosition3dWithConfidence, _asn_ctx), + asn_MAP_Vanetza_ITS2_CartesianPosition3dWithConfidence_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_CartesianPosition3dWithConfidence_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianPosition3dWithConfidence = { + "CartesianPosition3dWithConfidence", + "CartesianPosition3dWithConfidence", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CartesianPosition3dWithConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CartesianPosition3dWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianPosition3dWithConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CartesianPosition3dWithConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CartesianPosition3dWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CartesianPosition3dWithConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CartesianPosition3dWithConfidence_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CartesianPosition3dWithConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CartesianPosition3dWithConfidence.h b/vanetza/asn1/its/r2/CartesianPosition3dWithConfidence.h new file mode 100644 index 000000000..df9268bab --- /dev/null +++ b/vanetza/asn1/its/r2/CartesianPosition3dWithConfidence.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CartesianPosition3dWithConfidence_H_ +#define _Vanetza_ITS2_CartesianPosition3dWithConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CartesianCoordinateWithConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CartesianCoordinateWithConfidence; + +/* Vanetza_ITS2_CartesianPosition3dWithConfidence */ +typedef struct Vanetza_ITS2_CartesianPosition3dWithConfidence { + Vanetza_ITS2_CartesianCoordinateWithConfidence_t xCoordinate; + Vanetza_ITS2_CartesianCoordinateWithConfidence_t yCoordinate; + struct Vanetza_ITS2_CartesianCoordinateWithConfidence *zCoordinate; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CartesianPosition3dWithConfidence_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CartesianPosition3dWithConfidence; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CartesianPosition3dWithConfidence_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CartesianPosition3dWithConfidence_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CartesianCoordinateWithConfidence.h" + +#endif /* _Vanetza_ITS2_CartesianPosition3dWithConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CauseCode.c b/vanetza/asn1/its/r2/CauseCode.c new file mode 100644 index 000000000..272f824d5 --- /dev/null +++ b/vanetza/asn1/its/r2/CauseCode.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CauseCode.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CauseCode_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCode, causeCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "causeCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCode, subCauseCode), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "subCauseCode" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CauseCode_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* causeCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* subCauseCode */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CauseCode_specs_1 = { + sizeof(struct Vanetza_ITS2_CauseCode), + offsetof(struct Vanetza_ITS2_CauseCode, _asn_ctx), + asn_MAP_Vanetza_ITS2_CauseCode_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CauseCode = { + "CauseCode", + "CauseCode", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CauseCode_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CauseCode_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CauseCode.h b/vanetza/asn1/its/r2/CauseCode.h new file mode 100644 index 000000000..cca99e0f5 --- /dev/null +++ b/vanetza/asn1/its/r2/CauseCode.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CauseCode_H_ +#define _Vanetza_ITS2_CauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CauseCodeType.h" +#include "SubCauseCodeType.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CauseCode */ +typedef struct Vanetza_ITS2_CauseCode { + Vanetza_ITS2_CauseCodeType_t causeCode; + Vanetza_ITS2_SubCauseCodeType_t subCauseCode; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CauseCode_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CauseCode; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CauseCodeChoice.c b/vanetza/asn1/its/r2/CauseCodeChoice.c new file mode 100644 index 000000000..44cd20dfb --- /dev/null +++ b/vanetza/asn1/its/r2/CauseCodeChoice.c @@ -0,0 +1,2769 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CauseCodeChoice.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CauseCodeChoice_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_Vanetza_ITS2_CauseCodeChoice_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 128 } /* (0..128) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CauseCodeChoice_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved0), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved0" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.trafficCondition1), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TrafficConditionSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trafficCondition1" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.accident2), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccidentSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accident2" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.roadworks3), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RoadworksSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadworks3" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved4), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved4" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.impassability5), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ImpassabilitySubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "impassability5" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.adverseWeatherCondition_Adhesion6), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "adverseWeatherCondition-Adhesion6" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.aquaplaning7), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "aquaplaning7" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved8), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved8" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.hazardousLocation_SurfaceCondition9), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hazardousLocation-SurfaceCondition9" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.hazardousLocation_ObstacleOnTheRoad10), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hazardousLocation-ObstacleOnTheRoad10" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.hazardousLocation_AnimalOnTheRoad11), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hazardousLocation-AnimalOnTheRoad11" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.humanPresenceOnTheRoad12), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "humanPresenceOnTheRoad12" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved13), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved13" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.wrongWayDriving14), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_WrongWayDrivingSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wrongWayDriving14" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.rescueAndRecoveryWorkInProgress15), + (ASN_TAG_CLASS_CONTEXT | (15 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rescueAndRecoveryWorkInProgress15" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved16), + (ASN_TAG_CLASS_CONTEXT | (16 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved16" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.adverseWeatherCondition_ExtremeWeatherCondition17), + (ASN_TAG_CLASS_CONTEXT | (17 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "adverseWeatherCondition-ExtremeWeatherCondition17" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.adverseWeatherCondition_Visibility18), + (ASN_TAG_CLASS_CONTEXT | (18 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "adverseWeatherCondition-Visibility18" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.adverseWeatherCondition_Precipitation19), + (ASN_TAG_CLASS_CONTEXT | (19 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "adverseWeatherCondition-Precipitation19" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.violence20), + (ASN_TAG_CLASS_CONTEXT | (20 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "violence20" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved21), + (ASN_TAG_CLASS_CONTEXT | (21 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved21" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved22), + (ASN_TAG_CLASS_CONTEXT | (22 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved22" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved23), + (ASN_TAG_CLASS_CONTEXT | (23 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved23" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved24), + (ASN_TAG_CLASS_CONTEXT | (24 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved24" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved25), + (ASN_TAG_CLASS_CONTEXT | (25 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved25" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.slowVehicle26), + (ASN_TAG_CLASS_CONTEXT | (26 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SlowVehicleSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "slowVehicle26" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.dangerousEndOfQueue27), + (ASN_TAG_CLASS_CONTEXT | (27 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dangerousEndOfQueue27" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.publicTransportVehicleApproaching28), + (ASN_TAG_CLASS_CONTEXT | (28 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "publicTransportVehicleApproaching28" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved29), + (ASN_TAG_CLASS_CONTEXT | (29 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved29" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved30), + (ASN_TAG_CLASS_CONTEXT | (30 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved30" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved31), + (ASN_TAG_CLASS_CONTEXT | (31 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved31" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved32), + (ASN_TAG_CLASS_CONTEXT | (32 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved32" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved33), + (ASN_TAG_CLASS_CONTEXT | (33 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved33" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved34), + (ASN_TAG_CLASS_CONTEXT | (34 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved34" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved35), + (ASN_TAG_CLASS_CONTEXT | (35 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved35" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved36), + (ASN_TAG_CLASS_CONTEXT | (36 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved36" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved37), + (ASN_TAG_CLASS_CONTEXT | (37 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved37" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved38), + (ASN_TAG_CLASS_CONTEXT | (38 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved38" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved39), + (ASN_TAG_CLASS_CONTEXT | (39 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved39" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved40), + (ASN_TAG_CLASS_CONTEXT | (40 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved40" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved41), + (ASN_TAG_CLASS_CONTEXT | (41 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved41" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved42), + (ASN_TAG_CLASS_CONTEXT | (42 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved42" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved43), + (ASN_TAG_CLASS_CONTEXT | (43 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved43" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved44), + (ASN_TAG_CLASS_CONTEXT | (44 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved44" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved45), + (ASN_TAG_CLASS_CONTEXT | (45 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved45" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved46), + (ASN_TAG_CLASS_CONTEXT | (46 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved46" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved47), + (ASN_TAG_CLASS_CONTEXT | (47 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved47" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved48), + (ASN_TAG_CLASS_CONTEXT | (48 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved48" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved49), + (ASN_TAG_CLASS_CONTEXT | (49 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved49" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved50), + (ASN_TAG_CLASS_CONTEXT | (50 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved50" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved51), + (ASN_TAG_CLASS_CONTEXT | (51 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved51" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved52), + (ASN_TAG_CLASS_CONTEXT | (52 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved52" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved53), + (ASN_TAG_CLASS_CONTEXT | (53 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved53" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved54), + (ASN_TAG_CLASS_CONTEXT | (54 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved54" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved55), + (ASN_TAG_CLASS_CONTEXT | (55 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved55" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved56), + (ASN_TAG_CLASS_CONTEXT | (56 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved56" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved57), + (ASN_TAG_CLASS_CONTEXT | (57 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved57" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved58), + (ASN_TAG_CLASS_CONTEXT | (58 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved58" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved59), + (ASN_TAG_CLASS_CONTEXT | (59 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved59" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved60), + (ASN_TAG_CLASS_CONTEXT | (60 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved60" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved61), + (ASN_TAG_CLASS_CONTEXT | (61 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved61" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved62), + (ASN_TAG_CLASS_CONTEXT | (62 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved62" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved63), + (ASN_TAG_CLASS_CONTEXT | (63 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved63" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved64), + (ASN_TAG_CLASS_CONTEXT | (64 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved64" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved65), + (ASN_TAG_CLASS_CONTEXT | (65 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved65" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved66), + (ASN_TAG_CLASS_CONTEXT | (66 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved66" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved67), + (ASN_TAG_CLASS_CONTEXT | (67 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved67" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved68), + (ASN_TAG_CLASS_CONTEXT | (68 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved68" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved69), + (ASN_TAG_CLASS_CONTEXT | (69 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved69" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved70), + (ASN_TAG_CLASS_CONTEXT | (70 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved70" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved71), + (ASN_TAG_CLASS_CONTEXT | (71 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved71" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved72), + (ASN_TAG_CLASS_CONTEXT | (72 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved72" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved73), + (ASN_TAG_CLASS_CONTEXT | (73 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved73" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved74), + (ASN_TAG_CLASS_CONTEXT | (74 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved74" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved75), + (ASN_TAG_CLASS_CONTEXT | (75 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved75" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved76), + (ASN_TAG_CLASS_CONTEXT | (76 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved76" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved77), + (ASN_TAG_CLASS_CONTEXT | (77 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved77" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved78), + (ASN_TAG_CLASS_CONTEXT | (78 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved78" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved79), + (ASN_TAG_CLASS_CONTEXT | (79 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved79" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved80), + (ASN_TAG_CLASS_CONTEXT | (80 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved80" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved81), + (ASN_TAG_CLASS_CONTEXT | (81 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved81" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved82), + (ASN_TAG_CLASS_CONTEXT | (82 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved82" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved83), + (ASN_TAG_CLASS_CONTEXT | (83 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved83" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved84), + (ASN_TAG_CLASS_CONTEXT | (84 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved84" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved85), + (ASN_TAG_CLASS_CONTEXT | (85 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved85" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved86), + (ASN_TAG_CLASS_CONTEXT | (86 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved86" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved87), + (ASN_TAG_CLASS_CONTEXT | (87 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved87" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved88), + (ASN_TAG_CLASS_CONTEXT | (88 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved88" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved89), + (ASN_TAG_CLASS_CONTEXT | (89 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved89" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved90), + (ASN_TAG_CLASS_CONTEXT | (90 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved90" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.vehicleBreakdown91), + (ASN_TAG_CLASS_CONTEXT | (91 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VehicleBreakdownSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleBreakdown91" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.postCrash92), + (ASN_TAG_CLASS_CONTEXT | (92 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PostCrashSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "postCrash92" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.humanProblem93), + (ASN_TAG_CLASS_CONTEXT | (93 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HumanProblemSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "humanProblem93" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.stationaryVehicle94), + (ASN_TAG_CLASS_CONTEXT | (94 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StationaryVehicleSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stationaryVehicle94" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.emergencyVehicleApproaching95), + (ASN_TAG_CLASS_CONTEXT | (95 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emergencyVehicleApproaching95" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.hazardousLocation_DangerousCurve96), + (ASN_TAG_CLASS_CONTEXT | (96 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hazardousLocation-DangerousCurve96" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.collisionRisk97), + (ASN_TAG_CLASS_CONTEXT | (97 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CollisionRiskSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "collisionRisk97" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.signalViolation98), + (ASN_TAG_CLASS_CONTEXT | (98 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SignalViolationSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "signalViolation98" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.dangerousSituation99), + (ASN_TAG_CLASS_CONTEXT | (99 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DangerousSituationSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dangerousSituation99" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.railwayLevelCrossing100), + (ASN_TAG_CLASS_CONTEXT | (100 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "railwayLevelCrossing100" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved101), + (ASN_TAG_CLASS_CONTEXT | (101 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved101" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved102), + (ASN_TAG_CLASS_CONTEXT | (102 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved102" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved103), + (ASN_TAG_CLASS_CONTEXT | (103 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved103" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved104), + (ASN_TAG_CLASS_CONTEXT | (104 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved104" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved105), + (ASN_TAG_CLASS_CONTEXT | (105 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved105" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved106), + (ASN_TAG_CLASS_CONTEXT | (106 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved106" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved107), + (ASN_TAG_CLASS_CONTEXT | (107 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved107" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved108), + (ASN_TAG_CLASS_CONTEXT | (108 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved108" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved109), + (ASN_TAG_CLASS_CONTEXT | (109 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved109" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved110), + (ASN_TAG_CLASS_CONTEXT | (110 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved110" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved111), + (ASN_TAG_CLASS_CONTEXT | (111 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved111" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved112), + (ASN_TAG_CLASS_CONTEXT | (112 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved112" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved113), + (ASN_TAG_CLASS_CONTEXT | (113 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved113" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved114), + (ASN_TAG_CLASS_CONTEXT | (114 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved114" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved115), + (ASN_TAG_CLASS_CONTEXT | (115 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved115" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved116), + (ASN_TAG_CLASS_CONTEXT | (116 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved116" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved117), + (ASN_TAG_CLASS_CONTEXT | (117 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved117" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved118), + (ASN_TAG_CLASS_CONTEXT | (118 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved118" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved119), + (ASN_TAG_CLASS_CONTEXT | (119 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved119" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved120), + (ASN_TAG_CLASS_CONTEXT | (120 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved120" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved121), + (ASN_TAG_CLASS_CONTEXT | (121 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved121" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved122), + (ASN_TAG_CLASS_CONTEXT | (122 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved122" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved123), + (ASN_TAG_CLASS_CONTEXT | (123 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved123" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved124), + (ASN_TAG_CLASS_CONTEXT | (124 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved124" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved125), + (ASN_TAG_CLASS_CONTEXT | (125 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved125" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved126), + (ASN_TAG_CLASS_CONTEXT | (126 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved126" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved127), + (ASN_TAG_CLASS_CONTEXT | (127 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved127" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeChoice, choice.reserved128), + (ASN_TAG_CLASS_CONTEXT | (128 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SubCauseCodeType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved128" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CauseCodeChoice_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reserved0 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* trafficCondition1 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* accident2 */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* roadworks3 */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* reserved4 */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* impassability5 */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* adverseWeatherCondition-Adhesion6 */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* aquaplaning7 */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* reserved8 */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* hazardousLocation-SurfaceCondition9 */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* hazardousLocation-ObstacleOnTheRoad10 */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* hazardousLocation-AnimalOnTheRoad11 */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* humanPresenceOnTheRoad12 */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* reserved13 */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* wrongWayDriving14 */ + { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* rescueAndRecoveryWorkInProgress15 */ + { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* reserved16 */ + { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* adverseWeatherCondition-ExtremeWeatherCondition17 */ + { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 }, /* adverseWeatherCondition-Visibility18 */ + { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 19, 0, 0 }, /* adverseWeatherCondition-Precipitation19 */ + { (ASN_TAG_CLASS_CONTEXT | (20 << 2)), 20, 0, 0 }, /* violence20 */ + { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 21, 0, 0 }, /* reserved21 */ + { (ASN_TAG_CLASS_CONTEXT | (22 << 2)), 22, 0, 0 }, /* reserved22 */ + { (ASN_TAG_CLASS_CONTEXT | (23 << 2)), 23, 0, 0 }, /* reserved23 */ + { (ASN_TAG_CLASS_CONTEXT | (24 << 2)), 24, 0, 0 }, /* reserved24 */ + { (ASN_TAG_CLASS_CONTEXT | (25 << 2)), 25, 0, 0 }, /* reserved25 */ + { (ASN_TAG_CLASS_CONTEXT | (26 << 2)), 26, 0, 0 }, /* slowVehicle26 */ + { (ASN_TAG_CLASS_CONTEXT | (27 << 2)), 27, 0, 0 }, /* dangerousEndOfQueue27 */ + { (ASN_TAG_CLASS_CONTEXT | (28 << 2)), 28, 0, 0 }, /* publicTransportVehicleApproaching28 */ + { (ASN_TAG_CLASS_CONTEXT | (29 << 2)), 29, 0, 0 }, /* reserved29 */ + { (ASN_TAG_CLASS_CONTEXT | (30 << 2)), 30, 0, 0 }, /* reserved30 */ + { (ASN_TAG_CLASS_CONTEXT | (31 << 2)), 31, 0, 0 }, /* reserved31 */ + { (ASN_TAG_CLASS_CONTEXT | (32 << 2)), 32, 0, 0 }, /* reserved32 */ + { (ASN_TAG_CLASS_CONTEXT | (33 << 2)), 33, 0, 0 }, /* reserved33 */ + { (ASN_TAG_CLASS_CONTEXT | (34 << 2)), 34, 0, 0 }, /* reserved34 */ + { (ASN_TAG_CLASS_CONTEXT | (35 << 2)), 35, 0, 0 }, /* reserved35 */ + { (ASN_TAG_CLASS_CONTEXT | (36 << 2)), 36, 0, 0 }, /* reserved36 */ + { (ASN_TAG_CLASS_CONTEXT | (37 << 2)), 37, 0, 0 }, /* reserved37 */ + { (ASN_TAG_CLASS_CONTEXT | (38 << 2)), 38, 0, 0 }, /* reserved38 */ + { (ASN_TAG_CLASS_CONTEXT | (39 << 2)), 39, 0, 0 }, /* reserved39 */ + { (ASN_TAG_CLASS_CONTEXT | (40 << 2)), 40, 0, 0 }, /* reserved40 */ + { (ASN_TAG_CLASS_CONTEXT | (41 << 2)), 41, 0, 0 }, /* reserved41 */ + { (ASN_TAG_CLASS_CONTEXT | (42 << 2)), 42, 0, 0 }, /* reserved42 */ + { (ASN_TAG_CLASS_CONTEXT | (43 << 2)), 43, 0, 0 }, /* reserved43 */ + { (ASN_TAG_CLASS_CONTEXT | (44 << 2)), 44, 0, 0 }, /* reserved44 */ + { (ASN_TAG_CLASS_CONTEXT | (45 << 2)), 45, 0, 0 }, /* reserved45 */ + { (ASN_TAG_CLASS_CONTEXT | (46 << 2)), 46, 0, 0 }, /* reserved46 */ + { (ASN_TAG_CLASS_CONTEXT | (47 << 2)), 47, 0, 0 }, /* reserved47 */ + { (ASN_TAG_CLASS_CONTEXT | (48 << 2)), 48, 0, 0 }, /* reserved48 */ + { (ASN_TAG_CLASS_CONTEXT | (49 << 2)), 49, 0, 0 }, /* reserved49 */ + { (ASN_TAG_CLASS_CONTEXT | (50 << 2)), 50, 0, 0 }, /* reserved50 */ + { (ASN_TAG_CLASS_CONTEXT | (51 << 2)), 51, 0, 0 }, /* reserved51 */ + { (ASN_TAG_CLASS_CONTEXT | (52 << 2)), 52, 0, 0 }, /* reserved52 */ + { (ASN_TAG_CLASS_CONTEXT | (53 << 2)), 53, 0, 0 }, /* reserved53 */ + { (ASN_TAG_CLASS_CONTEXT | (54 << 2)), 54, 0, 0 }, /* reserved54 */ + { (ASN_TAG_CLASS_CONTEXT | (55 << 2)), 55, 0, 0 }, /* reserved55 */ + { (ASN_TAG_CLASS_CONTEXT | (56 << 2)), 56, 0, 0 }, /* reserved56 */ + { (ASN_TAG_CLASS_CONTEXT | (57 << 2)), 57, 0, 0 }, /* reserved57 */ + { (ASN_TAG_CLASS_CONTEXT | (58 << 2)), 58, 0, 0 }, /* reserved58 */ + { (ASN_TAG_CLASS_CONTEXT | (59 << 2)), 59, 0, 0 }, /* reserved59 */ + { (ASN_TAG_CLASS_CONTEXT | (60 << 2)), 60, 0, 0 }, /* reserved60 */ + { (ASN_TAG_CLASS_CONTEXT | (61 << 2)), 61, 0, 0 }, /* reserved61 */ + { (ASN_TAG_CLASS_CONTEXT | (62 << 2)), 62, 0, 0 }, /* reserved62 */ + { (ASN_TAG_CLASS_CONTEXT | (63 << 2)), 63, 0, 0 }, /* reserved63 */ + { (ASN_TAG_CLASS_CONTEXT | (64 << 2)), 64, 0, 0 }, /* reserved64 */ + { (ASN_TAG_CLASS_CONTEXT | (65 << 2)), 65, 0, 0 }, /* reserved65 */ + { (ASN_TAG_CLASS_CONTEXT | (66 << 2)), 66, 0, 0 }, /* reserved66 */ + { (ASN_TAG_CLASS_CONTEXT | (67 << 2)), 67, 0, 0 }, /* reserved67 */ + { (ASN_TAG_CLASS_CONTEXT | (68 << 2)), 68, 0, 0 }, /* reserved68 */ + { (ASN_TAG_CLASS_CONTEXT | (69 << 2)), 69, 0, 0 }, /* reserved69 */ + { (ASN_TAG_CLASS_CONTEXT | (70 << 2)), 70, 0, 0 }, /* reserved70 */ + { (ASN_TAG_CLASS_CONTEXT | (71 << 2)), 71, 0, 0 }, /* reserved71 */ + { (ASN_TAG_CLASS_CONTEXT | (72 << 2)), 72, 0, 0 }, /* reserved72 */ + { (ASN_TAG_CLASS_CONTEXT | (73 << 2)), 73, 0, 0 }, /* reserved73 */ + { (ASN_TAG_CLASS_CONTEXT | (74 << 2)), 74, 0, 0 }, /* reserved74 */ + { (ASN_TAG_CLASS_CONTEXT | (75 << 2)), 75, 0, 0 }, /* reserved75 */ + { (ASN_TAG_CLASS_CONTEXT | (76 << 2)), 76, 0, 0 }, /* reserved76 */ + { (ASN_TAG_CLASS_CONTEXT | (77 << 2)), 77, 0, 0 }, /* reserved77 */ + { (ASN_TAG_CLASS_CONTEXT | (78 << 2)), 78, 0, 0 }, /* reserved78 */ + { (ASN_TAG_CLASS_CONTEXT | (79 << 2)), 79, 0, 0 }, /* reserved79 */ + { (ASN_TAG_CLASS_CONTEXT | (80 << 2)), 80, 0, 0 }, /* reserved80 */ + { (ASN_TAG_CLASS_CONTEXT | (81 << 2)), 81, 0, 0 }, /* reserved81 */ + { (ASN_TAG_CLASS_CONTEXT | (82 << 2)), 82, 0, 0 }, /* reserved82 */ + { (ASN_TAG_CLASS_CONTEXT | (83 << 2)), 83, 0, 0 }, /* reserved83 */ + { (ASN_TAG_CLASS_CONTEXT | (84 << 2)), 84, 0, 0 }, /* reserved84 */ + { (ASN_TAG_CLASS_CONTEXT | (85 << 2)), 85, 0, 0 }, /* reserved85 */ + { (ASN_TAG_CLASS_CONTEXT | (86 << 2)), 86, 0, 0 }, /* reserved86 */ + { (ASN_TAG_CLASS_CONTEXT | (87 << 2)), 87, 0, 0 }, /* reserved87 */ + { (ASN_TAG_CLASS_CONTEXT | (88 << 2)), 88, 0, 0 }, /* reserved88 */ + { (ASN_TAG_CLASS_CONTEXT | (89 << 2)), 89, 0, 0 }, /* reserved89 */ + { (ASN_TAG_CLASS_CONTEXT | (90 << 2)), 90, 0, 0 }, /* reserved90 */ + { (ASN_TAG_CLASS_CONTEXT | (91 << 2)), 91, 0, 0 }, /* vehicleBreakdown91 */ + { (ASN_TAG_CLASS_CONTEXT | (92 << 2)), 92, 0, 0 }, /* postCrash92 */ + { (ASN_TAG_CLASS_CONTEXT | (93 << 2)), 93, 0, 0 }, /* humanProblem93 */ + { (ASN_TAG_CLASS_CONTEXT | (94 << 2)), 94, 0, 0 }, /* stationaryVehicle94 */ + { (ASN_TAG_CLASS_CONTEXT | (95 << 2)), 95, 0, 0 }, /* emergencyVehicleApproaching95 */ + { (ASN_TAG_CLASS_CONTEXT | (96 << 2)), 96, 0, 0 }, /* hazardousLocation-DangerousCurve96 */ + { (ASN_TAG_CLASS_CONTEXT | (97 << 2)), 97, 0, 0 }, /* collisionRisk97 */ + { (ASN_TAG_CLASS_CONTEXT | (98 << 2)), 98, 0, 0 }, /* signalViolation98 */ + { (ASN_TAG_CLASS_CONTEXT | (99 << 2)), 99, 0, 0 }, /* dangerousSituation99 */ + { (ASN_TAG_CLASS_CONTEXT | (100 << 2)), 100, 0, 0 }, /* railwayLevelCrossing100 */ + { (ASN_TAG_CLASS_CONTEXT | (101 << 2)), 101, 0, 0 }, /* reserved101 */ + { (ASN_TAG_CLASS_CONTEXT | (102 << 2)), 102, 0, 0 }, /* reserved102 */ + { (ASN_TAG_CLASS_CONTEXT | (103 << 2)), 103, 0, 0 }, /* reserved103 */ + { (ASN_TAG_CLASS_CONTEXT | (104 << 2)), 104, 0, 0 }, /* reserved104 */ + { (ASN_TAG_CLASS_CONTEXT | (105 << 2)), 105, 0, 0 }, /* reserved105 */ + { (ASN_TAG_CLASS_CONTEXT | (106 << 2)), 106, 0, 0 }, /* reserved106 */ + { (ASN_TAG_CLASS_CONTEXT | (107 << 2)), 107, 0, 0 }, /* reserved107 */ + { (ASN_TAG_CLASS_CONTEXT | (108 << 2)), 108, 0, 0 }, /* reserved108 */ + { (ASN_TAG_CLASS_CONTEXT | (109 << 2)), 109, 0, 0 }, /* reserved109 */ + { (ASN_TAG_CLASS_CONTEXT | (110 << 2)), 110, 0, 0 }, /* reserved110 */ + { (ASN_TAG_CLASS_CONTEXT | (111 << 2)), 111, 0, 0 }, /* reserved111 */ + { (ASN_TAG_CLASS_CONTEXT | (112 << 2)), 112, 0, 0 }, /* reserved112 */ + { (ASN_TAG_CLASS_CONTEXT | (113 << 2)), 113, 0, 0 }, /* reserved113 */ + { (ASN_TAG_CLASS_CONTEXT | (114 << 2)), 114, 0, 0 }, /* reserved114 */ + { (ASN_TAG_CLASS_CONTEXT | (115 << 2)), 115, 0, 0 }, /* reserved115 */ + { (ASN_TAG_CLASS_CONTEXT | (116 << 2)), 116, 0, 0 }, /* reserved116 */ + { (ASN_TAG_CLASS_CONTEXT | (117 << 2)), 117, 0, 0 }, /* reserved117 */ + { (ASN_TAG_CLASS_CONTEXT | (118 << 2)), 118, 0, 0 }, /* reserved118 */ + { (ASN_TAG_CLASS_CONTEXT | (119 << 2)), 119, 0, 0 }, /* reserved119 */ + { (ASN_TAG_CLASS_CONTEXT | (120 << 2)), 120, 0, 0 }, /* reserved120 */ + { (ASN_TAG_CLASS_CONTEXT | (121 << 2)), 121, 0, 0 }, /* reserved121 */ + { (ASN_TAG_CLASS_CONTEXT | (122 << 2)), 122, 0, 0 }, /* reserved122 */ + { (ASN_TAG_CLASS_CONTEXT | (123 << 2)), 123, 0, 0 }, /* reserved123 */ + { (ASN_TAG_CLASS_CONTEXT | (124 << 2)), 124, 0, 0 }, /* reserved124 */ + { (ASN_TAG_CLASS_CONTEXT | (125 << 2)), 125, 0, 0 }, /* reserved125 */ + { (ASN_TAG_CLASS_CONTEXT | (126 << 2)), 126, 0, 0 }, /* reserved126 */ + { (ASN_TAG_CLASS_CONTEXT | (127 << 2)), 127, 0, 0 }, /* reserved127 */ + { (ASN_TAG_CLASS_CONTEXT | (128 << 2)), 128, 0, 0 } /* reserved128 */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_CauseCodeChoice_specs_1 = { + sizeof(struct Vanetza_ITS2_CauseCodeChoice), + offsetof(struct Vanetza_ITS2_CauseCodeChoice, _asn_ctx), + offsetof(struct Vanetza_ITS2_CauseCodeChoice, present), + sizeof(((struct Vanetza_ITS2_CauseCodeChoice *)0)->present), + asn_MAP_Vanetza_ITS2_CauseCodeChoice_tag2el_1, + 129, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CauseCodeChoice = { + "CauseCodeChoice", + "CauseCodeChoice", + &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_Vanetza_ITS2_CauseCodeChoice_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CauseCodeChoice_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_CauseCodeChoice_1, + 129, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CauseCodeChoice_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CauseCodeChoice.h b/vanetza/asn1/its/r2/CauseCodeChoice.h new file mode 100644 index 000000000..474d946af --- /dev/null +++ b/vanetza/asn1/its/r2/CauseCodeChoice.h @@ -0,0 +1,332 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CauseCodeChoice_H_ +#define _Vanetza_ITS2_CauseCodeChoice_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "SubCauseCodeType.h" +#include "TrafficConditionSubCauseCode.h" +#include "AccidentSubCauseCode.h" +#include "RoadworksSubCauseCode.h" +#include "ImpassabilitySubCauseCode.h" +#include "AdverseWeatherCondition-AdhesionSubCauseCode.h" +#include "HazardousLocation-SurfaceConditionSubCauseCode.h" +#include "HazardousLocation-ObstacleOnTheRoadSubCauseCode.h" +#include "HazardousLocation-AnimalOnTheRoadSubCauseCode.h" +#include "HumanPresenceOnTheRoadSubCauseCode.h" +#include "WrongWayDrivingSubCauseCode.h" +#include "RescueAndRecoveryWorkInProgressSubCauseCode.h" +#include "AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.h" +#include "AdverseWeatherCondition-VisibilitySubCauseCode.h" +#include "AdverseWeatherCondition-PrecipitationSubCauseCode.h" +#include "SlowVehicleSubCauseCode.h" +#include "DangerousEndOfQueueSubCauseCode.h" +#include "VehicleBreakdownSubCauseCode.h" +#include "PostCrashSubCauseCode.h" +#include "HumanProblemSubCauseCode.h" +#include "StationaryVehicleSubCauseCode.h" +#include "EmergencyVehicleApproachingSubCauseCode.h" +#include "HazardousLocation-DangerousCurveSubCauseCode.h" +#include "CollisionRiskSubCauseCode.h" +#include "SignalViolationSubCauseCode.h" +#include "DangerousSituationSubCauseCode.h" +#include "RailwayLevelCrossingSubCauseCode.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CauseCodeChoice_PR { + Vanetza_ITS2_CauseCodeChoice_PR_NOTHING, /* No components present */ + Vanetza_ITS2_CauseCodeChoice_PR_reserved0, + Vanetza_ITS2_CauseCodeChoice_PR_trafficCondition1, + Vanetza_ITS2_CauseCodeChoice_PR_accident2, + Vanetza_ITS2_CauseCodeChoice_PR_roadworks3, + Vanetza_ITS2_CauseCodeChoice_PR_reserved4, + Vanetza_ITS2_CauseCodeChoice_PR_impassability5, + Vanetza_ITS2_CauseCodeChoice_PR_adverseWeatherCondition_Adhesion6, + Vanetza_ITS2_CauseCodeChoice_PR_aquaplaning7, + Vanetza_ITS2_CauseCodeChoice_PR_reserved8, + Vanetza_ITS2_CauseCodeChoice_PR_hazardousLocation_SurfaceCondition9, + Vanetza_ITS2_CauseCodeChoice_PR_hazardousLocation_ObstacleOnTheRoad10, + Vanetza_ITS2_CauseCodeChoice_PR_hazardousLocation_AnimalOnTheRoad11, + Vanetza_ITS2_CauseCodeChoice_PR_humanPresenceOnTheRoad12, + Vanetza_ITS2_CauseCodeChoice_PR_reserved13, + Vanetza_ITS2_CauseCodeChoice_PR_wrongWayDriving14, + Vanetza_ITS2_CauseCodeChoice_PR_rescueAndRecoveryWorkInProgress15, + Vanetza_ITS2_CauseCodeChoice_PR_reserved16, + Vanetza_ITS2_CauseCodeChoice_PR_adverseWeatherCondition_ExtremeWeatherCondition17, + Vanetza_ITS2_CauseCodeChoice_PR_adverseWeatherCondition_Visibility18, + Vanetza_ITS2_CauseCodeChoice_PR_adverseWeatherCondition_Precipitation19, + Vanetza_ITS2_CauseCodeChoice_PR_violence20, + Vanetza_ITS2_CauseCodeChoice_PR_reserved21, + Vanetza_ITS2_CauseCodeChoice_PR_reserved22, + Vanetza_ITS2_CauseCodeChoice_PR_reserved23, + Vanetza_ITS2_CauseCodeChoice_PR_reserved24, + Vanetza_ITS2_CauseCodeChoice_PR_reserved25, + Vanetza_ITS2_CauseCodeChoice_PR_slowVehicle26, + Vanetza_ITS2_CauseCodeChoice_PR_dangerousEndOfQueue27, + Vanetza_ITS2_CauseCodeChoice_PR_publicTransportVehicleApproaching28, + Vanetza_ITS2_CauseCodeChoice_PR_reserved29, + Vanetza_ITS2_CauseCodeChoice_PR_reserved30, + Vanetza_ITS2_CauseCodeChoice_PR_reserved31, + Vanetza_ITS2_CauseCodeChoice_PR_reserved32, + Vanetza_ITS2_CauseCodeChoice_PR_reserved33, + Vanetza_ITS2_CauseCodeChoice_PR_reserved34, + Vanetza_ITS2_CauseCodeChoice_PR_reserved35, + Vanetza_ITS2_CauseCodeChoice_PR_reserved36, + Vanetza_ITS2_CauseCodeChoice_PR_reserved37, + Vanetza_ITS2_CauseCodeChoice_PR_reserved38, + Vanetza_ITS2_CauseCodeChoice_PR_reserved39, + Vanetza_ITS2_CauseCodeChoice_PR_reserved40, + Vanetza_ITS2_CauseCodeChoice_PR_reserved41, + Vanetza_ITS2_CauseCodeChoice_PR_reserved42, + Vanetza_ITS2_CauseCodeChoice_PR_reserved43, + Vanetza_ITS2_CauseCodeChoice_PR_reserved44, + Vanetza_ITS2_CauseCodeChoice_PR_reserved45, + Vanetza_ITS2_CauseCodeChoice_PR_reserved46, + Vanetza_ITS2_CauseCodeChoice_PR_reserved47, + Vanetza_ITS2_CauseCodeChoice_PR_reserved48, + Vanetza_ITS2_CauseCodeChoice_PR_reserved49, + Vanetza_ITS2_CauseCodeChoice_PR_reserved50, + Vanetza_ITS2_CauseCodeChoice_PR_reserved51, + Vanetza_ITS2_CauseCodeChoice_PR_reserved52, + Vanetza_ITS2_CauseCodeChoice_PR_reserved53, + Vanetza_ITS2_CauseCodeChoice_PR_reserved54, + Vanetza_ITS2_CauseCodeChoice_PR_reserved55, + Vanetza_ITS2_CauseCodeChoice_PR_reserved56, + Vanetza_ITS2_CauseCodeChoice_PR_reserved57, + Vanetza_ITS2_CauseCodeChoice_PR_reserved58, + Vanetza_ITS2_CauseCodeChoice_PR_reserved59, + Vanetza_ITS2_CauseCodeChoice_PR_reserved60, + Vanetza_ITS2_CauseCodeChoice_PR_reserved61, + Vanetza_ITS2_CauseCodeChoice_PR_reserved62, + Vanetza_ITS2_CauseCodeChoice_PR_reserved63, + Vanetza_ITS2_CauseCodeChoice_PR_reserved64, + Vanetza_ITS2_CauseCodeChoice_PR_reserved65, + Vanetza_ITS2_CauseCodeChoice_PR_reserved66, + Vanetza_ITS2_CauseCodeChoice_PR_reserved67, + Vanetza_ITS2_CauseCodeChoice_PR_reserved68, + Vanetza_ITS2_CauseCodeChoice_PR_reserved69, + Vanetza_ITS2_CauseCodeChoice_PR_reserved70, + Vanetza_ITS2_CauseCodeChoice_PR_reserved71, + Vanetza_ITS2_CauseCodeChoice_PR_reserved72, + Vanetza_ITS2_CauseCodeChoice_PR_reserved73, + Vanetza_ITS2_CauseCodeChoice_PR_reserved74, + Vanetza_ITS2_CauseCodeChoice_PR_reserved75, + Vanetza_ITS2_CauseCodeChoice_PR_reserved76, + Vanetza_ITS2_CauseCodeChoice_PR_reserved77, + Vanetza_ITS2_CauseCodeChoice_PR_reserved78, + Vanetza_ITS2_CauseCodeChoice_PR_reserved79, + Vanetza_ITS2_CauseCodeChoice_PR_reserved80, + Vanetza_ITS2_CauseCodeChoice_PR_reserved81, + Vanetza_ITS2_CauseCodeChoice_PR_reserved82, + Vanetza_ITS2_CauseCodeChoice_PR_reserved83, + Vanetza_ITS2_CauseCodeChoice_PR_reserved84, + Vanetza_ITS2_CauseCodeChoice_PR_reserved85, + Vanetza_ITS2_CauseCodeChoice_PR_reserved86, + Vanetza_ITS2_CauseCodeChoice_PR_reserved87, + Vanetza_ITS2_CauseCodeChoice_PR_reserved88, + Vanetza_ITS2_CauseCodeChoice_PR_reserved89, + Vanetza_ITS2_CauseCodeChoice_PR_reserved90, + Vanetza_ITS2_CauseCodeChoice_PR_vehicleBreakdown91, + Vanetza_ITS2_CauseCodeChoice_PR_postCrash92, + Vanetza_ITS2_CauseCodeChoice_PR_humanProblem93, + Vanetza_ITS2_CauseCodeChoice_PR_stationaryVehicle94, + Vanetza_ITS2_CauseCodeChoice_PR_emergencyVehicleApproaching95, + Vanetza_ITS2_CauseCodeChoice_PR_hazardousLocation_DangerousCurve96, + Vanetza_ITS2_CauseCodeChoice_PR_collisionRisk97, + Vanetza_ITS2_CauseCodeChoice_PR_signalViolation98, + Vanetza_ITS2_CauseCodeChoice_PR_dangerousSituation99, + Vanetza_ITS2_CauseCodeChoice_PR_railwayLevelCrossing100, + Vanetza_ITS2_CauseCodeChoice_PR_reserved101, + Vanetza_ITS2_CauseCodeChoice_PR_reserved102, + Vanetza_ITS2_CauseCodeChoice_PR_reserved103, + Vanetza_ITS2_CauseCodeChoice_PR_reserved104, + Vanetza_ITS2_CauseCodeChoice_PR_reserved105, + Vanetza_ITS2_CauseCodeChoice_PR_reserved106, + Vanetza_ITS2_CauseCodeChoice_PR_reserved107, + Vanetza_ITS2_CauseCodeChoice_PR_reserved108, + Vanetza_ITS2_CauseCodeChoice_PR_reserved109, + Vanetza_ITS2_CauseCodeChoice_PR_reserved110, + Vanetza_ITS2_CauseCodeChoice_PR_reserved111, + Vanetza_ITS2_CauseCodeChoice_PR_reserved112, + Vanetza_ITS2_CauseCodeChoice_PR_reserved113, + Vanetza_ITS2_CauseCodeChoice_PR_reserved114, + Vanetza_ITS2_CauseCodeChoice_PR_reserved115, + Vanetza_ITS2_CauseCodeChoice_PR_reserved116, + Vanetza_ITS2_CauseCodeChoice_PR_reserved117, + Vanetza_ITS2_CauseCodeChoice_PR_reserved118, + Vanetza_ITS2_CauseCodeChoice_PR_reserved119, + Vanetza_ITS2_CauseCodeChoice_PR_reserved120, + Vanetza_ITS2_CauseCodeChoice_PR_reserved121, + Vanetza_ITS2_CauseCodeChoice_PR_reserved122, + Vanetza_ITS2_CauseCodeChoice_PR_reserved123, + Vanetza_ITS2_CauseCodeChoice_PR_reserved124, + Vanetza_ITS2_CauseCodeChoice_PR_reserved125, + Vanetza_ITS2_CauseCodeChoice_PR_reserved126, + Vanetza_ITS2_CauseCodeChoice_PR_reserved127, + Vanetza_ITS2_CauseCodeChoice_PR_reserved128 +} Vanetza_ITS2_CauseCodeChoice_PR; + +/* Vanetza_ITS2_CauseCodeChoice */ +typedef struct Vanetza_ITS2_CauseCodeChoice { + Vanetza_ITS2_CauseCodeChoice_PR present; + union Vanetza_ITS2_CauseCodeChoice_u { + Vanetza_ITS2_SubCauseCodeType_t reserved0; + Vanetza_ITS2_TrafficConditionSubCauseCode_t trafficCondition1; + Vanetza_ITS2_AccidentSubCauseCode_t accident2; + Vanetza_ITS2_RoadworksSubCauseCode_t roadworks3; + Vanetza_ITS2_SubCauseCodeType_t reserved4; + Vanetza_ITS2_ImpassabilitySubCauseCode_t impassability5; + Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode_t adverseWeatherCondition_Adhesion6; + Vanetza_ITS2_SubCauseCodeType_t aquaplaning7; + Vanetza_ITS2_SubCauseCodeType_t reserved8; + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_t hazardousLocation_SurfaceCondition9; + Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_t hazardousLocation_ObstacleOnTheRoad10; + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_t hazardousLocation_AnimalOnTheRoad11; + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_t humanPresenceOnTheRoad12; + Vanetza_ITS2_SubCauseCodeType_t reserved13; + Vanetza_ITS2_WrongWayDrivingSubCauseCode_t wrongWayDriving14; + Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_t rescueAndRecoveryWorkInProgress15; + Vanetza_ITS2_SubCauseCodeType_t reserved16; + Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_t adverseWeatherCondition_ExtremeWeatherCondition17; + Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_t adverseWeatherCondition_Visibility18; + Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_t adverseWeatherCondition_Precipitation19; + Vanetza_ITS2_SubCauseCodeType_t violence20; + Vanetza_ITS2_SubCauseCodeType_t reserved21; + Vanetza_ITS2_SubCauseCodeType_t reserved22; + Vanetza_ITS2_SubCauseCodeType_t reserved23; + Vanetza_ITS2_SubCauseCodeType_t reserved24; + Vanetza_ITS2_SubCauseCodeType_t reserved25; + Vanetza_ITS2_SlowVehicleSubCauseCode_t slowVehicle26; + Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_t dangerousEndOfQueue27; + Vanetza_ITS2_SubCauseCodeType_t publicTransportVehicleApproaching28; + Vanetza_ITS2_SubCauseCodeType_t reserved29; + Vanetza_ITS2_SubCauseCodeType_t reserved30; + Vanetza_ITS2_SubCauseCodeType_t reserved31; + Vanetza_ITS2_SubCauseCodeType_t reserved32; + Vanetza_ITS2_SubCauseCodeType_t reserved33; + Vanetza_ITS2_SubCauseCodeType_t reserved34; + Vanetza_ITS2_SubCauseCodeType_t reserved35; + Vanetza_ITS2_SubCauseCodeType_t reserved36; + Vanetza_ITS2_SubCauseCodeType_t reserved37; + Vanetza_ITS2_SubCauseCodeType_t reserved38; + Vanetza_ITS2_SubCauseCodeType_t reserved39; + Vanetza_ITS2_SubCauseCodeType_t reserved40; + Vanetza_ITS2_SubCauseCodeType_t reserved41; + Vanetza_ITS2_SubCauseCodeType_t reserved42; + Vanetza_ITS2_SubCauseCodeType_t reserved43; + Vanetza_ITS2_SubCauseCodeType_t reserved44; + Vanetza_ITS2_SubCauseCodeType_t reserved45; + Vanetza_ITS2_SubCauseCodeType_t reserved46; + Vanetza_ITS2_SubCauseCodeType_t reserved47; + Vanetza_ITS2_SubCauseCodeType_t reserved48; + Vanetza_ITS2_SubCauseCodeType_t reserved49; + Vanetza_ITS2_SubCauseCodeType_t reserved50; + Vanetza_ITS2_SubCauseCodeType_t reserved51; + Vanetza_ITS2_SubCauseCodeType_t reserved52; + Vanetza_ITS2_SubCauseCodeType_t reserved53; + Vanetza_ITS2_SubCauseCodeType_t reserved54; + Vanetza_ITS2_SubCauseCodeType_t reserved55; + Vanetza_ITS2_SubCauseCodeType_t reserved56; + Vanetza_ITS2_SubCauseCodeType_t reserved57; + Vanetza_ITS2_SubCauseCodeType_t reserved58; + Vanetza_ITS2_SubCauseCodeType_t reserved59; + Vanetza_ITS2_SubCauseCodeType_t reserved60; + Vanetza_ITS2_SubCauseCodeType_t reserved61; + Vanetza_ITS2_SubCauseCodeType_t reserved62; + Vanetza_ITS2_SubCauseCodeType_t reserved63; + Vanetza_ITS2_SubCauseCodeType_t reserved64; + Vanetza_ITS2_SubCauseCodeType_t reserved65; + Vanetza_ITS2_SubCauseCodeType_t reserved66; + Vanetza_ITS2_SubCauseCodeType_t reserved67; + Vanetza_ITS2_SubCauseCodeType_t reserved68; + Vanetza_ITS2_SubCauseCodeType_t reserved69; + Vanetza_ITS2_SubCauseCodeType_t reserved70; + Vanetza_ITS2_SubCauseCodeType_t reserved71; + Vanetza_ITS2_SubCauseCodeType_t reserved72; + Vanetza_ITS2_SubCauseCodeType_t reserved73; + Vanetza_ITS2_SubCauseCodeType_t reserved74; + Vanetza_ITS2_SubCauseCodeType_t reserved75; + Vanetza_ITS2_SubCauseCodeType_t reserved76; + Vanetza_ITS2_SubCauseCodeType_t reserved77; + Vanetza_ITS2_SubCauseCodeType_t reserved78; + Vanetza_ITS2_SubCauseCodeType_t reserved79; + Vanetza_ITS2_SubCauseCodeType_t reserved80; + Vanetza_ITS2_SubCauseCodeType_t reserved81; + Vanetza_ITS2_SubCauseCodeType_t reserved82; + Vanetza_ITS2_SubCauseCodeType_t reserved83; + Vanetza_ITS2_SubCauseCodeType_t reserved84; + Vanetza_ITS2_SubCauseCodeType_t reserved85; + Vanetza_ITS2_SubCauseCodeType_t reserved86; + Vanetza_ITS2_SubCauseCodeType_t reserved87; + Vanetza_ITS2_SubCauseCodeType_t reserved88; + Vanetza_ITS2_SubCauseCodeType_t reserved89; + Vanetza_ITS2_SubCauseCodeType_t reserved90; + Vanetza_ITS2_VehicleBreakdownSubCauseCode_t vehicleBreakdown91; + Vanetza_ITS2_PostCrashSubCauseCode_t postCrash92; + Vanetza_ITS2_HumanProblemSubCauseCode_t humanProblem93; + Vanetza_ITS2_StationaryVehicleSubCauseCode_t stationaryVehicle94; + Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_t emergencyVehicleApproaching95; + Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_t hazardousLocation_DangerousCurve96; + Vanetza_ITS2_CollisionRiskSubCauseCode_t collisionRisk97; + Vanetza_ITS2_SignalViolationSubCauseCode_t signalViolation98; + Vanetza_ITS2_DangerousSituationSubCauseCode_t dangerousSituation99; + Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_t railwayLevelCrossing100; + Vanetza_ITS2_SubCauseCodeType_t reserved101; + Vanetza_ITS2_SubCauseCodeType_t reserved102; + Vanetza_ITS2_SubCauseCodeType_t reserved103; + Vanetza_ITS2_SubCauseCodeType_t reserved104; + Vanetza_ITS2_SubCauseCodeType_t reserved105; + Vanetza_ITS2_SubCauseCodeType_t reserved106; + Vanetza_ITS2_SubCauseCodeType_t reserved107; + Vanetza_ITS2_SubCauseCodeType_t reserved108; + Vanetza_ITS2_SubCauseCodeType_t reserved109; + Vanetza_ITS2_SubCauseCodeType_t reserved110; + Vanetza_ITS2_SubCauseCodeType_t reserved111; + Vanetza_ITS2_SubCauseCodeType_t reserved112; + Vanetza_ITS2_SubCauseCodeType_t reserved113; + Vanetza_ITS2_SubCauseCodeType_t reserved114; + Vanetza_ITS2_SubCauseCodeType_t reserved115; + Vanetza_ITS2_SubCauseCodeType_t reserved116; + Vanetza_ITS2_SubCauseCodeType_t reserved117; + Vanetza_ITS2_SubCauseCodeType_t reserved118; + Vanetza_ITS2_SubCauseCodeType_t reserved119; + Vanetza_ITS2_SubCauseCodeType_t reserved120; + Vanetza_ITS2_SubCauseCodeType_t reserved121; + Vanetza_ITS2_SubCauseCodeType_t reserved122; + Vanetza_ITS2_SubCauseCodeType_t reserved123; + Vanetza_ITS2_SubCauseCodeType_t reserved124; + Vanetza_ITS2_SubCauseCodeType_t reserved125; + Vanetza_ITS2_SubCauseCodeType_t reserved126; + Vanetza_ITS2_SubCauseCodeType_t reserved127; + Vanetza_ITS2_SubCauseCodeType_t reserved128; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CauseCodeChoice_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CauseCodeChoice; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_CauseCodeChoice_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CauseCodeChoice_1[129]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CauseCodeChoice_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CauseCodeChoice_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CauseCodeType.c b/vanetza/asn1/its/r2/CauseCodeType.c new file mode 100644 index 000000000..82a0c9908 --- /dev/null +++ b/vanetza/asn1/its/r2/CauseCodeType.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CauseCodeType.h" + +int +Vanetza_ITS2_CauseCodeType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CauseCodeType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CauseCodeType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CauseCodeType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CauseCodeType = { + "CauseCodeType", + "CauseCodeType", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CauseCodeType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CauseCodeType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CauseCodeType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CauseCodeType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CauseCodeType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CauseCodeType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CauseCodeType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CauseCodeType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CauseCodeType_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CauseCodeType.h b/vanetza/asn1/its/r2/CauseCodeType.h new file mode 100644 index 000000000..5bac464f6 --- /dev/null +++ b/vanetza/asn1/its/r2/CauseCodeType.h @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CauseCodeType_H_ +#define _Vanetza_ITS2_CauseCodeType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CauseCodeType { + Vanetza_ITS2_CauseCodeType_trafficCondition = 1, + Vanetza_ITS2_CauseCodeType_accident = 2, + Vanetza_ITS2_CauseCodeType_roadworks = 3, + Vanetza_ITS2_CauseCodeType_impassability = 5, + Vanetza_ITS2_CauseCodeType_adverseWeatherCondition_Adhesion = 6, + Vanetza_ITS2_CauseCodeType_aquaplaning = 7, + Vanetza_ITS2_CauseCodeType_hazardousLocation_SurfaceCondition = 9, + Vanetza_ITS2_CauseCodeType_hazardousLocation_ObstacleOnTheRoad = 10, + Vanetza_ITS2_CauseCodeType_hazardousLocation_AnimalOnTheRoad = 11, + Vanetza_ITS2_CauseCodeType_humanPresenceOnTheRoad = 12, + Vanetza_ITS2_CauseCodeType_wrongWayDriving = 14, + Vanetza_ITS2_CauseCodeType_rescueAndRecoveryWorkInProgress = 15, + Vanetza_ITS2_CauseCodeType_adverseWeatherCondition_ExtremeWeatherCondition = 17, + Vanetza_ITS2_CauseCodeType_adverseWeatherCondition_Visibility = 18, + Vanetza_ITS2_CauseCodeType_adverseWeatherCondition_Precipitation = 19, + Vanetza_ITS2_CauseCodeType_violence = 20, + Vanetza_ITS2_CauseCodeType_slowVehicle = 26, + Vanetza_ITS2_CauseCodeType_dangerousEndOfQueue = 27, + Vanetza_ITS2_CauseCodeType_publicTransportVehicleApproaching = 28, + Vanetza_ITS2_CauseCodeType_vehicleBreakdown = 91, + Vanetza_ITS2_CauseCodeType_postCrash = 92, + Vanetza_ITS2_CauseCodeType_humanProblem = 93, + Vanetza_ITS2_CauseCodeType_stationaryVehicle = 94, + Vanetza_ITS2_CauseCodeType_emergencyVehicleApproaching = 95, + Vanetza_ITS2_CauseCodeType_hazardousLocation_DangerousCurve = 96, + Vanetza_ITS2_CauseCodeType_collisionRisk = 97, + Vanetza_ITS2_CauseCodeType_signalViolation = 98, + Vanetza_ITS2_CauseCodeType_dangerousSituation = 99, + Vanetza_ITS2_CauseCodeType_railwayLevelCrossing = 100 +} e_Vanetza_ITS2_CauseCodeType; + +/* Vanetza_ITS2_CauseCodeType */ +typedef long Vanetza_ITS2_CauseCodeType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CauseCodeType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CauseCodeType; +asn_struct_free_f Vanetza_ITS2_CauseCodeType_free; +asn_struct_print_f Vanetza_ITS2_CauseCodeType_print; +asn_constr_check_f Vanetza_ITS2_CauseCodeType_constraint; +ber_type_decoder_f Vanetza_ITS2_CauseCodeType_decode_ber; +der_type_encoder_f Vanetza_ITS2_CauseCodeType_encode_der; +xer_type_decoder_f Vanetza_ITS2_CauseCodeType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CauseCodeType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CauseCodeType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CauseCodeType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CauseCodeType_encode_oer; +per_type_decoder_f Vanetza_ITS2_CauseCodeType_decode_uper; +per_type_encoder_f Vanetza_ITS2_CauseCodeType_encode_uper; +per_type_decoder_f Vanetza_ITS2_CauseCodeType_decode_aper; +per_type_encoder_f Vanetza_ITS2_CauseCodeType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CauseCodeType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CauseCodeV2.c b/vanetza/asn1/its/r2/CauseCodeV2.c new file mode 100644 index 000000000..75289a57d --- /dev/null +++ b/vanetza/asn1/its/r2/CauseCodeV2.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CauseCodeV2.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CauseCodeV2_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CauseCodeV2, ccAndScc), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CauseCodeChoice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ccAndScc" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CauseCodeV2_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CauseCodeV2_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ccAndScc */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CauseCodeV2_specs_1 = { + sizeof(struct Vanetza_ITS2_CauseCodeV2), + offsetof(struct Vanetza_ITS2_CauseCodeV2, _asn_ctx), + asn_MAP_Vanetza_ITS2_CauseCodeV2_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CauseCodeV2 = { + "CauseCodeV2", + "CauseCodeV2", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CauseCodeV2_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CauseCodeV2_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CauseCodeV2_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CauseCodeV2_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CauseCodeV2_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CauseCodeV2_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CauseCodeV2_1, + 1, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CauseCodeV2_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CauseCodeV2.h b/vanetza/asn1/its/r2/CauseCodeV2.h new file mode 100644 index 000000000..1c7830605 --- /dev/null +++ b/vanetza/asn1/its/r2/CauseCodeV2.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CauseCodeV2_H_ +#define _Vanetza_ITS2_CauseCodeV2_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CauseCodeChoice.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CauseCodeV2 */ +typedef struct Vanetza_ITS2_CauseCodeV2 { + Vanetza_ITS2_CauseCodeChoice_t ccAndScc; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CauseCodeV2_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CauseCodeV2; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CauseCodeV2_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CauseCodeV2_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CauseCodeV2_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CenDsrcTollingZone.c b/vanetza/asn1/its/r2/CenDsrcTollingZone.c new file mode 100644 index 000000000..08d578e23 --- /dev/null +++ b/vanetza/asn1/its/r2/CenDsrcTollingZone.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CenDsrcTollingZone.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CenDsrcTollingZone_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CenDsrcTollingZone, protectedZoneLatitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "protectedZoneLatitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CenDsrcTollingZone, protectedZoneLongitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "protectedZoneLongitude" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_CenDsrcTollingZone, cenDsrcTollingZoneId), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ProtectedZoneId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cenDsrcTollingZoneId" + }, +}; +static const int asn_MAP_Vanetza_ITS2_CenDsrcTollingZone_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CenDsrcTollingZone_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CenDsrcTollingZone_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protectedZoneLatitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* protectedZoneLongitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* cenDsrcTollingZoneId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CenDsrcTollingZone_specs_1 = { + sizeof(struct Vanetza_ITS2_CenDsrcTollingZone), + offsetof(struct Vanetza_ITS2_CenDsrcTollingZone, _asn_ctx), + asn_MAP_Vanetza_ITS2_CenDsrcTollingZone_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_CenDsrcTollingZone_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CenDsrcTollingZone = { + "CenDsrcTollingZone", + "CenDsrcTollingZone", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CenDsrcTollingZone_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CenDsrcTollingZone_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CenDsrcTollingZone_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CenDsrcTollingZone_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CenDsrcTollingZone_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CenDsrcTollingZone_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CenDsrcTollingZone_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CenDsrcTollingZone_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CenDsrcTollingZone.h b/vanetza/asn1/its/r2/CenDsrcTollingZone.h new file mode 100644 index 000000000..03a19f4ee --- /dev/null +++ b/vanetza/asn1/its/r2/CenDsrcTollingZone.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CenDsrcTollingZone_H_ +#define _Vanetza_ITS2_CenDsrcTollingZone_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Latitude.h" +#include "Longitude.h" +#include "ProtectedZoneId.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CenDsrcTollingZone */ +typedef struct Vanetza_ITS2_CenDsrcTollingZone { + Vanetza_ITS2_Latitude_t protectedZoneLatitude; + Vanetza_ITS2_Longitude_t protectedZoneLongitude; + Vanetza_ITS2_ProtectedZoneId_t *cenDsrcTollingZoneId; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CenDsrcTollingZone_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CenDsrcTollingZone; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CenDsrcTollingZone_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CenDsrcTollingZone_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CenDsrcTollingZone_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CenDsrcTollingZoneID.c b/vanetza/asn1/its/r2/CenDsrcTollingZoneID.c new file mode 100644 index 000000000..a5da28b91 --- /dev/null +++ b/vanetza/asn1/its/r2/CenDsrcTollingZoneID.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CenDsrcTollingZoneID.h" + +int +Vanetza_ITS2_CenDsrcTollingZoneID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 134217727L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Vanetza_ITS2_ProtectedZoneId, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CenDsrcTollingZoneID_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..134217727) */, + -1}; +#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_Vanetza_ITS2_CenDsrcTollingZoneID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 27, -1, 0, 134217727 } /* (0..134217727) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CenDsrcTollingZoneID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CenDsrcTollingZoneID = { + "CenDsrcTollingZoneID", + "CenDsrcTollingZoneID", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CenDsrcTollingZoneID_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CenDsrcTollingZoneID_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CenDsrcTollingZoneID_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CenDsrcTollingZoneID_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CenDsrcTollingZoneID_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CenDsrcTollingZoneID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CenDsrcTollingZoneID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CenDsrcTollingZoneID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CenDsrcTollingZoneID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CenDsrcTollingZoneID.h b/vanetza/asn1/its/r2/CenDsrcTollingZoneID.h new file mode 100644 index 000000000..d25126b62 --- /dev/null +++ b/vanetza/asn1/its/r2/CenDsrcTollingZoneID.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CenDsrcTollingZoneID_H_ +#define _Vanetza_ITS2_CenDsrcTollingZoneID_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "ProtectedZoneId.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CenDsrcTollingZoneID */ +typedef Vanetza_ITS2_ProtectedZoneId_t Vanetza_ITS2_CenDsrcTollingZoneID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CenDsrcTollingZoneID; +asn_struct_free_f Vanetza_ITS2_CenDsrcTollingZoneID_free; +asn_struct_print_f Vanetza_ITS2_CenDsrcTollingZoneID_print; +asn_constr_check_f Vanetza_ITS2_CenDsrcTollingZoneID_constraint; +ber_type_decoder_f Vanetza_ITS2_CenDsrcTollingZoneID_decode_ber; +der_type_encoder_f Vanetza_ITS2_CenDsrcTollingZoneID_encode_der; +xer_type_decoder_f Vanetza_ITS2_CenDsrcTollingZoneID_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CenDsrcTollingZoneID_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CenDsrcTollingZoneID_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CenDsrcTollingZoneID_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CenDsrcTollingZoneID_encode_oer; +per_type_decoder_f Vanetza_ITS2_CenDsrcTollingZoneID_decode_uper; +per_type_encoder_f Vanetza_ITS2_CenDsrcTollingZoneID_encode_uper; +per_type_decoder_f Vanetza_ITS2_CenDsrcTollingZoneID_decode_aper; +per_type_encoder_f Vanetza_ITS2_CenDsrcTollingZoneID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CenDsrcTollingZoneID_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CircularShape.c b/vanetza/asn1/its/r2/CircularShape.c new file mode 100644 index 000000000..e304eda66 --- /dev/null +++ b/vanetza/asn1/its/r2/CircularShape.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CircularShape.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CircularShape_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_CircularShape, shapeReferencePoint), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianPosition3d, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "shapeReferencePoint" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CircularShape, radius), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "radius" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_CircularShape, height), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "height" + }, +}; +static const int asn_MAP_Vanetza_ITS2_CircularShape_oms_1[] = { 0, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CircularShape_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CircularShape_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* shapeReferencePoint */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* radius */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* height */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CircularShape_specs_1 = { + sizeof(struct Vanetza_ITS2_CircularShape), + offsetof(struct Vanetza_ITS2_CircularShape, _asn_ctx), + asn_MAP_Vanetza_ITS2_CircularShape_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_CircularShape_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CircularShape = { + "CircularShape", + "CircularShape", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CircularShape_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CircularShape_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CircularShape_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CircularShape_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CircularShape_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CircularShape_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CircularShape_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CircularShape_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CircularShape.h b/vanetza/asn1/its/r2/CircularShape.h new file mode 100644 index 000000000..f8ba8bf9d --- /dev/null +++ b/vanetza/asn1/its/r2/CircularShape.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CircularShape_H_ +#define _Vanetza_ITS2_CircularShape_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StandardLength12b.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CartesianPosition3d; + +/* Vanetza_ITS2_CircularShape */ +typedef struct Vanetza_ITS2_CircularShape { + struct Vanetza_ITS2_CartesianPosition3d *shapeReferencePoint; /* OPTIONAL */ + Vanetza_ITS2_StandardLength12b_t radius; + Vanetza_ITS2_StandardLength12b_t *height; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CircularShape_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CircularShape; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CircularShape_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CircularShape_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CartesianPosition3d.h" + +#endif /* _Vanetza_ITS2_CircularShape_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ClosedLanes.c b/vanetza/asn1/its/r2/ClosedLanes.c new file mode 100644 index 000000000..9dd917502 --- /dev/null +++ b/vanetza/asn1/its/r2/ClosedLanes.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ClosedLanes.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ClosedLanes_1[] = { + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_ClosedLanes, innerhardShoulderStatus), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HardShoulderStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "innerhardShoulderStatus" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_ClosedLanes, outerhardShoulderStatus), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HardShoulderStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "outerhardShoulderStatus" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_ClosedLanes, drivingLaneStatus), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DrivingLaneStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "drivingLaneStatus" + }, +}; +static const int asn_MAP_Vanetza_ITS2_ClosedLanes_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ClosedLanes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ClosedLanes_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* innerhardShoulderStatus */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* outerhardShoulderStatus */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* drivingLaneStatus */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ClosedLanes_specs_1 = { + sizeof(struct Vanetza_ITS2_ClosedLanes), + offsetof(struct Vanetza_ITS2_ClosedLanes, _asn_ctx), + asn_MAP_Vanetza_ITS2_ClosedLanes_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_ClosedLanes_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClosedLanes = { + "ClosedLanes", + "ClosedLanes", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ClosedLanes_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ClosedLanes_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClosedLanes_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ClosedLanes_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ClosedLanes_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClosedLanes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ClosedLanes_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ClosedLanes_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ClosedLanes.h b/vanetza/asn1/its/r2/ClosedLanes.h new file mode 100644 index 000000000..9cf7ec6f7 --- /dev/null +++ b/vanetza/asn1/its/r2/ClosedLanes.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ClosedLanes_H_ +#define _Vanetza_ITS2_ClosedLanes_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "HardShoulderStatus.h" +#include "DrivingLaneStatus.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ClosedLanes */ +typedef struct Vanetza_ITS2_ClosedLanes { + Vanetza_ITS2_HardShoulderStatus_t *innerhardShoulderStatus; /* OPTIONAL */ + Vanetza_ITS2_HardShoulderStatus_t *outerhardShoulderStatus; /* OPTIONAL */ + Vanetza_ITS2_DrivingLaneStatus_t *drivingLaneStatus; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ClosedLanes_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClosedLanes; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ClosedLanes_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ClosedLanes_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ClosedLanes_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ClusterBreakupInfo.c b/vanetza/asn1/its/r2/ClusterBreakupInfo.c new file mode 100644 index 000000000..7c6d35f47 --- /dev/null +++ b/vanetza/asn1/its/r2/ClusterBreakupInfo.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ClusterBreakupInfo.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ClusterBreakupInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ClusterBreakupInfo, clusterBreakupReason), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ClusterBreakupReason, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "clusterBreakupReason" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ClusterBreakupInfo, breakupTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeQuarterSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "breakupTime" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ClusterBreakupInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ClusterBreakupInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* clusterBreakupReason */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* breakupTime */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ClusterBreakupInfo_specs_1 = { + sizeof(struct Vanetza_ITS2_ClusterBreakupInfo), + offsetof(struct Vanetza_ITS2_ClusterBreakupInfo, _asn_ctx), + asn_MAP_Vanetza_ITS2_ClusterBreakupInfo_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClusterBreakupInfo = { + "ClusterBreakupInfo", + "ClusterBreakupInfo", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ClusterBreakupInfo_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ClusterBreakupInfo_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClusterBreakupInfo_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ClusterBreakupInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ClusterBreakupInfo_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClusterBreakupInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ClusterBreakupInfo_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ClusterBreakupInfo_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ClusterBreakupInfo.h b/vanetza/asn1/its/r2/ClusterBreakupInfo.h new file mode 100644 index 000000000..c44b02d13 --- /dev/null +++ b/vanetza/asn1/its/r2/ClusterBreakupInfo.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ClusterBreakupInfo_H_ +#define _Vanetza_ITS2_ClusterBreakupInfo_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "ClusterBreakupReason.h" +#include "DeltaTimeQuarterSecond.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ClusterBreakupInfo */ +typedef struct Vanetza_ITS2_ClusterBreakupInfo { + Vanetza_ITS2_ClusterBreakupReason_t clusterBreakupReason; + Vanetza_ITS2_DeltaTimeQuarterSecond_t breakupTime; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ClusterBreakupInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClusterBreakupInfo; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ClusterBreakupInfo_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ClusterBreakupReason.c b/vanetza/asn1/its/r2/ClusterBreakupReason.c new file mode 100644 index 000000000..0ab5998c5 --- /dev/null +++ b/vanetza/asn1/its/r2/ClusterBreakupReason.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ClusterBreakupReason.h" + +int +Vanetza_ITS2_ClusterBreakupReason_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ClusterBreakupReason_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ClusterBreakupReason_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ClusterBreakupReason_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClusterBreakupReason = { + "ClusterBreakupReason", + "ClusterBreakupReason", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_ClusterBreakupReason_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ClusterBreakupReason_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClusterBreakupReason_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ClusterBreakupReason_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ClusterBreakupReason_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClusterBreakupReason_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ClusterBreakupReason_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ClusterBreakupReason_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ClusterBreakupReason_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/ClusterBreakupReason.h b/vanetza/asn1/its/r2/ClusterBreakupReason.h new file mode 100644 index 000000000..6d45f44f2 --- /dev/null +++ b/vanetza/asn1/its/r2/ClusterBreakupReason.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ClusterBreakupReason_H_ +#define _Vanetza_ITS2_ClusterBreakupReason_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ClusterBreakupReason { + Vanetza_ITS2_ClusterBreakupReason_notProvided = 0, + Vanetza_ITS2_ClusterBreakupReason_clusteringPurposeCompleted = 1, + Vanetza_ITS2_ClusterBreakupReason_leaderMovedOutOfClusterBoundingBox = 2, + Vanetza_ITS2_ClusterBreakupReason_joiningAnotherCluster = 3, + Vanetza_ITS2_ClusterBreakupReason_enteringLowRiskAreaBasedOnMaps = 4, + Vanetza_ITS2_ClusterBreakupReason_receptionOfCpmContainingCluster = 5 +} e_Vanetza_ITS2_ClusterBreakupReason; + +/* Vanetza_ITS2_ClusterBreakupReason */ +typedef long Vanetza_ITS2_ClusterBreakupReason_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ClusterBreakupReason_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClusterBreakupReason; +asn_struct_free_f Vanetza_ITS2_ClusterBreakupReason_free; +asn_struct_print_f Vanetza_ITS2_ClusterBreakupReason_print; +asn_constr_check_f Vanetza_ITS2_ClusterBreakupReason_constraint; +ber_type_decoder_f Vanetza_ITS2_ClusterBreakupReason_decode_ber; +der_type_encoder_f Vanetza_ITS2_ClusterBreakupReason_encode_der; +xer_type_decoder_f Vanetza_ITS2_ClusterBreakupReason_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ClusterBreakupReason_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ClusterBreakupReason_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ClusterBreakupReason_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ClusterBreakupReason_encode_oer; +per_type_decoder_f Vanetza_ITS2_ClusterBreakupReason_decode_uper; +per_type_encoder_f Vanetza_ITS2_ClusterBreakupReason_encode_uper; +per_type_decoder_f Vanetza_ITS2_ClusterBreakupReason_decode_aper; +per_type_encoder_f Vanetza_ITS2_ClusterBreakupReason_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ClusterBreakupReason_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ClusterJoinInfo.c b/vanetza/asn1/its/r2/ClusterJoinInfo.c new file mode 100644 index 000000000..2f4d4f06b --- /dev/null +++ b/vanetza/asn1/its/r2/ClusterJoinInfo.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ClusterJoinInfo.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ClusterJoinInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ClusterJoinInfo, clusterId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "clusterId" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ClusterJoinInfo, joinTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeQuarterSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "joinTime" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ClusterJoinInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ClusterJoinInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* clusterId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* joinTime */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ClusterJoinInfo_specs_1 = { + sizeof(struct Vanetza_ITS2_ClusterJoinInfo), + offsetof(struct Vanetza_ITS2_ClusterJoinInfo, _asn_ctx), + asn_MAP_Vanetza_ITS2_ClusterJoinInfo_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClusterJoinInfo = { + "ClusterJoinInfo", + "ClusterJoinInfo", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ClusterJoinInfo_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ClusterJoinInfo_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClusterJoinInfo_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ClusterJoinInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ClusterJoinInfo_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClusterJoinInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ClusterJoinInfo_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ClusterJoinInfo_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ClusterJoinInfo.h b/vanetza/asn1/its/r2/ClusterJoinInfo.h new file mode 100644 index 000000000..097b437c4 --- /dev/null +++ b/vanetza/asn1/its/r2/ClusterJoinInfo.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ClusterJoinInfo_H_ +#define _Vanetza_ITS2_ClusterJoinInfo_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier1B.h" +#include "DeltaTimeQuarterSecond.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ClusterJoinInfo */ +typedef struct Vanetza_ITS2_ClusterJoinInfo { + Vanetza_ITS2_Identifier1B_t clusterId; + Vanetza_ITS2_DeltaTimeQuarterSecond_t joinTime; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ClusterJoinInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClusterJoinInfo; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ClusterJoinInfo_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ClusterLeaveInfo.c b/vanetza/asn1/its/r2/ClusterLeaveInfo.c new file mode 100644 index 000000000..44c786dd3 --- /dev/null +++ b/vanetza/asn1/its/r2/ClusterLeaveInfo.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ClusterLeaveInfo.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ClusterLeaveInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ClusterLeaveInfo, clusterId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "clusterId" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ClusterLeaveInfo, clusterLeaveReason), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ClusterLeaveReason, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "clusterLeaveReason" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ClusterLeaveInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ClusterLeaveInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* clusterId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* clusterLeaveReason */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ClusterLeaveInfo_specs_1 = { + sizeof(struct Vanetza_ITS2_ClusterLeaveInfo), + offsetof(struct Vanetza_ITS2_ClusterLeaveInfo, _asn_ctx), + asn_MAP_Vanetza_ITS2_ClusterLeaveInfo_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClusterLeaveInfo = { + "ClusterLeaveInfo", + "ClusterLeaveInfo", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ClusterLeaveInfo_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ClusterLeaveInfo_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClusterLeaveInfo_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ClusterLeaveInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ClusterLeaveInfo_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClusterLeaveInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ClusterLeaveInfo_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ClusterLeaveInfo_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ClusterLeaveInfo.h b/vanetza/asn1/its/r2/ClusterLeaveInfo.h new file mode 100644 index 000000000..0331f8ed3 --- /dev/null +++ b/vanetza/asn1/its/r2/ClusterLeaveInfo.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ClusterLeaveInfo_H_ +#define _Vanetza_ITS2_ClusterLeaveInfo_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier1B.h" +#include "ClusterLeaveReason.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ClusterLeaveInfo */ +typedef struct Vanetza_ITS2_ClusterLeaveInfo { + Vanetza_ITS2_Identifier1B_t clusterId; + Vanetza_ITS2_ClusterLeaveReason_t clusterLeaveReason; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ClusterLeaveInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClusterLeaveInfo; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ClusterLeaveInfo_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ClusterLeaveReason.c b/vanetza/asn1/its/r2/ClusterLeaveReason.c new file mode 100644 index 000000000..4bcd20c65 --- /dev/null +++ b/vanetza/asn1/its/r2/ClusterLeaveReason.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ClusterLeaveReason.h" + +int +Vanetza_ITS2_ClusterLeaveReason_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ClusterLeaveReason_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ClusterLeaveReason_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ClusterLeaveReason_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClusterLeaveReason = { + "ClusterLeaveReason", + "ClusterLeaveReason", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_ClusterLeaveReason_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ClusterLeaveReason_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClusterLeaveReason_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ClusterLeaveReason_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ClusterLeaveReason_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ClusterLeaveReason_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ClusterLeaveReason_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ClusterLeaveReason_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ClusterLeaveReason_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/ClusterLeaveReason.h b/vanetza/asn1/its/r2/ClusterLeaveReason.h new file mode 100644 index 000000000..a50d54b20 --- /dev/null +++ b/vanetza/asn1/its/r2/ClusterLeaveReason.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ClusterLeaveReason_H_ +#define _Vanetza_ITS2_ClusterLeaveReason_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ClusterLeaveReason { + Vanetza_ITS2_ClusterLeaveReason_notProvided = 0, + Vanetza_ITS2_ClusterLeaveReason_clusterLeaderLost = 1, + Vanetza_ITS2_ClusterLeaveReason_clusterDisbandedByLeader = 2, + Vanetza_ITS2_ClusterLeaveReason_outOfClusterBoundingBox = 3, + Vanetza_ITS2_ClusterLeaveReason_outOfClusterSpeedRange = 4, + Vanetza_ITS2_ClusterLeaveReason_joiningAnotherCluster = 5, + Vanetza_ITS2_ClusterLeaveReason_cancelledJoin = 6, + Vanetza_ITS2_ClusterLeaveReason_failedJoin = 7, + Vanetza_ITS2_ClusterLeaveReason_safetyCondition = 8 +} e_Vanetza_ITS2_ClusterLeaveReason; + +/* Vanetza_ITS2_ClusterLeaveReason */ +typedef long Vanetza_ITS2_ClusterLeaveReason_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ClusterLeaveReason_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ClusterLeaveReason; +asn_struct_free_f Vanetza_ITS2_ClusterLeaveReason_free; +asn_struct_print_f Vanetza_ITS2_ClusterLeaveReason_print; +asn_constr_check_f Vanetza_ITS2_ClusterLeaveReason_constraint; +ber_type_decoder_f Vanetza_ITS2_ClusterLeaveReason_decode_ber; +der_type_encoder_f Vanetza_ITS2_ClusterLeaveReason_encode_der; +xer_type_decoder_f Vanetza_ITS2_ClusterLeaveReason_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ClusterLeaveReason_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ClusterLeaveReason_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ClusterLeaveReason_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ClusterLeaveReason_encode_oer; +per_type_decoder_f Vanetza_ITS2_ClusterLeaveReason_decode_uper; +per_type_encoder_f Vanetza_ITS2_ClusterLeaveReason_encode_uper; +per_type_decoder_f Vanetza_ITS2_ClusterLeaveReason_decode_aper; +per_type_encoder_f Vanetza_ITS2_ClusterLeaveReason_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ClusterLeaveReason_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CollectivePerceptionMessage.c b/vanetza/asn1/its/r2/CollectivePerceptionMessage.c new file mode 100644 index 000000000..4c1f7f145 --- /dev/null +++ b/vanetza/asn1/its/r2/CollectivePerceptionMessage.c @@ -0,0 +1,124 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CollectivePerceptionMessage.h" + +static int +memb_Vanetza_ITS2_header_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_Vanetza_ITS2_header_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_header_constr_2 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_Vanetza_ITS2_CollectivePerceptionMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CollectivePerceptionMessage, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ItsPduHeader, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_header_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_header_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_header_constraint_1 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CollectivePerceptionMessage, payload), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CpmPayload, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "payload" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CollectivePerceptionMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CollectivePerceptionMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* payload */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CollectivePerceptionMessage_specs_1 = { + sizeof(struct Vanetza_ITS2_CollectivePerceptionMessage), + offsetof(struct Vanetza_ITS2_CollectivePerceptionMessage, _asn_ctx), + asn_MAP_Vanetza_ITS2_CollectivePerceptionMessage_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_Vanetza_ITS2_CollectivePerceptionMessage = { + "CollectivePerceptionMessage", + "CollectivePerceptionMessage", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CollectivePerceptionMessage_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CollectivePerceptionMessage_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CollectivePerceptionMessage_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CollectivePerceptionMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CollectivePerceptionMessage_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CollectivePerceptionMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CollectivePerceptionMessage_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CollectivePerceptionMessage_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CollectivePerceptionMessage.h b/vanetza/asn1/its/r2/CollectivePerceptionMessage.h new file mode 100644 index 000000000..1be675563 --- /dev/null +++ b/vanetza/asn1/its/r2/CollectivePerceptionMessage.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CollectivePerceptionMessage_H_ +#define _Vanetza_ITS2_CollectivePerceptionMessage_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "ItsPduHeader.h" +#include "CpmPayload.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CollectivePerceptionMessage */ +typedef struct Vanetza_ITS2_CollectivePerceptionMessage { + Vanetza_ITS2_ItsPduHeader_t header; + Vanetza_ITS2_CpmPayload_t payload; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CollectivePerceptionMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CollectivePerceptionMessage; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CollectivePerceptionMessage_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CollisionRiskSubCauseCode.c b/vanetza/asn1/its/r2/CollisionRiskSubCauseCode.c new file mode 100644 index 000000000..73ff348cb --- /dev/null +++ b/vanetza/asn1/its/r2/CollisionRiskSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CollisionRiskSubCauseCode.h" + +int +Vanetza_ITS2_CollisionRiskSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CollisionRiskSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CollisionRiskSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CollisionRiskSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CollisionRiskSubCauseCode = { + "CollisionRiskSubCauseCode", + "CollisionRiskSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CollisionRiskSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CollisionRiskSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CollisionRiskSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CollisionRiskSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CollisionRiskSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CollisionRiskSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CollisionRiskSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CollisionRiskSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CollisionRiskSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CollisionRiskSubCauseCode.h b/vanetza/asn1/its/r2/CollisionRiskSubCauseCode.h new file mode 100644 index 000000000..d51a65544 --- /dev/null +++ b/vanetza/asn1/its/r2/CollisionRiskSubCauseCode.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CollisionRiskSubCauseCode_H_ +#define _Vanetza_ITS2_CollisionRiskSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CollisionRiskSubCauseCode { + Vanetza_ITS2_CollisionRiskSubCauseCode_unavailable = 0, + Vanetza_ITS2_CollisionRiskSubCauseCode_longitudinalCollisionRisk = 1, + Vanetza_ITS2_CollisionRiskSubCauseCode_crossingCollisionRisk = 2, + Vanetza_ITS2_CollisionRiskSubCauseCode_lateralCollisionRisk = 3, + Vanetza_ITS2_CollisionRiskSubCauseCode_vulnerableRoadUser = 4, + Vanetza_ITS2_CollisionRiskSubCauseCode_collisionRiskWithPedestrian = 5, + Vanetza_ITS2_CollisionRiskSubCauseCode_collisionRiskWithCyclist = 6, + Vanetza_ITS2_CollisionRiskSubCauseCode_collisionRiskWithMotorVehicle = 7 +} e_Vanetza_ITS2_CollisionRiskSubCauseCode; + +/* Vanetza_ITS2_CollisionRiskSubCauseCode */ +typedef long Vanetza_ITS2_CollisionRiskSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CollisionRiskSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CollisionRiskSubCauseCode; +asn_struct_free_f Vanetza_ITS2_CollisionRiskSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_CollisionRiskSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_CollisionRiskSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_CollisionRiskSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_CollisionRiskSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_CollisionRiskSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CollisionRiskSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CollisionRiskSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CollisionRiskSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CollisionRiskSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_CollisionRiskSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_CollisionRiskSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_CollisionRiskSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_CollisionRiskSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CollisionRiskSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ConfidenceLevel.c b/vanetza/asn1/its/r2/ConfidenceLevel.c new file mode 100644 index 000000000..e3e5bcec6 --- /dev/null +++ b/vanetza/asn1/its/r2/ConfidenceLevel.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ConfidenceLevel.h" + +int +Vanetza_ITS2_ConfidenceLevel_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 101L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ConfidenceLevel_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..101) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ConfidenceLevel_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 101 } /* (1..101) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ConfidenceLevel_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ConfidenceLevel = { + "ConfidenceLevel", + "ConfidenceLevel", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_ConfidenceLevel_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ConfidenceLevel_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ConfidenceLevel_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ConfidenceLevel_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ConfidenceLevel_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ConfidenceLevel_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ConfidenceLevel_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ConfidenceLevel_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ConfidenceLevel_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/ConfidenceLevel.h b/vanetza/asn1/its/r2/ConfidenceLevel.h new file mode 100644 index 000000000..fe735d817 --- /dev/null +++ b/vanetza/asn1/its/r2/ConfidenceLevel.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ConfidenceLevel_H_ +#define _Vanetza_ITS2_ConfidenceLevel_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ConfidenceLevel { + Vanetza_ITS2_ConfidenceLevel_unavailable = 101 +} e_Vanetza_ITS2_ConfidenceLevel; + +/* Vanetza_ITS2_ConfidenceLevel */ +typedef long Vanetza_ITS2_ConfidenceLevel_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ConfidenceLevel_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ConfidenceLevel; +asn_struct_free_f Vanetza_ITS2_ConfidenceLevel_free; +asn_struct_print_f Vanetza_ITS2_ConfidenceLevel_print; +asn_constr_check_f Vanetza_ITS2_ConfidenceLevel_constraint; +ber_type_decoder_f Vanetza_ITS2_ConfidenceLevel_decode_ber; +der_type_encoder_f Vanetza_ITS2_ConfidenceLevel_encode_der; +xer_type_decoder_f Vanetza_ITS2_ConfidenceLevel_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ConfidenceLevel_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ConfidenceLevel_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ConfidenceLevel_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ConfidenceLevel_encode_oer; +per_type_decoder_f Vanetza_ITS2_ConfidenceLevel_decode_uper; +per_type_encoder_f Vanetza_ITS2_ConfidenceLevel_encode_uper; +per_type_decoder_f Vanetza_ITS2_ConfidenceLevel_decode_aper; +per_type_encoder_f Vanetza_ITS2_ConfidenceLevel_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ConfidenceLevel_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ConstraintWrappedCpmContainers.c b/vanetza/asn1/its/r2/ConstraintWrappedCpmContainers.c new file mode 100644 index 000000000..e0beb62dc --- /dev/null +++ b/vanetza/asn1/its/r2/ConstraintWrappedCpmContainers.c @@ -0,0 +1,81 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ConstraintWrappedCpmContainers.h" + +int +Vanetza_ITS2_ConstraintWrappedCpmContainers_constraint(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; + } +} + +/* + * This type is implemented using Vanetza_ITS2_WrappedCpmContainers, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ConstraintWrappedCpmContainers_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ConstraintWrappedCpmContainers_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ConstraintWrappedCpmContainers_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ConstraintWrappedCpmContainers = { + "ConstraintWrappedCpmContainers", + "ConstraintWrappedCpmContainers", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_ConstraintWrappedCpmContainers_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ConstraintWrappedCpmContainers_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ConstraintWrappedCpmContainers_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ConstraintWrappedCpmContainers_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ConstraintWrappedCpmContainers_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ConstraintWrappedCpmContainers_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ConstraintWrappedCpmContainers_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ConstraintWrappedCpmContainers_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ConstraintWrappedCpmContainers_constraint + }, + asn_MBR_Vanetza_ITS2_WrappedCpmContainers_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_WrappedCpmContainers_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ConstraintWrappedCpmContainers.h b/vanetza/asn1/its/r2/ConstraintWrappedCpmContainers.h new file mode 100644 index 000000000..4c7a4d348 --- /dev/null +++ b/vanetza/asn1/its/r2/ConstraintWrappedCpmContainers.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ConstraintWrappedCpmContainers_H_ +#define _Vanetza_ITS2_ConstraintWrappedCpmContainers_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "WrappedCpmContainers.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ConstraintWrappedCpmContainers */ +typedef Vanetza_ITS2_WrappedCpmContainers_t Vanetza_ITS2_ConstraintWrappedCpmContainers_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ConstraintWrappedCpmContainers_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ConstraintWrappedCpmContainers; +asn_struct_free_f Vanetza_ITS2_ConstraintWrappedCpmContainers_free; +asn_struct_print_f Vanetza_ITS2_ConstraintWrappedCpmContainers_print; +asn_constr_check_f Vanetza_ITS2_ConstraintWrappedCpmContainers_constraint; +ber_type_decoder_f Vanetza_ITS2_ConstraintWrappedCpmContainers_decode_ber; +der_type_encoder_f Vanetza_ITS2_ConstraintWrappedCpmContainers_encode_der; +xer_type_decoder_f Vanetza_ITS2_ConstraintWrappedCpmContainers_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ConstraintWrappedCpmContainers_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ConstraintWrappedCpmContainers_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ConstraintWrappedCpmContainers_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ConstraintWrappedCpmContainers_encode_oer; +per_type_decoder_f Vanetza_ITS2_ConstraintWrappedCpmContainers_decode_uper; +per_type_encoder_f Vanetza_ITS2_ConstraintWrappedCpmContainers_encode_uper; +per_type_decoder_f Vanetza_ITS2_ConstraintWrappedCpmContainers_decode_aper; +per_type_encoder_f Vanetza_ITS2_ConstraintWrappedCpmContainers_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ConstraintWrappedCpmContainers_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CoordinateConfidence.c b/vanetza/asn1/its/r2/CoordinateConfidence.c new file mode 100644 index 000000000..e9e0b7895 --- /dev/null +++ b/vanetza/asn1/its/r2/CoordinateConfidence.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CoordinateConfidence.h" + +int +Vanetza_ITS2_CoordinateConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 4096L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CoordinateConfidence_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..4096) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CoordinateConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 1, 4096 } /* (1..4096) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CoordinateConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CoordinateConfidence = { + "CoordinateConfidence", + "CoordinateConfidence", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CoordinateConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CoordinateConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CoordinateConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CoordinateConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CoordinateConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CoordinateConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CoordinateConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CoordinateConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CoordinateConfidence_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CoordinateConfidence.h b/vanetza/asn1/its/r2/CoordinateConfidence.h new file mode 100644 index 000000000..d5f0526e9 --- /dev/null +++ b/vanetza/asn1/its/r2/CoordinateConfidence.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CoordinateConfidence_H_ +#define _Vanetza_ITS2_CoordinateConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CoordinateConfidence { + Vanetza_ITS2_CoordinateConfidence_outOfRange = 4095, + Vanetza_ITS2_CoordinateConfidence_unavailable = 4096 +} e_Vanetza_ITS2_CoordinateConfidence; + +/* Vanetza_ITS2_CoordinateConfidence */ +typedef long Vanetza_ITS2_CoordinateConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CoordinateConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CoordinateConfidence; +asn_struct_free_f Vanetza_ITS2_CoordinateConfidence_free; +asn_struct_print_f Vanetza_ITS2_CoordinateConfidence_print; +asn_constr_check_f Vanetza_ITS2_CoordinateConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_CoordinateConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_CoordinateConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_CoordinateConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CoordinateConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CoordinateConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CoordinateConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CoordinateConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_CoordinateConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_CoordinateConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_CoordinateConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_CoordinateConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CoordinateConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CorrelationCellValue.c b/vanetza/asn1/its/r2/CorrelationCellValue.c new file mode 100644 index 000000000..330fff584 --- /dev/null +++ b/vanetza/asn1/its/r2/CorrelationCellValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CorrelationCellValue.h" + +int +Vanetza_ITS2_CorrelationCellValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -100L && value <= 101L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CorrelationCellValue_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-100..101) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CorrelationCellValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -100, 101 } /* (-100..101) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CorrelationCellValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CorrelationCellValue = { + "CorrelationCellValue", + "CorrelationCellValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CorrelationCellValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CorrelationCellValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CorrelationCellValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CorrelationCellValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CorrelationCellValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CorrelationCellValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CorrelationCellValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CorrelationCellValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CorrelationCellValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CorrelationCellValue.h b/vanetza/asn1/its/r2/CorrelationCellValue.h new file mode 100644 index 000000000..bc30f5c7d --- /dev/null +++ b/vanetza/asn1/its/r2/CorrelationCellValue.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CorrelationCellValue_H_ +#define _Vanetza_ITS2_CorrelationCellValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CorrelationCellValue { + Vanetza_ITS2_CorrelationCellValue_full_negative_correlation = -100, + Vanetza_ITS2_CorrelationCellValue_no_correlation = 0, + Vanetza_ITS2_CorrelationCellValue_full_positive_correlation = 100, + Vanetza_ITS2_CorrelationCellValue_unavailable = 101 +} e_Vanetza_ITS2_CorrelationCellValue; + +/* Vanetza_ITS2_CorrelationCellValue */ +typedef long Vanetza_ITS2_CorrelationCellValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CorrelationCellValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CorrelationCellValue; +asn_struct_free_f Vanetza_ITS2_CorrelationCellValue_free; +asn_struct_print_f Vanetza_ITS2_CorrelationCellValue_print; +asn_constr_check_f Vanetza_ITS2_CorrelationCellValue_constraint; +ber_type_decoder_f Vanetza_ITS2_CorrelationCellValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_CorrelationCellValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_CorrelationCellValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CorrelationCellValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CorrelationCellValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CorrelationCellValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CorrelationCellValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_CorrelationCellValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_CorrelationCellValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_CorrelationCellValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_CorrelationCellValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CorrelationCellValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CorrelationColumn.c b/vanetza/asn1/its/r2/CorrelationColumn.c new file mode 100644 index 000000000..e2006f088 --- /dev/null +++ b/vanetza/asn1/its/r2/CorrelationColumn.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CorrelationColumn.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CorrelationColumn_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CorrelationColumn_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 13 } /* (SIZE(1..13,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CorrelationColumn_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_CorrelationCellValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CorrelationColumn_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_CorrelationColumn_specs_1 = { + sizeof(struct Vanetza_ITS2_CorrelationColumn), + offsetof(struct Vanetza_ITS2_CorrelationColumn, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CorrelationColumn = { + "CorrelationColumn", + "CorrelationColumn", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_CorrelationColumn_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CorrelationColumn_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CorrelationColumn_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CorrelationColumn_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CorrelationColumn_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CorrelationColumn_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CorrelationColumn_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CorrelationColumn_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_CorrelationColumn_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_CorrelationColumn_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CorrelationColumn.h b/vanetza/asn1/its/r2/CorrelationColumn.h new file mode 100644 index 000000000..c48070c76 --- /dev/null +++ b/vanetza/asn1/its/r2/CorrelationColumn.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CorrelationColumn_H_ +#define _Vanetza_ITS2_CorrelationColumn_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CorrelationCellValue.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CorrelationColumn */ +typedef struct Vanetza_ITS2_CorrelationColumn { + A_SEQUENCE_OF(Vanetza_ITS2_CorrelationCellValue_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CorrelationColumn_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CorrelationColumn; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_CorrelationColumn_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CorrelationColumn_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CorrelationColumn_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CorrelationColumn_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CountryCode.c b/vanetza/asn1/its/r2/CountryCode.c new file mode 100644 index 000000000..970c2cc7f --- /dev/null +++ b/vanetza/asn1/its/r2/CountryCode.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CountryCode.h" + +int +Vanetza_ITS2_CountryCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 10UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CountryCode_constr_1 CC_NOTUSED = { + { 0, 0 }, + 10 /* (SIZE(10..10)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CountryCode_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 10, 10 } /* (SIZE(10..10)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_CountryCode_constr_1 CC_NOTUSED = { + 10}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CountryCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CountryCode = { + "CountryCode", + "CountryCode", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_CountryCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CountryCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CountryCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CountryCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CountryCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CountryCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CountryCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CountryCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_CountryCode_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CountryCode_constraint + }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CountryCode.h b/vanetza/asn1/its/r2/CountryCode.h new file mode 100644 index 000000000..4a19b3296 --- /dev/null +++ b/vanetza/asn1/its/r2/CountryCode.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CountryCode_H_ +#define _Vanetza_ITS2_CountryCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CountryCode */ +typedef BIT_STRING_t Vanetza_ITS2_CountryCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CountryCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CountryCode; +asn_struct_free_f Vanetza_ITS2_CountryCode_free; +asn_struct_print_f Vanetza_ITS2_CountryCode_print; +asn_constr_check_f Vanetza_ITS2_CountryCode_constraint; +ber_type_decoder_f Vanetza_ITS2_CountryCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_CountryCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_CountryCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CountryCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CountryCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CountryCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CountryCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_CountryCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_CountryCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_CountryCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_CountryCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CountryCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CpmContainerId.c b/vanetza/asn1/its/r2/CpmContainerId.c new file mode 100644 index 000000000..d58508dff --- /dev/null +++ b/vanetza/asn1/its/r2/CpmContainerId.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CpmContainerId.h" + +int +Vanetza_ITS2_CpmContainerId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 16L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CpmContainerId_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..16) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CpmContainerId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (1..16) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CpmContainerId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CpmContainerId = { + "CpmContainerId", + "CpmContainerId", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CpmContainerId_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CpmContainerId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CpmContainerId_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CpmContainerId_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CpmContainerId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CpmContainerId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CpmContainerId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CpmContainerId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CpmContainerId_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CpmContainerId.h b/vanetza/asn1/its/r2/CpmContainerId.h new file mode 100644 index 000000000..099db9ce2 --- /dev/null +++ b/vanetza/asn1/its/r2/CpmContainerId.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CpmContainerId_H_ +#define _Vanetza_ITS2_CpmContainerId_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CpmContainerId */ +typedef long Vanetza_ITS2_CpmContainerId_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CpmContainerId_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CpmContainerId; +asn_struct_free_f Vanetza_ITS2_CpmContainerId_free; +asn_struct_print_f Vanetza_ITS2_CpmContainerId_print; +asn_constr_check_f Vanetza_ITS2_CpmContainerId_constraint; +ber_type_decoder_f Vanetza_ITS2_CpmContainerId_decode_ber; +der_type_encoder_f Vanetza_ITS2_CpmContainerId_encode_der; +xer_type_decoder_f Vanetza_ITS2_CpmContainerId_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CpmContainerId_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CpmContainerId_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CpmContainerId_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CpmContainerId_encode_oer; +per_type_decoder_f Vanetza_ITS2_CpmContainerId_decode_uper; +per_type_encoder_f Vanetza_ITS2_CpmContainerId_encode_uper; +per_type_decoder_f Vanetza_ITS2_CpmContainerId_decode_aper; +per_type_encoder_f Vanetza_ITS2_CpmContainerId_encode_aper; +#define Vanetza_ITS2_CpmContainerId_originatingVehicleContainer ((Vanetza_ITS2_CpmContainerId_t)1) +#define Vanetza_ITS2_CpmContainerId_originatingRsuContainer ((Vanetza_ITS2_CpmContainerId_t)2) +#define Vanetza_ITS2_CpmContainerId_sensorInformationContainer ((Vanetza_ITS2_CpmContainerId_t)3) +#define Vanetza_ITS2_CpmContainerId_perceptionRegionContainer ((Vanetza_ITS2_CpmContainerId_t)4) +#define Vanetza_ITS2_CpmContainerId_perceivedObjectContainer ((Vanetza_ITS2_CpmContainerId_t)5) + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CpmContainerId_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CpmPayload.c b/vanetza/asn1/its/r2/CpmPayload.c new file mode 100644 index 000000000..ddd886938 --- /dev/null +++ b/vanetza/asn1/its/r2/CpmPayload.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CpmPayload.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CpmPayload_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CpmPayload, managementContainer), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "managementContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_CpmPayload, cpmContainers), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ConstraintWrappedCpmContainers, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cpmContainers" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CpmPayload_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_CpmPayload_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* managementContainer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cpmContainers */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CpmPayload_specs_1 = { + sizeof(struct Vanetza_ITS2_CpmPayload), + offsetof(struct Vanetza_ITS2_CpmPayload, _asn_ctx), + asn_MAP_Vanetza_ITS2_CpmPayload_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CpmPayload = { + "CpmPayload", + "CpmPayload", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_CpmPayload_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CpmPayload_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CpmPayload_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CpmPayload_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CpmPayload_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CpmPayload_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_CpmPayload_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_CpmPayload_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CpmPayload.h b/vanetza/asn1/its/r2/CpmPayload.h new file mode 100644 index 000000000..2ebd0ce18 --- /dev/null +++ b/vanetza/asn1/its/r2/CpmPayload.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CpmPayload_H_ +#define _Vanetza_ITS2_CpmPayload_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CPM-PDU-Descriptions_ManagementContainer.h" +#include "ConstraintWrappedCpmContainers.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_CpmPayload */ +typedef struct Vanetza_ITS2_CpmPayload { + Vanetza_ITS2_CPM_PDU_Descriptions_ManagementContainer_t managementContainer; + Vanetza_ITS2_ConstraintWrappedCpmContainers_t cpmContainers; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_CpmPayload_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CpmPayload; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_CpmPayload_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_CpmPayload_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CpmPayload_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Curvature.c b/vanetza/asn1/its/r2/Curvature.c new file mode 100644 index 000000000..81715091b --- /dev/null +++ b/vanetza/asn1/its/r2/Curvature.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Curvature.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Curvature_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Curvature, curvatureValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CurvatureValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "curvatureValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Curvature, curvatureConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CurvatureConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "curvatureConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Curvature_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_Curvature_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* curvatureValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* curvatureConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_Curvature_specs_1 = { + sizeof(struct Vanetza_ITS2_Curvature), + offsetof(struct Vanetza_ITS2_Curvature, _asn_ctx), + asn_MAP_Vanetza_ITS2_Curvature_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_Vanetza_ITS2_Curvature = { + "Curvature", + "Curvature", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_Curvature_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Curvature_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Curvature_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Curvature_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Curvature_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Curvature_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_Curvature_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_Curvature_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Curvature.h b/vanetza/asn1/its/r2/Curvature.h new file mode 100644 index 000000000..22cc8d96a --- /dev/null +++ b/vanetza/asn1/its/r2/Curvature.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Curvature_H_ +#define _Vanetza_ITS2_Curvature_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CurvatureValue.h" +#include "CurvatureConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_Curvature */ +typedef struct Vanetza_ITS2_Curvature { + Vanetza_ITS2_CurvatureValue_t curvatureValue; + Vanetza_ITS2_CurvatureConfidence_t curvatureConfidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Curvature_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Curvature; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_Curvature_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Curvature_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Curvature_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CurvatureCalculationMode.c b/vanetza/asn1/its/r2/CurvatureCalculationMode.c new file mode 100644 index 000000000..90acfbdc5 --- /dev/null +++ b/vanetza/asn1/its/r2/CurvatureCalculationMode.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CurvatureCalculationMode.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_Vanetza_ITS2_CurvatureCalculationMode_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_Vanetza_ITS2_CurvatureCalculationMode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_CurvatureCalculationMode_value2enum_1[] = { + { 0, 11, "yawRateUsed" }, + { 1, 14, "yawRateNotUsed" }, + { 2, 11, "unavailable" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Vanetza_ITS2_CurvatureCalculationMode_enum2value_1[] = { + 2, /* unavailable(2) */ + 1, /* yawRateNotUsed(1) */ + 0 /* yawRateUsed(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_CurvatureCalculationMode_specs_1 = { + asn_MAP_Vanetza_ITS2_CurvatureCalculationMode_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_CurvatureCalculationMode_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CurvatureCalculationMode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CurvatureCalculationMode = { + "CurvatureCalculationMode", + "CurvatureCalculationMode", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_CurvatureCalculationMode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CurvatureCalculationMode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CurvatureCalculationMode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CurvatureCalculationMode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CurvatureCalculationMode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CurvatureCalculationMode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CurvatureCalculationMode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CurvatureCalculationMode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_CurvatureCalculationMode_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CurvatureCalculationMode.h b/vanetza/asn1/its/r2/CurvatureCalculationMode.h new file mode 100644 index 000000000..078e6ce45 --- /dev/null +++ b/vanetza/asn1/its/r2/CurvatureCalculationMode.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CurvatureCalculationMode_H_ +#define _Vanetza_ITS2_CurvatureCalculationMode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CurvatureCalculationMode { + Vanetza_ITS2_CurvatureCalculationMode_yawRateUsed = 0, + Vanetza_ITS2_CurvatureCalculationMode_yawRateNotUsed = 1, + Vanetza_ITS2_CurvatureCalculationMode_unavailable = 2 + /* + * Enumeration is extensible + */ +} e_Vanetza_ITS2_CurvatureCalculationMode; + +/* Vanetza_ITS2_CurvatureCalculationMode */ +typedef long Vanetza_ITS2_CurvatureCalculationMode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CurvatureCalculationMode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CurvatureCalculationMode; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_CurvatureCalculationMode_specs_1; +asn_struct_free_f Vanetza_ITS2_CurvatureCalculationMode_free; +asn_struct_print_f Vanetza_ITS2_CurvatureCalculationMode_print; +asn_constr_check_f Vanetza_ITS2_CurvatureCalculationMode_constraint; +ber_type_decoder_f Vanetza_ITS2_CurvatureCalculationMode_decode_ber; +der_type_encoder_f Vanetza_ITS2_CurvatureCalculationMode_encode_der; +xer_type_decoder_f Vanetza_ITS2_CurvatureCalculationMode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CurvatureCalculationMode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CurvatureCalculationMode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CurvatureCalculationMode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CurvatureCalculationMode_encode_oer; +per_type_decoder_f Vanetza_ITS2_CurvatureCalculationMode_decode_uper; +per_type_encoder_f Vanetza_ITS2_CurvatureCalculationMode_encode_uper; +per_type_decoder_f Vanetza_ITS2_CurvatureCalculationMode_decode_aper; +per_type_encoder_f Vanetza_ITS2_CurvatureCalculationMode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CurvatureCalculationMode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CurvatureConfidence.c b/vanetza/asn1/its/r2/CurvatureConfidence.c new file mode 100644 index 000000000..b3f83ef05 --- /dev/null +++ b/vanetza/asn1/its/r2/CurvatureConfidence.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CurvatureConfidence.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_Vanetza_ITS2_CurvatureConfidence_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_Vanetza_ITS2_CurvatureConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_CurvatureConfidence_value2enum_1[] = { + { 0, 19, "onePerMeter-0-00002" }, + { 1, 18, "onePerMeter-0-0001" }, + { 2, 18, "onePerMeter-0-0005" }, + { 3, 17, "onePerMeter-0-002" }, + { 4, 16, "onePerMeter-0-01" }, + { 5, 15, "onePerMeter-0-1" }, + { 6, 10, "outOfRange" }, + { 7, 11, "unavailable" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_CurvatureConfidence_enum2value_1[] = { + 0, /* onePerMeter-0-00002(0) */ + 1, /* onePerMeter-0-0001(1) */ + 2, /* onePerMeter-0-0005(2) */ + 3, /* onePerMeter-0-002(3) */ + 4, /* onePerMeter-0-01(4) */ + 5, /* onePerMeter-0-1(5) */ + 6, /* outOfRange(6) */ + 7 /* unavailable(7) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_CurvatureConfidence_specs_1 = { + asn_MAP_Vanetza_ITS2_CurvatureConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_CurvatureConfidence_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_Vanetza_ITS2_CurvatureConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CurvatureConfidence = { + "CurvatureConfidence", + "CurvatureConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_CurvatureConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CurvatureConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CurvatureConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CurvatureConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CurvatureConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CurvatureConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CurvatureConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CurvatureConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_CurvatureConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/CurvatureConfidence.h b/vanetza/asn1/its/r2/CurvatureConfidence.h new file mode 100644 index 000000000..472553c34 --- /dev/null +++ b/vanetza/asn1/its/r2/CurvatureConfidence.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CurvatureConfidence_H_ +#define _Vanetza_ITS2_CurvatureConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CurvatureConfidence { + Vanetza_ITS2_CurvatureConfidence_onePerMeter_0_00002 = 0, + Vanetza_ITS2_CurvatureConfidence_onePerMeter_0_0001 = 1, + Vanetza_ITS2_CurvatureConfidence_onePerMeter_0_0005 = 2, + Vanetza_ITS2_CurvatureConfidence_onePerMeter_0_002 = 3, + Vanetza_ITS2_CurvatureConfidence_onePerMeter_0_01 = 4, + Vanetza_ITS2_CurvatureConfidence_onePerMeter_0_1 = 5, + Vanetza_ITS2_CurvatureConfidence_outOfRange = 6, + Vanetza_ITS2_CurvatureConfidence_unavailable = 7 +} e_Vanetza_ITS2_CurvatureConfidence; + +/* Vanetza_ITS2_CurvatureConfidence */ +typedef long Vanetza_ITS2_CurvatureConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CurvatureConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CurvatureConfidence; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_CurvatureConfidence_specs_1; +asn_struct_free_f Vanetza_ITS2_CurvatureConfidence_free; +asn_struct_print_f Vanetza_ITS2_CurvatureConfidence_print; +asn_constr_check_f Vanetza_ITS2_CurvatureConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_CurvatureConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_CurvatureConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_CurvatureConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CurvatureConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CurvatureConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CurvatureConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CurvatureConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_CurvatureConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_CurvatureConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_CurvatureConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_CurvatureConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CurvatureConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/CurvatureValue.c b/vanetza/asn1/its/r2/CurvatureValue.c new file mode 100644 index 000000000..fc2c0c129 --- /dev/null +++ b/vanetza/asn1/its/r2/CurvatureValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "CurvatureValue.h" + +int +Vanetza_ITS2_CurvatureValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -1023L && value <= 1023L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_CurvatureValue_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-1023..1023) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CurvatureValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, -1023, 1023 } /* (-1023..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_CurvatureValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CurvatureValue = { + "CurvatureValue", + "CurvatureValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_CurvatureValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_CurvatureValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CurvatureValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_CurvatureValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_CurvatureValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_CurvatureValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_CurvatureValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_CurvatureValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_CurvatureValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/CurvatureValue.h b/vanetza/asn1/its/r2/CurvatureValue.h new file mode 100644 index 000000000..b81d8bfb9 --- /dev/null +++ b/vanetza/asn1/its/r2/CurvatureValue.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_CurvatureValue_H_ +#define _Vanetza_ITS2_CurvatureValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_CurvatureValue { + Vanetza_ITS2_CurvatureValue_outOfRangeNegative = -1023, + Vanetza_ITS2_CurvatureValue_straight = 0, + Vanetza_ITS2_CurvatureValue_outOfRangePositive = 1022, + Vanetza_ITS2_CurvatureValue_unavailable = 1023 +} e_Vanetza_ITS2_CurvatureValue; + +/* Vanetza_ITS2_CurvatureValue */ +typedef long Vanetza_ITS2_CurvatureValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_CurvatureValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_CurvatureValue; +asn_struct_free_f Vanetza_ITS2_CurvatureValue_free; +asn_struct_print_f Vanetza_ITS2_CurvatureValue_print; +asn_constr_check_f Vanetza_ITS2_CurvatureValue_constraint; +ber_type_decoder_f Vanetza_ITS2_CurvatureValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_CurvatureValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_CurvatureValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_CurvatureValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_CurvatureValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_CurvatureValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_CurvatureValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_CurvatureValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_CurvatureValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_CurvatureValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_CurvatureValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_CurvatureValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DENM-PDU-Description_ManagementContainer.c b/vanetza/asn1/its/r2/DENM-PDU-Description_ManagementContainer.c new file mode 100644 index 000000000..b3b84fd8e --- /dev/null +++ b/vanetza/asn1/its/r2/DENM-PDU-Description_ManagementContainer.c @@ -0,0 +1,286 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DENM-PDU-Description_ManagementContainer.h" + +static int asn_DFL_9_cmp_600(const void *sptr) { + const Vanetza_ITS2_DeltaTimeSecond_t *st = sptr; + + if(!st) { + return -1; /* No value is not a default value */ + } + + /* Test default value 600 */ + return (*st != 600); +} +static int asn_DFL_9_set_600(void **sptr) { + Vanetza_ITS2_DeltaTimeSecond_t *st = *sptr; + + if(!st) { + st = (*sptr = CALLOC(1, sizeof(*st))); + if(!st) return -1; + } + + /* Install default value 600 */ + *st = 600; + return 0; +} +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, actionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ActionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "actionId" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, detectionTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TimestampIts, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "detectionTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, referenceTime), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TimestampIts, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "referenceTime" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, termination), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Termination, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "termination" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, eventPosition), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ReferencePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventPosition" + }, + { ATF_POINTER, 4, offsetof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, awarenessDistance), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength3b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "awarenessDistance" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, trafficDirection), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TrafficDirection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trafficDirection" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, validityDuration), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + &asn_DFL_9_cmp_600, /* Compare DEFAULT 600 */ + &asn_DFL_9_set_600, /* Set DEFAULT 600 */ + "validityDuration" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, transmissionInterval), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondPositive, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transmissionInterval" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, stationType), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StationType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stationType" + }, +}; +static const int asn_MAP_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_oms_1[] = { 3, 5, 6, 7, 8 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* actionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* detectionTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* referenceTime */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* termination */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* eventPosition */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* awarenessDistance */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* trafficDirection */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* validityDuration */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* transmissionInterval */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* stationType */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer), + offsetof(struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer = { + "ManagementContainer", + "ManagementContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_1, + 10, /* Elements count */ + &asn_SPC_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/DENM-PDU-Description_ManagementContainer.h b/vanetza/asn1/its/r2/DENM-PDU-Description_ManagementContainer.h new file mode 100644 index 000000000..f8121eec1 --- /dev/null +++ b/vanetza/asn1/its/r2/DENM-PDU-Description_ManagementContainer.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_H_ +#define _Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "ActionId.h" +#include "TimestampIts.h" +#include "Termination.h" +#include "ReferencePosition.h" +#include "StandardLength3b.h" +#include "TrafficDirection.h" +#include "DeltaTimeSecond.h" +#include "DeltaTimeMilliSecondPositive.h" +#include "StationType.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_DENM-PDU-Description_ManagementContainer */ +typedef struct Vanetza_ITS2_DENM_PDU_Description_ManagementContainer { + Vanetza_ITS2_ActionId_t actionId; + Vanetza_ITS2_TimestampIts_t detectionTime; + Vanetza_ITS2_TimestampIts_t referenceTime; + Vanetza_ITS2_Termination_t *termination; /* OPTIONAL */ + Vanetza_ITS2_ReferencePosition_t eventPosition; + Vanetza_ITS2_StandardLength3b_t *awarenessDistance; /* OPTIONAL */ + Vanetza_ITS2_TrafficDirection_t *trafficDirection; /* OPTIONAL */ + Vanetza_ITS2_DeltaTimeSecond_t *validityDuration; /* DEFAULT 600 */ + Vanetza_ITS2_DeltaTimeMilliSecondPositive_t *transmissionInterval; /* OPTIONAL */ + Vanetza_ITS2_StationType_t stationType; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_1[10]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DENM.c b/vanetza/asn1/its/r2/DENM.c new file mode 100644 index 000000000..310898363 --- /dev/null +++ b/vanetza/asn1/its/r2/DENM.c @@ -0,0 +1,124 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DENM.h" + +static int +memb_Vanetza_ITS2_header_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_Vanetza_ITS2_header_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_header_constr_2 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_Vanetza_ITS2_DENM_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DENM, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ItsPduHeader, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_header_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_header_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_header_constraint_1 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DENM, denm), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DenmPayload, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "denm" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DENM_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_DENM_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* denm */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_DENM_specs_1 = { + sizeof(struct Vanetza_ITS2_DENM), + offsetof(struct Vanetza_ITS2_DENM, _asn_ctx), + asn_MAP_Vanetza_ITS2_DENM_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_Vanetza_ITS2_DENM = { + "DENM", + "DENM", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_DENM_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DENM_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DENM_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DENM_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DENM_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DENM_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_DENM_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_DENM_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/DENM.h b/vanetza/asn1/its/r2/DENM.h new file mode 100644 index 000000000..99302d33a --- /dev/null +++ b/vanetza/asn1/its/r2/DENM.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DENM_H_ +#define _Vanetza_ITS2_DENM_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "ItsPduHeader.h" +#include "DenmPayload.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_DENM */ +typedef struct Vanetza_ITS2_DENM { + Vanetza_ITS2_ItsPduHeader_t header; + Vanetza_ITS2_DenmPayload_t denm; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_DENM_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DENM; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DENM_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DangerousEndOfQueueSubCauseCode.c b/vanetza/asn1/its/r2/DangerousEndOfQueueSubCauseCode.c new file mode 100644 index 000000000..8ce539156 --- /dev/null +++ b/vanetza/asn1/its/r2/DangerousEndOfQueueSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DangerousEndOfQueueSubCauseCode.h" + +int +Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode = { + "DangerousEndOfQueueSubCauseCode", + "DangerousEndOfQueueSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/DangerousEndOfQueueSubCauseCode.h b/vanetza/asn1/its/r2/DangerousEndOfQueueSubCauseCode.h new file mode 100644 index 000000000..76deb07c9 --- /dev/null +++ b/vanetza/asn1/its/r2/DangerousEndOfQueueSubCauseCode.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_H_ +#define _Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_DangerousEndOfQueueSubCauseCode { + Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_unavailable = 0, + Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_suddenEndOfQueue = 1, + Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_queueOverHill = 2, + Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_queueAroundBend = 3, + Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_queueInTunnel = 4 +} e_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode; + +/* Vanetza_ITS2_DangerousEndOfQueueSubCauseCode */ +typedef long Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode; +asn_struct_free_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DangerousEndOfQueueSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DangerousGoodsBasic.c b/vanetza/asn1/its/r2/DangerousGoodsBasic.c new file mode 100644 index 000000000..cae85209b --- /dev/null +++ b/vanetza/asn1/its/r2/DangerousGoodsBasic.c @@ -0,0 +1,107 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DangerousGoodsBasic.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_Vanetza_ITS2_DangerousGoodsBasic_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_Vanetza_ITS2_DangerousGoodsBasic_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 19 } /* (0..19) */, + { APC_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_Vanetza_ITS2_DangerousGoodsBasic_value2enum_1[] = { + { 0, 11, "explosives1" }, + { 1, 11, "explosives2" }, + { 2, 11, "explosives3" }, + { 3, 11, "explosives4" }, + { 4, 11, "explosives5" }, + { 5, 11, "explosives6" }, + { 6, 14, "flammableGases" }, + { 7, 17, "nonFlammableGases" }, + { 8, 10, "toxicGases" }, + { 9, 16, "flammableLiquids" }, + { 10, 15, "flammableSolids" }, + { 11, 39, "substancesLiableToSpontaneousCombustion" }, + { 12, 52, "substancesEmittingFlammableGasesUponContactWithWater" }, + { 13, 19, "oxidizingSubstances" }, + { 14, 16, "organicPeroxides" }, + { 15, 15, "toxicSubstances" }, + { 16, 20, "infectiousSubstances" }, + { 17, 19, "radioactiveMaterial" }, + { 18, 19, "corrosiveSubstances" }, + { 19, 32, "miscellaneousDangerousSubstances" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_DangerousGoodsBasic_enum2value_1[] = { + 18, /* corrosiveSubstances(18) */ + 0, /* explosives1(0) */ + 1, /* explosives2(1) */ + 2, /* explosives3(2) */ + 3, /* explosives4(3) */ + 4, /* explosives5(4) */ + 5, /* explosives6(5) */ + 6, /* flammableGases(6) */ + 9, /* flammableLiquids(9) */ + 10, /* flammableSolids(10) */ + 16, /* infectiousSubstances(16) */ + 19, /* miscellaneousDangerousSubstances(19) */ + 7, /* nonFlammableGases(7) */ + 14, /* organicPeroxides(14) */ + 13, /* oxidizingSubstances(13) */ + 17, /* radioactiveMaterial(17) */ + 12, /* substancesEmittingFlammableGasesUponContactWithWater(12) */ + 11, /* substancesLiableToSpontaneousCombustion(11) */ + 8, /* toxicGases(8) */ + 15 /* toxicSubstances(15) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_DangerousGoodsBasic_specs_1 = { + asn_MAP_Vanetza_ITS2_DangerousGoodsBasic_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_DangerousGoodsBasic_enum2value_1, /* N => "tag"; sorted by N */ + 20, /* 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_Vanetza_ITS2_DangerousGoodsBasic_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DangerousGoodsBasic = { + "DangerousGoodsBasic", + "DangerousGoodsBasic", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_DangerousGoodsBasic_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsBasic_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsBasic_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DangerousGoodsBasic_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsBasic_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsBasic_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DangerousGoodsBasic_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DangerousGoodsBasic_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_DangerousGoodsBasic_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/DangerousGoodsBasic.h b/vanetza/asn1/its/r2/DangerousGoodsBasic.h new file mode 100644 index 000000000..15efe9a9e --- /dev/null +++ b/vanetza/asn1/its/r2/DangerousGoodsBasic.h @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DangerousGoodsBasic_H_ +#define _Vanetza_ITS2_DangerousGoodsBasic_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_DangerousGoodsBasic { + Vanetza_ITS2_DangerousGoodsBasic_explosives1 = 0, + Vanetza_ITS2_DangerousGoodsBasic_explosives2 = 1, + Vanetza_ITS2_DangerousGoodsBasic_explosives3 = 2, + Vanetza_ITS2_DangerousGoodsBasic_explosives4 = 3, + Vanetza_ITS2_DangerousGoodsBasic_explosives5 = 4, + Vanetza_ITS2_DangerousGoodsBasic_explosives6 = 5, + Vanetza_ITS2_DangerousGoodsBasic_flammableGases = 6, + Vanetza_ITS2_DangerousGoodsBasic_nonFlammableGases = 7, + Vanetza_ITS2_DangerousGoodsBasic_toxicGases = 8, + Vanetza_ITS2_DangerousGoodsBasic_flammableLiquids = 9, + Vanetza_ITS2_DangerousGoodsBasic_flammableSolids = 10, + Vanetza_ITS2_DangerousGoodsBasic_substancesLiableToSpontaneousCombustion = 11, + Vanetza_ITS2_DangerousGoodsBasic_substancesEmittingFlammableGasesUponContactWithWater = 12, + Vanetza_ITS2_DangerousGoodsBasic_oxidizingSubstances = 13, + Vanetza_ITS2_DangerousGoodsBasic_organicPeroxides = 14, + Vanetza_ITS2_DangerousGoodsBasic_toxicSubstances = 15, + Vanetza_ITS2_DangerousGoodsBasic_infectiousSubstances = 16, + Vanetza_ITS2_DangerousGoodsBasic_radioactiveMaterial = 17, + Vanetza_ITS2_DangerousGoodsBasic_corrosiveSubstances = 18, + Vanetza_ITS2_DangerousGoodsBasic_miscellaneousDangerousSubstances = 19 +} e_Vanetza_ITS2_DangerousGoodsBasic; + +/* Vanetza_ITS2_DangerousGoodsBasic */ +typedef long Vanetza_ITS2_DangerousGoodsBasic_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DangerousGoodsBasic_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DangerousGoodsBasic; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_DangerousGoodsBasic_specs_1; +asn_struct_free_f Vanetza_ITS2_DangerousGoodsBasic_free; +asn_struct_print_f Vanetza_ITS2_DangerousGoodsBasic_print; +asn_constr_check_f Vanetza_ITS2_DangerousGoodsBasic_constraint; +ber_type_decoder_f Vanetza_ITS2_DangerousGoodsBasic_decode_ber; +der_type_encoder_f Vanetza_ITS2_DangerousGoodsBasic_encode_der; +xer_type_decoder_f Vanetza_ITS2_DangerousGoodsBasic_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DangerousGoodsBasic_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DangerousGoodsBasic_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DangerousGoodsBasic_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DangerousGoodsBasic_encode_oer; +per_type_decoder_f Vanetza_ITS2_DangerousGoodsBasic_decode_uper; +per_type_encoder_f Vanetza_ITS2_DangerousGoodsBasic_encode_uper; +per_type_decoder_f Vanetza_ITS2_DangerousGoodsBasic_decode_aper; +per_type_encoder_f Vanetza_ITS2_DangerousGoodsBasic_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DangerousGoodsBasic_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DangerousGoodsContainer.c b/vanetza/asn1/its/r2/DangerousGoodsContainer.c new file mode 100644 index 000000000..c86e8763e --- /dev/null +++ b/vanetza/asn1/its/r2/DangerousGoodsContainer.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DangerousGoodsContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_DangerousGoodsContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DangerousGoodsContainer, dangerousGoodsBasic), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DangerousGoodsBasic, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dangerousGoodsBasic" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DangerousGoodsContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_DangerousGoodsContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* dangerousGoodsBasic */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_DangerousGoodsContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_DangerousGoodsContainer), + offsetof(struct Vanetza_ITS2_DangerousGoodsContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_DangerousGoodsContainer_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DangerousGoodsContainer = { + "DangerousGoodsContainer", + "DangerousGoodsContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_DangerousGoodsContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DangerousGoodsContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_DangerousGoodsContainer_1, + 1, /* Elements count */ + &asn_SPC_Vanetza_ITS2_DangerousGoodsContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/DangerousGoodsContainer.h b/vanetza/asn1/its/r2/DangerousGoodsContainer.h new file mode 100644 index 000000000..5fe5b3437 --- /dev/null +++ b/vanetza/asn1/its/r2/DangerousGoodsContainer.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DangerousGoodsContainer_H_ +#define _Vanetza_ITS2_DangerousGoodsContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "DangerousGoodsBasic.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_DangerousGoodsContainer */ +typedef struct Vanetza_ITS2_DangerousGoodsContainer { + Vanetza_ITS2_DangerousGoodsBasic_t dangerousGoodsBasic; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_DangerousGoodsContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DangerousGoodsContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_DangerousGoodsContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_DangerousGoodsContainer_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DangerousGoodsContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DangerousGoodsExtended.c b/vanetza/asn1/its/r2/DangerousGoodsExtended.c new file mode 100644 index 000000000..f46662bfb --- /dev/null +++ b/vanetza/asn1/its/r2/DangerousGoodsExtended.c @@ -0,0 +1,354 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DangerousGoodsExtended.h" + +static int check_permitted_alphabet_7(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int +memb_Vanetza_ITS2_unNumber_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 <= 9999L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_Vanetza_ITS2_emergencyActionCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 24UL) + && !check_permitted_alphabet_7(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_Vanetza_ITS2_companyName_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const UTF8String_t *st = (const UTF8String_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 = UTF8String_length(st); + if((ssize_t)size < 0) { + ASN__CTFAIL(app_key, td, sptr, + "%s: UTF-8: broken encoding (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if((size >= 1UL && size <= 24UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_unNumber_constr_3 CC_NOTUSED = { + { 2, 1 } /* (0..9999) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_unNumber_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 0, 9999 } /* (0..9999) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_emergencyActionCode_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..24)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_emergencyActionCode_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 5, 5, 1, 24 } /* (SIZE(1..24)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_companyName_constr_9 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_companyName_constr_9 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_DangerousGoodsExtended_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DangerousGoodsExtended, dangerousGoodsType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DangerousGoodsBasic, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dangerousGoodsType" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DangerousGoodsExtended, unNumber), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_unNumber_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_unNumber_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_unNumber_constraint_1 + }, + 0, 0, /* No default value */ + "unNumber" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DangerousGoodsExtended, elevatedTemperature), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elevatedTemperature" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DangerousGoodsExtended, tunnelsRestricted), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tunnelsRestricted" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DangerousGoodsExtended, limitedQuantity), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "limitedQuantity" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_DangerousGoodsExtended, emergencyActionCode), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_emergencyActionCode_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_emergencyActionCode_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_emergencyActionCode_constraint_1 + }, + 0, 0, /* No default value */ + "emergencyActionCode" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_DangerousGoodsExtended, phoneNumber), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PhoneNumber, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "phoneNumber" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_DangerousGoodsExtended, companyName), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UTF8String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_companyName_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_companyName_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_companyName_constraint_1 + }, + 0, 0, /* No default value */ + "companyName" + }, +}; +static const int asn_MAP_Vanetza_ITS2_DangerousGoodsExtended_oms_1[] = { 5, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DangerousGoodsExtended_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_DangerousGoodsExtended_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dangerousGoodsType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* unNumber */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* elevatedTemperature */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* tunnelsRestricted */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* limitedQuantity */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* emergencyActionCode */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* phoneNumber */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* companyName */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_DangerousGoodsExtended_specs_1 = { + sizeof(struct Vanetza_ITS2_DangerousGoodsExtended), + offsetof(struct Vanetza_ITS2_DangerousGoodsExtended, _asn_ctx), + asn_MAP_Vanetza_ITS2_DangerousGoodsExtended_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_DangerousGoodsExtended_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DangerousGoodsExtended = { + "DangerousGoodsExtended", + "DangerousGoodsExtended", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_DangerousGoodsExtended_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsExtended_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsExtended_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DangerousGoodsExtended_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsExtended_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DangerousGoodsExtended_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_DangerousGoodsExtended_1, + 8, /* Elements count */ + &asn_SPC_Vanetza_ITS2_DangerousGoodsExtended_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/DangerousGoodsExtended.h b/vanetza/asn1/its/r2/DangerousGoodsExtended.h new file mode 100644 index 000000000..d408fc3c5 --- /dev/null +++ b/vanetza/asn1/its/r2/DangerousGoodsExtended.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DangerousGoodsExtended_H_ +#define _Vanetza_ITS2_DangerousGoodsExtended_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "DangerousGoodsBasic.h" +#include "NativeInteger.h" +#include "BOOLEAN.h" +#include "IA5String.h" +#include "PhoneNumber.h" +#include "UTF8String.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_DangerousGoodsExtended */ +typedef struct Vanetza_ITS2_DangerousGoodsExtended { + Vanetza_ITS2_DangerousGoodsBasic_t dangerousGoodsType; + long unNumber; + BOOLEAN_t elevatedTemperature; + BOOLEAN_t tunnelsRestricted; + BOOLEAN_t limitedQuantity; + IA5String_t *emergencyActionCode; /* OPTIONAL */ + Vanetza_ITS2_PhoneNumber_t *phoneNumber; /* OPTIONAL */ + UTF8String_t *companyName; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_DangerousGoodsExtended_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DangerousGoodsExtended; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_DangerousGoodsExtended_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_DangerousGoodsExtended_1[8]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DangerousGoodsExtended_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DangerousSituationSubCauseCode.c b/vanetza/asn1/its/r2/DangerousSituationSubCauseCode.c new file mode 100644 index 000000000..400806821 --- /dev/null +++ b/vanetza/asn1/its/r2/DangerousSituationSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DangerousSituationSubCauseCode.h" + +int +Vanetza_ITS2_DangerousSituationSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DangerousSituationSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DangerousSituationSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DangerousSituationSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DangerousSituationSubCauseCode = { + "DangerousSituationSubCauseCode", + "DangerousSituationSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_DangerousSituationSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DangerousSituationSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DangerousSituationSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DangerousSituationSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DangerousSituationSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DangerousSituationSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DangerousSituationSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DangerousSituationSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DangerousSituationSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/DangerousSituationSubCauseCode.h b/vanetza/asn1/its/r2/DangerousSituationSubCauseCode.h new file mode 100644 index 000000000..a5fa874ff --- /dev/null +++ b/vanetza/asn1/its/r2/DangerousSituationSubCauseCode.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DangerousSituationSubCauseCode_H_ +#define _Vanetza_ITS2_DangerousSituationSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_DangerousSituationSubCauseCode { + Vanetza_ITS2_DangerousSituationSubCauseCode_unavailable = 0, + Vanetza_ITS2_DangerousSituationSubCauseCode_emergencyElectronicBrakeEngaged = 1, + Vanetza_ITS2_DangerousSituationSubCauseCode_preCrashSystemEngaged = 2, + Vanetza_ITS2_DangerousSituationSubCauseCode_espEngaged = 3, + Vanetza_ITS2_DangerousSituationSubCauseCode_absEngaged = 4, + Vanetza_ITS2_DangerousSituationSubCauseCode_ebEngaged = 5, + Vanetza_ITS2_DangerousSituationSubCauseCode_brakeWarningEngaged = 6, + Vanetza_ITS2_DangerousSituationSubCauseCode_collisionRiskWarningEngaged = 7 +} e_Vanetza_ITS2_DangerousSituationSubCauseCode; + +/* Vanetza_ITS2_DangerousSituationSubCauseCode */ +typedef long Vanetza_ITS2_DangerousSituationSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DangerousSituationSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DangerousSituationSubCauseCode; +asn_struct_free_f Vanetza_ITS2_DangerousSituationSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_DangerousSituationSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_DangerousSituationSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_DangerousSituationSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_DangerousSituationSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_DangerousSituationSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DangerousSituationSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DangerousSituationSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DangerousSituationSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DangerousSituationSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_DangerousSituationSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_DangerousSituationSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_DangerousSituationSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_DangerousSituationSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DangerousSituationSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DeltaAltitude.c b/vanetza/asn1/its/r2/DeltaAltitude.c new file mode 100644 index 000000000..0949d1f20 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaAltitude.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DeltaAltitude.h" + +int +Vanetza_ITS2_DeltaAltitude_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -12700L && value <= 12800L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DeltaAltitude_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-12700..12800) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaAltitude_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, -12700, 12800 } /* (-12700..12800) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DeltaAltitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaAltitude = { + "DeltaAltitude", + "DeltaAltitude", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_DeltaAltitude_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DeltaAltitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaAltitude_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DeltaAltitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DeltaAltitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaAltitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DeltaAltitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DeltaAltitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DeltaAltitude_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/DeltaAltitude.h b/vanetza/asn1/its/r2/DeltaAltitude.h new file mode 100644 index 000000000..96ccdf473 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaAltitude.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DeltaAltitude_H_ +#define _Vanetza_ITS2_DeltaAltitude_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_DeltaAltitude { + Vanetza_ITS2_DeltaAltitude_negativeOutOfRange = -12700, + Vanetza_ITS2_DeltaAltitude_positiveOutOfRange = 12799, + Vanetza_ITS2_DeltaAltitude_unavailable = 12800 +} e_Vanetza_ITS2_DeltaAltitude; + +/* Vanetza_ITS2_DeltaAltitude */ +typedef long Vanetza_ITS2_DeltaAltitude_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaAltitude_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaAltitude; +asn_struct_free_f Vanetza_ITS2_DeltaAltitude_free; +asn_struct_print_f Vanetza_ITS2_DeltaAltitude_print; +asn_constr_check_f Vanetza_ITS2_DeltaAltitude_constraint; +ber_type_decoder_f Vanetza_ITS2_DeltaAltitude_decode_ber; +der_type_encoder_f Vanetza_ITS2_DeltaAltitude_encode_der; +xer_type_decoder_f Vanetza_ITS2_DeltaAltitude_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DeltaAltitude_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DeltaAltitude_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DeltaAltitude_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DeltaAltitude_encode_oer; +per_type_decoder_f Vanetza_ITS2_DeltaAltitude_decode_uper; +per_type_encoder_f Vanetza_ITS2_DeltaAltitude_encode_uper; +per_type_decoder_f Vanetza_ITS2_DeltaAltitude_decode_aper; +per_type_encoder_f Vanetza_ITS2_DeltaAltitude_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DeltaAltitude_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DeltaLatitude.c b/vanetza/asn1/its/r2/DeltaLatitude.c new file mode 100644 index 000000000..6874d8533 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaLatitude.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DeltaLatitude.h" + +int +Vanetza_ITS2_DeltaLatitude_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -131071L && value <= 131072L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DeltaLatitude_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-131071..131072) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaLatitude_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 18, -1, -131071, 131072 } /* (-131071..131072) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DeltaLatitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaLatitude = { + "DeltaLatitude", + "DeltaLatitude", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_DeltaLatitude_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DeltaLatitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaLatitude_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DeltaLatitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DeltaLatitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaLatitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DeltaLatitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DeltaLatitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DeltaLatitude_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/DeltaLatitude.h b/vanetza/asn1/its/r2/DeltaLatitude.h new file mode 100644 index 000000000..9785ffabc --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaLatitude.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DeltaLatitude_H_ +#define _Vanetza_ITS2_DeltaLatitude_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_DeltaLatitude { + Vanetza_ITS2_DeltaLatitude_unavailable = 131072 +} e_Vanetza_ITS2_DeltaLatitude; + +/* Vanetza_ITS2_DeltaLatitude */ +typedef long Vanetza_ITS2_DeltaLatitude_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaLatitude_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaLatitude; +asn_struct_free_f Vanetza_ITS2_DeltaLatitude_free; +asn_struct_print_f Vanetza_ITS2_DeltaLatitude_print; +asn_constr_check_f Vanetza_ITS2_DeltaLatitude_constraint; +ber_type_decoder_f Vanetza_ITS2_DeltaLatitude_decode_ber; +der_type_encoder_f Vanetza_ITS2_DeltaLatitude_encode_der; +xer_type_decoder_f Vanetza_ITS2_DeltaLatitude_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DeltaLatitude_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DeltaLatitude_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DeltaLatitude_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DeltaLatitude_encode_oer; +per_type_decoder_f Vanetza_ITS2_DeltaLatitude_decode_uper; +per_type_encoder_f Vanetza_ITS2_DeltaLatitude_encode_uper; +per_type_decoder_f Vanetza_ITS2_DeltaLatitude_decode_aper; +per_type_encoder_f Vanetza_ITS2_DeltaLatitude_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DeltaLatitude_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DeltaLongitude.c b/vanetza/asn1/its/r2/DeltaLongitude.c new file mode 100644 index 000000000..e99596f59 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaLongitude.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DeltaLongitude.h" + +int +Vanetza_ITS2_DeltaLongitude_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -131071L && value <= 131072L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DeltaLongitude_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-131071..131072) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaLongitude_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 18, -1, -131071, 131072 } /* (-131071..131072) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DeltaLongitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaLongitude = { + "DeltaLongitude", + "DeltaLongitude", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_DeltaLongitude_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DeltaLongitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaLongitude_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DeltaLongitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DeltaLongitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaLongitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DeltaLongitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DeltaLongitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DeltaLongitude_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/DeltaLongitude.h b/vanetza/asn1/its/r2/DeltaLongitude.h new file mode 100644 index 000000000..477dbcac8 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaLongitude.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DeltaLongitude_H_ +#define _Vanetza_ITS2_DeltaLongitude_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_DeltaLongitude { + Vanetza_ITS2_DeltaLongitude_unavailable = 131072 +} e_Vanetza_ITS2_DeltaLongitude; + +/* Vanetza_ITS2_DeltaLongitude */ +typedef long Vanetza_ITS2_DeltaLongitude_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaLongitude_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaLongitude; +asn_struct_free_f Vanetza_ITS2_DeltaLongitude_free; +asn_struct_print_f Vanetza_ITS2_DeltaLongitude_print; +asn_constr_check_f Vanetza_ITS2_DeltaLongitude_constraint; +ber_type_decoder_f Vanetza_ITS2_DeltaLongitude_decode_ber; +der_type_encoder_f Vanetza_ITS2_DeltaLongitude_encode_der; +xer_type_decoder_f Vanetza_ITS2_DeltaLongitude_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DeltaLongitude_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DeltaLongitude_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DeltaLongitude_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DeltaLongitude_encode_oer; +per_type_decoder_f Vanetza_ITS2_DeltaLongitude_decode_uper; +per_type_encoder_f Vanetza_ITS2_DeltaLongitude_encode_uper; +per_type_decoder_f Vanetza_ITS2_DeltaLongitude_decode_aper; +per_type_encoder_f Vanetza_ITS2_DeltaLongitude_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DeltaLongitude_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DeltaReferencePosition.c b/vanetza/asn1/its/r2/DeltaReferencePosition.c new file mode 100644 index 000000000..e14fd9b6f --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaReferencePosition.c @@ -0,0 +1,114 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DeltaReferencePosition.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_DeltaReferencePosition_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DeltaReferencePosition, deltaLatitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaLatitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deltaLatitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DeltaReferencePosition, deltaLongitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaLongitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deltaLongitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DeltaReferencePosition, deltaAltitude), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaAltitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deltaAltitude" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DeltaReferencePosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_DeltaReferencePosition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* deltaLatitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* deltaLongitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* deltaAltitude */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_DeltaReferencePosition_specs_1 = { + sizeof(struct Vanetza_ITS2_DeltaReferencePosition), + offsetof(struct Vanetza_ITS2_DeltaReferencePosition, _asn_ctx), + asn_MAP_Vanetza_ITS2_DeltaReferencePosition_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_Vanetza_ITS2_DeltaReferencePosition = { + "DeltaReferencePosition", + "DeltaReferencePosition", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_DeltaReferencePosition_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DeltaReferencePosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaReferencePosition_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DeltaReferencePosition_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DeltaReferencePosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaReferencePosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_DeltaReferencePosition_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_DeltaReferencePosition_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/DeltaReferencePosition.h b/vanetza/asn1/its/r2/DeltaReferencePosition.h new file mode 100644 index 000000000..061eac080 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaReferencePosition.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DeltaReferencePosition_H_ +#define _Vanetza_ITS2_DeltaReferencePosition_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "DeltaLatitude.h" +#include "DeltaLongitude.h" +#include "DeltaAltitude.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_DeltaReferencePosition */ +typedef struct Vanetza_ITS2_DeltaReferencePosition { + Vanetza_ITS2_DeltaLatitude_t deltaLatitude; + Vanetza_ITS2_DeltaLongitude_t deltaLongitude; + Vanetza_ITS2_DeltaAltitude_t deltaAltitude; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_DeltaReferencePosition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaReferencePosition; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_DeltaReferencePosition_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_DeltaReferencePosition_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DeltaReferencePosition_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DeltaTimeMilliSecondPositive.c b/vanetza/asn1/its/r2/DeltaTimeMilliSecondPositive.c new file mode 100644 index 000000000..0d69e0922 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeMilliSecondPositive.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DeltaTimeMilliSecondPositive.h" + +int +Vanetza_ITS2_DeltaTimeMilliSecondPositive_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 10000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DeltaTimeMilliSecondPositive_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..10000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeMilliSecondPositive_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 1, 10000 } /* (1..10000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondPositive_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondPositive = { + "DeltaTimeMilliSecondPositive", + "DeltaTimeMilliSecondPositive", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondPositive_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondPositive_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondPositive_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondPositive_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondPositive_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondPositive_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DeltaTimeMilliSecondPositive_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DeltaTimeMilliSecondPositive_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DeltaTimeMilliSecondPositive_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/DeltaTimeMilliSecondPositive.h b/vanetza/asn1/its/r2/DeltaTimeMilliSecondPositive.h new file mode 100644 index 000000000..2bf6792fe --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeMilliSecondPositive.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DeltaTimeMilliSecondPositive_H_ +#define _Vanetza_ITS2_DeltaTimeMilliSecondPositive_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_DeltaTimeMilliSecondPositive */ +typedef long Vanetza_ITS2_DeltaTimeMilliSecondPositive_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeMilliSecondPositive_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondPositive; +asn_struct_free_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_free; +asn_struct_print_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_print; +asn_constr_check_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_constraint; +ber_type_decoder_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_decode_ber; +der_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_encode_der; +xer_type_decoder_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_encode_oer; +per_type_decoder_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_decode_uper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_encode_uper; +per_type_decoder_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_decode_aper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondPositive_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DeltaTimeMilliSecondPositive_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DeltaTimeMilliSecondSigned.c b/vanetza/asn1/its/r2/DeltaTimeMilliSecondSigned.c new file mode 100644 index 000000000..aea854067 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeMilliSecondSigned.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DeltaTimeMilliSecondSigned.h" + +int +Vanetza_ITS2_DeltaTimeMilliSecondSigned_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -2048L && value <= 2047L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DeltaTimeMilliSecondSigned_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-2048..2047) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeMilliSecondSigned_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, -2048, 2047 } /* (-2048..2047) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned = { + "DeltaTimeMilliSecondSigned", + "DeltaTimeMilliSecondSigned", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DeltaTimeMilliSecondSigned_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DeltaTimeMilliSecondSigned_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DeltaTimeMilliSecondSigned_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/DeltaTimeMilliSecondSigned.h b/vanetza/asn1/its/r2/DeltaTimeMilliSecondSigned.h new file mode 100644 index 000000000..bfb1132b1 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeMilliSecondSigned.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DeltaTimeMilliSecondSigned_H_ +#define _Vanetza_ITS2_DeltaTimeMilliSecondSigned_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_DeltaTimeMilliSecondSigned */ +typedef long Vanetza_ITS2_DeltaTimeMilliSecondSigned_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeMilliSecondSigned_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned; +asn_struct_free_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_free; +asn_struct_print_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_print; +asn_constr_check_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_constraint; +ber_type_decoder_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_decode_ber; +der_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_encode_der; +xer_type_decoder_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_encode_oer; +per_type_decoder_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_decode_uper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_encode_uper; +per_type_decoder_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_decode_aper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeMilliSecondSigned_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DeltaTimeMilliSecondSigned_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DeltaTimeQuarterSecond.c b/vanetza/asn1/its/r2/DeltaTimeQuarterSecond.c new file mode 100644 index 000000000..366f584dd --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeQuarterSecond.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DeltaTimeQuarterSecond.h" + +int +Vanetza_ITS2_DeltaTimeQuarterSecond_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DeltaTimeQuarterSecond_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeQuarterSecond_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DeltaTimeQuarterSecond_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeQuarterSecond = { + "DeltaTimeQuarterSecond", + "DeltaTimeQuarterSecond", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_DeltaTimeQuarterSecond_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeQuarterSecond_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeQuarterSecond_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DeltaTimeQuarterSecond_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeQuarterSecond_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeQuarterSecond_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DeltaTimeQuarterSecond_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DeltaTimeQuarterSecond_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DeltaTimeQuarterSecond_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/DeltaTimeQuarterSecond.h b/vanetza/asn1/its/r2/DeltaTimeQuarterSecond.h new file mode 100644 index 000000000..1af860086 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeQuarterSecond.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DeltaTimeQuarterSecond_H_ +#define _Vanetza_ITS2_DeltaTimeQuarterSecond_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_DeltaTimeQuarterSecond { + Vanetza_ITS2_DeltaTimeQuarterSecond_unavailable = 255 +} e_Vanetza_ITS2_DeltaTimeQuarterSecond; + +/* Vanetza_ITS2_DeltaTimeQuarterSecond */ +typedef long Vanetza_ITS2_DeltaTimeQuarterSecond_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeQuarterSecond_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeQuarterSecond; +asn_struct_free_f Vanetza_ITS2_DeltaTimeQuarterSecond_free; +asn_struct_print_f Vanetza_ITS2_DeltaTimeQuarterSecond_print; +asn_constr_check_f Vanetza_ITS2_DeltaTimeQuarterSecond_constraint; +ber_type_decoder_f Vanetza_ITS2_DeltaTimeQuarterSecond_decode_ber; +der_type_encoder_f Vanetza_ITS2_DeltaTimeQuarterSecond_encode_der; +xer_type_decoder_f Vanetza_ITS2_DeltaTimeQuarterSecond_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DeltaTimeQuarterSecond_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DeltaTimeQuarterSecond_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DeltaTimeQuarterSecond_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DeltaTimeQuarterSecond_encode_oer; +per_type_decoder_f Vanetza_ITS2_DeltaTimeQuarterSecond_decode_uper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeQuarterSecond_encode_uper; +per_type_decoder_f Vanetza_ITS2_DeltaTimeQuarterSecond_decode_aper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeQuarterSecond_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DeltaTimeQuarterSecond_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DeltaTimeSecond.c b/vanetza/asn1/its/r2/DeltaTimeSecond.c new file mode 100644 index 000000000..d6f11b632 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeSecond.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DeltaTimeSecond.h" + +int +Vanetza_ITS2_DeltaTimeSecond_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 86400L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DeltaTimeSecond_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..86400) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeSecond_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 17, -1, 0, 86400 } /* (0..86400) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DeltaTimeSecond_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeSecond = { + "DeltaTimeSecond", + "DeltaTimeSecond", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_DeltaTimeSecond_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeSecond_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeSecond_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DeltaTimeSecond_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeSecond_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeSecond_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DeltaTimeSecond_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DeltaTimeSecond_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DeltaTimeSecond_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/DeltaTimeSecond.h b/vanetza/asn1/its/r2/DeltaTimeSecond.h new file mode 100644 index 000000000..224987a0a --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeSecond.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DeltaTimeSecond_H_ +#define _Vanetza_ITS2_DeltaTimeSecond_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_DeltaTimeSecond */ +typedef long Vanetza_ITS2_DeltaTimeSecond_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeSecond_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeSecond; +asn_struct_free_f Vanetza_ITS2_DeltaTimeSecond_free; +asn_struct_print_f Vanetza_ITS2_DeltaTimeSecond_print; +asn_constr_check_f Vanetza_ITS2_DeltaTimeSecond_constraint; +ber_type_decoder_f Vanetza_ITS2_DeltaTimeSecond_decode_ber; +der_type_encoder_f Vanetza_ITS2_DeltaTimeSecond_encode_der; +xer_type_decoder_f Vanetza_ITS2_DeltaTimeSecond_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DeltaTimeSecond_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DeltaTimeSecond_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DeltaTimeSecond_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DeltaTimeSecond_encode_oer; +per_type_decoder_f Vanetza_ITS2_DeltaTimeSecond_decode_uper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeSecond_encode_uper; +per_type_decoder_f Vanetza_ITS2_DeltaTimeSecond_decode_aper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeSecond_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DeltaTimeSecond_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DeltaTimeTenSeconds.c b/vanetza/asn1/its/r2/DeltaTimeTenSeconds.c new file mode 100644 index 000000000..3ce19797a --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeTenSeconds.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DeltaTimeTenSeconds.h" + +int +Vanetza_ITS2_DeltaTimeTenSeconds_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DeltaTimeTenSeconds_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeTenSeconds_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DeltaTimeTenSeconds_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeTenSeconds = { + "DeltaTimeTenSeconds", + "DeltaTimeTenSeconds", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_DeltaTimeTenSeconds_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeTenSeconds_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeTenSeconds_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DeltaTimeTenSeconds_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeTenSeconds_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeTenSeconds_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DeltaTimeTenSeconds_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DeltaTimeTenSeconds_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DeltaTimeTenSeconds_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/DeltaTimeTenSeconds.h b/vanetza/asn1/its/r2/DeltaTimeTenSeconds.h new file mode 100644 index 000000000..20839f99f --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeTenSeconds.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DeltaTimeTenSeconds_H_ +#define _Vanetza_ITS2_DeltaTimeTenSeconds_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_DeltaTimeTenSeconds */ +typedef long Vanetza_ITS2_DeltaTimeTenSeconds_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeTenSeconds_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeTenSeconds; +asn_struct_free_f Vanetza_ITS2_DeltaTimeTenSeconds_free; +asn_struct_print_f Vanetza_ITS2_DeltaTimeTenSeconds_print; +asn_constr_check_f Vanetza_ITS2_DeltaTimeTenSeconds_constraint; +ber_type_decoder_f Vanetza_ITS2_DeltaTimeTenSeconds_decode_ber; +der_type_encoder_f Vanetza_ITS2_DeltaTimeTenSeconds_encode_der; +xer_type_decoder_f Vanetza_ITS2_DeltaTimeTenSeconds_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DeltaTimeTenSeconds_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DeltaTimeTenSeconds_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DeltaTimeTenSeconds_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DeltaTimeTenSeconds_encode_oer; +per_type_decoder_f Vanetza_ITS2_DeltaTimeTenSeconds_decode_uper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeTenSeconds_encode_uper; +per_type_decoder_f Vanetza_ITS2_DeltaTimeTenSeconds_decode_aper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeTenSeconds_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DeltaTimeTenSeconds_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DeltaTimeTenthOfSecond.c b/vanetza/asn1/its/r2/DeltaTimeTenthOfSecond.c new file mode 100644 index 000000000..b50402e53 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeTenthOfSecond.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DeltaTimeTenthOfSecond.h" + +int +Vanetza_ITS2_DeltaTimeTenthOfSecond_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DeltaTimeTenthOfSecond_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeTenthOfSecond_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond = { + "DeltaTimeTenthOfSecond", + "DeltaTimeTenthOfSecond", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DeltaTimeTenthOfSecond_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DeltaTimeTenthOfSecond_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DeltaTimeTenthOfSecond_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/DeltaTimeTenthOfSecond.h b/vanetza/asn1/its/r2/DeltaTimeTenthOfSecond.h new file mode 100644 index 000000000..f4f976e63 --- /dev/null +++ b/vanetza/asn1/its/r2/DeltaTimeTenthOfSecond.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DeltaTimeTenthOfSecond_H_ +#define _Vanetza_ITS2_DeltaTimeTenthOfSecond_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_DeltaTimeTenthOfSecond { + Vanetza_ITS2_DeltaTimeTenthOfSecond_unavailable = 127 +} e_Vanetza_ITS2_DeltaTimeTenthOfSecond; + +/* Vanetza_ITS2_DeltaTimeTenthOfSecond */ +typedef long Vanetza_ITS2_DeltaTimeTenthOfSecond_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DeltaTimeTenthOfSecond_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond; +asn_struct_free_f Vanetza_ITS2_DeltaTimeTenthOfSecond_free; +asn_struct_print_f Vanetza_ITS2_DeltaTimeTenthOfSecond_print; +asn_constr_check_f Vanetza_ITS2_DeltaTimeTenthOfSecond_constraint; +ber_type_decoder_f Vanetza_ITS2_DeltaTimeTenthOfSecond_decode_ber; +der_type_encoder_f Vanetza_ITS2_DeltaTimeTenthOfSecond_encode_der; +xer_type_decoder_f Vanetza_ITS2_DeltaTimeTenthOfSecond_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DeltaTimeTenthOfSecond_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DeltaTimeTenthOfSecond_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DeltaTimeTenthOfSecond_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DeltaTimeTenthOfSecond_encode_oer; +per_type_decoder_f Vanetza_ITS2_DeltaTimeTenthOfSecond_decode_uper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeTenthOfSecond_encode_uper; +per_type_decoder_f Vanetza_ITS2_DeltaTimeTenthOfSecond_decode_aper; +per_type_encoder_f Vanetza_ITS2_DeltaTimeTenthOfSecond_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DeltaTimeTenthOfSecond_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DenmPayload.c b/vanetza/asn1/its/r2/DenmPayload.c new file mode 100644 index 000000000..3131afd97 --- /dev/null +++ b/vanetza/asn1/its/r2/DenmPayload.c @@ -0,0 +1,149 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DenmPayload.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DenmPayload_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_Vanetza_ITS2_DenmPayload_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_DenmPayload_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_DenmPayload, management), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DENM_PDU_Description_ManagementContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "management" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_DenmPayload, situation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SituationContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "situation" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_DenmPayload, location), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LocationContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "location" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_DenmPayload, alacarte), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AlacarteContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "alacarte" + }, +}; +static const int asn_MAP_Vanetza_ITS2_DenmPayload_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DenmPayload_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_DenmPayload_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* management */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* situation */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* location */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* alacarte */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_DenmPayload_specs_1 = { + sizeof(struct Vanetza_ITS2_DenmPayload), + offsetof(struct Vanetza_ITS2_DenmPayload, _asn_ctx), + asn_MAP_Vanetza_ITS2_DenmPayload_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_DenmPayload_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DenmPayload = { + "DenmPayload", + "DenmPayload", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_DenmPayload_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DenmPayload_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DenmPayload_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DenmPayload_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DenmPayload_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DenmPayload_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DenmPayload_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DenmPayload_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_DenmPayload_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_DenmPayload_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/DenmPayload.h b/vanetza/asn1/its/r2/DenmPayload.h new file mode 100644 index 000000000..4b9b0a8a9 --- /dev/null +++ b/vanetza/asn1/its/r2/DenmPayload.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DenmPayload_H_ +#define _Vanetza_ITS2_DenmPayload_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "DENM-PDU-Description_ManagementContainer.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_SituationContainer; +struct Vanetza_ITS2_LocationContainer; +struct Vanetza_ITS2_AlacarteContainer; + +/* Vanetza_ITS2_DenmPayload */ +typedef struct Vanetza_ITS2_DenmPayload { + Vanetza_ITS2_DENM_PDU_Description_ManagementContainer_t management; + struct Vanetza_ITS2_SituationContainer *situation; /* OPTIONAL */ + struct Vanetza_ITS2_LocationContainer *location; /* OPTIONAL */ + struct Vanetza_ITS2_AlacarteContainer *alacarte; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_DenmPayload_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DenmPayload; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_DenmPayload_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_DenmPayload_1[4]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DenmPayload_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "SituationContainer.h" +#include "LocationContainer.h" +#include "AlacarteContainer.h" + +#endif /* _Vanetza_ITS2_DenmPayload_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DigitalMap.c b/vanetza/asn1/its/r2/DigitalMap.c new file mode 100644 index 000000000..b742024be --- /dev/null +++ b/vanetza/asn1/its/r2/DigitalMap.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DigitalMap.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DigitalMap_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..256)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DigitalMap_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_DigitalMap_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_ReferencePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DigitalMap_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_DigitalMap_specs_1 = { + sizeof(struct Vanetza_ITS2_DigitalMap), + offsetof(struct Vanetza_ITS2_DigitalMap, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DigitalMap = { + "DigitalMap", + "DigitalMap", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_DigitalMap_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DigitalMap_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DigitalMap_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DigitalMap_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DigitalMap_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DigitalMap_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DigitalMap_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DigitalMap_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_DigitalMap_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_DigitalMap_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/DigitalMap.h b/vanetza/asn1/its/r2/DigitalMap.h new file mode 100644 index 000000000..6677d9e8c --- /dev/null +++ b/vanetza/asn1/its/r2/DigitalMap.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DigitalMap_H_ +#define _Vanetza_ITS2_DigitalMap_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 Vanetza_ITS2_ReferencePosition; + +/* Vanetza_ITS2_DigitalMap */ +typedef struct Vanetza_ITS2_DigitalMap { + A_SEQUENCE_OF(struct Vanetza_ITS2_ReferencePosition) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_DigitalMap_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DigitalMap; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "ReferencePosition.h" + +#endif /* _Vanetza_ITS2_DigitalMap_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Direction.c b/vanetza/asn1/its/r2/Direction.c new file mode 100644 index 000000000..09d5c2359 --- /dev/null +++ b/vanetza/asn1/its/r2/Direction.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Direction.h" + +int +Vanetza_ITS2_Direction_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 3L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Direction_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..3) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Direction_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Direction_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Direction = { + "Direction", + "Direction", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_Direction_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Direction_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Direction_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Direction_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Direction_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Direction_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Direction_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Direction_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_Direction_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/Direction.h b/vanetza/asn1/its/r2/Direction.h new file mode 100644 index 000000000..a4ff95567 --- /dev/null +++ b/vanetza/asn1/its/r2/Direction.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Direction_H_ +#define _Vanetza_ITS2_Direction_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Direction { + Vanetza_ITS2_Direction_sameDirection = 0, + Vanetza_ITS2_Direction_oppositeDirection = 1, + Vanetza_ITS2_Direction_bothDirections = 2, + Vanetza_ITS2_Direction_unavailable = 3 +} e_Vanetza_ITS2_Direction; + +/* Vanetza_ITS2_Direction */ +typedef long Vanetza_ITS2_Direction_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Direction_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Direction; +asn_struct_free_f Vanetza_ITS2_Direction_free; +asn_struct_print_f Vanetza_ITS2_Direction_print; +asn_constr_check_f Vanetza_ITS2_Direction_constraint; +ber_type_decoder_f Vanetza_ITS2_Direction_decode_ber; +der_type_encoder_f Vanetza_ITS2_Direction_encode_der; +xer_type_decoder_f Vanetza_ITS2_Direction_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Direction_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Direction_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Direction_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Direction_encode_oer; +per_type_decoder_f Vanetza_ITS2_Direction_decode_uper; +per_type_encoder_f Vanetza_ITS2_Direction_encode_uper; +per_type_decoder_f Vanetza_ITS2_Direction_decode_aper; +per_type_encoder_f Vanetza_ITS2_Direction_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Direction_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DriveDirection.c b/vanetza/asn1/its/r2/DriveDirection.c new file mode 100644 index 000000000..6cdb45c39 --- /dev/null +++ b/vanetza/asn1/its/r2/DriveDirection.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DriveDirection.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_Vanetza_ITS2_DriveDirection_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_Vanetza_ITS2_DriveDirection_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_DriveDirection_value2enum_1[] = { + { 0, 7, "forward" }, + { 1, 8, "backward" }, + { 2, 11, "unavailable" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_DriveDirection_enum2value_1[] = { + 1, /* backward(1) */ + 0, /* forward(0) */ + 2 /* unavailable(2) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_DriveDirection_specs_1 = { + asn_MAP_Vanetza_ITS2_DriveDirection_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_DriveDirection_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DriveDirection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DriveDirection = { + "DriveDirection", + "DriveDirection", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_DriveDirection_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DriveDirection_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DriveDirection_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DriveDirection_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DriveDirection_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DriveDirection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DriveDirection_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DriveDirection_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_DriveDirection_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/DriveDirection.h b/vanetza/asn1/its/r2/DriveDirection.h new file mode 100644 index 000000000..99a86d875 --- /dev/null +++ b/vanetza/asn1/its/r2/DriveDirection.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DriveDirection_H_ +#define _Vanetza_ITS2_DriveDirection_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_DriveDirection { + Vanetza_ITS2_DriveDirection_forward = 0, + Vanetza_ITS2_DriveDirection_backward = 1, + Vanetza_ITS2_DriveDirection_unavailable = 2 +} e_Vanetza_ITS2_DriveDirection; + +/* Vanetza_ITS2_DriveDirection */ +typedef long Vanetza_ITS2_DriveDirection_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DriveDirection_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DriveDirection; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_DriveDirection_specs_1; +asn_struct_free_f Vanetza_ITS2_DriveDirection_free; +asn_struct_print_f Vanetza_ITS2_DriveDirection_print; +asn_constr_check_f Vanetza_ITS2_DriveDirection_constraint; +ber_type_decoder_f Vanetza_ITS2_DriveDirection_decode_ber; +der_type_encoder_f Vanetza_ITS2_DriveDirection_encode_der; +xer_type_decoder_f Vanetza_ITS2_DriveDirection_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DriveDirection_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DriveDirection_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DriveDirection_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DriveDirection_encode_oer; +per_type_decoder_f Vanetza_ITS2_DriveDirection_decode_uper; +per_type_encoder_f Vanetza_ITS2_DriveDirection_encode_uper; +per_type_decoder_f Vanetza_ITS2_DriveDirection_decode_aper; +per_type_encoder_f Vanetza_ITS2_DriveDirection_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DriveDirection_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/DrivingLaneStatus.c b/vanetza/asn1/its/r2/DrivingLaneStatus.c new file mode 100644 index 000000000..b2f3c896d --- /dev/null +++ b/vanetza/asn1/its/r2/DrivingLaneStatus.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "DrivingLaneStatus.h" + +int +Vanetza_ITS2_DrivingLaneStatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1UL && size <= 13UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_DrivingLaneStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..13)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DrivingLaneStatus_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 13 } /* (SIZE(1..13)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_DrivingLaneStatus_constr_1 CC_NOTUSED = { + -1}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_DrivingLaneStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DrivingLaneStatus = { + "DrivingLaneStatus", + "DrivingLaneStatus", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_DrivingLaneStatus_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_DrivingLaneStatus_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DrivingLaneStatus_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_DrivingLaneStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_DrivingLaneStatus_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_DrivingLaneStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_DrivingLaneStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_DrivingLaneStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_DrivingLaneStatus_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_DrivingLaneStatus_constraint + }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/DrivingLaneStatus.h b/vanetza/asn1/its/r2/DrivingLaneStatus.h new file mode 100644 index 000000000..b02318775 --- /dev/null +++ b/vanetza/asn1/its/r2/DrivingLaneStatus.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_DrivingLaneStatus_H_ +#define _Vanetza_ITS2_DrivingLaneStatus_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_DrivingLaneStatus */ +typedef BIT_STRING_t Vanetza_ITS2_DrivingLaneStatus_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_DrivingLaneStatus_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_DrivingLaneStatus; +asn_struct_free_f Vanetza_ITS2_DrivingLaneStatus_free; +asn_struct_print_f Vanetza_ITS2_DrivingLaneStatus_print; +asn_constr_check_f Vanetza_ITS2_DrivingLaneStatus_constraint; +ber_type_decoder_f Vanetza_ITS2_DrivingLaneStatus_decode_ber; +der_type_encoder_f Vanetza_ITS2_DrivingLaneStatus_encode_der; +xer_type_decoder_f Vanetza_ITS2_DrivingLaneStatus_decode_xer; +xer_type_encoder_f Vanetza_ITS2_DrivingLaneStatus_encode_xer; +jer_type_encoder_f Vanetza_ITS2_DrivingLaneStatus_encode_jer; +oer_type_decoder_f Vanetza_ITS2_DrivingLaneStatus_decode_oer; +oer_type_encoder_f Vanetza_ITS2_DrivingLaneStatus_encode_oer; +per_type_decoder_f Vanetza_ITS2_DrivingLaneStatus_decode_uper; +per_type_encoder_f Vanetza_ITS2_DrivingLaneStatus_encode_uper; +per_type_decoder_f Vanetza_ITS2_DrivingLaneStatus_decode_aper; +per_type_encoder_f Vanetza_ITS2_DrivingLaneStatus_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_DrivingLaneStatus_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EXTERNAL.c b/vanetza/asn1/its/r2/EXTERNAL.c new file mode 100644 index 000000000..639e9ea93 --- /dev/null +++ b/vanetza/asn1/its/r2/EXTERNAL.c @@ -0,0 +1,255 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ASN1C-UsefulInformationObjectClasses" + * found in "/home/raphael/opt/asn1c-18e56503/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EXTERNAL.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_encoding_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_encoding_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_encoding_5[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EXTERNAL__encoding, choice.single_ASN1_type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ANY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "single-ASN1-type" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EXTERNAL__encoding, choice.octet_aligned), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "octet-aligned" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EXTERNAL__encoding, choice.arbitrary), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "arbitrary" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_encoding_tag2el_5[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* single-ASN1-type */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* octet-aligned */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* arbitrary */ +}; +static asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_encoding_specs_5 = { + sizeof(struct Vanetza_ITS2_EXTERNAL__encoding), + offsetof(struct Vanetza_ITS2_EXTERNAL__encoding, _asn_ctx), + offsetof(struct Vanetza_ITS2_EXTERNAL__encoding, present), + sizeof(((struct Vanetza_ITS2_EXTERNAL__encoding *)0)->present), + asn_MAP_Vanetza_ITS2_encoding_tag2el_5, + 3, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_encoding_5 = { + "encoding", + "encoding", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_encoding_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_encoding_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_encoding_5, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_encoding_specs_5 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EXTERNAL_1[] = { + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_EXTERNAL, direct_reference), + (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), + 0, + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "direct-reference" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_EXTERNAL, indirect_reference), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "indirect-reference" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_EXTERNAL, data_value_descriptor), + (ASN_TAG_CLASS_UNIVERSAL | (7 << 2)), + 0, + &asn_DEF_ObjectDescriptor, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "data-value-descriptor" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EXTERNAL, encoding), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Vanetza_ITS2_encoding_5, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "encoding" + }, +}; +static const int asn_MAP_Vanetza_ITS2_EXTERNAL_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EXTERNAL_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_EXTERNAL_tag2el_1[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* indirect-reference */ + { (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 0, 0, 0 }, /* direct-reference */ + { (ASN_TAG_CLASS_UNIVERSAL | (7 << 2)), 2, 0, 0 }, /* data-value-descriptor */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 3, 0, 0 }, /* single-ASN1-type */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* octet-aligned */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 } /* arbitrary */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_EXTERNAL_specs_1 = { + sizeof(struct Vanetza_ITS2_EXTERNAL), + offsetof(struct Vanetza_ITS2_EXTERNAL, _asn_ctx), + asn_MAP_Vanetza_ITS2_EXTERNAL_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_EXTERNAL_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EXTERNAL = { + "EXTERNAL", + "EXTERNAL", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_EXTERNAL_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EXTERNAL_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EXTERNAL_tags_1[0]) - 1, /* 1 */ + asn_DEF_Vanetza_ITS2_EXTERNAL_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EXTERNAL_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EXTERNAL_tags_1[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_EXTERNAL_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_EXTERNAL_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EXTERNAL.h b/vanetza/asn1/its/r2/EXTERNAL.h new file mode 100644 index 000000000..de3ecaf67 --- /dev/null +++ b/vanetza/asn1/its/r2/EXTERNAL.h @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ASN1C-UsefulInformationObjectClasses" + * found in "/home/raphael/opt/asn1c-18e56503/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EXTERNAL_H_ +#define _Vanetza_ITS2_EXTERNAL_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "OBJECT_IDENTIFIER.h" +#include "NativeInteger.h" +#include "ObjectDescriptor.h" +#include "ANY.h" +#include "OCTET_STRING.h" +#include "BIT_STRING.h" +#include "constr_CHOICE.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_EXTERNAL__encoding_PR { + Vanetza_ITS2_EXTERNAL__encoding_PR_NOTHING, /* No components present */ + Vanetza_ITS2_EXTERNAL__encoding_PR_single_ASN1_type, + Vanetza_ITS2_EXTERNAL__encoding_PR_octet_aligned, + Vanetza_ITS2_EXTERNAL__encoding_PR_arbitrary +} Vanetza_ITS2_EXTERNAL__encoding_PR; + +/* Vanetza_ITS2_EXTERNAL */ +typedef struct Vanetza_ITS2_EXTERNAL { + OBJECT_IDENTIFIER_t *direct_reference; /* OPTIONAL */ + long *indirect_reference; /* OPTIONAL */ + ObjectDescriptor_t *data_value_descriptor; /* OPTIONAL */ + struct Vanetza_ITS2_EXTERNAL__encoding { + Vanetza_ITS2_EXTERNAL__encoding_PR present; + union Vanetza_ITS2_EXTERNAL__Vanetza_ITS2_encoding_u { + ANY_t single_ASN1_type; + OCTET_STRING_t octet_aligned; + BIT_STRING_t arbitrary; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } encoding; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_EXTERNAL_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EXTERNAL; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EXTERNAL_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EllipticalShape.c b/vanetza/asn1/its/r2/EllipticalShape.c new file mode 100644 index 000000000..68f261da9 --- /dev/null +++ b/vanetza/asn1/its/r2/EllipticalShape.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EllipticalShape.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EllipticalShape_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_EllipticalShape, shapeReferencePoint), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianPosition3d, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "shapeReferencePoint" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EllipticalShape, semiMajorAxisLength), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiMajorAxisLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EllipticalShape, semiMinorAxisLength), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiMinorAxisLength" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_EllipticalShape, orientation), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "orientation" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_EllipticalShape, height), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "height" + }, +}; +static const int asn_MAP_Vanetza_ITS2_EllipticalShape_oms_1[] = { 0, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EllipticalShape_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_EllipticalShape_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* shapeReferencePoint */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* semiMajorAxisLength */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* semiMinorAxisLength */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* orientation */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* height */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_EllipticalShape_specs_1 = { + sizeof(struct Vanetza_ITS2_EllipticalShape), + offsetof(struct Vanetza_ITS2_EllipticalShape, _asn_ctx), + asn_MAP_Vanetza_ITS2_EllipticalShape_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_EllipticalShape_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EllipticalShape = { + "EllipticalShape", + "EllipticalShape", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_EllipticalShape_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EllipticalShape_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EllipticalShape_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EllipticalShape_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EllipticalShape_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EllipticalShape_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_EllipticalShape_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_EllipticalShape_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EllipticalShape.h b/vanetza/asn1/its/r2/EllipticalShape.h new file mode 100644 index 000000000..0ac92f62f --- /dev/null +++ b/vanetza/asn1/its/r2/EllipticalShape.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EllipticalShape_H_ +#define _Vanetza_ITS2_EllipticalShape_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StandardLength12b.h" +#include "CartesianAngleValue.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CartesianPosition3d; + +/* Vanetza_ITS2_EllipticalShape */ +typedef struct Vanetza_ITS2_EllipticalShape { + struct Vanetza_ITS2_CartesianPosition3d *shapeReferencePoint; /* OPTIONAL */ + Vanetza_ITS2_StandardLength12b_t semiMajorAxisLength; + Vanetza_ITS2_StandardLength12b_t semiMinorAxisLength; + Vanetza_ITS2_CartesianAngleValue_t *orientation; /* OPTIONAL */ + Vanetza_ITS2_StandardLength12b_t *height; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_EllipticalShape_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EllipticalShape; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_EllipticalShape_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EllipticalShape_1[5]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CartesianPosition3d.h" + +#endif /* _Vanetza_ITS2_EllipticalShape_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EmbarkationStatus.c b/vanetza/asn1/its/r2/EmbarkationStatus.c new file mode 100644 index 000000000..7629df3cb --- /dev/null +++ b/vanetza/asn1/its/r2/EmbarkationStatus.c @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EmbarkationStatus.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EmbarkationStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EmbarkationStatus = { + "EmbarkationStatus", + "EmbarkationStatus", + &asn_OP_BOOLEAN, + asn_DEF_Vanetza_ITS2_EmbarkationStatus_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EmbarkationStatus_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EmbarkationStatus_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EmbarkationStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EmbarkationStatus_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EmbarkationStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/EmbarkationStatus.h b/vanetza/asn1/its/r2/EmbarkationStatus.h new file mode 100644 index 000000000..1ab5437ad --- /dev/null +++ b/vanetza/asn1/its/r2/EmbarkationStatus.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EmbarkationStatus_H_ +#define _Vanetza_ITS2_EmbarkationStatus_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BOOLEAN.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_EmbarkationStatus */ +typedef BOOLEAN_t Vanetza_ITS2_EmbarkationStatus_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EmbarkationStatus; +asn_struct_free_f Vanetza_ITS2_EmbarkationStatus_free; +asn_struct_print_f Vanetza_ITS2_EmbarkationStatus_print; +asn_constr_check_f Vanetza_ITS2_EmbarkationStatus_constraint; +ber_type_decoder_f Vanetza_ITS2_EmbarkationStatus_decode_ber; +der_type_encoder_f Vanetza_ITS2_EmbarkationStatus_encode_der; +xer_type_decoder_f Vanetza_ITS2_EmbarkationStatus_decode_xer; +xer_type_encoder_f Vanetza_ITS2_EmbarkationStatus_encode_xer; +jer_type_encoder_f Vanetza_ITS2_EmbarkationStatus_encode_jer; +oer_type_decoder_f Vanetza_ITS2_EmbarkationStatus_decode_oer; +oer_type_encoder_f Vanetza_ITS2_EmbarkationStatus_encode_oer; +per_type_decoder_f Vanetza_ITS2_EmbarkationStatus_decode_uper; +per_type_encoder_f Vanetza_ITS2_EmbarkationStatus_encode_uper; +per_type_decoder_f Vanetza_ITS2_EmbarkationStatus_decode_aper; +per_type_encoder_f Vanetza_ITS2_EmbarkationStatus_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EmbarkationStatus_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EmergencyContainer.c b/vanetza/asn1/its/r2/EmergencyContainer.c new file mode 100644 index 000000000..c3050c13d --- /dev/null +++ b/vanetza/asn1/its/r2/EmergencyContainer.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EmergencyContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EmergencyContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EmergencyContainer, lightBarSirenInUse), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LightBarSirenInUse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lightBarSirenInUse" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_EmergencyContainer, incidentIndication), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CauseCodeV2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "incidentIndication" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_EmergencyContainer, emergencyPriority), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EmergencyPriority, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emergencyPriority" + }, +}; +static const int asn_MAP_Vanetza_ITS2_EmergencyContainer_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EmergencyContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_EmergencyContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lightBarSirenInUse */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* incidentIndication */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* emergencyPriority */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_EmergencyContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_EmergencyContainer), + offsetof(struct Vanetza_ITS2_EmergencyContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_EmergencyContainer_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_EmergencyContainer_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EmergencyContainer = { + "EmergencyContainer", + "EmergencyContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_EmergencyContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EmergencyContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EmergencyContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EmergencyContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EmergencyContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EmergencyContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_EmergencyContainer_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_EmergencyContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EmergencyContainer.h b/vanetza/asn1/its/r2/EmergencyContainer.h new file mode 100644 index 000000000..00cf84ab1 --- /dev/null +++ b/vanetza/asn1/its/r2/EmergencyContainer.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EmergencyContainer_H_ +#define _Vanetza_ITS2_EmergencyContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LightBarSirenInUse.h" +#include "EmergencyPriority.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CauseCodeV2; + +/* Vanetza_ITS2_EmergencyContainer */ +typedef struct Vanetza_ITS2_EmergencyContainer { + Vanetza_ITS2_LightBarSirenInUse_t lightBarSirenInUse; + struct Vanetza_ITS2_CauseCodeV2 *incidentIndication; /* OPTIONAL */ + Vanetza_ITS2_EmergencyPriority_t *emergencyPriority; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_EmergencyContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EmergencyContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_EmergencyContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EmergencyContainer_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CauseCodeV2.h" + +#endif /* _Vanetza_ITS2_EmergencyContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EmergencyPriority.c b/vanetza/asn1/its/r2/EmergencyPriority.c new file mode 100644 index 000000000..ded54e254 --- /dev/null +++ b/vanetza/asn1/its/r2/EmergencyPriority.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EmergencyPriority.h" + +int +Vanetza_ITS2_EmergencyPriority_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 2UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_EmergencyPriority_constr_1 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EmergencyPriority_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_EmergencyPriority_constr_1 CC_NOTUSED = { + 2}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EmergencyPriority_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EmergencyPriority = { + "EmergencyPriority", + "EmergencyPriority", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_EmergencyPriority_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EmergencyPriority_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EmergencyPriority_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EmergencyPriority_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EmergencyPriority_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EmergencyPriority_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_EmergencyPriority_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_EmergencyPriority_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_EmergencyPriority_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_EmergencyPriority_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EmergencyPriority.h b/vanetza/asn1/its/r2/EmergencyPriority.h new file mode 100644 index 000000000..a2d34253e --- /dev/null +++ b/vanetza/asn1/its/r2/EmergencyPriority.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EmergencyPriority_H_ +#define _Vanetza_ITS2_EmergencyPriority_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_EmergencyPriority { + Vanetza_ITS2_EmergencyPriority_requestForRightOfWay = 0, + Vanetza_ITS2_EmergencyPriority_requestForFreeCrossingAtATrafficLight = 1 +} e_Vanetza_ITS2_EmergencyPriority; + +/* Vanetza_ITS2_EmergencyPriority */ +typedef BIT_STRING_t Vanetza_ITS2_EmergencyPriority_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EmergencyPriority_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EmergencyPriority; +asn_struct_free_f Vanetza_ITS2_EmergencyPriority_free; +asn_struct_print_f Vanetza_ITS2_EmergencyPriority_print; +asn_constr_check_f Vanetza_ITS2_EmergencyPriority_constraint; +ber_type_decoder_f Vanetza_ITS2_EmergencyPriority_decode_ber; +der_type_encoder_f Vanetza_ITS2_EmergencyPriority_encode_der; +xer_type_decoder_f Vanetza_ITS2_EmergencyPriority_decode_xer; +xer_type_encoder_f Vanetza_ITS2_EmergencyPriority_encode_xer; +jer_type_encoder_f Vanetza_ITS2_EmergencyPriority_encode_jer; +oer_type_decoder_f Vanetza_ITS2_EmergencyPriority_decode_oer; +oer_type_encoder_f Vanetza_ITS2_EmergencyPriority_encode_oer; +per_type_decoder_f Vanetza_ITS2_EmergencyPriority_decode_uper; +per_type_encoder_f Vanetza_ITS2_EmergencyPriority_encode_uper; +per_type_decoder_f Vanetza_ITS2_EmergencyPriority_decode_aper; +per_type_encoder_f Vanetza_ITS2_EmergencyPriority_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EmergencyPriority_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EmergencyVehicleApproachingSubCauseCode.c b/vanetza/asn1/its/r2/EmergencyVehicleApproachingSubCauseCode.c new file mode 100644 index 000000000..9ae9d28b7 --- /dev/null +++ b/vanetza/asn1/its/r2/EmergencyVehicleApproachingSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EmergencyVehicleApproachingSubCauseCode.h" + +int +Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode = { + "EmergencyVehicleApproachingSubCauseCode", + "EmergencyVehicleApproachingSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/EmergencyVehicleApproachingSubCauseCode.h b/vanetza/asn1/its/r2/EmergencyVehicleApproachingSubCauseCode.h new file mode 100644 index 000000000..489032314 --- /dev/null +++ b/vanetza/asn1/its/r2/EmergencyVehicleApproachingSubCauseCode.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_H_ +#define _Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode { + Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_unavailable = 0, + Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_emergencyVehicleApproaching = 1, + Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_prioritizedVehicleApproaching = 2 +} e_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode; + +/* Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode */ +typedef long Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode; +asn_struct_free_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EnergyStorageType.c b/vanetza/asn1/its/r2/EnergyStorageType.c new file mode 100644 index 000000000..396f74cd2 --- /dev/null +++ b/vanetza/asn1/its/r2/EnergyStorageType.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EnergyStorageType.h" + +int +Vanetza_ITS2_EnergyStorageType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 7UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_EnergyStorageType_constr_1 CC_NOTUSED = { + { 0, 0 }, + 7 /* (SIZE(7..7)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EnergyStorageType_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 7, 7 } /* (SIZE(7..7)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_EnergyStorageType_constr_1 CC_NOTUSED = { + 7}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EnergyStorageType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EnergyStorageType = { + "EnergyStorageType", + "EnergyStorageType", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_EnergyStorageType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EnergyStorageType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EnergyStorageType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EnergyStorageType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EnergyStorageType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EnergyStorageType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_EnergyStorageType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_EnergyStorageType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_EnergyStorageType_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_EnergyStorageType_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EnergyStorageType.h b/vanetza/asn1/its/r2/EnergyStorageType.h new file mode 100644 index 000000000..8b679ee84 --- /dev/null +++ b/vanetza/asn1/its/r2/EnergyStorageType.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EnergyStorageType_H_ +#define _Vanetza_ITS2_EnergyStorageType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_EnergyStorageType { + Vanetza_ITS2_EnergyStorageType_hydrogenStorage = 0, + Vanetza_ITS2_EnergyStorageType_electricEnergyStorage = 1, + Vanetza_ITS2_EnergyStorageType_liquidPropaneGas = 2, + Vanetza_ITS2_EnergyStorageType_compressedNaturalGas = 3, + Vanetza_ITS2_EnergyStorageType_diesel = 4, + Vanetza_ITS2_EnergyStorageType_gasoline = 5, + Vanetza_ITS2_EnergyStorageType_ammonia = 6 +} e_Vanetza_ITS2_EnergyStorageType; + +/* Vanetza_ITS2_EnergyStorageType */ +typedef BIT_STRING_t Vanetza_ITS2_EnergyStorageType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EnergyStorageType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EnergyStorageType; +asn_struct_free_f Vanetza_ITS2_EnergyStorageType_free; +asn_struct_print_f Vanetza_ITS2_EnergyStorageType_print; +asn_constr_check_f Vanetza_ITS2_EnergyStorageType_constraint; +ber_type_decoder_f Vanetza_ITS2_EnergyStorageType_decode_ber; +der_type_encoder_f Vanetza_ITS2_EnergyStorageType_encode_der; +xer_type_decoder_f Vanetza_ITS2_EnergyStorageType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_EnergyStorageType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_EnergyStorageType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_EnergyStorageType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_EnergyStorageType_encode_oer; +per_type_decoder_f Vanetza_ITS2_EnergyStorageType_decode_uper; +per_type_encoder_f Vanetza_ITS2_EnergyStorageType_encode_uper; +per_type_decoder_f Vanetza_ITS2_EnergyStorageType_decode_aper; +per_type_encoder_f Vanetza_ITS2_EnergyStorageType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EnergyStorageType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EuVehicleCategoryCode.c b/vanetza/asn1/its/r2/EuVehicleCategoryCode.c new file mode 100644 index 000000000..03d79b4ea --- /dev/null +++ b/vanetza/asn1/its/r2/EuVehicleCategoryCode.c @@ -0,0 +1,186 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EuVehicleCategoryCode.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_EuVehicleCategoryCode_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EuVehicleCategoryCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 5 } /* (0..5) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EuVehicleCategoryCode_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EuVehicleCategoryCode, choice.euVehicleCategoryL), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EuVehicleCategoryL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "euVehicleCategoryL" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EuVehicleCategoryCode, choice.euVehicleCategoryM), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EuVehicleCategoryM, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "euVehicleCategoryM" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EuVehicleCategoryCode, choice.euVehicleCategoryN), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EuVehicleCategoryN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "euVehicleCategoryN" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EuVehicleCategoryCode, choice.euVehicleCategoryO), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EuVehicleCategoryO, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "euVehicleCategoryO" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EuVehicleCategoryCode, choice.euVehicleCategoryT), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "euVehicleCategoryT" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EuVehicleCategoryCode, choice.euVehicleCategoryG), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "euVehicleCategoryG" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_EuVehicleCategoryCode_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* euVehicleCategoryL */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* euVehicleCategoryM */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* euVehicleCategoryN */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* euVehicleCategoryO */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* euVehicleCategoryT */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* euVehicleCategoryG */ +}; +static asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_EuVehicleCategoryCode_specs_1 = { + sizeof(struct Vanetza_ITS2_EuVehicleCategoryCode), + offsetof(struct Vanetza_ITS2_EuVehicleCategoryCode, _asn_ctx), + offsetof(struct Vanetza_ITS2_EuVehicleCategoryCode, present), + sizeof(((struct Vanetza_ITS2_EuVehicleCategoryCode *)0)->present), + asn_MAP_Vanetza_ITS2_EuVehicleCategoryCode_tag2el_1, + 6, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryCode = { + "EuVehicleCategoryCode", + "EuVehicleCategoryCode", + &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_Vanetza_ITS2_EuVehicleCategoryCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_EuVehicleCategoryCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_EuVehicleCategoryCode_1, + 6, /* Elements count */ + &asn_SPC_Vanetza_ITS2_EuVehicleCategoryCode_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EuVehicleCategoryCode.h b/vanetza/asn1/its/r2/EuVehicleCategoryCode.h new file mode 100644 index 000000000..478961a51 --- /dev/null +++ b/vanetza/asn1/its/r2/EuVehicleCategoryCode.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EuVehicleCategoryCode_H_ +#define _Vanetza_ITS2_EuVehicleCategoryCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "EuVehicleCategoryL.h" +#include "EuVehicleCategoryM.h" +#include "EuVehicleCategoryN.h" +#include "EuVehicleCategoryO.h" +#include "NULL.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_EuVehicleCategoryCode_PR { + Vanetza_ITS2_EuVehicleCategoryCode_PR_NOTHING, /* No components present */ + Vanetza_ITS2_EuVehicleCategoryCode_PR_euVehicleCategoryL, + Vanetza_ITS2_EuVehicleCategoryCode_PR_euVehicleCategoryM, + Vanetza_ITS2_EuVehicleCategoryCode_PR_euVehicleCategoryN, + Vanetza_ITS2_EuVehicleCategoryCode_PR_euVehicleCategoryO, + Vanetza_ITS2_EuVehicleCategoryCode_PR_euVehicleCategoryT, + Vanetza_ITS2_EuVehicleCategoryCode_PR_euVehicleCategoryG +} Vanetza_ITS2_EuVehicleCategoryCode_PR; + +/* Vanetza_ITS2_EuVehicleCategoryCode */ +typedef struct Vanetza_ITS2_EuVehicleCategoryCode { + Vanetza_ITS2_EuVehicleCategoryCode_PR present; + union Vanetza_ITS2_EuVehicleCategoryCode_u { + Vanetza_ITS2_EuVehicleCategoryL_t euVehicleCategoryL; + Vanetza_ITS2_EuVehicleCategoryM_t euVehicleCategoryM; + Vanetza_ITS2_EuVehicleCategoryN_t euVehicleCategoryN; + Vanetza_ITS2_EuVehicleCategoryO_t euVehicleCategoryO; + NULL_t euVehicleCategoryT; + NULL_t euVehicleCategoryG; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_EuVehicleCategoryCode_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryCode; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EuVehicleCategoryCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EuVehicleCategoryL.c b/vanetza/asn1/its/r2/EuVehicleCategoryL.c new file mode 100644 index 000000000..648623d1b --- /dev/null +++ b/vanetza/asn1/its/r2/EuVehicleCategoryL.c @@ -0,0 +1,81 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EuVehicleCategoryL.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_Vanetza_ITS2_EuVehicleCategoryL_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_Vanetza_ITS2_EuVehicleCategoryL_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 6 } /* (0..6) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_EuVehicleCategoryL_value2enum_1[] = { + { 0, 2, "l1" }, + { 1, 2, "l2" }, + { 2, 2, "l3" }, + { 3, 2, "l4" }, + { 4, 2, "l5" }, + { 5, 2, "l6" }, + { 6, 2, "l7" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_EuVehicleCategoryL_enum2value_1[] = { + 0, /* l1(0) */ + 1, /* l2(1) */ + 2, /* l3(2) */ + 3, /* l4(3) */ + 4, /* l5(4) */ + 5, /* l6(5) */ + 6 /* l7(6) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_EuVehicleCategoryL_specs_1 = { + asn_MAP_Vanetza_ITS2_EuVehicleCategoryL_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_EuVehicleCategoryL_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* 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_Vanetza_ITS2_EuVehicleCategoryL_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryL = { + "EuVehicleCategoryL", + "EuVehicleCategoryL", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_EuVehicleCategoryL_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryL_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryL_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EuVehicleCategoryL_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryL_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryL_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_EuVehicleCategoryL_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_EuVehicleCategoryL_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_EuVehicleCategoryL_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EuVehicleCategoryL.h b/vanetza/asn1/its/r2/EuVehicleCategoryL.h new file mode 100644 index 000000000..185b9c658 --- /dev/null +++ b/vanetza/asn1/its/r2/EuVehicleCategoryL.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EuVehicleCategoryL_H_ +#define _Vanetza_ITS2_EuVehicleCategoryL_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_EuVehicleCategoryL { + Vanetza_ITS2_EuVehicleCategoryL_l1 = 0, + Vanetza_ITS2_EuVehicleCategoryL_l2 = 1, + Vanetza_ITS2_EuVehicleCategoryL_l3 = 2, + Vanetza_ITS2_EuVehicleCategoryL_l4 = 3, + Vanetza_ITS2_EuVehicleCategoryL_l5 = 4, + Vanetza_ITS2_EuVehicleCategoryL_l6 = 5, + Vanetza_ITS2_EuVehicleCategoryL_l7 = 6 +} e_Vanetza_ITS2_EuVehicleCategoryL; + +/* Vanetza_ITS2_EuVehicleCategoryL */ +typedef long Vanetza_ITS2_EuVehicleCategoryL_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EuVehicleCategoryL_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryL; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_EuVehicleCategoryL_specs_1; +asn_struct_free_f Vanetza_ITS2_EuVehicleCategoryL_free; +asn_struct_print_f Vanetza_ITS2_EuVehicleCategoryL_print; +asn_constr_check_f Vanetza_ITS2_EuVehicleCategoryL_constraint; +ber_type_decoder_f Vanetza_ITS2_EuVehicleCategoryL_decode_ber; +der_type_encoder_f Vanetza_ITS2_EuVehicleCategoryL_encode_der; +xer_type_decoder_f Vanetza_ITS2_EuVehicleCategoryL_decode_xer; +xer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryL_encode_xer; +jer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryL_encode_jer; +oer_type_decoder_f Vanetza_ITS2_EuVehicleCategoryL_decode_oer; +oer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryL_encode_oer; +per_type_decoder_f Vanetza_ITS2_EuVehicleCategoryL_decode_uper; +per_type_encoder_f Vanetza_ITS2_EuVehicleCategoryL_encode_uper; +per_type_decoder_f Vanetza_ITS2_EuVehicleCategoryL_decode_aper; +per_type_encoder_f Vanetza_ITS2_EuVehicleCategoryL_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EuVehicleCategoryL_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EuVehicleCategoryM.c b/vanetza/asn1/its/r2/EuVehicleCategoryM.c new file mode 100644 index 000000000..78d2d7212 --- /dev/null +++ b/vanetza/asn1/its/r2/EuVehicleCategoryM.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EuVehicleCategoryM.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_Vanetza_ITS2_EuVehicleCategoryM_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_Vanetza_ITS2_EuVehicleCategoryM_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_EuVehicleCategoryM_value2enum_1[] = { + { 0, 2, "m1" }, + { 1, 2, "m2" }, + { 2, 2, "m3" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_EuVehicleCategoryM_enum2value_1[] = { + 0, /* m1(0) */ + 1, /* m2(1) */ + 2 /* m3(2) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_EuVehicleCategoryM_specs_1 = { + asn_MAP_Vanetza_ITS2_EuVehicleCategoryM_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_EuVehicleCategoryM_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryM_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryM = { + "EuVehicleCategoryM", + "EuVehicleCategoryM", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_EuVehicleCategoryM_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryM_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryM_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EuVehicleCategoryM_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryM_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryM_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_EuVehicleCategoryM_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_EuVehicleCategoryM_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_EuVehicleCategoryM_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EuVehicleCategoryM.h b/vanetza/asn1/its/r2/EuVehicleCategoryM.h new file mode 100644 index 000000000..e2a22b30d --- /dev/null +++ b/vanetza/asn1/its/r2/EuVehicleCategoryM.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EuVehicleCategoryM_H_ +#define _Vanetza_ITS2_EuVehicleCategoryM_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_EuVehicleCategoryM { + Vanetza_ITS2_EuVehicleCategoryM_m1 = 0, + Vanetza_ITS2_EuVehicleCategoryM_m2 = 1, + Vanetza_ITS2_EuVehicleCategoryM_m3 = 2 +} e_Vanetza_ITS2_EuVehicleCategoryM; + +/* Vanetza_ITS2_EuVehicleCategoryM */ +typedef long Vanetza_ITS2_EuVehicleCategoryM_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EuVehicleCategoryM_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryM; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_EuVehicleCategoryM_specs_1; +asn_struct_free_f Vanetza_ITS2_EuVehicleCategoryM_free; +asn_struct_print_f Vanetza_ITS2_EuVehicleCategoryM_print; +asn_constr_check_f Vanetza_ITS2_EuVehicleCategoryM_constraint; +ber_type_decoder_f Vanetza_ITS2_EuVehicleCategoryM_decode_ber; +der_type_encoder_f Vanetza_ITS2_EuVehicleCategoryM_encode_der; +xer_type_decoder_f Vanetza_ITS2_EuVehicleCategoryM_decode_xer; +xer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryM_encode_xer; +jer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryM_encode_jer; +oer_type_decoder_f Vanetza_ITS2_EuVehicleCategoryM_decode_oer; +oer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryM_encode_oer; +per_type_decoder_f Vanetza_ITS2_EuVehicleCategoryM_decode_uper; +per_type_encoder_f Vanetza_ITS2_EuVehicleCategoryM_encode_uper; +per_type_decoder_f Vanetza_ITS2_EuVehicleCategoryM_decode_aper; +per_type_encoder_f Vanetza_ITS2_EuVehicleCategoryM_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EuVehicleCategoryM_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EuVehicleCategoryN.c b/vanetza/asn1/its/r2/EuVehicleCategoryN.c new file mode 100644 index 000000000..8f476ef79 --- /dev/null +++ b/vanetza/asn1/its/r2/EuVehicleCategoryN.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EuVehicleCategoryN.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_Vanetza_ITS2_EuVehicleCategoryN_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_Vanetza_ITS2_EuVehicleCategoryN_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_EuVehicleCategoryN_value2enum_1[] = { + { 0, 2, "n1" }, + { 1, 2, "n2" }, + { 2, 2, "n3" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_EuVehicleCategoryN_enum2value_1[] = { + 0, /* n1(0) */ + 1, /* n2(1) */ + 2 /* n3(2) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_EuVehicleCategoryN_specs_1 = { + asn_MAP_Vanetza_ITS2_EuVehicleCategoryN_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_EuVehicleCategoryN_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryN_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryN = { + "EuVehicleCategoryN", + "EuVehicleCategoryN", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_EuVehicleCategoryN_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryN_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryN_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EuVehicleCategoryN_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryN_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryN_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_EuVehicleCategoryN_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_EuVehicleCategoryN_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_EuVehicleCategoryN_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EuVehicleCategoryN.h b/vanetza/asn1/its/r2/EuVehicleCategoryN.h new file mode 100644 index 000000000..87f9ea7f3 --- /dev/null +++ b/vanetza/asn1/its/r2/EuVehicleCategoryN.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EuVehicleCategoryN_H_ +#define _Vanetza_ITS2_EuVehicleCategoryN_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_EuVehicleCategoryN { + Vanetza_ITS2_EuVehicleCategoryN_n1 = 0, + Vanetza_ITS2_EuVehicleCategoryN_n2 = 1, + Vanetza_ITS2_EuVehicleCategoryN_n3 = 2 +} e_Vanetza_ITS2_EuVehicleCategoryN; + +/* Vanetza_ITS2_EuVehicleCategoryN */ +typedef long Vanetza_ITS2_EuVehicleCategoryN_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EuVehicleCategoryN_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryN; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_EuVehicleCategoryN_specs_1; +asn_struct_free_f Vanetza_ITS2_EuVehicleCategoryN_free; +asn_struct_print_f Vanetza_ITS2_EuVehicleCategoryN_print; +asn_constr_check_f Vanetza_ITS2_EuVehicleCategoryN_constraint; +ber_type_decoder_f Vanetza_ITS2_EuVehicleCategoryN_decode_ber; +der_type_encoder_f Vanetza_ITS2_EuVehicleCategoryN_encode_der; +xer_type_decoder_f Vanetza_ITS2_EuVehicleCategoryN_decode_xer; +xer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryN_encode_xer; +jer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryN_encode_jer; +oer_type_decoder_f Vanetza_ITS2_EuVehicleCategoryN_decode_oer; +oer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryN_encode_oer; +per_type_decoder_f Vanetza_ITS2_EuVehicleCategoryN_decode_uper; +per_type_encoder_f Vanetza_ITS2_EuVehicleCategoryN_encode_uper; +per_type_decoder_f Vanetza_ITS2_EuVehicleCategoryN_decode_aper; +per_type_encoder_f Vanetza_ITS2_EuVehicleCategoryN_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EuVehicleCategoryN_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EuVehicleCategoryO.c b/vanetza/asn1/its/r2/EuVehicleCategoryO.c new file mode 100644 index 000000000..d3e10a087 --- /dev/null +++ b/vanetza/asn1/its/r2/EuVehicleCategoryO.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EuVehicleCategoryO.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_Vanetza_ITS2_EuVehicleCategoryO_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_Vanetza_ITS2_EuVehicleCategoryO_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_EuVehicleCategoryO_value2enum_1[] = { + { 0, 2, "o1" }, + { 1, 2, "o2" }, + { 2, 2, "o3" }, + { 3, 2, "o4" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_EuVehicleCategoryO_enum2value_1[] = { + 0, /* o1(0) */ + 1, /* o2(1) */ + 2, /* o3(2) */ + 3 /* o4(3) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_EuVehicleCategoryO_specs_1 = { + asn_MAP_Vanetza_ITS2_EuVehicleCategoryO_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_EuVehicleCategoryO_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryO_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryO = { + "EuVehicleCategoryO", + "EuVehicleCategoryO", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_EuVehicleCategoryO_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryO_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryO_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EuVehicleCategoryO_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryO_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EuVehicleCategoryO_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_EuVehicleCategoryO_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_EuVehicleCategoryO_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_EuVehicleCategoryO_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EuVehicleCategoryO.h b/vanetza/asn1/its/r2/EuVehicleCategoryO.h new file mode 100644 index 000000000..105050c42 --- /dev/null +++ b/vanetza/asn1/its/r2/EuVehicleCategoryO.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EuVehicleCategoryO_H_ +#define _Vanetza_ITS2_EuVehicleCategoryO_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_EuVehicleCategoryO { + Vanetza_ITS2_EuVehicleCategoryO_o1 = 0, + Vanetza_ITS2_EuVehicleCategoryO_o2 = 1, + Vanetza_ITS2_EuVehicleCategoryO_o3 = 2, + Vanetza_ITS2_EuVehicleCategoryO_o4 = 3 +} e_Vanetza_ITS2_EuVehicleCategoryO; + +/* Vanetza_ITS2_EuVehicleCategoryO */ +typedef long Vanetza_ITS2_EuVehicleCategoryO_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EuVehicleCategoryO_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EuVehicleCategoryO; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_EuVehicleCategoryO_specs_1; +asn_struct_free_f Vanetza_ITS2_EuVehicleCategoryO_free; +asn_struct_print_f Vanetza_ITS2_EuVehicleCategoryO_print; +asn_constr_check_f Vanetza_ITS2_EuVehicleCategoryO_constraint; +ber_type_decoder_f Vanetza_ITS2_EuVehicleCategoryO_decode_ber; +der_type_encoder_f Vanetza_ITS2_EuVehicleCategoryO_encode_der; +xer_type_decoder_f Vanetza_ITS2_EuVehicleCategoryO_decode_xer; +xer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryO_encode_xer; +jer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryO_encode_jer; +oer_type_decoder_f Vanetza_ITS2_EuVehicleCategoryO_decode_oer; +oer_type_encoder_f Vanetza_ITS2_EuVehicleCategoryO_encode_oer; +per_type_decoder_f Vanetza_ITS2_EuVehicleCategoryO_decode_uper; +per_type_encoder_f Vanetza_ITS2_EuVehicleCategoryO_encode_uper; +per_type_decoder_f Vanetza_ITS2_EuVehicleCategoryO_decode_aper; +per_type_encoder_f Vanetza_ITS2_EuVehicleCategoryO_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EuVehicleCategoryO_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EulerAnglesWithConfidence.c b/vanetza/asn1/its/r2/EulerAnglesWithConfidence.c new file mode 100644 index 000000000..2c7d772e9 --- /dev/null +++ b/vanetza/asn1/its/r2/EulerAnglesWithConfidence.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EulerAnglesWithConfidence.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EulerAnglesWithConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EulerAnglesWithConfidence, zAngle), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zAngle" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_EulerAnglesWithConfidence, yAngle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yAngle" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_EulerAnglesWithConfidence, xAngle), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "xAngle" + }, +}; +static const int asn_MAP_Vanetza_ITS2_EulerAnglesWithConfidence_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EulerAnglesWithConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_EulerAnglesWithConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* zAngle */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* yAngle */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* xAngle */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_EulerAnglesWithConfidence_specs_1 = { + sizeof(struct Vanetza_ITS2_EulerAnglesWithConfidence), + offsetof(struct Vanetza_ITS2_EulerAnglesWithConfidence, _asn_ctx), + asn_MAP_Vanetza_ITS2_EulerAnglesWithConfidence_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_EulerAnglesWithConfidence_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EulerAnglesWithConfidence = { + "EulerAnglesWithConfidence", + "EulerAnglesWithConfidence", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_EulerAnglesWithConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EulerAnglesWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EulerAnglesWithConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EulerAnglesWithConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EulerAnglesWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EulerAnglesWithConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_EulerAnglesWithConfidence_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_EulerAnglesWithConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EulerAnglesWithConfidence.h b/vanetza/asn1/its/r2/EulerAnglesWithConfidence.h new file mode 100644 index 000000000..42341a9a5 --- /dev/null +++ b/vanetza/asn1/its/r2/EulerAnglesWithConfidence.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EulerAnglesWithConfidence_H_ +#define _Vanetza_ITS2_EulerAnglesWithConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CartesianAngle.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CartesianAngle; + +/* Vanetza_ITS2_EulerAnglesWithConfidence */ +typedef struct Vanetza_ITS2_EulerAnglesWithConfidence { + Vanetza_ITS2_CartesianAngle_t zAngle; + struct Vanetza_ITS2_CartesianAngle *yAngle; /* OPTIONAL */ + struct Vanetza_ITS2_CartesianAngle *xAngle; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_EulerAnglesWithConfidence_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EulerAnglesWithConfidence; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_EulerAnglesWithConfidence_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EulerAnglesWithConfidence_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CartesianAngle.h" + +#endif /* _Vanetza_ITS2_EulerAnglesWithConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EventHistory.c b/vanetza/asn1/its/r2/EventHistory.c new file mode 100644 index 000000000..819f58c59 --- /dev/null +++ b/vanetza/asn1/its/r2/EventHistory.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EventHistory.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_EventHistory_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..23)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EventHistory_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 23 } /* (SIZE(1..23)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EventHistory_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_EventPoint, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EventHistory_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_EventHistory_specs_1 = { + sizeof(struct Vanetza_ITS2_EventHistory), + offsetof(struct Vanetza_ITS2_EventHistory, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EventHistory = { + "EventHistory", + "EventHistory", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_EventHistory_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EventHistory_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EventHistory_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EventHistory_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EventHistory_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EventHistory_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_EventHistory_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_EventHistory_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_EventHistory_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_EventHistory_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EventHistory.h b/vanetza/asn1/its/r2/EventHistory.h new file mode 100644 index 000000000..681170efc --- /dev/null +++ b/vanetza/asn1/its/r2/EventHistory.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EventHistory_H_ +#define _Vanetza_ITS2_EventHistory_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 Vanetza_ITS2_EventPoint; + +/* Vanetza_ITS2_EventHistory */ +typedef struct Vanetza_ITS2_EventHistory { + A_SEQUENCE_OF(struct Vanetza_ITS2_EventPoint) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_EventHistory_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EventHistory; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_EventHistory_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EventHistory_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EventHistory_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "EventPoint.h" + +#endif /* _Vanetza_ITS2_EventHistory_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EventPoint.c b/vanetza/asn1/its/r2/EventPoint.c new file mode 100644 index 000000000..77872ac2c --- /dev/null +++ b/vanetza/asn1/its/r2/EventPoint.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EventPoint.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EventPoint_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EventPoint, eventPosition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaReferencePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventPosition" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_EventPoint, eventDeltaTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PathDeltaTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventDeltaTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_EventPoint, informationQuality), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_InformationQuality, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "informationQuality" + }, +}; +static const int asn_MAP_Vanetza_ITS2_EventPoint_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EventPoint_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_EventPoint_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventPosition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eventDeltaTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* informationQuality */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_EventPoint_specs_1 = { + sizeof(struct Vanetza_ITS2_EventPoint), + offsetof(struct Vanetza_ITS2_EventPoint, _asn_ctx), + asn_MAP_Vanetza_ITS2_EventPoint_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_EventPoint_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EventPoint = { + "EventPoint", + "EventPoint", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_EventPoint_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EventPoint_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EventPoint_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EventPoint_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EventPoint_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EventPoint_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_EventPoint_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_EventPoint_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EventPoint.h b/vanetza/asn1/its/r2/EventPoint.h new file mode 100644 index 000000000..a3a318aa8 --- /dev/null +++ b/vanetza/asn1/its/r2/EventPoint.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EventPoint_H_ +#define _Vanetza_ITS2_EventPoint_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "DeltaReferencePosition.h" +#include "PathDeltaTime.h" +#include "InformationQuality.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_EventPoint */ +typedef struct Vanetza_ITS2_EventPoint { + Vanetza_ITS2_DeltaReferencePosition_t eventPosition; + Vanetza_ITS2_PathDeltaTime_t *eventDeltaTime; /* OPTIONAL */ + Vanetza_ITS2_InformationQuality_t informationQuality; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_EventPoint_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EventPoint; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_EventPoint_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_EventPoint_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EventPoint_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/EventZone.c b/vanetza/asn1/its/r2/EventZone.c new file mode 100644 index 000000000..2400ec50a --- /dev/null +++ b/vanetza/asn1/its/r2/EventZone.c @@ -0,0 +1,81 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "EventZone.h" + +int +Vanetza_ITS2_EventZone_constraint(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 <= 23UL)) { + /* 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; + } +} + +/* + * This type is implemented using Vanetza_ITS2_EventHistory, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_EventZone_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..23)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EventZone_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 23 } /* (SIZE(1..23)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_EventZone_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EventZone = { + "EventZone", + "EventZone", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_EventZone_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_EventZone_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EventZone_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_EventZone_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_EventZone_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_EventZone_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_EventZone_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_EventZone_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_EventZone_constraint + }, + asn_MBR_Vanetza_ITS2_EventHistory_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_EventHistory_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/EventZone.h b/vanetza/asn1/its/r2/EventZone.h new file mode 100644 index 000000000..404486b60 --- /dev/null +++ b/vanetza/asn1/its/r2/EventZone.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_EventZone_H_ +#define _Vanetza_ITS2_EventZone_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "EventHistory.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_EventZone */ +typedef Vanetza_ITS2_EventHistory_t Vanetza_ITS2_EventZone_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_EventZone_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_EventZone; +asn_struct_free_f Vanetza_ITS2_EventZone_free; +asn_struct_print_f Vanetza_ITS2_EventZone_print; +asn_constr_check_f Vanetza_ITS2_EventZone_constraint; +ber_type_decoder_f Vanetza_ITS2_EventZone_decode_ber; +der_type_encoder_f Vanetza_ITS2_EventZone_encode_der; +xer_type_decoder_f Vanetza_ITS2_EventZone_decode_xer; +xer_type_encoder_f Vanetza_ITS2_EventZone_encode_xer; +jer_type_encoder_f Vanetza_ITS2_EventZone_encode_jer; +oer_type_decoder_f Vanetza_ITS2_EventZone_decode_oer; +oer_type_encoder_f Vanetza_ITS2_EventZone_encode_oer; +per_type_decoder_f Vanetza_ITS2_EventZone_decode_uper; +per_type_encoder_f Vanetza_ITS2_EventZone_encode_uper; +per_type_decoder_f Vanetza_ITS2_EventZone_decode_aper; +per_type_encoder_f Vanetza_ITS2_EventZone_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_EventZone_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Ext1.c b/vanetza/asn1/its/r2/Ext1.c new file mode 100644 index 000000000..180f2e1b9 --- /dev/null +++ b/vanetza/asn1/its/r2/Ext1.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Ext1.h" + +static int +memb_Vanetza_ITS2_content_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 >= 128L && value <= 16511L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_content_constr_2 CC_NOTUSED = { + { 2, 1 } /* (128..16511) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_content_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 128, 16511 } /* (128..16511) */, + { 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_Vanetza_ITS2_Ext1_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_Vanetza_ITS2_Ext1_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Ext1_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Ext1, choice.content), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_content_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_content_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_content_constraint_1 + }, + 0, 0, /* No default value */ + "content" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Ext1, choice.extension), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Ext2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "extension" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_Ext1_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* content */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* extension */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_Ext1_specs_1 = { + sizeof(struct Vanetza_ITS2_Ext1), + offsetof(struct Vanetza_ITS2_Ext1, _asn_ctx), + offsetof(struct Vanetza_ITS2_Ext1, present), + sizeof(((struct Vanetza_ITS2_Ext1 *)0)->present), + asn_MAP_Vanetza_ITS2_Ext1_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Ext1 = { + "Ext1", + "Ext1", + &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_Vanetza_ITS2_Ext1_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Ext1_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_Ext1_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_Ext1_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Ext1.h b/vanetza/asn1/its/r2/Ext1.h new file mode 100644 index 000000000..a4cd2579c --- /dev/null +++ b/vanetza/asn1/its/r2/Ext1.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Ext1_H_ +#define _Vanetza_ITS2_Ext1_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "Ext2.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Ext1_PR { + Vanetza_ITS2_Ext1_PR_NOTHING, /* No components present */ + Vanetza_ITS2_Ext1_PR_content, + Vanetza_ITS2_Ext1_PR_extension +} Vanetza_ITS2_Ext1_PR; + +/* Vanetza_ITS2_Ext1 */ +typedef struct Vanetza_ITS2_Ext1 { + Vanetza_ITS2_Ext1_PR present; + union Vanetza_ITS2_Ext1_u { + long content; + Vanetza_ITS2_Ext2_t extension; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Ext1_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Ext1; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_Ext1_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Ext1_1[2]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Ext1_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Ext1_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Ext2.c b/vanetza/asn1/its/r2/Ext2.c new file mode 100644 index 000000000..9b1d3e4b6 --- /dev/null +++ b/vanetza/asn1/its/r2/Ext2.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Ext2.h" + +static int +memb_Vanetza_ITS2_content_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 >= 16512L && value <= 2113663L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_content_constr_2 CC_NOTUSED = { + { 4, 1 } /* (16512..2113663) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_content_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 21, -1, 16512, 2113663 } /* (16512..2113663) */, + { 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_Vanetza_ITS2_Ext2_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_Vanetza_ITS2_Ext2_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Ext2_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Ext2, choice.content), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_content_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_content_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_content_constraint_1 + }, + 0, 0, /* No default value */ + "content" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Ext2, choice.extension), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Ext3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "extension" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_Ext2_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* content */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* extension */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_Ext2_specs_1 = { + sizeof(struct Vanetza_ITS2_Ext2), + offsetof(struct Vanetza_ITS2_Ext2, _asn_ctx), + offsetof(struct Vanetza_ITS2_Ext2, present), + sizeof(((struct Vanetza_ITS2_Ext2 *)0)->present), + asn_MAP_Vanetza_ITS2_Ext2_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Ext2 = { + "Ext2", + "Ext2", + &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_Vanetza_ITS2_Ext2_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Ext2_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_Ext2_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_Ext2_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Ext2.h b/vanetza/asn1/its/r2/Ext2.h new file mode 100644 index 000000000..0e5161218 --- /dev/null +++ b/vanetza/asn1/its/r2/Ext2.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Ext2_H_ +#define _Vanetza_ITS2_Ext2_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "Ext3.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Ext2_PR { + Vanetza_ITS2_Ext2_PR_NOTHING, /* No components present */ + Vanetza_ITS2_Ext2_PR_content, + Vanetza_ITS2_Ext2_PR_extension +} Vanetza_ITS2_Ext2_PR; + +/* Vanetza_ITS2_Ext2 */ +typedef struct Vanetza_ITS2_Ext2 { + Vanetza_ITS2_Ext2_PR present; + union Vanetza_ITS2_Ext2_u { + long content; + Vanetza_ITS2_Ext3_t extension; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Ext2_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Ext2; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_Ext2_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Ext2_1[2]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Ext2_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Ext2_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Ext3.c b/vanetza/asn1/its/r2/Ext3.c new file mode 100644 index 000000000..3b7d50cd1 --- /dev/null +++ b/vanetza/asn1/its/r2/Ext3.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Ext3.h" + +int +Vanetza_ITS2_Ext3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 2113664L && value <= 270549119L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Ext3_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_Vanetza_ITS2_Ext3_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 28, -1, 2113664, 270549119 } /* (2113664..270549119,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Ext3_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Ext3 = { + "Ext3", + "Ext3", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_Ext3_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Ext3_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Ext3_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Ext3_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Ext3_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Ext3_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Ext3_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Ext3_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_Ext3_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/Ext3.h b/vanetza/asn1/its/r2/Ext3.h new file mode 100644 index 000000000..1fc307a9c --- /dev/null +++ b/vanetza/asn1/its/r2/Ext3.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Ext3_H_ +#define _Vanetza_ITS2_Ext3_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_Ext3 */ +typedef long Vanetza_ITS2_Ext3_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Ext3_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Ext3; +asn_struct_free_f Vanetza_ITS2_Ext3_free; +asn_struct_print_f Vanetza_ITS2_Ext3_print; +asn_constr_check_f Vanetza_ITS2_Ext3_constraint; +ber_type_decoder_f Vanetza_ITS2_Ext3_decode_ber; +der_type_encoder_f Vanetza_ITS2_Ext3_encode_der; +xer_type_decoder_f Vanetza_ITS2_Ext3_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Ext3_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Ext3_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Ext3_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Ext3_encode_oer; +per_type_decoder_f Vanetza_ITS2_Ext3_decode_uper; +per_type_encoder_f Vanetza_ITS2_Ext3_encode_uper; +per_type_decoder_f Vanetza_ITS2_Ext3_decode_aper; +per_type_encoder_f Vanetza_ITS2_Ext3_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Ext3_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ExteriorLights.c b/vanetza/asn1/its/r2/ExteriorLights.c new file mode 100644 index 000000000..f9984098b --- /dev/null +++ b/vanetza/asn1/its/r2/ExteriorLights.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ExteriorLights.h" + +int +Vanetza_ITS2_ExteriorLights_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ExteriorLights_constr_1 CC_NOTUSED = { + { 0, 0 }, + 8 /* (SIZE(8..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ExteriorLights_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_ExteriorLights_constr_1 CC_NOTUSED = { + 8}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ExteriorLights_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ExteriorLights = { + "ExteriorLights", + "ExteriorLights", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_ExteriorLights_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ExteriorLights_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ExteriorLights_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ExteriorLights_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ExteriorLights_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ExteriorLights_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ExteriorLights_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ExteriorLights_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_ExteriorLights_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ExteriorLights_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ExteriorLights.h b/vanetza/asn1/its/r2/ExteriorLights.h new file mode 100644 index 000000000..fd593a298 --- /dev/null +++ b/vanetza/asn1/its/r2/ExteriorLights.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ExteriorLights_H_ +#define _Vanetza_ITS2_ExteriorLights_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ExteriorLights { + Vanetza_ITS2_ExteriorLights_lowBeamHeadlightsOn = 0, + Vanetza_ITS2_ExteriorLights_highBeamHeadlightsOn = 1, + Vanetza_ITS2_ExteriorLights_leftTurnSignalOn = 2, + Vanetza_ITS2_ExteriorLights_rightTurnSignalOn = 3, + Vanetza_ITS2_ExteriorLights_daytimeRunningLightsOn = 4, + Vanetza_ITS2_ExteriorLights_reverseLightOn = 5, + Vanetza_ITS2_ExteriorLights_fogLightOn = 6, + Vanetza_ITS2_ExteriorLights_parkingLightsOn = 7 +} e_Vanetza_ITS2_ExteriorLights; + +/* Vanetza_ITS2_ExteriorLights */ +typedef BIT_STRING_t Vanetza_ITS2_ExteriorLights_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ExteriorLights_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ExteriorLights; +asn_struct_free_f Vanetza_ITS2_ExteriorLights_free; +asn_struct_print_f Vanetza_ITS2_ExteriorLights_print; +asn_constr_check_f Vanetza_ITS2_ExteriorLights_constraint; +ber_type_decoder_f Vanetza_ITS2_ExteriorLights_decode_ber; +der_type_encoder_f Vanetza_ITS2_ExteriorLights_encode_der; +xer_type_decoder_f Vanetza_ITS2_ExteriorLights_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ExteriorLights_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ExteriorLights_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ExteriorLights_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ExteriorLights_encode_oer; +per_type_decoder_f Vanetza_ITS2_ExteriorLights_decode_uper; +per_type_encoder_f Vanetza_ITS2_ExteriorLights_encode_uper; +per_type_decoder_f Vanetza_ITS2_ExteriorLights_decode_aper; +per_type_encoder_f Vanetza_ITS2_ExteriorLights_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ExteriorLights_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/GeneralizedLanePosition.c b/vanetza/asn1/its/r2/GeneralizedLanePosition.c new file mode 100644 index 000000000..ed35f9aa7 --- /dev/null +++ b/vanetza/asn1/its/r2/GeneralizedLanePosition.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "GeneralizedLanePosition.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_GeneralizedLanePosition_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_GeneralizedLanePosition, lanePositionBased), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePositionOptions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lanePositionBased" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_GeneralizedLanePosition, mapBased), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MapPosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mapBased" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_GeneralizedLanePosition, confidence), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MetaInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const int asn_MAP_Vanetza_ITS2_GeneralizedLanePosition_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_GeneralizedLanePosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_GeneralizedLanePosition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lanePositionBased */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* mapBased */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* confidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_GeneralizedLanePosition_specs_1 = { + sizeof(struct Vanetza_ITS2_GeneralizedLanePosition), + offsetof(struct Vanetza_ITS2_GeneralizedLanePosition, _asn_ctx), + asn_MAP_Vanetza_ITS2_GeneralizedLanePosition_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_GeneralizedLanePosition_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_GeneralizedLanePosition = { + "GeneralizedLanePosition", + "GeneralizedLanePosition", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_GeneralizedLanePosition_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_GeneralizedLanePosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_GeneralizedLanePosition_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_GeneralizedLanePosition_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_GeneralizedLanePosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_GeneralizedLanePosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_GeneralizedLanePosition_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_GeneralizedLanePosition_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/GeneralizedLanePosition.h b/vanetza/asn1/its/r2/GeneralizedLanePosition.h new file mode 100644 index 000000000..a3dc1a1f7 --- /dev/null +++ b/vanetza/asn1/its/r2/GeneralizedLanePosition.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_GeneralizedLanePosition_H_ +#define _Vanetza_ITS2_GeneralizedLanePosition_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LanePositionOptions.h" +#include "MetaInformation.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_MapPosition; + +/* Vanetza_ITS2_GeneralizedLanePosition */ +typedef struct Vanetza_ITS2_GeneralizedLanePosition { + Vanetza_ITS2_LanePositionOptions_t lanePositionBased; + struct Vanetza_ITS2_MapPosition *mapBased; /* OPTIONAL */ + Vanetza_ITS2_MetaInformation_t confidence; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_GeneralizedLanePosition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_GeneralizedLanePosition; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_GeneralizedLanePosition_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_GeneralizedLanePosition_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MapPosition.h" + +#endif /* _Vanetza_ITS2_GeneralizedLanePosition_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/GeneralizedLanePositions.c b/vanetza/asn1/its/r2/GeneralizedLanePositions.c new file mode 100644 index 000000000..5ba248399 --- /dev/null +++ b/vanetza/asn1/its/r2/GeneralizedLanePositions.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "GeneralizedLanePositions.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_GeneralizedLanePositions_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_GeneralizedLanePositions_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_GeneralizedLanePositions_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_GeneralizedLanePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_GeneralizedLanePositions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_GeneralizedLanePositions_specs_1 = { + sizeof(struct Vanetza_ITS2_GeneralizedLanePositions), + offsetof(struct Vanetza_ITS2_GeneralizedLanePositions, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_GeneralizedLanePositions = { + "GeneralizedLanePositions", + "GeneralizedLanePositions", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_GeneralizedLanePositions_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_GeneralizedLanePositions_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_GeneralizedLanePositions_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_GeneralizedLanePositions_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_GeneralizedLanePositions_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_GeneralizedLanePositions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_GeneralizedLanePositions_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_GeneralizedLanePositions_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_GeneralizedLanePositions_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_GeneralizedLanePositions_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/GeneralizedLanePositions.h b/vanetza/asn1/its/r2/GeneralizedLanePositions.h new file mode 100644 index 000000000..e91e23fd3 --- /dev/null +++ b/vanetza/asn1/its/r2/GeneralizedLanePositions.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_GeneralizedLanePositions_H_ +#define _Vanetza_ITS2_GeneralizedLanePositions_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 Vanetza_ITS2_GeneralizedLanePosition; + +/* Vanetza_ITS2_GeneralizedLanePositions */ +typedef struct Vanetza_ITS2_GeneralizedLanePositions { + A_SEQUENCE_OF(struct Vanetza_ITS2_GeneralizedLanePosition) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_GeneralizedLanePositions_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_GeneralizedLanePositions; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_GeneralizedLanePositions_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_GeneralizedLanePositions_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_GeneralizedLanePositions_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "GeneralizedLanePosition.h" + +#endif /* _Vanetza_ITS2_GeneralizedLanePositions_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/GenerationDeltaTime.c b/vanetza/asn1/its/r2/GenerationDeltaTime.c new file mode 100644 index 000000000..6871a2dca --- /dev/null +++ b/vanetza/asn1/its/r2/GenerationDeltaTime.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "GenerationDeltaTime.h" + +int +Vanetza_ITS2_GenerationDeltaTime_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(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_Vanetza_ITS2_GenerationDeltaTime_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_Vanetza_ITS2_GenerationDeltaTime_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_Vanetza_ITS2_GenerationDeltaTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_GenerationDeltaTime = { + "GenerationDeltaTime", + "GenerationDeltaTime", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_GenerationDeltaTime_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_GenerationDeltaTime_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_GenerationDeltaTime_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_GenerationDeltaTime_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_GenerationDeltaTime_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_GenerationDeltaTime_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_GenerationDeltaTime_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_GenerationDeltaTime_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_GenerationDeltaTime_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/GenerationDeltaTime.h b/vanetza/asn1/its/r2/GenerationDeltaTime.h new file mode 100644 index 000000000..28168f865 --- /dev/null +++ b/vanetza/asn1/its/r2/GenerationDeltaTime.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_GenerationDeltaTime_H_ +#define _Vanetza_ITS2_GenerationDeltaTime_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_GenerationDeltaTime { + Vanetza_ITS2_GenerationDeltaTime_oneMilliSec = 1 +} e_Vanetza_ITS2_GenerationDeltaTime; + +/* Vanetza_ITS2_GenerationDeltaTime */ +typedef long Vanetza_ITS2_GenerationDeltaTime_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_GenerationDeltaTime_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_GenerationDeltaTime; +asn_struct_free_f Vanetza_ITS2_GenerationDeltaTime_free; +asn_struct_print_f Vanetza_ITS2_GenerationDeltaTime_print; +asn_constr_check_f Vanetza_ITS2_GenerationDeltaTime_constraint; +ber_type_decoder_f Vanetza_ITS2_GenerationDeltaTime_decode_ber; +der_type_encoder_f Vanetza_ITS2_GenerationDeltaTime_encode_der; +xer_type_decoder_f Vanetza_ITS2_GenerationDeltaTime_decode_xer; +xer_type_encoder_f Vanetza_ITS2_GenerationDeltaTime_encode_xer; +jer_type_encoder_f Vanetza_ITS2_GenerationDeltaTime_encode_jer; +oer_type_decoder_f Vanetza_ITS2_GenerationDeltaTime_decode_oer; +oer_type_encoder_f Vanetza_ITS2_GenerationDeltaTime_encode_oer; +per_type_decoder_f Vanetza_ITS2_GenerationDeltaTime_decode_uper; +per_type_encoder_f Vanetza_ITS2_GenerationDeltaTime_encode_uper; +per_type_decoder_f Vanetza_ITS2_GenerationDeltaTime_decode_aper; +per_type_encoder_f Vanetza_ITS2_GenerationDeltaTime_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_GenerationDeltaTime_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/GeoPosition.c b/vanetza/asn1/its/r2/GeoPosition.c new file mode 100644 index 000000000..67a3198ad --- /dev/null +++ b/vanetza/asn1/its/r2/GeoPosition.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "GeoPosition.h" + +static int asn_DFL_4_cmp_800001(const void *sptr) { + const Vanetza_ITS2_AltitudeValue_t *st = sptr; + + if(!st) { + return -1; /* No value is not a default value */ + } + + /* Test default value 800001 */ + return (*st != 800001); +} +static int asn_DFL_4_set_800001(void **sptr) { + Vanetza_ITS2_AltitudeValue_t *st = *sptr; + + if(!st) { + st = (*sptr = CALLOC(1, sizeof(*st))); + if(!st) return -1; + } + + /* Install default value 800001 */ + *st = 800001; + return 0; +} +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_GeoPosition_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_GeoPosition, latitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "latitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_GeoPosition, longitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitude" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_GeoPosition, altitude), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + &asn_DFL_4_cmp_800001, /* Compare DEFAULT 800001 */ + &asn_DFL_4_set_800001, /* Set DEFAULT 800001 */ + "altitude" + }, +}; +static const int asn_MAP_Vanetza_ITS2_GeoPosition_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_GeoPosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_GeoPosition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* longitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* altitude */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_GeoPosition_specs_1 = { + sizeof(struct Vanetza_ITS2_GeoPosition), + offsetof(struct Vanetza_ITS2_GeoPosition, _asn_ctx), + asn_MAP_Vanetza_ITS2_GeoPosition_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_GeoPosition_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_GeoPosition = { + "GeoPosition", + "GeoPosition", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_GeoPosition_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_GeoPosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_GeoPosition_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_GeoPosition_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_GeoPosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_GeoPosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_GeoPosition_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_GeoPosition_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/GeoPosition.h b/vanetza/asn1/its/r2/GeoPosition.h new file mode 100644 index 000000000..622c52df6 --- /dev/null +++ b/vanetza/asn1/its/r2/GeoPosition.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_GeoPosition_H_ +#define _Vanetza_ITS2_GeoPosition_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Latitude.h" +#include "Longitude.h" +#include "AltitudeValue.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_GeoPosition */ +typedef struct Vanetza_ITS2_GeoPosition { + Vanetza_ITS2_Latitude_t latitude; + Vanetza_ITS2_Longitude_t longitude; + Vanetza_ITS2_AltitudeValue_t *altitude; /* DEFAULT 800001 */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_GeoPosition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_GeoPosition; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_GeoPosition_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_GeoPosition_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_GeoPosition_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HardShoulderStatus.c b/vanetza/asn1/its/r2/HardShoulderStatus.c new file mode 100644 index 000000000..49f7dbe99 --- /dev/null +++ b/vanetza/asn1/its/r2/HardShoulderStatus.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HardShoulderStatus.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_Vanetza_ITS2_HardShoulderStatus_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_Vanetza_ITS2_HardShoulderStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_HardShoulderStatus_value2enum_1[] = { + { 0, 20, "availableForStopping" }, + { 1, 6, "closed" }, + { 2, 19, "availableForDriving" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_HardShoulderStatus_enum2value_1[] = { + 2, /* availableForDriving(2) */ + 0, /* availableForStopping(0) */ + 1 /* closed(1) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_HardShoulderStatus_specs_1 = { + asn_MAP_Vanetza_ITS2_HardShoulderStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_HardShoulderStatus_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_HardShoulderStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HardShoulderStatus = { + "HardShoulderStatus", + "HardShoulderStatus", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_HardShoulderStatus_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_HardShoulderStatus_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HardShoulderStatus_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_HardShoulderStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_HardShoulderStatus_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HardShoulderStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_HardShoulderStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_HardShoulderStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_HardShoulderStatus_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/HardShoulderStatus.h b/vanetza/asn1/its/r2/HardShoulderStatus.h new file mode 100644 index 000000000..1cb0a73b3 --- /dev/null +++ b/vanetza/asn1/its/r2/HardShoulderStatus.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HardShoulderStatus_H_ +#define _Vanetza_ITS2_HardShoulderStatus_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_HardShoulderStatus { + Vanetza_ITS2_HardShoulderStatus_availableForStopping = 0, + Vanetza_ITS2_HardShoulderStatus_closed = 1, + Vanetza_ITS2_HardShoulderStatus_availableForDriving = 2 +} e_Vanetza_ITS2_HardShoulderStatus; + +/* Vanetza_ITS2_HardShoulderStatus */ +typedef long Vanetza_ITS2_HardShoulderStatus_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HardShoulderStatus_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HardShoulderStatus; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_HardShoulderStatus_specs_1; +asn_struct_free_f Vanetza_ITS2_HardShoulderStatus_free; +asn_struct_print_f Vanetza_ITS2_HardShoulderStatus_print; +asn_constr_check_f Vanetza_ITS2_HardShoulderStatus_constraint; +ber_type_decoder_f Vanetza_ITS2_HardShoulderStatus_decode_ber; +der_type_encoder_f Vanetza_ITS2_HardShoulderStatus_encode_der; +xer_type_decoder_f Vanetza_ITS2_HardShoulderStatus_decode_xer; +xer_type_encoder_f Vanetza_ITS2_HardShoulderStatus_encode_xer; +jer_type_encoder_f Vanetza_ITS2_HardShoulderStatus_encode_jer; +oer_type_decoder_f Vanetza_ITS2_HardShoulderStatus_decode_oer; +oer_type_encoder_f Vanetza_ITS2_HardShoulderStatus_encode_oer; +per_type_decoder_f Vanetza_ITS2_HardShoulderStatus_decode_uper; +per_type_encoder_f Vanetza_ITS2_HardShoulderStatus_encode_uper; +per_type_decoder_f Vanetza_ITS2_HardShoulderStatus_decode_aper; +per_type_encoder_f Vanetza_ITS2_HardShoulderStatus_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HardShoulderStatus_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HazardousLocation-AnimalOnTheRoadSubCauseCode.c b/vanetza/asn1/its/r2/HazardousLocation-AnimalOnTheRoadSubCauseCode.c new file mode 100644 index 000000000..30719f463 --- /dev/null +++ b/vanetza/asn1/its/r2/HazardousLocation-AnimalOnTheRoadSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HazardousLocation-AnimalOnTheRoadSubCauseCode.h" + +int +Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode = { + "HazardousLocation-AnimalOnTheRoadSubCauseCode", + "HazardousLocation-AnimalOnTheRoadSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/HazardousLocation-AnimalOnTheRoadSubCauseCode.h b/vanetza/asn1/its/r2/HazardousLocation-AnimalOnTheRoadSubCauseCode.h new file mode 100644 index 000000000..753fddc7a --- /dev/null +++ b/vanetza/asn1/its/r2/HazardousLocation-AnimalOnTheRoadSubCauseCode.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_H_ +#define _Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode { + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_unavailable = 0, + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_wildAnimals = 1, + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_herdOfAnimals = 2, + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_smallAnimals = 3, + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_largeAnimals = 4, + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_wildAnimalsSmall = 5, + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_wildAnimalsLarge = 6, + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_domesticAnimals = 7, + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_domesticAnimalsSmall = 8, + Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_domesticAnimalsLarge = 9 +} e_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode; + +/* Vanetza_ITS2_HazardousLocation-AnimalOnTheRoadSubCauseCode */ +typedef long Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode; +asn_struct_free_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HazardousLocation-DangerousCurveSubCauseCode.c b/vanetza/asn1/its/r2/HazardousLocation-DangerousCurveSubCauseCode.c new file mode 100644 index 000000000..1e66f57e2 --- /dev/null +++ b/vanetza/asn1/its/r2/HazardousLocation-DangerousCurveSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HazardousLocation-DangerousCurveSubCauseCode.h" + +int +Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode = { + "HazardousLocation-DangerousCurveSubCauseCode", + "HazardousLocation-DangerousCurveSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/HazardousLocation-DangerousCurveSubCauseCode.h b/vanetza/asn1/its/r2/HazardousLocation-DangerousCurveSubCauseCode.h new file mode 100644 index 000000000..8b384c841 --- /dev/null +++ b/vanetza/asn1/its/r2/HazardousLocation-DangerousCurveSubCauseCode.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_H_ +#define _Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode { + Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_unavailable = 0, + Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_dangerousLeftTurnCurve = 1, + Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_dangerousRightTurnCurve = 2, + Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_multipleCurvesStartingWithUnknownTurningDirection = 3, + Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_multipleCurvesStartingWithLeftTurn = 4, + Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_multipleCurvesStartingWithRightTurn = 5 +} e_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode; + +/* Vanetza_ITS2_HazardousLocation-DangerousCurveSubCauseCode */ +typedef long Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode; +asn_struct_free_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HazardousLocation-ObstacleOnTheRoadSubCauseCode.c b/vanetza/asn1/its/r2/HazardousLocation-ObstacleOnTheRoadSubCauseCode.c new file mode 100644 index 000000000..657a7373a --- /dev/null +++ b/vanetza/asn1/its/r2/HazardousLocation-ObstacleOnTheRoadSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HazardousLocation-ObstacleOnTheRoadSubCauseCode.h" + +int +Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode = { + "HazardousLocation-ObstacleOnTheRoadSubCauseCode", + "HazardousLocation-ObstacleOnTheRoadSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/HazardousLocation-ObstacleOnTheRoadSubCauseCode.h b/vanetza/asn1/its/r2/HazardousLocation-ObstacleOnTheRoadSubCauseCode.h new file mode 100644 index 000000000..dbf0519d3 --- /dev/null +++ b/vanetza/asn1/its/r2/HazardousLocation-ObstacleOnTheRoadSubCauseCode.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_H_ +#define _Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode { + Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_unavailable = 0, + Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_shedLoad = 1, + Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_partsOfVehicles = 2, + Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_partsOfTyres = 3, + Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_bigObjects = 4, + Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_fallenTrees = 5, + Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_hubCaps = 6, + Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_waitingVehicles = 7 +} e_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode; + +/* Vanetza_ITS2_HazardousLocation-ObstacleOnTheRoadSubCauseCode */ +typedef long Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode; +asn_struct_free_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HazardousLocation-SurfaceConditionSubCauseCode.c b/vanetza/asn1/its/r2/HazardousLocation-SurfaceConditionSubCauseCode.c new file mode 100644 index 000000000..b6f7e2268 --- /dev/null +++ b/vanetza/asn1/its/r2/HazardousLocation-SurfaceConditionSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HazardousLocation-SurfaceConditionSubCauseCode.h" + +int +Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode = { + "HazardousLocation-SurfaceConditionSubCauseCode", + "HazardousLocation-SurfaceConditionSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/HazardousLocation-SurfaceConditionSubCauseCode.h b/vanetza/asn1/its/r2/HazardousLocation-SurfaceConditionSubCauseCode.h new file mode 100644 index 000000000..ccd1e86ea --- /dev/null +++ b/vanetza/asn1/its/r2/HazardousLocation-SurfaceConditionSubCauseCode.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_H_ +#define _Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode { + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_unavailable = 0, + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_rockfalls = 1, + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_earthquakeDamage = 2, + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_sewerCollapse = 3, + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_subsidence = 4, + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_snowDrifts = 5, + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_stormDamage = 6, + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_burstPipe = 7, + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_volcanoEruption = 8, + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_fallingIce = 9, + Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_fire = 10 +} e_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode; + +/* Vanetza_ITS2_HazardousLocation-SurfaceConditionSubCauseCode */ +typedef long Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode; +asn_struct_free_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Heading.c b/vanetza/asn1/its/r2/Heading.c new file mode 100644 index 000000000..39ed8c32f --- /dev/null +++ b/vanetza/asn1/its/r2/Heading.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Heading.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Heading_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Heading, headingValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HeadingValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "headingValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Heading, headingConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HeadingConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "headingConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Heading_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_Heading_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* headingValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* headingConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_Heading_specs_1 = { + sizeof(struct Vanetza_ITS2_Heading), + offsetof(struct Vanetza_ITS2_Heading, _asn_ctx), + asn_MAP_Vanetza_ITS2_Heading_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_Vanetza_ITS2_Heading = { + "Heading", + "Heading", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_Heading_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Heading_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Heading_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Heading_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Heading_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Heading_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_Heading_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_Heading_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Heading.h b/vanetza/asn1/its/r2/Heading.h new file mode 100644 index 000000000..e1e5985ee --- /dev/null +++ b/vanetza/asn1/its/r2/Heading.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Heading_H_ +#define _Vanetza_ITS2_Heading_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "HeadingValue.h" +#include "HeadingConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_Heading */ +typedef struct Vanetza_ITS2_Heading { + Vanetza_ITS2_HeadingValue_t headingValue; + Vanetza_ITS2_HeadingConfidence_t headingConfidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Heading_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Heading; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_Heading_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Heading_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Heading_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HeadingChangeIndication.c b/vanetza/asn1/its/r2/HeadingChangeIndication.c new file mode 100644 index 000000000..8ac80a7fb --- /dev/null +++ b/vanetza/asn1/its/r2/HeadingChangeIndication.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HeadingChangeIndication.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_HeadingChangeIndication_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_HeadingChangeIndication, direction), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TurningDirection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "direction" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_HeadingChangeIndication, actionDeltaTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "actionDeltaTime" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_HeadingChangeIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_HeadingChangeIndication_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* direction */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* actionDeltaTime */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_HeadingChangeIndication_specs_1 = { + sizeof(struct Vanetza_ITS2_HeadingChangeIndication), + offsetof(struct Vanetza_ITS2_HeadingChangeIndication, _asn_ctx), + asn_MAP_Vanetza_ITS2_HeadingChangeIndication_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HeadingChangeIndication = { + "HeadingChangeIndication", + "HeadingChangeIndication", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_HeadingChangeIndication_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_HeadingChangeIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HeadingChangeIndication_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_HeadingChangeIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_HeadingChangeIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HeadingChangeIndication_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_HeadingChangeIndication_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_HeadingChangeIndication_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/HeadingChangeIndication.h b/vanetza/asn1/its/r2/HeadingChangeIndication.h new file mode 100644 index 000000000..36dbffe95 --- /dev/null +++ b/vanetza/asn1/its/r2/HeadingChangeIndication.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HeadingChangeIndication_H_ +#define _Vanetza_ITS2_HeadingChangeIndication_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "TurningDirection.h" +#include "DeltaTimeTenthOfSecond.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_HeadingChangeIndication */ +typedef struct Vanetza_ITS2_HeadingChangeIndication { + Vanetza_ITS2_TurningDirection_t direction; + Vanetza_ITS2_DeltaTimeTenthOfSecond_t actionDeltaTime; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_HeadingChangeIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HeadingChangeIndication; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HeadingChangeIndication_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HeadingConfidence.c b/vanetza/asn1/its/r2/HeadingConfidence.c new file mode 100644 index 000000000..ba920cd4a --- /dev/null +++ b/vanetza/asn1/its/r2/HeadingConfidence.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HeadingConfidence.h" + +int +Vanetza_ITS2_HeadingConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_HeadingConfidence_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HeadingConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 127 } /* (1..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_HeadingConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HeadingConfidence = { + "HeadingConfidence", + "HeadingConfidence", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_HeadingConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_HeadingConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HeadingConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_HeadingConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_HeadingConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HeadingConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_HeadingConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_HeadingConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_HeadingConfidence_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/HeadingConfidence.h b/vanetza/asn1/its/r2/HeadingConfidence.h new file mode 100644 index 000000000..052f82f5f --- /dev/null +++ b/vanetza/asn1/its/r2/HeadingConfidence.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HeadingConfidence_H_ +#define _Vanetza_ITS2_HeadingConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_HeadingConfidence { + Vanetza_ITS2_HeadingConfidence_outOfRange = 126, + Vanetza_ITS2_HeadingConfidence_unavailable = 127 +} e_Vanetza_ITS2_HeadingConfidence; + +/* Vanetza_ITS2_HeadingConfidence */ +typedef long Vanetza_ITS2_HeadingConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HeadingConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HeadingConfidence; +asn_struct_free_f Vanetza_ITS2_HeadingConfidence_free; +asn_struct_print_f Vanetza_ITS2_HeadingConfidence_print; +asn_constr_check_f Vanetza_ITS2_HeadingConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_HeadingConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_HeadingConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_HeadingConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_HeadingConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_HeadingConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_HeadingConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_HeadingConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_HeadingConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_HeadingConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_HeadingConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_HeadingConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HeadingConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HeadingValue.c b/vanetza/asn1/its/r2/HeadingValue.c new file mode 100644 index 000000000..6a3b4bd7f --- /dev/null +++ b/vanetza/asn1/its/r2/HeadingValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HeadingValue.h" + +int +Vanetza_ITS2_HeadingValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 3601L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_HeadingValue_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..3601) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HeadingValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 3601 } /* (0..3601) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_HeadingValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HeadingValue = { + "HeadingValue", + "HeadingValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_HeadingValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_HeadingValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HeadingValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_HeadingValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_HeadingValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HeadingValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_HeadingValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_HeadingValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_HeadingValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/HeadingValue.h b/vanetza/asn1/its/r2/HeadingValue.h new file mode 100644 index 000000000..cc192f79b --- /dev/null +++ b/vanetza/asn1/its/r2/HeadingValue.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HeadingValue_H_ +#define _Vanetza_ITS2_HeadingValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_HeadingValue { + Vanetza_ITS2_HeadingValue_wgs84North = 0, + Vanetza_ITS2_HeadingValue_wgs84East = 900, + Vanetza_ITS2_HeadingValue_wgs84South = 1800, + Vanetza_ITS2_HeadingValue_wgs84West = 2700, + Vanetza_ITS2_HeadingValue_doNotUse = 3600, + Vanetza_ITS2_HeadingValue_unavailable = 3601 +} e_Vanetza_ITS2_HeadingValue; + +/* Vanetza_ITS2_HeadingValue */ +typedef long Vanetza_ITS2_HeadingValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HeadingValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HeadingValue; +asn_struct_free_f Vanetza_ITS2_HeadingValue_free; +asn_struct_print_f Vanetza_ITS2_HeadingValue_print; +asn_constr_check_f Vanetza_ITS2_HeadingValue_constraint; +ber_type_decoder_f Vanetza_ITS2_HeadingValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_HeadingValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_HeadingValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_HeadingValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_HeadingValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_HeadingValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_HeadingValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_HeadingValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_HeadingValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_HeadingValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_HeadingValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HeadingValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HeightLonCarr.c b/vanetza/asn1/its/r2/HeightLonCarr.c new file mode 100644 index 000000000..3f9658ed8 --- /dev/null +++ b/vanetza/asn1/its/r2/HeightLonCarr.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HeightLonCarr.h" + +int +Vanetza_ITS2_HeightLonCarr_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_HeightLonCarr_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HeightLonCarr_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (1..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_HeightLonCarr_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HeightLonCarr = { + "HeightLonCarr", + "HeightLonCarr", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_HeightLonCarr_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_HeightLonCarr_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HeightLonCarr_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_HeightLonCarr_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_HeightLonCarr_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HeightLonCarr_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_HeightLonCarr_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_HeightLonCarr_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_HeightLonCarr_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/HeightLonCarr.h b/vanetza/asn1/its/r2/HeightLonCarr.h new file mode 100644 index 000000000..c777b3c87 --- /dev/null +++ b/vanetza/asn1/its/r2/HeightLonCarr.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HeightLonCarr_H_ +#define _Vanetza_ITS2_HeightLonCarr_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_HeightLonCarr { + Vanetza_ITS2_HeightLonCarr_outOfRange = 99, + Vanetza_ITS2_HeightLonCarr_unavailable = 100 +} e_Vanetza_ITS2_HeightLonCarr; + +/* Vanetza_ITS2_HeightLonCarr */ +typedef long Vanetza_ITS2_HeightLonCarr_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HeightLonCarr_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HeightLonCarr; +asn_struct_free_f Vanetza_ITS2_HeightLonCarr_free; +asn_struct_print_f Vanetza_ITS2_HeightLonCarr_print; +asn_constr_check_f Vanetza_ITS2_HeightLonCarr_constraint; +ber_type_decoder_f Vanetza_ITS2_HeightLonCarr_decode_ber; +der_type_encoder_f Vanetza_ITS2_HeightLonCarr_encode_der; +xer_type_decoder_f Vanetza_ITS2_HeightLonCarr_decode_xer; +xer_type_encoder_f Vanetza_ITS2_HeightLonCarr_encode_xer; +jer_type_encoder_f Vanetza_ITS2_HeightLonCarr_encode_jer; +oer_type_decoder_f Vanetza_ITS2_HeightLonCarr_decode_oer; +oer_type_encoder_f Vanetza_ITS2_HeightLonCarr_encode_oer; +per_type_decoder_f Vanetza_ITS2_HeightLonCarr_decode_uper; +per_type_encoder_f Vanetza_ITS2_HeightLonCarr_encode_uper; +per_type_decoder_f Vanetza_ITS2_HeightLonCarr_decode_aper; +per_type_encoder_f Vanetza_ITS2_HeightLonCarr_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HeightLonCarr_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HighFrequencyContainer.c b/vanetza/asn1/its/r2/HighFrequencyContainer.c new file mode 100644 index 000000000..23d07d9d8 --- /dev/null +++ b/vanetza/asn1/its/r2/HighFrequencyContainer.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HighFrequencyContainer.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_HighFrequencyContainer_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_Vanetza_ITS2_HighFrequencyContainer_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_HighFrequencyContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_HighFrequencyContainer, choice.basicVehicleContainerHighFrequency), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_BasicVehicleContainerHighFrequency, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "basicVehicleContainerHighFrequency" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_HighFrequencyContainer, choice.rsuContainerHighFrequency), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RSUContainerHighFrequency, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rsuContainerHighFrequency" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_HighFrequencyContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* basicVehicleContainerHighFrequency */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rsuContainerHighFrequency */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_HighFrequencyContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_HighFrequencyContainer), + offsetof(struct Vanetza_ITS2_HighFrequencyContainer, _asn_ctx), + offsetof(struct Vanetza_ITS2_HighFrequencyContainer, present), + sizeof(((struct Vanetza_ITS2_HighFrequencyContainer *)0)->present), + asn_MAP_Vanetza_ITS2_HighFrequencyContainer_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HighFrequencyContainer = { + "HighFrequencyContainer", + "HighFrequencyContainer", + &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_Vanetza_ITS2_HighFrequencyContainer_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_HighFrequencyContainer_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_HighFrequencyContainer_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_HighFrequencyContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/HighFrequencyContainer.h b/vanetza/asn1/its/r2/HighFrequencyContainer.h new file mode 100644 index 000000000..fddaecc05 --- /dev/null +++ b/vanetza/asn1/its/r2/HighFrequencyContainer.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HighFrequencyContainer_H_ +#define _Vanetza_ITS2_HighFrequencyContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BasicVehicleContainerHighFrequency.h" +#include "RSUContainerHighFrequency.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_HighFrequencyContainer_PR { + Vanetza_ITS2_HighFrequencyContainer_PR_NOTHING, /* No components present */ + Vanetza_ITS2_HighFrequencyContainer_PR_basicVehicleContainerHighFrequency, + Vanetza_ITS2_HighFrequencyContainer_PR_rsuContainerHighFrequency + /* Extensions may appear below */ + +} Vanetza_ITS2_HighFrequencyContainer_PR; + +/* Vanetza_ITS2_HighFrequencyContainer */ +typedef struct Vanetza_ITS2_HighFrequencyContainer { + Vanetza_ITS2_HighFrequencyContainer_PR present; + union Vanetza_ITS2_HighFrequencyContainer_u { + Vanetza_ITS2_BasicVehicleContainerHighFrequency_t basicVehicleContainerHighFrequency; + Vanetza_ITS2_RSUContainerHighFrequency_t rsuContainerHighFrequency; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_HighFrequencyContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HighFrequencyContainer; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_HighFrequencyContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_HighFrequencyContainer_1[2]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HighFrequencyContainer_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HighFrequencyContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HumanPresenceOnTheRoadSubCauseCode.c b/vanetza/asn1/its/r2/HumanPresenceOnTheRoadSubCauseCode.c new file mode 100644 index 000000000..9537137a3 --- /dev/null +++ b/vanetza/asn1/its/r2/HumanPresenceOnTheRoadSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HumanPresenceOnTheRoadSubCauseCode.h" + +int +Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode = { + "HumanPresenceOnTheRoadSubCauseCode", + "HumanPresenceOnTheRoadSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/HumanPresenceOnTheRoadSubCauseCode.h b/vanetza/asn1/its/r2/HumanPresenceOnTheRoadSubCauseCode.h new file mode 100644 index 000000000..a98b1ffe5 --- /dev/null +++ b/vanetza/asn1/its/r2/HumanPresenceOnTheRoadSubCauseCode.h @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_H_ +#define _Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode { + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_unavailable = 0, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_childrenOnRoadway = 1, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_cyclistOnRoadway = 2, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_motorcyclistOnRoadway = 3, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_pedestrian = 4, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_ordinary_pedestrian = 5, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_road_worker = 6, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_first_responder = 7, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_lightVruVehicle = 8, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_bicyclist = 9, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_wheelchair_user = 10, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_horse_and_rider = 11, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_rollerskater = 12, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_e_scooter = 13, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_personal_transporter = 14, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_pedelec = 15, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_speed_pedelec = 16, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_ptw = 17, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_moped = 18, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_motorcycle = 19, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_motorcycle_and_sidecar_right = 20, + Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_motorcycle_and_sidecar_left = 21 +} e_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode; + +/* Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode */ +typedef long Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode; +asn_struct_free_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/HumanProblemSubCauseCode.c b/vanetza/asn1/its/r2/HumanProblemSubCauseCode.c new file mode 100644 index 000000000..ecf0dae59 --- /dev/null +++ b/vanetza/asn1/its/r2/HumanProblemSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "HumanProblemSubCauseCode.h" + +int +Vanetza_ITS2_HumanProblemSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_HumanProblemSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HumanProblemSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_HumanProblemSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HumanProblemSubCauseCode = { + "HumanProblemSubCauseCode", + "HumanProblemSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_HumanProblemSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_HumanProblemSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HumanProblemSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_HumanProblemSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_HumanProblemSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_HumanProblemSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_HumanProblemSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_HumanProblemSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_HumanProblemSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/HumanProblemSubCauseCode.h b/vanetza/asn1/its/r2/HumanProblemSubCauseCode.h new file mode 100644 index 000000000..4a7d9c2e4 --- /dev/null +++ b/vanetza/asn1/its/r2/HumanProblemSubCauseCode.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_HumanProblemSubCauseCode_H_ +#define _Vanetza_ITS2_HumanProblemSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_HumanProblemSubCauseCode { + Vanetza_ITS2_HumanProblemSubCauseCode_unavailable = 0, + Vanetza_ITS2_HumanProblemSubCauseCode_glycemiaProblem = 1, + Vanetza_ITS2_HumanProblemSubCauseCode_heartProblem = 2 +} e_Vanetza_ITS2_HumanProblemSubCauseCode; + +/* Vanetza_ITS2_HumanProblemSubCauseCode */ +typedef long Vanetza_ITS2_HumanProblemSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_HumanProblemSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_HumanProblemSubCauseCode; +asn_struct_free_f Vanetza_ITS2_HumanProblemSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_HumanProblemSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_HumanProblemSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_HumanProblemSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_HumanProblemSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_HumanProblemSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_HumanProblemSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_HumanProblemSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_HumanProblemSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_HumanProblemSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_HumanProblemSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_HumanProblemSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_HumanProblemSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_HumanProblemSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_HumanProblemSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Identifier1B.c b/vanetza/asn1/its/r2/Identifier1B.c new file mode 100644 index 000000000..69c506a4a --- /dev/null +++ b/vanetza/asn1/its/r2/Identifier1B.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Identifier1B.h" + +int +Vanetza_ITS2_Identifier1B_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Identifier1B_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Identifier1B_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Identifier1B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Identifier1B = { + "Identifier1B", + "Identifier1B", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_Identifier1B_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Identifier1B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Identifier1B_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Identifier1B_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Identifier1B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Identifier1B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Identifier1B_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Identifier1B_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_Identifier1B_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/Identifier1B.h b/vanetza/asn1/its/r2/Identifier1B.h new file mode 100644 index 000000000..843042784 --- /dev/null +++ b/vanetza/asn1/its/r2/Identifier1B.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Identifier1B_H_ +#define _Vanetza_ITS2_Identifier1B_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_Identifier1B */ +typedef long Vanetza_ITS2_Identifier1B_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Identifier1B_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Identifier1B; +asn_struct_free_f Vanetza_ITS2_Identifier1B_free; +asn_struct_print_f Vanetza_ITS2_Identifier1B_print; +asn_constr_check_f Vanetza_ITS2_Identifier1B_constraint; +ber_type_decoder_f Vanetza_ITS2_Identifier1B_decode_ber; +der_type_encoder_f Vanetza_ITS2_Identifier1B_encode_der; +xer_type_decoder_f Vanetza_ITS2_Identifier1B_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Identifier1B_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Identifier1B_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Identifier1B_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Identifier1B_encode_oer; +per_type_decoder_f Vanetza_ITS2_Identifier1B_decode_uper; +per_type_encoder_f Vanetza_ITS2_Identifier1B_encode_uper; +per_type_decoder_f Vanetza_ITS2_Identifier1B_decode_aper; +per_type_encoder_f Vanetza_ITS2_Identifier1B_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Identifier1B_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Identifier2B.c b/vanetza/asn1/its/r2/Identifier2B.c new file mode 100644 index 000000000..03042bb57 --- /dev/null +++ b/vanetza/asn1/its/r2/Identifier2B.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Identifier2B.h" + +int +Vanetza_ITS2_Identifier2B_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(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_Vanetza_ITS2_Identifier2B_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_Vanetza_ITS2_Identifier2B_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_Vanetza_ITS2_Identifier2B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Identifier2B = { + "Identifier2B", + "Identifier2B", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_Identifier2B_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Identifier2B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Identifier2B_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Identifier2B_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Identifier2B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Identifier2B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Identifier2B_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Identifier2B_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_Identifier2B_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/Identifier2B.h b/vanetza/asn1/its/r2/Identifier2B.h new file mode 100644 index 000000000..77b251e58 --- /dev/null +++ b/vanetza/asn1/its/r2/Identifier2B.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Identifier2B_H_ +#define _Vanetza_ITS2_Identifier2B_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_Identifier2B */ +typedef long Vanetza_ITS2_Identifier2B_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Identifier2B_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Identifier2B; +asn_struct_free_f Vanetza_ITS2_Identifier2B_free; +asn_struct_print_f Vanetza_ITS2_Identifier2B_print; +asn_constr_check_f Vanetza_ITS2_Identifier2B_constraint; +ber_type_decoder_f Vanetza_ITS2_Identifier2B_decode_ber; +der_type_encoder_f Vanetza_ITS2_Identifier2B_encode_der; +xer_type_decoder_f Vanetza_ITS2_Identifier2B_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Identifier2B_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Identifier2B_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Identifier2B_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Identifier2B_encode_oer; +per_type_decoder_f Vanetza_ITS2_Identifier2B_decode_uper; +per_type_encoder_f Vanetza_ITS2_Identifier2B_encode_uper; +per_type_decoder_f Vanetza_ITS2_Identifier2B_decode_aper; +per_type_encoder_f Vanetza_ITS2_Identifier2B_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Identifier2B_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ImpactReductionContainer.c b/vanetza/asn1/its/r2/ImpactReductionContainer.c new file mode 100644 index 000000000..6a384bb20 --- /dev/null +++ b/vanetza/asn1/its/r2/ImpactReductionContainer.c @@ -0,0 +1,303 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ImpactReductionContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ImpactReductionContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, heightLonCarrLeft), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HeightLonCarr, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heightLonCarrLeft" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, heightLonCarrRight), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HeightLonCarr, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heightLonCarrRight" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, posLonCarrLeft), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PosLonCarr, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posLonCarrLeft" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, posLonCarrRight), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PosLonCarr, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posLonCarrRight" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, positionOfPillars), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PositionOfPillars, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "positionOfPillars" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, posCentMass), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PosCentMass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posCentMass" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, wheelBaseVehicle), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_WheelBaseVehicle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wheelBaseVehicle" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, turningRadius), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TurningRadius, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "turningRadius" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, posFrontAx), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PosFrontAx, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posFrontAx" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, positionOfOccupants), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PositionOfOccupants, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "positionOfOccupants" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, vehicleMass), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VehicleMass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleMass" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ImpactReductionContainer, requestResponseIndication), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RequestResponseIndication, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "requestResponseIndication" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ImpactReductionContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ImpactReductionContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* heightLonCarrLeft */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* heightLonCarrRight */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* posLonCarrLeft */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* posLonCarrRight */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* positionOfPillars */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* posCentMass */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* wheelBaseVehicle */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* turningRadius */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* posFrontAx */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* positionOfOccupants */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* vehicleMass */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* requestResponseIndication */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ImpactReductionContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_ImpactReductionContainer), + offsetof(struct Vanetza_ITS2_ImpactReductionContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_ImpactReductionContainer_tag2el_1, + 12, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ImpactReductionContainer = { + "ImpactReductionContainer", + "ImpactReductionContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ImpactReductionContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ImpactReductionContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ImpactReductionContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ImpactReductionContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ImpactReductionContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ImpactReductionContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ImpactReductionContainer_1, + 12, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ImpactReductionContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ImpactReductionContainer.h b/vanetza/asn1/its/r2/ImpactReductionContainer.h new file mode 100644 index 000000000..048d675b7 --- /dev/null +++ b/vanetza/asn1/its/r2/ImpactReductionContainer.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ImpactReductionContainer_H_ +#define _Vanetza_ITS2_ImpactReductionContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "HeightLonCarr.h" +#include "PosLonCarr.h" +#include "PositionOfPillars.h" +#include "PosCentMass.h" +#include "WheelBaseVehicle.h" +#include "TurningRadius.h" +#include "PosFrontAx.h" +#include "PositionOfOccupants.h" +#include "VehicleMass.h" +#include "RequestResponseIndication.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ImpactReductionContainer */ +typedef struct Vanetza_ITS2_ImpactReductionContainer { + Vanetza_ITS2_HeightLonCarr_t heightLonCarrLeft; + Vanetza_ITS2_HeightLonCarr_t heightLonCarrRight; + Vanetza_ITS2_PosLonCarr_t posLonCarrLeft; + Vanetza_ITS2_PosLonCarr_t posLonCarrRight; + Vanetza_ITS2_PositionOfPillars_t positionOfPillars; + Vanetza_ITS2_PosCentMass_t posCentMass; + Vanetza_ITS2_WheelBaseVehicle_t wheelBaseVehicle; + Vanetza_ITS2_TurningRadius_t turningRadius; + Vanetza_ITS2_PosFrontAx_t posFrontAx; + Vanetza_ITS2_PositionOfOccupants_t positionOfOccupants; + Vanetza_ITS2_VehicleMass_t vehicleMass; + Vanetza_ITS2_RequestResponseIndication_t requestResponseIndication; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ImpactReductionContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ImpactReductionContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ImpactReductionContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ImpactReductionContainer_1[12]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ImpactReductionContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ImpassabilitySubCauseCode.c b/vanetza/asn1/its/r2/ImpassabilitySubCauseCode.c new file mode 100644 index 000000000..bf7ba4836 --- /dev/null +++ b/vanetza/asn1/its/r2/ImpassabilitySubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ImpassabilitySubCauseCode.h" + +int +Vanetza_ITS2_ImpassabilitySubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ImpassabilitySubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ImpassabilitySubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ImpassabilitySubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ImpassabilitySubCauseCode = { + "ImpassabilitySubCauseCode", + "ImpassabilitySubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_ImpassabilitySubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ImpassabilitySubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ImpassabilitySubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ImpassabilitySubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ImpassabilitySubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ImpassabilitySubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ImpassabilitySubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ImpassabilitySubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ImpassabilitySubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/ImpassabilitySubCauseCode.h b/vanetza/asn1/its/r2/ImpassabilitySubCauseCode.h new file mode 100644 index 000000000..20e9a425c --- /dev/null +++ b/vanetza/asn1/its/r2/ImpassabilitySubCauseCode.h @@ -0,0 +1,69 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ImpassabilitySubCauseCode_H_ +#define _Vanetza_ITS2_ImpassabilitySubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ImpassabilitySubCauseCode { + Vanetza_ITS2_ImpassabilitySubCauseCode_unavailable = 0, + Vanetza_ITS2_ImpassabilitySubCauseCode_flooding = 1, + Vanetza_ITS2_ImpassabilitySubCauseCode_dangerOfAvalanches = 2, + Vanetza_ITS2_ImpassabilitySubCauseCode_blastingOfAvalanches = 3, + Vanetza_ITS2_ImpassabilitySubCauseCode_landslips = 4, + Vanetza_ITS2_ImpassabilitySubCauseCode_chemicalSpillage = 5, + Vanetza_ITS2_ImpassabilitySubCauseCode_winterClosure = 6, + Vanetza_ITS2_ImpassabilitySubCauseCode_sinkhole = 7, + Vanetza_ITS2_ImpassabilitySubCauseCode_earthquakeDamage = 8, + Vanetza_ITS2_ImpassabilitySubCauseCode_fallenTrees = 9, + Vanetza_ITS2_ImpassabilitySubCauseCode_rockfalls = 10, + Vanetza_ITS2_ImpassabilitySubCauseCode_sewerOverflow = 11, + Vanetza_ITS2_ImpassabilitySubCauseCode_stormDamage = 12, + Vanetza_ITS2_ImpassabilitySubCauseCode_subsidence = 13, + Vanetza_ITS2_ImpassabilitySubCauseCode_burstPipe = 14, + Vanetza_ITS2_ImpassabilitySubCauseCode_burstWaterMain = 15, + Vanetza_ITS2_ImpassabilitySubCauseCode_fallenPowerCables = 16, + Vanetza_ITS2_ImpassabilitySubCauseCode_snowDrifts = 17 +} e_Vanetza_ITS2_ImpassabilitySubCauseCode; + +/* Vanetza_ITS2_ImpassabilitySubCauseCode */ +typedef long Vanetza_ITS2_ImpassabilitySubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ImpassabilitySubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ImpassabilitySubCauseCode; +asn_struct_free_f Vanetza_ITS2_ImpassabilitySubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_ImpassabilitySubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_ImpassabilitySubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_ImpassabilitySubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_ImpassabilitySubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_ImpassabilitySubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ImpassabilitySubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ImpassabilitySubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ImpassabilitySubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ImpassabilitySubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_ImpassabilitySubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_ImpassabilitySubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_ImpassabilitySubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_ImpassabilitySubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ImpassabilitySubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/InformationQuality.c b/vanetza/asn1/its/r2/InformationQuality.c new file mode 100644 index 000000000..39e47ba43 --- /dev/null +++ b/vanetza/asn1/its/r2/InformationQuality.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "InformationQuality.h" + +int +Vanetza_ITS2_InformationQuality_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 7L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_InformationQuality_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..7) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_InformationQuality_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_InformationQuality_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InformationQuality = { + "InformationQuality", + "InformationQuality", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_InformationQuality_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_InformationQuality_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InformationQuality_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_InformationQuality_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_InformationQuality_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InformationQuality_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_InformationQuality_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_InformationQuality_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_InformationQuality_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/InformationQuality.h b/vanetza/asn1/its/r2/InformationQuality.h new file mode 100644 index 000000000..d8dd6d489 --- /dev/null +++ b/vanetza/asn1/its/r2/InformationQuality.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_InformationQuality_H_ +#define _Vanetza_ITS2_InformationQuality_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_InformationQuality */ +typedef long Vanetza_ITS2_InformationQuality_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_InformationQuality_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InformationQuality; +asn_struct_free_f Vanetza_ITS2_InformationQuality_free; +asn_struct_print_f Vanetza_ITS2_InformationQuality_print; +asn_constr_check_f Vanetza_ITS2_InformationQuality_constraint; +ber_type_decoder_f Vanetza_ITS2_InformationQuality_decode_ber; +der_type_encoder_f Vanetza_ITS2_InformationQuality_encode_der; +xer_type_decoder_f Vanetza_ITS2_InformationQuality_decode_xer; +xer_type_encoder_f Vanetza_ITS2_InformationQuality_encode_xer; +jer_type_encoder_f Vanetza_ITS2_InformationQuality_encode_jer; +oer_type_decoder_f Vanetza_ITS2_InformationQuality_decode_oer; +oer_type_encoder_f Vanetza_ITS2_InformationQuality_encode_oer; +per_type_decoder_f Vanetza_ITS2_InformationQuality_decode_uper; +per_type_encoder_f Vanetza_ITS2_InformationQuality_encode_uper; +per_type_decoder_f Vanetza_ITS2_InformationQuality_decode_aper; +per_type_encoder_f Vanetza_ITS2_InformationQuality_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_InformationQuality_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/InterferenceManagementChannel.c b/vanetza/asn1/its/r2/InterferenceManagementChannel.c new file mode 100644 index 000000000..88bd72050 --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementChannel.c @@ -0,0 +1,225 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "InterferenceManagementChannel.h" + +static int +memb_Vanetza_ITS2_centreFrequency_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 99999L)) { + /* 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_Vanetza_ITS2_channelWidth_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 <= 9999L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_Vanetza_ITS2_exponent_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 <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_centreFrequency_constr_2 CC_NOTUSED = { + { 4, 1 } /* (1..99999) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_centreFrequency_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 17, -1, 1, 99999 } /* (1..99999) */, + { 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_Vanetza_ITS2_channelWidth_constr_3 CC_NOTUSED = { + { 2, 1 } /* (0..9999) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_channelWidth_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 0, 9999 } /* (0..9999) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_exponent_constr_4 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_exponent_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_InterferenceManagementChannel_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_InterferenceManagementChannel, centreFrequency), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_centreFrequency_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_centreFrequency_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_centreFrequency_constraint_1 + }, + 0, 0, /* No default value */ + "centreFrequency" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_InterferenceManagementChannel, channelWidth), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_channelWidth_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_channelWidth_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_channelWidth_constraint_1 + }, + 0, 0, /* No default value */ + "channelWidth" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_InterferenceManagementChannel, exponent), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_exponent_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_exponent_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_exponent_constraint_1 + }, + 0, 0, /* No default value */ + "exponent" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_InterferenceManagementChannel_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_InterferenceManagementChannel_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* centreFrequency */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* channelWidth */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* exponent */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementChannel_specs_1 = { + sizeof(struct Vanetza_ITS2_InterferenceManagementChannel), + offsetof(struct Vanetza_ITS2_InterferenceManagementChannel, _asn_ctx), + asn_MAP_Vanetza_ITS2_InterferenceManagementChannel_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_Vanetza_ITS2_InterferenceManagementChannel = { + "InterferenceManagementChannel", + "InterferenceManagementChannel", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_InterferenceManagementChannel_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementChannel_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementChannel_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_InterferenceManagementChannel_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementChannel_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementChannel_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_InterferenceManagementChannel_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_InterferenceManagementChannel_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/InterferenceManagementChannel.h b/vanetza/asn1/its/r2/InterferenceManagementChannel.h new file mode 100644 index 000000000..5fb1f3bfb --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementChannel.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_InterferenceManagementChannel_H_ +#define _Vanetza_ITS2_InterferenceManagementChannel_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_InterferenceManagementChannel */ +typedef struct Vanetza_ITS2_InterferenceManagementChannel { + long centreFrequency; + long channelWidth; + long exponent; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_InterferenceManagementChannel_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementChannel; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementChannel_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_InterferenceManagementChannel_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_InterferenceManagementChannel_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/InterferenceManagementInfo.c b/vanetza/asn1/its/r2/InterferenceManagementInfo.c new file mode 100644 index 000000000..f8b5a4dec --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementInfo.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "InterferenceManagementInfo.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_InterferenceManagementInfo_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_InterferenceManagementInfo_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 16 } /* (SIZE(1..16,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_InterferenceManagementInfo_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_InterferenceManagementInfoPerChannel, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_InterferenceManagementInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementInfo_specs_1 = { + sizeof(struct Vanetza_ITS2_InterferenceManagementInfo), + offsetof(struct Vanetza_ITS2_InterferenceManagementInfo, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementInfo = { + "InterferenceManagementInfo", + "InterferenceManagementInfo", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_InterferenceManagementInfo_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementInfo_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementInfo_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_InterferenceManagementInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementInfo_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_InterferenceManagementInfo_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_InterferenceManagementInfo_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_InterferenceManagementInfo_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_InterferenceManagementInfo_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/InterferenceManagementInfo.h b/vanetza/asn1/its/r2/InterferenceManagementInfo.h new file mode 100644 index 000000000..629049b38 --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementInfo.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_InterferenceManagementInfo_H_ +#define _Vanetza_ITS2_InterferenceManagementInfo_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 Vanetza_ITS2_InterferenceManagementInfoPerChannel; + +/* Vanetza_ITS2_InterferenceManagementInfo */ +typedef struct Vanetza_ITS2_InterferenceManagementInfo { + A_SEQUENCE_OF(struct Vanetza_ITS2_InterferenceManagementInfoPerChannel) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_InterferenceManagementInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementInfo; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementInfo_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_InterferenceManagementInfo_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_InterferenceManagementInfo_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "InterferenceManagementInfoPerChannel.h" + +#endif /* _Vanetza_ITS2_InterferenceManagementInfo_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/InterferenceManagementInfoPerChannel.c b/vanetza/asn1/its/r2/InterferenceManagementInfoPerChannel.c new file mode 100644 index 000000000..582ecbbf5 --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementInfoPerChannel.c @@ -0,0 +1,137 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "InterferenceManagementInfoPerChannel.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_InterferenceManagementInfoPerChannel_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_InterferenceManagementInfoPerChannel, interferenceManagementChannel), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_InterferenceManagementChannel, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "interferenceManagementChannel" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_InterferenceManagementInfoPerChannel, interferenceManagementZoneType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_InterferenceManagementZoneType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "interferenceManagementZoneType" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_InterferenceManagementInfoPerChannel, interferenceManagementMitigationType), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MitigationForTechnologies, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "interferenceManagementMitigationType" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_InterferenceManagementInfoPerChannel, expiryTime), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TimestampIts, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "expiryTime" + }, +}; +static const int asn_MAP_Vanetza_ITS2_InterferenceManagementInfoPerChannel_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_InterferenceManagementInfoPerChannel_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_InterferenceManagementInfoPerChannel_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interferenceManagementChannel */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* interferenceManagementZoneType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* interferenceManagementMitigationType */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* expiryTime */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementInfoPerChannel_specs_1 = { + sizeof(struct Vanetza_ITS2_InterferenceManagementInfoPerChannel), + offsetof(struct Vanetza_ITS2_InterferenceManagementInfoPerChannel, _asn_ctx), + asn_MAP_Vanetza_ITS2_InterferenceManagementInfoPerChannel_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_InterferenceManagementInfoPerChannel_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementInfoPerChannel = { + "InterferenceManagementInfoPerChannel", + "InterferenceManagementInfoPerChannel", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_InterferenceManagementInfoPerChannel_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementInfoPerChannel_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementInfoPerChannel_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_InterferenceManagementInfoPerChannel_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementInfoPerChannel_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementInfoPerChannel_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_InterferenceManagementInfoPerChannel_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_InterferenceManagementInfoPerChannel_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/InterferenceManagementInfoPerChannel.h b/vanetza/asn1/its/r2/InterferenceManagementInfoPerChannel.h new file mode 100644 index 000000000..40af33099 --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementInfoPerChannel.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_InterferenceManagementInfoPerChannel_H_ +#define _Vanetza_ITS2_InterferenceManagementInfoPerChannel_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "InterferenceManagementChannel.h" +#include "InterferenceManagementZoneType.h" +#include "TimestampIts.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_MitigationForTechnologies; + +/* Vanetza_ITS2_InterferenceManagementInfoPerChannel */ +typedef struct Vanetza_ITS2_InterferenceManagementInfoPerChannel { + Vanetza_ITS2_InterferenceManagementChannel_t interferenceManagementChannel; + Vanetza_ITS2_InterferenceManagementZoneType_t interferenceManagementZoneType; + struct Vanetza_ITS2_MitigationForTechnologies *interferenceManagementMitigationType; /* OPTIONAL */ + Vanetza_ITS2_TimestampIts_t *expiryTime; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_InterferenceManagementInfoPerChannel_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementInfoPerChannel; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementInfoPerChannel_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_InterferenceManagementInfoPerChannel_1[4]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MitigationForTechnologies.h" + +#endif /* _Vanetza_ITS2_InterferenceManagementInfoPerChannel_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/InterferenceManagementZone.c b/vanetza/asn1/its/r2/InterferenceManagementZone.c new file mode 100644 index 000000000..0924790fd --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementZone.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "InterferenceManagementZone.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_InterferenceManagementZone_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_InterferenceManagementZone, zoneDefinition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_InterferenceManagementZoneDefinition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zoneDefinition" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_InterferenceManagementZone, managementInfo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_InterferenceManagementInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "managementInfo" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_InterferenceManagementZone_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_InterferenceManagementZone_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* zoneDefinition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* managementInfo */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementZone_specs_1 = { + sizeof(struct Vanetza_ITS2_InterferenceManagementZone), + offsetof(struct Vanetza_ITS2_InterferenceManagementZone, _asn_ctx), + asn_MAP_Vanetza_ITS2_InterferenceManagementZone_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_Vanetza_ITS2_InterferenceManagementZone = { + "InterferenceManagementZone", + "InterferenceManagementZone", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_InterferenceManagementZone_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZone_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZone_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_InterferenceManagementZone_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZone_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZone_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_InterferenceManagementZone_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_InterferenceManagementZone_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/InterferenceManagementZone.h b/vanetza/asn1/its/r2/InterferenceManagementZone.h new file mode 100644 index 000000000..29da1d30d --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementZone.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_InterferenceManagementZone_H_ +#define _Vanetza_ITS2_InterferenceManagementZone_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "InterferenceManagementZoneDefinition.h" +#include "InterferenceManagementInfo.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_InterferenceManagementZone */ +typedef struct Vanetza_ITS2_InterferenceManagementZone { + Vanetza_ITS2_InterferenceManagementZoneDefinition_t zoneDefinition; + Vanetza_ITS2_InterferenceManagementInfo_t managementInfo; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_InterferenceManagementZone_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementZone; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementZone_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_InterferenceManagementZone_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_InterferenceManagementZone_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/InterferenceManagementZoneDefinition.c b/vanetza/asn1/its/r2/InterferenceManagementZoneDefinition.c new file mode 100644 index 000000000..af64524d7 --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementZoneDefinition.c @@ -0,0 +1,168 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "InterferenceManagementZoneDefinition.h" + +static int +memb_Vanetza_ITS2_interferenceManagementZoneShape_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_Vanetza_ITS2_interferenceManagementZoneShape_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_interferenceManagementZoneShape_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_InterferenceManagementZoneDefinition_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_InterferenceManagementZoneDefinition, interferenceManagementZoneLatitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "interferenceManagementZoneLatitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_InterferenceManagementZoneDefinition, interferenceManagementZoneLongitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "interferenceManagementZoneLongitude" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_InterferenceManagementZoneDefinition, interferenceManagementZoneId), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ProtectedZoneId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "interferenceManagementZoneId" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_InterferenceManagementZoneDefinition, interferenceManagementZoneShape), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Shape, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_interferenceManagementZoneShape_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_interferenceManagementZoneShape_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_interferenceManagementZoneShape_constraint_1 + }, + 0, 0, /* No default value */ + "interferenceManagementZoneShape" + }, +}; +static const int asn_MAP_Vanetza_ITS2_InterferenceManagementZoneDefinition_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_InterferenceManagementZoneDefinition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_InterferenceManagementZoneDefinition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interferenceManagementZoneLatitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* interferenceManagementZoneLongitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* interferenceManagementZoneId */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* interferenceManagementZoneShape */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementZoneDefinition_specs_1 = { + sizeof(struct Vanetza_ITS2_InterferenceManagementZoneDefinition), + offsetof(struct Vanetza_ITS2_InterferenceManagementZoneDefinition, _asn_ctx), + asn_MAP_Vanetza_ITS2_InterferenceManagementZoneDefinition_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_InterferenceManagementZoneDefinition_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementZoneDefinition = { + "InterferenceManagementZoneDefinition", + "InterferenceManagementZoneDefinition", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_InterferenceManagementZoneDefinition_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZoneDefinition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZoneDefinition_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_InterferenceManagementZoneDefinition_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZoneDefinition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZoneDefinition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_InterferenceManagementZoneDefinition_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_InterferenceManagementZoneDefinition_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/InterferenceManagementZoneDefinition.h b/vanetza/asn1/its/r2/InterferenceManagementZoneDefinition.h new file mode 100644 index 000000000..e5e40130c --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementZoneDefinition.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_InterferenceManagementZoneDefinition_H_ +#define _Vanetza_ITS2_InterferenceManagementZoneDefinition_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Latitude.h" +#include "Longitude.h" +#include "ProtectedZoneId.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_Shape; + +/* Vanetza_ITS2_InterferenceManagementZoneDefinition */ +typedef struct Vanetza_ITS2_InterferenceManagementZoneDefinition { + Vanetza_ITS2_Latitude_t interferenceManagementZoneLatitude; + Vanetza_ITS2_Longitude_t interferenceManagementZoneLongitude; + Vanetza_ITS2_ProtectedZoneId_t *interferenceManagementZoneId; /* OPTIONAL */ + struct Vanetza_ITS2_Shape *interferenceManagementZoneShape; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_InterferenceManagementZoneDefinition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementZoneDefinition; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementZoneDefinition_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_InterferenceManagementZoneDefinition_1[4]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "Shape.h" + +#endif /* _Vanetza_ITS2_InterferenceManagementZoneDefinition_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/InterferenceManagementZoneType.c b/vanetza/asn1/its/r2/InterferenceManagementZoneType.c new file mode 100644 index 000000000..077794971 --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementZoneType.c @@ -0,0 +1,81 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "InterferenceManagementZoneType.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_Vanetza_ITS2_InterferenceManagementZoneType_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_Vanetza_ITS2_InterferenceManagementZoneType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_InterferenceManagementZoneType_value2enum_1[] = { + { 0, 23, "permanentCenDsrcTolling" }, + { 1, 23, "temporaryCenDsrcTolling" }, + { 2, 11, "unavailable" }, + { 3, 9, "urbanRail" }, + { 4, 16, "satelliteStation" }, + { 5, 10, "fixedLinks" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Vanetza_ITS2_InterferenceManagementZoneType_enum2value_1[] = { + 5, /* fixedLinks(5) */ + 0, /* permanentCenDsrcTolling(0) */ + 4, /* satelliteStation(4) */ + 1, /* temporaryCenDsrcTolling(1) */ + 2, /* unavailable(2) */ + 3 /* urbanRail(3) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementZoneType_specs_1 = { + asn_MAP_Vanetza_ITS2_InterferenceManagementZoneType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_InterferenceManagementZoneType_enum2value_1, /* N => "tag"; sorted by N */ + 6, /* Number of elements in the maps */ + 7, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_InterferenceManagementZoneType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementZoneType = { + "InterferenceManagementZoneType", + "InterferenceManagementZoneType", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_InterferenceManagementZoneType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZoneType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZoneType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_InterferenceManagementZoneType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZoneType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZoneType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_InterferenceManagementZoneType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_InterferenceManagementZoneType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_InterferenceManagementZoneType_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/InterferenceManagementZoneType.h b/vanetza/asn1/its/r2/InterferenceManagementZoneType.h new file mode 100644 index 000000000..78d76e87b --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementZoneType.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_InterferenceManagementZoneType_H_ +#define _Vanetza_ITS2_InterferenceManagementZoneType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_InterferenceManagementZoneType { + Vanetza_ITS2_InterferenceManagementZoneType_permanentCenDsrcTolling = 0, + Vanetza_ITS2_InterferenceManagementZoneType_temporaryCenDsrcTolling = 1, + Vanetza_ITS2_InterferenceManagementZoneType_unavailable = 2, + Vanetza_ITS2_InterferenceManagementZoneType_urbanRail = 3, + Vanetza_ITS2_InterferenceManagementZoneType_satelliteStation = 4, + Vanetza_ITS2_InterferenceManagementZoneType_fixedLinks = 5 + /* + * Enumeration is extensible + */ +} e_Vanetza_ITS2_InterferenceManagementZoneType; + +/* Vanetza_ITS2_InterferenceManagementZoneType */ +typedef long Vanetza_ITS2_InterferenceManagementZoneType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_InterferenceManagementZoneType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementZoneType; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementZoneType_specs_1; +asn_struct_free_f Vanetza_ITS2_InterferenceManagementZoneType_free; +asn_struct_print_f Vanetza_ITS2_InterferenceManagementZoneType_print; +asn_constr_check_f Vanetza_ITS2_InterferenceManagementZoneType_constraint; +ber_type_decoder_f Vanetza_ITS2_InterferenceManagementZoneType_decode_ber; +der_type_encoder_f Vanetza_ITS2_InterferenceManagementZoneType_encode_der; +xer_type_decoder_f Vanetza_ITS2_InterferenceManagementZoneType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_InterferenceManagementZoneType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_InterferenceManagementZoneType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_InterferenceManagementZoneType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_InterferenceManagementZoneType_encode_oer; +per_type_decoder_f Vanetza_ITS2_InterferenceManagementZoneType_decode_uper; +per_type_encoder_f Vanetza_ITS2_InterferenceManagementZoneType_encode_uper; +per_type_decoder_f Vanetza_ITS2_InterferenceManagementZoneType_decode_aper; +per_type_encoder_f Vanetza_ITS2_InterferenceManagementZoneType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_InterferenceManagementZoneType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/InterferenceManagementZones.c b/vanetza/asn1/its/r2/InterferenceManagementZones.c new file mode 100644 index 000000000..021507086 --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementZones.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "InterferenceManagementZones.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_InterferenceManagementZones_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_InterferenceManagementZones_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 16 } /* (SIZE(1..16,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_InterferenceManagementZones_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_InterferenceManagementZone, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_InterferenceManagementZones_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_InterferenceManagementZones_specs_1 = { + sizeof(struct Vanetza_ITS2_InterferenceManagementZones), + offsetof(struct Vanetza_ITS2_InterferenceManagementZones, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementZones = { + "InterferenceManagementZones", + "InterferenceManagementZones", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_InterferenceManagementZones_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZones_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZones_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_InterferenceManagementZones_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZones_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_InterferenceManagementZones_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_InterferenceManagementZones_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_InterferenceManagementZones_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_InterferenceManagementZones_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_InterferenceManagementZones_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/InterferenceManagementZones.h b/vanetza/asn1/its/r2/InterferenceManagementZones.h new file mode 100644 index 000000000..e8342474f --- /dev/null +++ b/vanetza/asn1/its/r2/InterferenceManagementZones.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_InterferenceManagementZones_H_ +#define _Vanetza_ITS2_InterferenceManagementZones_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 Vanetza_ITS2_InterferenceManagementZone; + +/* Vanetza_ITS2_InterferenceManagementZones */ +typedef struct Vanetza_ITS2_InterferenceManagementZones { + A_SEQUENCE_OF(struct Vanetza_ITS2_InterferenceManagementZone) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_InterferenceManagementZones_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_InterferenceManagementZones; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "InterferenceManagementZone.h" + +#endif /* _Vanetza_ITS2_InterferenceManagementZones_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/IntersectionReferenceId.c b/vanetza/asn1/its/r2/IntersectionReferenceId.c new file mode 100644 index 000000000..8c8bab625 --- /dev/null +++ b/vanetza/asn1/its/r2/IntersectionReferenceId.c @@ -0,0 +1,95 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "IntersectionReferenceId.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_IntersectionReferenceId_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_IntersectionReferenceId, region), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier2B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "region" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_IntersectionReferenceId, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier2B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, +}; +static const int asn_MAP_Vanetza_ITS2_IntersectionReferenceId_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_IntersectionReferenceId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_IntersectionReferenceId_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* region */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* id */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_IntersectionReferenceId_specs_1 = { + sizeof(struct Vanetza_ITS2_IntersectionReferenceId), + offsetof(struct Vanetza_ITS2_IntersectionReferenceId, _asn_ctx), + asn_MAP_Vanetza_ITS2_IntersectionReferenceId_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_IntersectionReferenceId_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_IntersectionReferenceId = { + "IntersectionReferenceId", + "IntersectionReferenceId", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_IntersectionReferenceId_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_IntersectionReferenceId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_IntersectionReferenceId_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_IntersectionReferenceId_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_IntersectionReferenceId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_IntersectionReferenceId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_IntersectionReferenceId_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_IntersectionReferenceId_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/IntersectionReferenceId.h b/vanetza/asn1/its/r2/IntersectionReferenceId.h new file mode 100644 index 000000000..817bd0c0b --- /dev/null +++ b/vanetza/asn1/its/r2/IntersectionReferenceId.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_IntersectionReferenceId_H_ +#define _Vanetza_ITS2_IntersectionReferenceId_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier2B.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_IntersectionReferenceId */ +typedef struct Vanetza_ITS2_IntersectionReferenceId { + Vanetza_ITS2_Identifier2B_t *region; /* OPTIONAL */ + Vanetza_ITS2_Identifier2B_t id; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_IntersectionReferenceId_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_IntersectionReferenceId; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_IntersectionReferenceId_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_IntersectionReferenceId_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_IntersectionReferenceId_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Iso3833VehicleType.c b/vanetza/asn1/its/r2/Iso3833VehicleType.c new file mode 100644 index 000000000..d02a5c9d2 --- /dev/null +++ b/vanetza/asn1/its/r2/Iso3833VehicleType.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Iso3833VehicleType.h" + +int +Vanetza_ITS2_Iso3833VehicleType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Iso3833VehicleType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Iso3833VehicleType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Iso3833VehicleType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Iso3833VehicleType = { + "Iso3833VehicleType", + "Iso3833VehicleType", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_Iso3833VehicleType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Iso3833VehicleType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Iso3833VehicleType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Iso3833VehicleType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Iso3833VehicleType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Iso3833VehicleType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Iso3833VehicleType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Iso3833VehicleType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_Iso3833VehicleType_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/Iso3833VehicleType.h b/vanetza/asn1/its/r2/Iso3833VehicleType.h new file mode 100644 index 000000000..9683f167d --- /dev/null +++ b/vanetza/asn1/its/r2/Iso3833VehicleType.h @@ -0,0 +1,91 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Iso3833VehicleType_H_ +#define _Vanetza_ITS2_Iso3833VehicleType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Iso3833VehicleType { + Vanetza_ITS2_Iso3833VehicleType_passengerCar = 0, + Vanetza_ITS2_Iso3833VehicleType_saloon = 1, + Vanetza_ITS2_Iso3833VehicleType_convertibleSaloon = 2, + Vanetza_ITS2_Iso3833VehicleType_pullmanSaloon = 3, + Vanetza_ITS2_Iso3833VehicleType_stationWagon = 4, + Vanetza_ITS2_Iso3833VehicleType_truckStationWagon = 5, + Vanetza_ITS2_Iso3833VehicleType_coupe = 6, + Vanetza_ITS2_Iso3833VehicleType_convertible = 7, + Vanetza_ITS2_Iso3833VehicleType_multipurposePassengerCar = 8, + Vanetza_ITS2_Iso3833VehicleType_forwardControlPassengerCar = 9, + Vanetza_ITS2_Iso3833VehicleType_specialPassengerCar = 10, + Vanetza_ITS2_Iso3833VehicleType_bus = 11, + Vanetza_ITS2_Iso3833VehicleType_minibus = 12, + Vanetza_ITS2_Iso3833VehicleType_urbanBus = 13, + Vanetza_ITS2_Iso3833VehicleType_interurbanCoach = 14, + Vanetza_ITS2_Iso3833VehicleType_longDistanceCoach = 15, + Vanetza_ITS2_Iso3833VehicleType_articulatedBus = 16, + Vanetza_ITS2_Iso3833VehicleType_trolleyBus = 17, + Vanetza_ITS2_Iso3833VehicleType_specialBus = 18, + Vanetza_ITS2_Iso3833VehicleType_commercialVehicle = 19, + Vanetza_ITS2_Iso3833VehicleType_specialCommercialVehicle = 20, + Vanetza_ITS2_Iso3833VehicleType_specialVehicle = 21, + Vanetza_ITS2_Iso3833VehicleType_trailingTowingVehicle = 22, + Vanetza_ITS2_Iso3833VehicleType_semiTrailerTowingVehicle = 23, + Vanetza_ITS2_Iso3833VehicleType_trailer = 24, + Vanetza_ITS2_Iso3833VehicleType_busTrailer = 25, + Vanetza_ITS2_Iso3833VehicleType_generalPurposeTrailer = 26, + Vanetza_ITS2_Iso3833VehicleType_caravan = 27, + Vanetza_ITS2_Iso3833VehicleType_specialTrailer = 28, + Vanetza_ITS2_Iso3833VehicleType_semiTrailer = 29, + Vanetza_ITS2_Iso3833VehicleType_busSemiTrailer = 30, + Vanetza_ITS2_Iso3833VehicleType_generalPurposeSemiTrailer = 31, + Vanetza_ITS2_Iso3833VehicleType_specialSemiTrailer = 32, + Vanetza_ITS2_Iso3833VehicleType_roadTrain = 33, + Vanetza_ITS2_Iso3833VehicleType_passengerRoadTrain = 34, + Vanetza_ITS2_Iso3833VehicleType_articulatedRoadTrain = 35, + Vanetza_ITS2_Iso3833VehicleType_doubleRoadTrain = 36, + Vanetza_ITS2_Iso3833VehicleType_compositeRoadTrain = 37, + Vanetza_ITS2_Iso3833VehicleType_specialRoadTrain = 38, + Vanetza_ITS2_Iso3833VehicleType_moped = 39, + Vanetza_ITS2_Iso3833VehicleType_motorCycle = 40 +} e_Vanetza_ITS2_Iso3833VehicleType; + +/* Vanetza_ITS2_Iso3833VehicleType */ +typedef long Vanetza_ITS2_Iso3833VehicleType_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Iso3833VehicleType; +asn_struct_free_f Vanetza_ITS2_Iso3833VehicleType_free; +asn_struct_print_f Vanetza_ITS2_Iso3833VehicleType_print; +asn_constr_check_f Vanetza_ITS2_Iso3833VehicleType_constraint; +ber_type_decoder_f Vanetza_ITS2_Iso3833VehicleType_decode_ber; +der_type_encoder_f Vanetza_ITS2_Iso3833VehicleType_encode_der; +xer_type_decoder_f Vanetza_ITS2_Iso3833VehicleType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Iso3833VehicleType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Iso3833VehicleType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Iso3833VehicleType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Iso3833VehicleType_encode_oer; +per_type_decoder_f Vanetza_ITS2_Iso3833VehicleType_decode_uper; +per_type_encoder_f Vanetza_ITS2_Iso3833VehicleType_encode_uper; +per_type_decoder_f Vanetza_ITS2_Iso3833VehicleType_decode_aper; +per_type_encoder_f Vanetza_ITS2_Iso3833VehicleType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Iso3833VehicleType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/IssuerIdentifier.c b/vanetza/asn1/its/r2/IssuerIdentifier.c new file mode 100644 index 000000000..711bd3e69 --- /dev/null +++ b/vanetza/asn1/its/r2/IssuerIdentifier.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "IssuerIdentifier.h" + +int +Vanetza_ITS2_IssuerIdentifier_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 16383L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_IssuerIdentifier_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..16383) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_IssuerIdentifier_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 0, 16383 } /* (0..16383) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_IssuerIdentifier_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_IssuerIdentifier = { + "IssuerIdentifier", + "IssuerIdentifier", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_IssuerIdentifier_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_IssuerIdentifier_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_IssuerIdentifier_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_IssuerIdentifier_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_IssuerIdentifier_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_IssuerIdentifier_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_IssuerIdentifier_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_IssuerIdentifier_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_IssuerIdentifier_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/IssuerIdentifier.h b/vanetza/asn1/its/r2/IssuerIdentifier.h new file mode 100644 index 000000000..1ca1d7b2e --- /dev/null +++ b/vanetza/asn1/its/r2/IssuerIdentifier.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_IssuerIdentifier_H_ +#define _Vanetza_ITS2_IssuerIdentifier_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_IssuerIdentifier */ +typedef long Vanetza_ITS2_IssuerIdentifier_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_IssuerIdentifier_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_IssuerIdentifier; +asn_struct_free_f Vanetza_ITS2_IssuerIdentifier_free; +asn_struct_print_f Vanetza_ITS2_IssuerIdentifier_print; +asn_constr_check_f Vanetza_ITS2_IssuerIdentifier_constraint; +ber_type_decoder_f Vanetza_ITS2_IssuerIdentifier_decode_ber; +der_type_encoder_f Vanetza_ITS2_IssuerIdentifier_encode_der; +xer_type_decoder_f Vanetza_ITS2_IssuerIdentifier_decode_xer; +xer_type_encoder_f Vanetza_ITS2_IssuerIdentifier_encode_xer; +jer_type_encoder_f Vanetza_ITS2_IssuerIdentifier_encode_jer; +oer_type_decoder_f Vanetza_ITS2_IssuerIdentifier_decode_oer; +oer_type_encoder_f Vanetza_ITS2_IssuerIdentifier_encode_oer; +per_type_decoder_f Vanetza_ITS2_IssuerIdentifier_decode_uper; +per_type_encoder_f Vanetza_ITS2_IssuerIdentifier_encode_uper; +per_type_decoder_f Vanetza_ITS2_IssuerIdentifier_decode_aper; +per_type_encoder_f Vanetza_ITS2_IssuerIdentifier_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_IssuerIdentifier_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ItineraryPath.c b/vanetza/asn1/its/r2/ItineraryPath.c new file mode 100644 index 000000000..1dafe082d --- /dev/null +++ b/vanetza/asn1/its/r2/ItineraryPath.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ItineraryPath.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ItineraryPath_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..40)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ItineraryPath_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 1, 40 } /* (SIZE(1..40)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ItineraryPath_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_ReferencePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ItineraryPath_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_ItineraryPath_specs_1 = { + sizeof(struct Vanetza_ITS2_ItineraryPath), + offsetof(struct Vanetza_ITS2_ItineraryPath, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ItineraryPath = { + "ItineraryPath", + "ItineraryPath", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_ItineraryPath_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ItineraryPath_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ItineraryPath_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ItineraryPath_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ItineraryPath_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ItineraryPath_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ItineraryPath_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ItineraryPath_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_ItineraryPath_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_ItineraryPath_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ItineraryPath.h b/vanetza/asn1/its/r2/ItineraryPath.h new file mode 100644 index 000000000..ba79987c3 --- /dev/null +++ b/vanetza/asn1/its/r2/ItineraryPath.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ItineraryPath_H_ +#define _Vanetza_ITS2_ItineraryPath_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 Vanetza_ITS2_ReferencePosition; + +/* Vanetza_ITS2_ItineraryPath */ +typedef struct Vanetza_ITS2_ItineraryPath { + A_SEQUENCE_OF(struct Vanetza_ITS2_ReferencePosition) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ItineraryPath_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ItineraryPath; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_ItineraryPath_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ItineraryPath_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ItineraryPath_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "ReferencePosition.h" + +#endif /* _Vanetza_ITS2_ItineraryPath_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ItsPduHeader.c b/vanetza/asn1/its/r2/ItsPduHeader.c new file mode 100644 index 000000000..acab4f179 --- /dev/null +++ b/vanetza/asn1/its/r2/ItsPduHeader.c @@ -0,0 +1,114 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ItsPduHeader.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ItsPduHeader_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ItsPduHeader, protocolVersion), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_OrdinalNumber1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "protocolVersion" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ItsPduHeader, messageId), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MessageId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "messageId" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ItsPduHeader, stationId), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StationId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stationId" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ItsPduHeader_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ItsPduHeader_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protocolVersion */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* messageId */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* stationId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ItsPduHeader_specs_1 = { + sizeof(struct Vanetza_ITS2_ItsPduHeader), + offsetof(struct Vanetza_ITS2_ItsPduHeader, _asn_ctx), + asn_MAP_Vanetza_ITS2_ItsPduHeader_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_Vanetza_ITS2_ItsPduHeader = { + "ItsPduHeader", + "ItsPduHeader", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ItsPduHeader_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ItsPduHeader_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ItsPduHeader_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ItsPduHeader_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ItsPduHeader_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ItsPduHeader_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ItsPduHeader_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ItsPduHeader_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ItsPduHeader.h b/vanetza/asn1/its/r2/ItsPduHeader.h new file mode 100644 index 000000000..69595172e --- /dev/null +++ b/vanetza/asn1/its/r2/ItsPduHeader.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ItsPduHeader_H_ +#define _Vanetza_ITS2_ItsPduHeader_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "OrdinalNumber1B.h" +#include "MessageId.h" +#include "StationId.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ItsPduHeader */ +typedef struct Vanetza_ITS2_ItsPduHeader { + Vanetza_ITS2_OrdinalNumber1B_t protocolVersion; + Vanetza_ITS2_MessageId_t messageId; + Vanetza_ITS2_StationId_t stationId; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ItsPduHeader_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ItsPduHeader; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ItsPduHeader_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ItsPduHeader_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ItsPduHeader_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/IviIdentificationNumber.c b/vanetza/asn1/its/r2/IviIdentificationNumber.c new file mode 100644 index 000000000..600415531 --- /dev/null +++ b/vanetza/asn1/its/r2/IviIdentificationNumber.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "IviIdentificationNumber.h" + +int +Vanetza_ITS2_IviIdentificationNumber_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if(((value >= 1L && value <= 32767L) || (value == 8388607L))) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_IviIdentificationNumber_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_Vanetza_ITS2_IviIdentificationNumber_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 23, -1, 1, 8388607 } /* (1..8388607,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_IviIdentificationNumber_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_IviIdentificationNumber = { + "IviIdentificationNumber", + "IviIdentificationNumber", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_IviIdentificationNumber_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_IviIdentificationNumber_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_IviIdentificationNumber_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_IviIdentificationNumber_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_IviIdentificationNumber_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_IviIdentificationNumber_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_IviIdentificationNumber_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_IviIdentificationNumber_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_IviIdentificationNumber_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/IviIdentificationNumber.h b/vanetza/asn1/its/r2/IviIdentificationNumber.h new file mode 100644 index 000000000..f89add08b --- /dev/null +++ b/vanetza/asn1/its/r2/IviIdentificationNumber.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_IviIdentificationNumber_H_ +#define _Vanetza_ITS2_IviIdentificationNumber_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_IviIdentificationNumber */ +typedef long Vanetza_ITS2_IviIdentificationNumber_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_IviIdentificationNumber_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_IviIdentificationNumber; +asn_struct_free_f Vanetza_ITS2_IviIdentificationNumber_free; +asn_struct_print_f Vanetza_ITS2_IviIdentificationNumber_print; +asn_constr_check_f Vanetza_ITS2_IviIdentificationNumber_constraint; +ber_type_decoder_f Vanetza_ITS2_IviIdentificationNumber_decode_ber; +der_type_encoder_f Vanetza_ITS2_IviIdentificationNumber_encode_der; +xer_type_decoder_f Vanetza_ITS2_IviIdentificationNumber_decode_xer; +xer_type_encoder_f Vanetza_ITS2_IviIdentificationNumber_encode_xer; +jer_type_encoder_f Vanetza_ITS2_IviIdentificationNumber_encode_jer; +oer_type_decoder_f Vanetza_ITS2_IviIdentificationNumber_decode_oer; +oer_type_encoder_f Vanetza_ITS2_IviIdentificationNumber_encode_oer; +per_type_decoder_f Vanetza_ITS2_IviIdentificationNumber_decode_uper; +per_type_encoder_f Vanetza_ITS2_IviIdentificationNumber_encode_uper; +per_type_decoder_f Vanetza_ITS2_IviIdentificationNumber_decode_aper; +per_type_encoder_f Vanetza_ITS2_IviIdentificationNumber_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_IviIdentificationNumber_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/IvimReference.c b/vanetza/asn1/its/r2/IvimReference.c new file mode 100644 index 000000000..5c08c4b80 --- /dev/null +++ b/vanetza/asn1/its/r2/IvimReference.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "IvimReference.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_IvimReference_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_IvimReference, serviceProviderId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Provider, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "serviceProviderId" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_IvimReference, iviIdentificationNumber), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_IviIdentificationNumber, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "iviIdentificationNumber" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_IvimReference_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_IvimReference_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* serviceProviderId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iviIdentificationNumber */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_IvimReference_specs_1 = { + sizeof(struct Vanetza_ITS2_IvimReference), + offsetof(struct Vanetza_ITS2_IvimReference, _asn_ctx), + asn_MAP_Vanetza_ITS2_IvimReference_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_Vanetza_ITS2_IvimReference = { + "IvimReference", + "IvimReference", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_IvimReference_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_IvimReference_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_IvimReference_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_IvimReference_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_IvimReference_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_IvimReference_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_IvimReference_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_IvimReference_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/IvimReference.h b/vanetza/asn1/its/r2/IvimReference.h new file mode 100644 index 000000000..0e5aa9bc2 --- /dev/null +++ b/vanetza/asn1/its/r2/IvimReference.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_IvimReference_H_ +#define _Vanetza_ITS2_IvimReference_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Provider.h" +#include "IviIdentificationNumber.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_IvimReference */ +typedef struct Vanetza_ITS2_IvimReference { + Vanetza_ITS2_Provider_t serviceProviderId; + Vanetza_ITS2_IviIdentificationNumber_t iviIdentificationNumber; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_IvimReference_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_IvimReference; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_IvimReference_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_IvimReference_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_IvimReference_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/IvimReferences.c b/vanetza/asn1/its/r2/IvimReferences.c new file mode 100644 index 000000000..e83f1963e --- /dev/null +++ b/vanetza/asn1/its/r2/IvimReferences.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "IvimReferences.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_IvimReferences_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_IvimReferences_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_IvimReferences_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_IvimReference, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_IvimReferences_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_IvimReferences_specs_1 = { + sizeof(struct Vanetza_ITS2_IvimReferences), + offsetof(struct Vanetza_ITS2_IvimReferences, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_IvimReferences = { + "IvimReferences", + "IvimReferences", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_IvimReferences_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_IvimReferences_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_IvimReferences_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_IvimReferences_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_IvimReferences_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_IvimReferences_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_IvimReferences_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_IvimReferences_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_IvimReferences_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_IvimReferences_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/IvimReferences.h b/vanetza/asn1/its/r2/IvimReferences.h new file mode 100644 index 000000000..553c59136 --- /dev/null +++ b/vanetza/asn1/its/r2/IvimReferences.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_IvimReferences_H_ +#define _Vanetza_ITS2_IvimReferences_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 Vanetza_ITS2_IvimReference; + +/* Vanetza_ITS2_IvimReferences */ +typedef struct Vanetza_ITS2_IvimReferences { + A_SEQUENCE_OF(struct Vanetza_ITS2_IvimReference) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_IvimReferences_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_IvimReferences; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_IvimReferences_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_IvimReferences_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_IvimReferences_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IvimReference.h" + +#endif /* _Vanetza_ITS2_IvimReferences_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LanePosition.c b/vanetza/asn1/its/r2/LanePosition.c new file mode 100644 index 000000000..3baf46fc7 --- /dev/null +++ b/vanetza/asn1/its/r2/LanePosition.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LanePosition.h" + +int +Vanetza_ITS2_LanePosition_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -1L && value <= 14L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LanePosition_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-1..14) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LanePosition_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, -1, 14 } /* (-1..14) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LanePosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LanePosition = { + "LanePosition", + "LanePosition", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_LanePosition_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LanePosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LanePosition_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LanePosition_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LanePosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LanePosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_LanePosition_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LanePosition_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_LanePosition_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/LanePosition.h b/vanetza/asn1/its/r2/LanePosition.h new file mode 100644 index 000000000..81097f452 --- /dev/null +++ b/vanetza/asn1/its/r2/LanePosition.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LanePosition_H_ +#define _Vanetza_ITS2_LanePosition_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_LanePosition { + Vanetza_ITS2_LanePosition_offTheRoad = -1, + Vanetza_ITS2_LanePosition_innerHardShoulder = 0, + Vanetza_ITS2_LanePosition_outerHardShoulder = 14 +} e_Vanetza_ITS2_LanePosition; + +/* Vanetza_ITS2_LanePosition */ +typedef long Vanetza_ITS2_LanePosition_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LanePosition_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LanePosition; +asn_struct_free_f Vanetza_ITS2_LanePosition_free; +asn_struct_print_f Vanetza_ITS2_LanePosition_print; +asn_constr_check_f Vanetza_ITS2_LanePosition_constraint; +ber_type_decoder_f Vanetza_ITS2_LanePosition_decode_ber; +der_type_encoder_f Vanetza_ITS2_LanePosition_encode_der; +xer_type_decoder_f Vanetza_ITS2_LanePosition_decode_xer; +xer_type_encoder_f Vanetza_ITS2_LanePosition_encode_xer; +jer_type_encoder_f Vanetza_ITS2_LanePosition_encode_jer; +oer_type_decoder_f Vanetza_ITS2_LanePosition_decode_oer; +oer_type_encoder_f Vanetza_ITS2_LanePosition_encode_oer; +per_type_decoder_f Vanetza_ITS2_LanePosition_decode_uper; +per_type_encoder_f Vanetza_ITS2_LanePosition_encode_uper; +per_type_decoder_f Vanetza_ITS2_LanePosition_decode_aper; +per_type_encoder_f Vanetza_ITS2_LanePosition_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LanePosition_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LanePositionAndType.c b/vanetza/asn1/its/r2/LanePositionAndType.c new file mode 100644 index 000000000..7697b6093 --- /dev/null +++ b/vanetza/asn1/its/r2/LanePositionAndType.c @@ -0,0 +1,162 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LanePositionAndType.h" + +static int asn_DFL_3_cmp_0(const void *sptr) { + const Vanetza_ITS2_LaneType_t *st = sptr; + + if(!st) { + return -1; /* No value is not a default value */ + } + + /* Test default value 0 */ + return (*st != 0); +} +static int asn_DFL_3_set_0(void **sptr) { + Vanetza_ITS2_LaneType_t *st = *sptr; + + if(!st) { + st = (*sptr = CALLOC(1, sizeof(*st))); + if(!st) return -1; + } + + /* Install default value 0 */ + *st = 0; + return 0; +} +static int asn_DFL_4_cmp_0(const void *sptr) { + const Vanetza_ITS2_Direction_t *st = sptr; + + if(!st) { + return -1; /* No value is not a default value */ + } + + /* Test default value 0 */ + return (*st != 0); +} +static int asn_DFL_4_set_0(void **sptr) { + Vanetza_ITS2_Direction_t *st = *sptr; + + if(!st) { + st = (*sptr = CALLOC(1, sizeof(*st))); + if(!st) return -1; + } + + /* Install default value 0 */ + *st = 0; + return 0; +} +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LanePositionAndType_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LanePositionAndType, transversalPosition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transversalPosition" + }, + { ATF_NOFLAGS, 2, offsetof(struct Vanetza_ITS2_LanePositionAndType, laneType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LaneType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + &asn_DFL_3_cmp_0, /* Compare DEFAULT 0 */ + &asn_DFL_3_set_0, /* Set DEFAULT 0 */ + "laneType" + }, + { ATF_NOFLAGS, 1, offsetof(struct Vanetza_ITS2_LanePositionAndType, direction), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Direction, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + &asn_DFL_4_cmp_0, /* Compare DEFAULT 0 */ + &asn_DFL_4_set_0, /* Set DEFAULT 0 */ + "direction" + }, +}; +static const int asn_MAP_Vanetza_ITS2_LanePositionAndType_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LanePositionAndType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_LanePositionAndType_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* transversalPosition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* laneType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* direction */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LanePositionAndType_specs_1 = { + sizeof(struct Vanetza_ITS2_LanePositionAndType), + offsetof(struct Vanetza_ITS2_LanePositionAndType, _asn_ctx), + asn_MAP_Vanetza_ITS2_LanePositionAndType_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_LanePositionAndType_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LanePositionAndType = { + "LanePositionAndType", + "LanePositionAndType", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_LanePositionAndType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LanePositionAndType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LanePositionAndType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LanePositionAndType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LanePositionAndType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LanePositionAndType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_LanePositionAndType_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_LanePositionAndType_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LanePositionAndType.h b/vanetza/asn1/its/r2/LanePositionAndType.h new file mode 100644 index 000000000..0781b3602 --- /dev/null +++ b/vanetza/asn1/its/r2/LanePositionAndType.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LanePositionAndType_H_ +#define _Vanetza_ITS2_LanePositionAndType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LanePosition.h" +#include "LaneType.h" +#include "Direction.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_LanePositionAndType */ +typedef struct Vanetza_ITS2_LanePositionAndType { + Vanetza_ITS2_LanePosition_t transversalPosition; + Vanetza_ITS2_LaneType_t laneType; /* DEFAULT 0 */ + Vanetza_ITS2_Direction_t direction; /* DEFAULT 0 */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_LanePositionAndType_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LanePositionAndType; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LanePositionAndType_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LanePositionAndType_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LanePositionAndType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LanePositionOptions.c b/vanetza/asn1/its/r2/LanePositionOptions.c new file mode 100644 index 000000000..0fea752f4 --- /dev/null +++ b/vanetza/asn1/its/r2/LanePositionOptions.c @@ -0,0 +1,165 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LanePositionOptions.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LanePositionOptions_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_Vanetza_ITS2_LanePositionOptions_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LanePositionOptions_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LanePositionOptions, choice.simplelanePosition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "simplelanePosition" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LanePositionOptions, choice.simpleLaneType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LaneType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "simpleLaneType" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LanePositionOptions, choice.detailedlanePosition), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePositionAndType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "detailedlanePosition" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LanePositionOptions, choice.lanePositionWithLateralDetails), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePositionWithLateralDetails, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lanePositionWithLateralDetails" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LanePositionOptions, choice.trafficIslandPosition), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TrafficIslandPosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trafficIslandPosition" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_LanePositionOptions_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* simplelanePosition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* simpleLaneType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* detailedlanePosition */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* lanePositionWithLateralDetails */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* trafficIslandPosition */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_LanePositionOptions_specs_1 = { + sizeof(struct Vanetza_ITS2_LanePositionOptions), + offsetof(struct Vanetza_ITS2_LanePositionOptions, _asn_ctx), + offsetof(struct Vanetza_ITS2_LanePositionOptions, present), + sizeof(((struct Vanetza_ITS2_LanePositionOptions *)0)->present), + asn_MAP_Vanetza_ITS2_LanePositionOptions_tag2el_1, + 5, /* Count of tags in the map */ + 0, 0, + 5 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LanePositionOptions = { + "LanePositionOptions", + "LanePositionOptions", + &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_Vanetza_ITS2_LanePositionOptions_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LanePositionOptions_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_LanePositionOptions_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_LanePositionOptions_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LanePositionOptions.h b/vanetza/asn1/its/r2/LanePositionOptions.h new file mode 100644 index 000000000..6e20ed419 --- /dev/null +++ b/vanetza/asn1/its/r2/LanePositionOptions.h @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LanePositionOptions_H_ +#define _Vanetza_ITS2_LanePositionOptions_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LanePosition.h" +#include "LaneType.h" +#include "LanePositionAndType.h" +#include "LanePositionWithLateralDetails.h" +#include "TrafficIslandPosition.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_LanePositionOptions_PR { + Vanetza_ITS2_LanePositionOptions_PR_NOTHING, /* No components present */ + Vanetza_ITS2_LanePositionOptions_PR_simplelanePosition, + Vanetza_ITS2_LanePositionOptions_PR_simpleLaneType, + Vanetza_ITS2_LanePositionOptions_PR_detailedlanePosition, + Vanetza_ITS2_LanePositionOptions_PR_lanePositionWithLateralDetails, + Vanetza_ITS2_LanePositionOptions_PR_trafficIslandPosition + /* Extensions may appear below */ + +} Vanetza_ITS2_LanePositionOptions_PR; + +/* Vanetza_ITS2_LanePositionOptions */ +typedef struct Vanetza_ITS2_LanePositionOptions { + Vanetza_ITS2_LanePositionOptions_PR present; + union Vanetza_ITS2_LanePositionOptions_u { + Vanetza_ITS2_LanePosition_t simplelanePosition; + Vanetza_ITS2_LaneType_t simpleLaneType; + Vanetza_ITS2_LanePositionAndType_t detailedlanePosition; + Vanetza_ITS2_LanePositionWithLateralDetails_t lanePositionWithLateralDetails; + Vanetza_ITS2_TrafficIslandPosition_t trafficIslandPosition; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_LanePositionOptions_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LanePositionOptions; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_LanePositionOptions_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LanePositionOptions_1[5]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LanePositionOptions_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LanePositionOptions_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LanePositionWithLateralDetails.c b/vanetza/asn1/its/r2/LanePositionWithLateralDetails.c new file mode 100644 index 000000000..281574178 --- /dev/null +++ b/vanetza/asn1/its/r2/LanePositionWithLateralDetails.c @@ -0,0 +1,204 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LanePositionWithLateralDetails.h" + +static int asn_DFL_3_cmp_0(const void *sptr) { + const Vanetza_ITS2_LaneType_t *st = sptr; + + if(!st) { + return -1; /* No value is not a default value */ + } + + /* Test default value 0 */ + return (*st != 0); +} +static int asn_DFL_3_set_0(void **sptr) { + Vanetza_ITS2_LaneType_t *st = *sptr; + + if(!st) { + st = (*sptr = CALLOC(1, sizeof(*st))); + if(!st) return -1; + } + + /* Install default value 0 */ + *st = 0; + return 0; +} +static int asn_DFL_4_cmp_0(const void *sptr) { + const Vanetza_ITS2_Direction_t *st = sptr; + + if(!st) { + return -1; /* No value is not a default value */ + } + + /* Test default value 0 */ + return (*st != 0); +} +static int asn_DFL_4_set_0(void **sptr) { + Vanetza_ITS2_Direction_t *st = *sptr; + + if(!st) { + st = (*sptr = CALLOC(1, sizeof(*st))); + if(!st) return -1; + } + + /* Install default value 0 */ + *st = 0; + return 0; +} +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LanePositionWithLateralDetails_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LanePositionWithLateralDetails, transversalPosition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transversalPosition" + }, + { ATF_NOFLAGS, 2, offsetof(struct Vanetza_ITS2_LanePositionWithLateralDetails, laneType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LaneType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + &asn_DFL_3_cmp_0, /* Compare DEFAULT 0 */ + &asn_DFL_3_set_0, /* Set DEFAULT 0 */ + "laneType" + }, + { ATF_NOFLAGS, 1, offsetof(struct Vanetza_ITS2_LanePositionWithLateralDetails, direction), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Direction, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + &asn_DFL_4_cmp_0, /* Compare DEFAULT 0 */ + &asn_DFL_4_set_0, /* Set DEFAULT 0 */ + "direction" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LanePositionWithLateralDetails, distanceToLeftBorder), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength9b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "distanceToLeftBorder" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LanePositionWithLateralDetails, distanceToRightBorder), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength9b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "distanceToRightBorder" + }, +}; +static const int asn_MAP_Vanetza_ITS2_LanePositionWithLateralDetails_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LanePositionWithLateralDetails_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_LanePositionWithLateralDetails_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* transversalPosition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* laneType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* direction */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* distanceToLeftBorder */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* distanceToRightBorder */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LanePositionWithLateralDetails_specs_1 = { + sizeof(struct Vanetza_ITS2_LanePositionWithLateralDetails), + offsetof(struct Vanetza_ITS2_LanePositionWithLateralDetails, _asn_ctx), + asn_MAP_Vanetza_ITS2_LanePositionWithLateralDetails_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_LanePositionWithLateralDetails_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LanePositionWithLateralDetails = { + "LanePositionWithLateralDetails", + "LanePositionWithLateralDetails", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_LanePositionWithLateralDetails_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LanePositionWithLateralDetails_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LanePositionWithLateralDetails_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LanePositionWithLateralDetails_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LanePositionWithLateralDetails_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LanePositionWithLateralDetails_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_LanePositionWithLateralDetails_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_LanePositionWithLateralDetails_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LanePositionWithLateralDetails.h b/vanetza/asn1/its/r2/LanePositionWithLateralDetails.h new file mode 100644 index 000000000..0404f95a4 --- /dev/null +++ b/vanetza/asn1/its/r2/LanePositionWithLateralDetails.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LanePositionWithLateralDetails_H_ +#define _Vanetza_ITS2_LanePositionWithLateralDetails_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LanePosition.h" +#include "LaneType.h" +#include "Direction.h" +#include "StandardLength9b.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_LanePositionWithLateralDetails */ +typedef struct Vanetza_ITS2_LanePositionWithLateralDetails { + Vanetza_ITS2_LanePosition_t transversalPosition; + Vanetza_ITS2_LaneType_t laneType; /* DEFAULT 0 */ + Vanetza_ITS2_Direction_t direction; /* DEFAULT 0 */ + Vanetza_ITS2_StandardLength9b_t distanceToLeftBorder; + Vanetza_ITS2_StandardLength9b_t distanceToRightBorder; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_LanePositionWithLateralDetails_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LanePositionWithLateralDetails; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LanePositionWithLateralDetails_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LanePositionWithLateralDetails_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LanePositionWithLateralDetails_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LaneType.c b/vanetza/asn1/its/r2/LaneType.c new file mode 100644 index 000000000..9f0e7501d --- /dev/null +++ b/vanetza/asn1/its/r2/LaneType.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LaneType.h" + +int +Vanetza_ITS2_LaneType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 31L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LaneType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..31) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LaneType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LaneType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LaneType = { + "LaneType", + "LaneType", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_LaneType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LaneType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LaneType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LaneType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LaneType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LaneType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_LaneType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LaneType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_LaneType_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/LaneType.h b/vanetza/asn1/its/r2/LaneType.h new file mode 100644 index 000000000..0f6a2c3aa --- /dev/null +++ b/vanetza/asn1/its/r2/LaneType.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LaneType_H_ +#define _Vanetza_ITS2_LaneType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_LaneType { + Vanetza_ITS2_LaneType_traffic = 0, + Vanetza_ITS2_LaneType_through = 1, + Vanetza_ITS2_LaneType_reversible = 2, + Vanetza_ITS2_LaneType_acceleration = 3, + Vanetza_ITS2_LaneType_deceleration = 4, + Vanetza_ITS2_LaneType_leftHandTurning = 5, + Vanetza_ITS2_LaneType_rightHandTurning = 6, + Vanetza_ITS2_LaneType_dedicatedVehicle = 7, + Vanetza_ITS2_LaneType_bus = 8, + Vanetza_ITS2_LaneType_taxi = 9, + Vanetza_ITS2_LaneType_hov = 10, + Vanetza_ITS2_LaneType_hot = 11, + Vanetza_ITS2_LaneType_pedestrian = 12, + Vanetza_ITS2_LaneType_cycleLane = 13, + Vanetza_ITS2_LaneType_median = 14, + Vanetza_ITS2_LaneType_striping = 15, + Vanetza_ITS2_LaneType_trackedVehicle = 16, + Vanetza_ITS2_LaneType_parking = 17, + Vanetza_ITS2_LaneType_emergency = 18, + Vanetza_ITS2_LaneType_verge = 19, + Vanetza_ITS2_LaneType_minimumRiskManoeuvre = 20, + Vanetza_ITS2_LaneType_exclusiveCycleLane = 21, + Vanetza_ITS2_LaneType_unknown = 31 +} e_Vanetza_ITS2_LaneType; + +/* Vanetza_ITS2_LaneType */ +typedef long Vanetza_ITS2_LaneType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LaneType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LaneType; +asn_struct_free_f Vanetza_ITS2_LaneType_free; +asn_struct_print_f Vanetza_ITS2_LaneType_print; +asn_constr_check_f Vanetza_ITS2_LaneType_constraint; +ber_type_decoder_f Vanetza_ITS2_LaneType_decode_ber; +der_type_encoder_f Vanetza_ITS2_LaneType_encode_der; +xer_type_decoder_f Vanetza_ITS2_LaneType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_LaneType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_LaneType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_LaneType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_LaneType_encode_oer; +per_type_decoder_f Vanetza_ITS2_LaneType_decode_uper; +per_type_encoder_f Vanetza_ITS2_LaneType_encode_uper; +per_type_decoder_f Vanetza_ITS2_LaneType_decode_aper; +per_type_encoder_f Vanetza_ITS2_LaneType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LaneType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LaneWidth.c b/vanetza/asn1/its/r2/LaneWidth.c new file mode 100644 index 000000000..c9f65b991 --- /dev/null +++ b/vanetza/asn1/its/r2/LaneWidth.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LaneWidth.h" + +int +Vanetza_ITS2_LaneWidth_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1023L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LaneWidth_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..1023) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LaneWidth_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LaneWidth_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LaneWidth = { + "LaneWidth", + "LaneWidth", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_LaneWidth_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LaneWidth_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LaneWidth_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LaneWidth_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LaneWidth_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LaneWidth_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_LaneWidth_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LaneWidth_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_LaneWidth_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/LaneWidth.h b/vanetza/asn1/its/r2/LaneWidth.h new file mode 100644 index 000000000..68752070f --- /dev/null +++ b/vanetza/asn1/its/r2/LaneWidth.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LaneWidth_H_ +#define _Vanetza_ITS2_LaneWidth_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_LaneWidth */ +typedef long Vanetza_ITS2_LaneWidth_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LaneWidth_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LaneWidth; +asn_struct_free_f Vanetza_ITS2_LaneWidth_free; +asn_struct_print_f Vanetza_ITS2_LaneWidth_print; +asn_constr_check_f Vanetza_ITS2_LaneWidth_constraint; +ber_type_decoder_f Vanetza_ITS2_LaneWidth_decode_ber; +der_type_encoder_f Vanetza_ITS2_LaneWidth_encode_der; +xer_type_decoder_f Vanetza_ITS2_LaneWidth_decode_xer; +xer_type_encoder_f Vanetza_ITS2_LaneWidth_encode_xer; +jer_type_encoder_f Vanetza_ITS2_LaneWidth_encode_jer; +oer_type_decoder_f Vanetza_ITS2_LaneWidth_decode_oer; +oer_type_encoder_f Vanetza_ITS2_LaneWidth_encode_oer; +per_type_decoder_f Vanetza_ITS2_LaneWidth_decode_uper; +per_type_encoder_f Vanetza_ITS2_LaneWidth_encode_uper; +per_type_decoder_f Vanetza_ITS2_LaneWidth_decode_aper; +per_type_encoder_f Vanetza_ITS2_LaneWidth_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LaneWidth_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LateralAcceleration.c b/vanetza/asn1/its/r2/LateralAcceleration.c new file mode 100644 index 000000000..a237f7083 --- /dev/null +++ b/vanetza/asn1/its/r2/LateralAcceleration.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LateralAcceleration.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LateralAcceleration_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LateralAcceleration, lateralAccelerationValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LateralAccelerationValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lateralAccelerationValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LateralAcceleration, lateralAccelerationConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lateralAccelerationConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LateralAcceleration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_LateralAcceleration_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lateralAccelerationValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lateralAccelerationConfidence */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LateralAcceleration_specs_1 = { + sizeof(struct Vanetza_ITS2_LateralAcceleration), + offsetof(struct Vanetza_ITS2_LateralAcceleration, _asn_ctx), + asn_MAP_Vanetza_ITS2_LateralAcceleration_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_Vanetza_ITS2_LateralAcceleration = { + "LateralAcceleration", + "LateralAcceleration", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_LateralAcceleration_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LateralAcceleration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LateralAcceleration_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LateralAcceleration_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LateralAcceleration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LateralAcceleration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_LateralAcceleration_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_LateralAcceleration_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LateralAcceleration.h b/vanetza/asn1/its/r2/LateralAcceleration.h new file mode 100644 index 000000000..88827d771 --- /dev/null +++ b/vanetza/asn1/its/r2/LateralAcceleration.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LateralAcceleration_H_ +#define _Vanetza_ITS2_LateralAcceleration_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LateralAccelerationValue.h" +#include "AccelerationConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_LateralAcceleration */ +typedef struct Vanetza_ITS2_LateralAcceleration { + Vanetza_ITS2_LateralAccelerationValue_t lateralAccelerationValue; + Vanetza_ITS2_AccelerationConfidence_t lateralAccelerationConfidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_LateralAcceleration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LateralAcceleration; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LateralAcceleration_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LateralAccelerationValue.c b/vanetza/asn1/its/r2/LateralAccelerationValue.c new file mode 100644 index 000000000..4fa9d684e --- /dev/null +++ b/vanetza/asn1/its/r2/LateralAccelerationValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LateralAccelerationValue.h" + +int +Vanetza_ITS2_LateralAccelerationValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -160L && value <= 161L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LateralAccelerationValue_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-160..161) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LateralAccelerationValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, -160, 161 } /* (-160..161) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LateralAccelerationValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LateralAccelerationValue = { + "LateralAccelerationValue", + "LateralAccelerationValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_LateralAccelerationValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LateralAccelerationValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LateralAccelerationValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LateralAccelerationValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LateralAccelerationValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LateralAccelerationValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_LateralAccelerationValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LateralAccelerationValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_LateralAccelerationValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/LateralAccelerationValue.h b/vanetza/asn1/its/r2/LateralAccelerationValue.h new file mode 100644 index 000000000..cc5d06373 --- /dev/null +++ b/vanetza/asn1/its/r2/LateralAccelerationValue.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LateralAccelerationValue_H_ +#define _Vanetza_ITS2_LateralAccelerationValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_LateralAccelerationValue { + Vanetza_ITS2_LateralAccelerationValue_negativeOutOfRange = -160, + Vanetza_ITS2_LateralAccelerationValue_positiveOutOfRange = 160, + Vanetza_ITS2_LateralAccelerationValue_unavailable = 161 +} e_Vanetza_ITS2_LateralAccelerationValue; + +/* Vanetza_ITS2_LateralAccelerationValue */ +typedef long Vanetza_ITS2_LateralAccelerationValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LateralAccelerationValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LateralAccelerationValue; +asn_struct_free_f Vanetza_ITS2_LateralAccelerationValue_free; +asn_struct_print_f Vanetza_ITS2_LateralAccelerationValue_print; +asn_constr_check_f Vanetza_ITS2_LateralAccelerationValue_constraint; +ber_type_decoder_f Vanetza_ITS2_LateralAccelerationValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_LateralAccelerationValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_LateralAccelerationValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_LateralAccelerationValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_LateralAccelerationValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_LateralAccelerationValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_LateralAccelerationValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_LateralAccelerationValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_LateralAccelerationValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_LateralAccelerationValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_LateralAccelerationValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LateralAccelerationValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Latitude.c b/vanetza/asn1/its/r2/Latitude.c new file mode 100644 index 000000000..665109351 --- /dev/null +++ b/vanetza/asn1/its/r2/Latitude.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Latitude.h" + +int +Vanetza_ITS2_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_Vanetza_ITS2_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_Vanetza_ITS2_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_Vanetza_ITS2_Latitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Latitude = { + "Latitude", + "Latitude", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_Latitude_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Latitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Latitude_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Latitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Latitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Latitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Latitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Latitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_Latitude_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/Latitude.h b/vanetza/asn1/its/r2/Latitude.h new file mode 100644 index 000000000..744549d44 --- /dev/null +++ b/vanetza/asn1/its/r2/Latitude.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Latitude_H_ +#define _Vanetza_ITS2_Latitude_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Latitude { + Vanetza_ITS2_Latitude_unavailable = 900000001 +} e_Vanetza_ITS2_Latitude; + +/* Vanetza_ITS2_Latitude */ +typedef long Vanetza_ITS2_Latitude_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Latitude_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Latitude; +asn_struct_free_f Vanetza_ITS2_Latitude_free; +asn_struct_print_f Vanetza_ITS2_Latitude_print; +asn_constr_check_f Vanetza_ITS2_Latitude_constraint; +ber_type_decoder_f Vanetza_ITS2_Latitude_decode_ber; +der_type_encoder_f Vanetza_ITS2_Latitude_encode_der; +xer_type_decoder_f Vanetza_ITS2_Latitude_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Latitude_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Latitude_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Latitude_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Latitude_encode_oer; +per_type_decoder_f Vanetza_ITS2_Latitude_decode_uper; +per_type_encoder_f Vanetza_ITS2_Latitude_encode_uper; +per_type_decoder_f Vanetza_ITS2_Latitude_decode_aper; +per_type_encoder_f Vanetza_ITS2_Latitude_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Latitude_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LightBarSirenInUse.c b/vanetza/asn1/its/r2/LightBarSirenInUse.c new file mode 100644 index 000000000..e11bd14c5 --- /dev/null +++ b/vanetza/asn1/its/r2/LightBarSirenInUse.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LightBarSirenInUse.h" + +int +Vanetza_ITS2_LightBarSirenInUse_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 2UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LightBarSirenInUse_constr_1 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LightBarSirenInUse_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_LightBarSirenInUse_constr_1 CC_NOTUSED = { + 2}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LightBarSirenInUse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LightBarSirenInUse = { + "LightBarSirenInUse", + "LightBarSirenInUse", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_LightBarSirenInUse_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LightBarSirenInUse_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LightBarSirenInUse_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LightBarSirenInUse_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LightBarSirenInUse_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LightBarSirenInUse_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_LightBarSirenInUse_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LightBarSirenInUse_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_LightBarSirenInUse_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_LightBarSirenInUse_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LightBarSirenInUse.h b/vanetza/asn1/its/r2/LightBarSirenInUse.h new file mode 100644 index 000000000..3dd7cbf64 --- /dev/null +++ b/vanetza/asn1/its/r2/LightBarSirenInUse.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LightBarSirenInUse_H_ +#define _Vanetza_ITS2_LightBarSirenInUse_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_LightBarSirenInUse { + Vanetza_ITS2_LightBarSirenInUse_lightBarActivated = 0, + Vanetza_ITS2_LightBarSirenInUse_sirenActivated = 1 +} e_Vanetza_ITS2_LightBarSirenInUse; + +/* Vanetza_ITS2_LightBarSirenInUse */ +typedef BIT_STRING_t Vanetza_ITS2_LightBarSirenInUse_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LightBarSirenInUse_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LightBarSirenInUse; +asn_struct_free_f Vanetza_ITS2_LightBarSirenInUse_free; +asn_struct_print_f Vanetza_ITS2_LightBarSirenInUse_print; +asn_constr_check_f Vanetza_ITS2_LightBarSirenInUse_constraint; +ber_type_decoder_f Vanetza_ITS2_LightBarSirenInUse_decode_ber; +der_type_encoder_f Vanetza_ITS2_LightBarSirenInUse_encode_der; +xer_type_decoder_f Vanetza_ITS2_LightBarSirenInUse_decode_xer; +xer_type_encoder_f Vanetza_ITS2_LightBarSirenInUse_encode_xer; +jer_type_encoder_f Vanetza_ITS2_LightBarSirenInUse_encode_jer; +oer_type_decoder_f Vanetza_ITS2_LightBarSirenInUse_decode_oer; +oer_type_encoder_f Vanetza_ITS2_LightBarSirenInUse_encode_oer; +per_type_decoder_f Vanetza_ITS2_LightBarSirenInUse_decode_uper; +per_type_encoder_f Vanetza_ITS2_LightBarSirenInUse_encode_uper; +per_type_decoder_f Vanetza_ITS2_LightBarSirenInUse_decode_aper; +per_type_encoder_f Vanetza_ITS2_LightBarSirenInUse_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LightBarSirenInUse_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LocationContainer.c b/vanetza/asn1/its/r2/LocationContainer.c new file mode 100644 index 000000000..b84ea20aa --- /dev/null +++ b/vanetza/asn1/its/r2/LocationContainer.c @@ -0,0 +1,330 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LocationContainer.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ext1_7[] = { + { ATF_POINTER, 6, offsetof(struct Vanetza_ITS2_LocationContainer__ext1, lanePositions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_GeneralizedLanePositions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lanePositions" + }, + { ATF_POINTER, 5, offsetof(struct Vanetza_ITS2_LocationContainer__ext1, occupiedLanes), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_OccupiedLanesWithConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "occupiedLanes" + }, + { ATF_POINTER, 4, offsetof(struct Vanetza_ITS2_LocationContainer__ext1, linkedIvims), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_IvimReferences, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "linkedIvims" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_LocationContainer__ext1, linkedMapems), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MapReferences, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "linkedMapems" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_LocationContainer__ext1, detectionZonesToSpecifiedEventPoint), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TracesExtended, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "detectionZonesToSpecifiedEventPoint" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_LocationContainer__ext1, predictedPaths), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PathPredictedList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "predictedPaths" + }, +}; +static const int asn_MAP_Vanetza_ITS2_ext1_oms_7[] = { 0, 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ext1_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ext1_tag2el_7[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lanePositions */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* occupiedLanes */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* linkedIvims */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* linkedMapems */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* detectionZonesToSpecifiedEventPoint */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* predictedPaths */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ext1_specs_7 = { + sizeof(struct Vanetza_ITS2_LocationContainer__ext1), + offsetof(struct Vanetza_ITS2_LocationContainer__ext1, _asn_ctx), + asn_MAP_Vanetza_ITS2_ext1_tag2el_7, + 6, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_ext1_oms_7, /* Optional members */ + 6, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ext1_7 = { + "ext1", + "ext1", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ext1_tags_7, + sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_7) + /sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_7[0]) - 1, /* 1 */ + asn_DEF_Vanetza_ITS2_ext1_tags_7, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_7) + /sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_7[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ext1_7, + 6, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ext1_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LocationContainer_1[] = { + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_LocationContainer, eventSpeed), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventSpeed" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_LocationContainer, eventPositionHeading), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Wgs84Angle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventPositionHeading" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LocationContainer, detectionZonesToEventPosition), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Traces, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "detectionZonesToEventPosition" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_LocationContainer, roadType), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RoadType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadType" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_LocationContainer, ext1), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_ext1_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ext1" + }, +}; +static const int asn_MAP_Vanetza_ITS2_LocationContainer_oms_1[] = { 0, 1, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LocationContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_LocationContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eventPositionHeading */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* detectionZonesToEventPosition */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* roadType */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ext1 */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LocationContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_LocationContainer), + offsetof(struct Vanetza_ITS2_LocationContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_LocationContainer_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_LocationContainer_oms_1, /* Optional members */ + 3, 1, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LocationContainer = { + "LocationContainer", + "LocationContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_LocationContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LocationContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LocationContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LocationContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LocationContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LocationContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_LocationContainer_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_LocationContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LocationContainer.h b/vanetza/asn1/its/r2/LocationContainer.h new file mode 100644 index 000000000..cd4e0fd03 --- /dev/null +++ b/vanetza/asn1/its/r2/LocationContainer.h @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LocationContainer_H_ +#define _Vanetza_ITS2_LocationContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Traces.h" +#include "RoadType.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_Speed; +struct Vanetza_ITS2_Wgs84Angle; +struct Vanetza_ITS2_GeneralizedLanePositions; +struct Vanetza_ITS2_OccupiedLanesWithConfidence; +struct Vanetza_ITS2_IvimReferences; +struct Vanetza_ITS2_MapReferences; +struct Vanetza_ITS2_TracesExtended; +struct Vanetza_ITS2_PathPredictedList; + +/* Vanetza_ITS2_LocationContainer */ +typedef struct Vanetza_ITS2_LocationContainer { + struct Vanetza_ITS2_Speed *eventSpeed; /* OPTIONAL */ + struct Vanetza_ITS2_Wgs84Angle *eventPositionHeading; /* OPTIONAL */ + Vanetza_ITS2_Traces_t detectionZonesToEventPosition; + Vanetza_ITS2_RoadType_t *roadType; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + struct Vanetza_ITS2_LocationContainer__ext1 { + struct Vanetza_ITS2_GeneralizedLanePositions *lanePositions; /* OPTIONAL */ + struct Vanetza_ITS2_OccupiedLanesWithConfidence *occupiedLanes; /* OPTIONAL */ + struct Vanetza_ITS2_IvimReferences *linkedIvims; /* OPTIONAL */ + struct Vanetza_ITS2_MapReferences *linkedMapems; /* OPTIONAL */ + struct Vanetza_ITS2_TracesExtended *detectionZonesToSpecifiedEventPoint; /* OPTIONAL */ + struct Vanetza_ITS2_PathPredictedList *predictedPaths; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *ext1; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_LocationContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LocationContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LocationContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LocationContainer_1[5]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "Speed.h" +#include "Wgs84Angle.h" +#include "GeneralizedLanePositions.h" +#include "OccupiedLanesWithConfidence.h" +#include "IvimReferences.h" +#include "MapReferences.h" +#include "TracesExtended.h" +#include "PathPredictedList.h" + +#endif /* _Vanetza_ITS2_LocationContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Longitude.c b/vanetza/asn1/its/r2/Longitude.c new file mode 100644 index 000000000..8711386c8 --- /dev/null +++ b/vanetza/asn1/its/r2/Longitude.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Longitude.h" + +int +Vanetza_ITS2_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 >= -1800000000L && 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_Vanetza_ITS2_Longitude_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-1800000000..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_Vanetza_ITS2_Longitude_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, -1800000000, 1800000001 } /* (-1800000000..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_Vanetza_ITS2_Longitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Longitude = { + "Longitude", + "Longitude", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_Longitude_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Longitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Longitude_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Longitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Longitude_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Longitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Longitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Longitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_Longitude_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/Longitude.h b/vanetza/asn1/its/r2/Longitude.h new file mode 100644 index 000000000..b3104030f --- /dev/null +++ b/vanetza/asn1/its/r2/Longitude.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Longitude_H_ +#define _Vanetza_ITS2_Longitude_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Longitude { + Vanetza_ITS2_Longitude_valueNotUsed = -1800000000, + Vanetza_ITS2_Longitude_unavailable = 1800000001 +} e_Vanetza_ITS2_Longitude; + +/* Vanetza_ITS2_Longitude */ +typedef long Vanetza_ITS2_Longitude_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Longitude_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Longitude; +asn_struct_free_f Vanetza_ITS2_Longitude_free; +asn_struct_print_f Vanetza_ITS2_Longitude_print; +asn_constr_check_f Vanetza_ITS2_Longitude_constraint; +ber_type_decoder_f Vanetza_ITS2_Longitude_decode_ber; +der_type_encoder_f Vanetza_ITS2_Longitude_encode_der; +xer_type_decoder_f Vanetza_ITS2_Longitude_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Longitude_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Longitude_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Longitude_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Longitude_encode_oer; +per_type_decoder_f Vanetza_ITS2_Longitude_decode_uper; +per_type_encoder_f Vanetza_ITS2_Longitude_encode_uper; +per_type_decoder_f Vanetza_ITS2_Longitude_decode_aper; +per_type_encoder_f Vanetza_ITS2_Longitude_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Longitude_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LongitudinalAcceleration.c b/vanetza/asn1/its/r2/LongitudinalAcceleration.c new file mode 100644 index 000000000..00ea71a03 --- /dev/null +++ b/vanetza/asn1/its/r2/LongitudinalAcceleration.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LongitudinalAcceleration.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LongitudinalAcceleration_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LongitudinalAcceleration, longitudinalAccelerationValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LongitudinalAccelerationValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitudinalAccelerationValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LongitudinalAcceleration, longitudinalAccelerationConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitudinalAccelerationConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LongitudinalAcceleration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_LongitudinalAcceleration_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* longitudinalAccelerationValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* longitudinalAccelerationConfidence */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LongitudinalAcceleration_specs_1 = { + sizeof(struct Vanetza_ITS2_LongitudinalAcceleration), + offsetof(struct Vanetza_ITS2_LongitudinalAcceleration, _asn_ctx), + asn_MAP_Vanetza_ITS2_LongitudinalAcceleration_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_Vanetza_ITS2_LongitudinalAcceleration = { + "LongitudinalAcceleration", + "LongitudinalAcceleration", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_LongitudinalAcceleration_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LongitudinalAcceleration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LongitudinalAcceleration_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LongitudinalAcceleration_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LongitudinalAcceleration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LongitudinalAcceleration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_LongitudinalAcceleration_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_LongitudinalAcceleration_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LongitudinalAcceleration.h b/vanetza/asn1/its/r2/LongitudinalAcceleration.h new file mode 100644 index 000000000..be707100e --- /dev/null +++ b/vanetza/asn1/its/r2/LongitudinalAcceleration.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LongitudinalAcceleration_H_ +#define _Vanetza_ITS2_LongitudinalAcceleration_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LongitudinalAccelerationValue.h" +#include "AccelerationConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_LongitudinalAcceleration */ +typedef struct Vanetza_ITS2_LongitudinalAcceleration { + Vanetza_ITS2_LongitudinalAccelerationValue_t longitudinalAccelerationValue; + Vanetza_ITS2_AccelerationConfidence_t longitudinalAccelerationConfidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_LongitudinalAcceleration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LongitudinalAcceleration; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LongitudinalAcceleration_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LongitudinalAccelerationValue.c b/vanetza/asn1/its/r2/LongitudinalAccelerationValue.c new file mode 100644 index 000000000..2b50f6742 --- /dev/null +++ b/vanetza/asn1/its/r2/LongitudinalAccelerationValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LongitudinalAccelerationValue.h" + +int +Vanetza_ITS2_LongitudinalAccelerationValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -160L && value <= 161L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LongitudinalAccelerationValue_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-160..161) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LongitudinalAccelerationValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, -160, 161 } /* (-160..161) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LongitudinalAccelerationValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LongitudinalAccelerationValue = { + "LongitudinalAccelerationValue", + "LongitudinalAccelerationValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_LongitudinalAccelerationValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LongitudinalAccelerationValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LongitudinalAccelerationValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LongitudinalAccelerationValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LongitudinalAccelerationValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LongitudinalAccelerationValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_LongitudinalAccelerationValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LongitudinalAccelerationValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_LongitudinalAccelerationValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/LongitudinalAccelerationValue.h b/vanetza/asn1/its/r2/LongitudinalAccelerationValue.h new file mode 100644 index 000000000..af0b0fd85 --- /dev/null +++ b/vanetza/asn1/its/r2/LongitudinalAccelerationValue.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LongitudinalAccelerationValue_H_ +#define _Vanetza_ITS2_LongitudinalAccelerationValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_LongitudinalAccelerationValue { + Vanetza_ITS2_LongitudinalAccelerationValue_negativeOutOfRange = -160, + Vanetza_ITS2_LongitudinalAccelerationValue_positiveOutOfRange = 160, + Vanetza_ITS2_LongitudinalAccelerationValue_unavailable = 161 +} e_Vanetza_ITS2_LongitudinalAccelerationValue; + +/* Vanetza_ITS2_LongitudinalAccelerationValue */ +typedef long Vanetza_ITS2_LongitudinalAccelerationValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LongitudinalAccelerationValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LongitudinalAccelerationValue; +asn_struct_free_f Vanetza_ITS2_LongitudinalAccelerationValue_free; +asn_struct_print_f Vanetza_ITS2_LongitudinalAccelerationValue_print; +asn_constr_check_f Vanetza_ITS2_LongitudinalAccelerationValue_constraint; +ber_type_decoder_f Vanetza_ITS2_LongitudinalAccelerationValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_LongitudinalAccelerationValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_LongitudinalAccelerationValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_LongitudinalAccelerationValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_LongitudinalAccelerationValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_LongitudinalAccelerationValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_LongitudinalAccelerationValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_LongitudinalAccelerationValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_LongitudinalAccelerationValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_LongitudinalAccelerationValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_LongitudinalAccelerationValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LongitudinalAccelerationValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LongitudinalLanePosition.c b/vanetza/asn1/its/r2/LongitudinalLanePosition.c new file mode 100644 index 000000000..00ea7f33a --- /dev/null +++ b/vanetza/asn1/its/r2/LongitudinalLanePosition.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LongitudinalLanePosition.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LongitudinalLanePosition_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LongitudinalLanePosition, longitudinalLanePositionValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LongitudinalLanePositionValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitudinalLanePositionValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LongitudinalLanePosition, longitudinalLanePositionConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LongitudinalLanePositionConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitudinalLanePositionConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LongitudinalLanePosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_LongitudinalLanePosition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* longitudinalLanePositionValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* longitudinalLanePositionConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LongitudinalLanePosition_specs_1 = { + sizeof(struct Vanetza_ITS2_LongitudinalLanePosition), + offsetof(struct Vanetza_ITS2_LongitudinalLanePosition, _asn_ctx), + asn_MAP_Vanetza_ITS2_LongitudinalLanePosition_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_Vanetza_ITS2_LongitudinalLanePosition = { + "LongitudinalLanePosition", + "LongitudinalLanePosition", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_LongitudinalLanePosition_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePosition_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LongitudinalLanePosition_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_LongitudinalLanePosition_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_LongitudinalLanePosition_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LongitudinalLanePosition.h b/vanetza/asn1/its/r2/LongitudinalLanePosition.h new file mode 100644 index 000000000..53989ad61 --- /dev/null +++ b/vanetza/asn1/its/r2/LongitudinalLanePosition.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LongitudinalLanePosition_H_ +#define _Vanetza_ITS2_LongitudinalLanePosition_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LongitudinalLanePositionValue.h" +#include "LongitudinalLanePositionConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_LongitudinalLanePosition */ +typedef struct Vanetza_ITS2_LongitudinalLanePosition { + Vanetza_ITS2_LongitudinalLanePositionValue_t longitudinalLanePositionValue; + Vanetza_ITS2_LongitudinalLanePositionConfidence_t longitudinalLanePositionConfidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_LongitudinalLanePosition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LongitudinalLanePosition; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LongitudinalLanePosition_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LongitudinalLanePosition_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LongitudinalLanePosition_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LongitudinalLanePositionConfidence.c b/vanetza/asn1/its/r2/LongitudinalLanePositionConfidence.c new file mode 100644 index 000000000..d17a61ee1 --- /dev/null +++ b/vanetza/asn1/its/r2/LongitudinalLanePositionConfidence.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LongitudinalLanePositionConfidence.h" + +int +Vanetza_ITS2_LongitudinalLanePositionConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1023L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LongitudinalLanePositionConfidence_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..1023) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LongitudinalLanePositionConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LongitudinalLanePositionConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LongitudinalLanePositionConfidence = { + "LongitudinalLanePositionConfidence", + "LongitudinalLanePositionConfidence", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_LongitudinalLanePositionConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePositionConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePositionConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LongitudinalLanePositionConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePositionConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePositionConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_LongitudinalLanePositionConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LongitudinalLanePositionConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_LongitudinalLanePositionConfidence_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/LongitudinalLanePositionConfidence.h b/vanetza/asn1/its/r2/LongitudinalLanePositionConfidence.h new file mode 100644 index 000000000..5ea277d1c --- /dev/null +++ b/vanetza/asn1/its/r2/LongitudinalLanePositionConfidence.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LongitudinalLanePositionConfidence_H_ +#define _Vanetza_ITS2_LongitudinalLanePositionConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_LongitudinalLanePositionConfidence { + Vanetza_ITS2_LongitudinalLanePositionConfidence_outOfRange = 1022, + Vanetza_ITS2_LongitudinalLanePositionConfidence_unavailable = 1023 +} e_Vanetza_ITS2_LongitudinalLanePositionConfidence; + +/* Vanetza_ITS2_LongitudinalLanePositionConfidence */ +typedef long Vanetza_ITS2_LongitudinalLanePositionConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LongitudinalLanePositionConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LongitudinalLanePositionConfidence; +asn_struct_free_f Vanetza_ITS2_LongitudinalLanePositionConfidence_free; +asn_struct_print_f Vanetza_ITS2_LongitudinalLanePositionConfidence_print; +asn_constr_check_f Vanetza_ITS2_LongitudinalLanePositionConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_LongitudinalLanePositionConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_LongitudinalLanePositionConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_LongitudinalLanePositionConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_LongitudinalLanePositionConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_LongitudinalLanePositionConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LongitudinalLanePositionConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LongitudinalLanePositionValue.c b/vanetza/asn1/its/r2/LongitudinalLanePositionValue.c new file mode 100644 index 000000000..8d24423c7 --- /dev/null +++ b/vanetza/asn1/its/r2/LongitudinalLanePositionValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LongitudinalLanePositionValue.h" + +int +Vanetza_ITS2_LongitudinalLanePositionValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LongitudinalLanePositionValue_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LongitudinalLanePositionValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32767 } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LongitudinalLanePositionValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LongitudinalLanePositionValue = { + "LongitudinalLanePositionValue", + "LongitudinalLanePositionValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_LongitudinalLanePositionValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePositionValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePositionValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LongitudinalLanePositionValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePositionValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LongitudinalLanePositionValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_LongitudinalLanePositionValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LongitudinalLanePositionValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_LongitudinalLanePositionValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/LongitudinalLanePositionValue.h b/vanetza/asn1/its/r2/LongitudinalLanePositionValue.h new file mode 100644 index 000000000..021bf5242 --- /dev/null +++ b/vanetza/asn1/its/r2/LongitudinalLanePositionValue.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LongitudinalLanePositionValue_H_ +#define _Vanetza_ITS2_LongitudinalLanePositionValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_LongitudinalLanePositionValue { + Vanetza_ITS2_LongitudinalLanePositionValue_outOfRange = 32766, + Vanetza_ITS2_LongitudinalLanePositionValue_unavailable = 32767 +} e_Vanetza_ITS2_LongitudinalLanePositionValue; + +/* Vanetza_ITS2_LongitudinalLanePositionValue */ +typedef long Vanetza_ITS2_LongitudinalLanePositionValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LongitudinalLanePositionValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LongitudinalLanePositionValue; +asn_struct_free_f Vanetza_ITS2_LongitudinalLanePositionValue_free; +asn_struct_print_f Vanetza_ITS2_LongitudinalLanePositionValue_print; +asn_constr_check_f Vanetza_ITS2_LongitudinalLanePositionValue_constraint; +ber_type_decoder_f Vanetza_ITS2_LongitudinalLanePositionValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_LongitudinalLanePositionValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_LongitudinalLanePositionValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_LongitudinalLanePositionValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_LongitudinalLanePositionValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_LongitudinalLanePositionValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LongitudinalLanePositionValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LowFrequencyContainer.c b/vanetza/asn1/its/r2/LowFrequencyContainer.c new file mode 100644 index 000000000..eb6ae248f --- /dev/null +++ b/vanetza/asn1/its/r2/LowFrequencyContainer.c @@ -0,0 +1,81 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LowFrequencyContainer.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LowFrequencyContainer_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_Vanetza_ITS2_LowFrequencyContainer_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LowFrequencyContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LowFrequencyContainer, choice.basicVehicleContainerLowFrequency), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_BasicVehicleContainerLowFrequency, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "basicVehicleContainerLowFrequency" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_LowFrequencyContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* basicVehicleContainerLowFrequency */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_LowFrequencyContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_LowFrequencyContainer), + offsetof(struct Vanetza_ITS2_LowFrequencyContainer, _asn_ctx), + offsetof(struct Vanetza_ITS2_LowFrequencyContainer, present), + sizeof(((struct Vanetza_ITS2_LowFrequencyContainer *)0)->present), + asn_MAP_Vanetza_ITS2_LowFrequencyContainer_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, + 1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LowFrequencyContainer = { + "LowFrequencyContainer", + "LowFrequencyContainer", + &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_Vanetza_ITS2_LowFrequencyContainer_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LowFrequencyContainer_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_LowFrequencyContainer_1, + 1, /* Elements count */ + &asn_SPC_Vanetza_ITS2_LowFrequencyContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LowFrequencyContainer.h b/vanetza/asn1/its/r2/LowFrequencyContainer.h new file mode 100644 index 000000000..1772ec293 --- /dev/null +++ b/vanetza/asn1/its/r2/LowFrequencyContainer.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LowFrequencyContainer_H_ +#define _Vanetza_ITS2_LowFrequencyContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BasicVehicleContainerLowFrequency.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_LowFrequencyContainer_PR { + Vanetza_ITS2_LowFrequencyContainer_PR_NOTHING, /* No components present */ + Vanetza_ITS2_LowFrequencyContainer_PR_basicVehicleContainerLowFrequency + /* Extensions may appear below */ + +} Vanetza_ITS2_LowFrequencyContainer_PR; + +/* Vanetza_ITS2_LowFrequencyContainer */ +typedef struct Vanetza_ITS2_LowFrequencyContainer { + Vanetza_ITS2_LowFrequencyContainer_PR present; + union Vanetza_ITS2_LowFrequencyContainer_u { + Vanetza_ITS2_BasicVehicleContainerLowFrequency_t basicVehicleContainerLowFrequency; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_LowFrequencyContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LowFrequencyContainer; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_LowFrequencyContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LowFrequencyContainer_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LowFrequencyContainer_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LowFrequencyContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrices.c b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrices.c new file mode 100644 index 000000000..1333dcbe3 --- /dev/null +++ b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrices.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LowerTriangularPositiveSemidefiniteMatrices.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_specs_1 = { + sizeof(struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices), + offsetof(struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices = { + "LowerTriangularPositiveSemidefiniteMatrices", + "LowerTriangularPositiveSemidefiniteMatrices", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrices.h b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrices.h new file mode 100644 index 000000000..1171d4ef1 --- /dev/null +++ b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrices.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_H_ +#define _Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_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 Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix; + +/* Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices */ +typedef struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices { + A_SEQUENCE_OF(struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "LowerTriangularPositiveSemidefiniteMatrix.h" + +#endif /* _Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrix.c b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrix.c new file mode 100644 index 000000000..c4dbc2d6a --- /dev/null +++ b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrix.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LowerTriangularPositiveSemidefiniteMatrix.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix, componentsIncludedIntheMatrix), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MatrixIncludedComponents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "componentsIncludedIntheMatrix" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix, matrix), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "matrix" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* componentsIncludedIntheMatrix */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* matrix */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_specs_1 = { + sizeof(struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix), + offsetof(struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix, _asn_ctx), + asn_MAP_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_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_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix = { + "LowerTriangularPositiveSemidefiniteMatrix", + "LowerTriangularPositiveSemidefiniteMatrix", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrix.h b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrix.h new file mode 100644 index 000000000..35c9a634f --- /dev/null +++ b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrix.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_H_ +#define _Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MatrixIncludedComponents.h" +#include "LowerTriangularPositiveSemidefiniteMatrixColumns.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix */ +typedef struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix { + Vanetza_ITS2_MatrixIncludedComponents_t componentsIncludedIntheMatrix; + Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_t matrix; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrix_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrixColumns.c b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrixColumns.c new file mode 100644 index 000000000..94a447295 --- /dev/null +++ b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrixColumns.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "LowerTriangularPositiveSemidefiniteMatrixColumns.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 13 } /* (SIZE(1..13,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_CorrelationColumn, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_specs_1 = { + sizeof(struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns), + offsetof(struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns = { + "LowerTriangularPositiveSemidefiniteMatrixColumns", + "LowerTriangularPositiveSemidefiniteMatrixColumns", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrixColumns.h b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrixColumns.h new file mode 100644 index 000000000..fca65328b --- /dev/null +++ b/vanetza/asn1/its/r2/LowerTriangularPositiveSemidefiniteMatrixColumns.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_H_ +#define _Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_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 Vanetza_ITS2_CorrelationColumn; + +/* Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns */ +typedef struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns { + A_SEQUENCE_OF(struct Vanetza_ITS2_CorrelationColumn) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CorrelationColumn.h" + +#endif /* _Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrixColumns_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MapPosition.c b/vanetza/asn1/its/r2/MapPosition.c new file mode 100644 index 000000000..7f524c89d --- /dev/null +++ b/vanetza/asn1/its/r2/MapPosition.c @@ -0,0 +1,149 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MapPosition.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_MapPosition_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_Vanetza_ITS2_MapPosition_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapPosition_1[] = { + { ATF_POINTER, 4, offsetof(struct Vanetza_ITS2_MapPosition, mapReference), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MapReference, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mapReference" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_MapPosition, laneId), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneId" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_MapPosition, connectionId), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "connectionId" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_MapPosition, longitudinalLanePosition), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LongitudinalLanePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitudinalLanePosition" + }, +}; +static const int asn_MAP_Vanetza_ITS2_MapPosition_oms_1[] = { 0, 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MapPosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_MapPosition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mapReference */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* laneId */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* connectionId */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* longitudinalLanePosition */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MapPosition_specs_1 = { + sizeof(struct Vanetza_ITS2_MapPosition), + offsetof(struct Vanetza_ITS2_MapPosition, _asn_ctx), + asn_MAP_Vanetza_ITS2_MapPosition_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_MapPosition_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapPosition = { + "MapPosition", + "MapPosition", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_MapPosition_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MapPosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapPosition_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MapPosition_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MapPosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapPosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_MapPosition_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_MapPosition_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_MapPosition_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_MapPosition_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MapPosition.h b/vanetza/asn1/its/r2/MapPosition.h new file mode 100644 index 000000000..95145e3af --- /dev/null +++ b/vanetza/asn1/its/r2/MapPosition.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MapPosition_H_ +#define _Vanetza_ITS2_MapPosition_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier1B.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_MapReference; +struct Vanetza_ITS2_LongitudinalLanePosition; + +/* Vanetza_ITS2_MapPosition */ +typedef struct Vanetza_ITS2_MapPosition { + struct Vanetza_ITS2_MapReference *mapReference; /* OPTIONAL */ + Vanetza_ITS2_Identifier1B_t *laneId; /* OPTIONAL */ + Vanetza_ITS2_Identifier1B_t *connectionId; /* OPTIONAL */ + struct Vanetza_ITS2_LongitudinalLanePosition *longitudinalLanePosition; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MapPosition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapPosition; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MapPosition_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapPosition_1[4]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MapPosition_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MapReference.h" +#include "LongitudinalLanePosition.h" + +#endif /* _Vanetza_ITS2_MapPosition_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MapReference.c b/vanetza/asn1/its/r2/MapReference.c new file mode 100644 index 000000000..7119b8787 --- /dev/null +++ b/vanetza/asn1/its/r2/MapReference.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MapReference.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_MapReference_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_Vanetza_ITS2_MapReference_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapReference_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_MapReference, choice.roadsegment), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RoadSegmentReferenceId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadsegment" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_MapReference, choice.intersection), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_IntersectionReferenceId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "intersection" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_MapReference_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roadsegment */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* intersection */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_MapReference_specs_1 = { + sizeof(struct Vanetza_ITS2_MapReference), + offsetof(struct Vanetza_ITS2_MapReference, _asn_ctx), + offsetof(struct Vanetza_ITS2_MapReference, present), + sizeof(((struct Vanetza_ITS2_MapReference *)0)->present), + asn_MAP_Vanetza_ITS2_MapReference_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapReference = { + "MapReference", + "MapReference", + &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_Vanetza_ITS2_MapReference_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_MapReference_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_MapReference_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_MapReference_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MapReference.h b/vanetza/asn1/its/r2/MapReference.h new file mode 100644 index 000000000..48e589c01 --- /dev/null +++ b/vanetza/asn1/its/r2/MapReference.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MapReference_H_ +#define _Vanetza_ITS2_MapReference_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "RoadSegmentReferenceId.h" +#include "IntersectionReferenceId.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_MapReference_PR { + Vanetza_ITS2_MapReference_PR_NOTHING, /* No components present */ + Vanetza_ITS2_MapReference_PR_roadsegment, + Vanetza_ITS2_MapReference_PR_intersection +} Vanetza_ITS2_MapReference_PR; + +/* Vanetza_ITS2_MapReference */ +typedef struct Vanetza_ITS2_MapReference { + Vanetza_ITS2_MapReference_PR present; + union Vanetza_ITS2_MapReference_u { + Vanetza_ITS2_RoadSegmentReferenceId_t roadsegment; + Vanetza_ITS2_IntersectionReferenceId_t intersection; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MapReference_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapReference; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_MapReference_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapReference_1[2]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MapReference_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_MapReference_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MapReferences.c b/vanetza/asn1/its/r2/MapReferences.c new file mode 100644 index 000000000..1c490bc7b --- /dev/null +++ b/vanetza/asn1/its/r2/MapReferences.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MapReferences.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_MapReferences_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MapReferences_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapReferences_1[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Vanetza_ITS2_MapReference, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MapReferences_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_MapReferences_specs_1 = { + sizeof(struct Vanetza_ITS2_MapReferences), + offsetof(struct Vanetza_ITS2_MapReferences, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapReferences = { + "MapReferences", + "MapReferences", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_MapReferences_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MapReferences_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapReferences_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MapReferences_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MapReferences_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapReferences_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_MapReferences_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_MapReferences_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_MapReferences_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_MapReferences_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MapReferences.h b/vanetza/asn1/its/r2/MapReferences.h new file mode 100644 index 000000000..ed78d228e --- /dev/null +++ b/vanetza/asn1/its/r2/MapReferences.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MapReferences_H_ +#define _Vanetza_ITS2_MapReferences_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 Vanetza_ITS2_MapReference; + +/* Vanetza_ITS2_MapReferences */ +typedef struct Vanetza_ITS2_MapReferences { + A_SEQUENCE_OF(struct Vanetza_ITS2_MapReference) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MapReferences_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapReferences; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_MapReferences_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapReferences_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MapReferences_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MapReference.h" + +#endif /* _Vanetza_ITS2_MapReferences_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MapemConfiguration.c b/vanetza/asn1/its/r2/MapemConfiguration.c new file mode 100644 index 000000000..2b49c39ef --- /dev/null +++ b/vanetza/asn1/its/r2/MapemConfiguration.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MapemConfiguration.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_MapemConfiguration_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MapemConfiguration_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 16 } /* (SIZE(1..16,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapemConfiguration_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_MapemElementReference, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MapemConfiguration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_MapemConfiguration_specs_1 = { + sizeof(struct Vanetza_ITS2_MapemConfiguration), + offsetof(struct Vanetza_ITS2_MapemConfiguration, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapemConfiguration = { + "MapemConfiguration", + "MapemConfiguration", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_MapemConfiguration_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MapemConfiguration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapemConfiguration_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MapemConfiguration_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MapemConfiguration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapemConfiguration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_MapemConfiguration_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_MapemConfiguration_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_MapemConfiguration_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_MapemConfiguration_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MapemConfiguration.h b/vanetza/asn1/its/r2/MapemConfiguration.h new file mode 100644 index 000000000..b96e11b9f --- /dev/null +++ b/vanetza/asn1/its/r2/MapemConfiguration.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MapemConfiguration_H_ +#define _Vanetza_ITS2_MapemConfiguration_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 Vanetza_ITS2_MapemElementReference; + +/* Vanetza_ITS2_MapemConfiguration */ +typedef struct Vanetza_ITS2_MapemConfiguration { + A_SEQUENCE_OF(struct Vanetza_ITS2_MapemElementReference) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MapemConfiguration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapemConfiguration; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_MapemConfiguration_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapemConfiguration_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MapemConfiguration_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MapemElementReference.h" + +#endif /* _Vanetza_ITS2_MapemConfiguration_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MapemConnectionList.c b/vanetza/asn1/its/r2/MapemConnectionList.c new file mode 100644 index 000000000..78a479697 --- /dev/null +++ b/vanetza/asn1/its/r2/MapemConnectionList.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MapemConnectionList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_MapemConnectionList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MapemConnectionList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapemConnectionList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_Identifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MapemConnectionList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_MapemConnectionList_specs_1 = { + sizeof(struct Vanetza_ITS2_MapemConnectionList), + offsetof(struct Vanetza_ITS2_MapemConnectionList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapemConnectionList = { + "MapemConnectionList", + "MapemConnectionList", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_MapemConnectionList_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MapemConnectionList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapemConnectionList_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MapemConnectionList_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MapemConnectionList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapemConnectionList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_MapemConnectionList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_MapemConnectionList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_MapemConnectionList_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_MapemConnectionList_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MapemConnectionList.h b/vanetza/asn1/its/r2/MapemConnectionList.h new file mode 100644 index 000000000..6c65e6734 --- /dev/null +++ b/vanetza/asn1/its/r2/MapemConnectionList.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MapemConnectionList_H_ +#define _Vanetza_ITS2_MapemConnectionList_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier1B.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_MapemConnectionList */ +typedef struct Vanetza_ITS2_MapemConnectionList { + A_SEQUENCE_OF(Vanetza_ITS2_Identifier1B_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MapemConnectionList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapemConnectionList; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_MapemConnectionList_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapemConnectionList_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MapemConnectionList_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_MapemConnectionList_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MapemElementReference.c b/vanetza/asn1/its/r2/MapemElementReference.c new file mode 100644 index 000000000..ec1c07c9f --- /dev/null +++ b/vanetza/asn1/its/r2/MapemElementReference.c @@ -0,0 +1,128 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MapemElementReference.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_MapemElementReference_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_Vanetza_ITS2_MapemElementReference_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapemElementReference_1[] = { + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_MapemElementReference, mapReference), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MapReference, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mapReference" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_MapemElementReference, laneIds), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MapemLaneList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneIds" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_MapemElementReference, connectionIds), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MapemConnectionList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "connectionIds" + }, +}; +static const int asn_MAP_Vanetza_ITS2_MapemElementReference_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MapemElementReference_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_MapemElementReference_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mapReference */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* laneIds */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* connectionIds */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MapemElementReference_specs_1 = { + sizeof(struct Vanetza_ITS2_MapemElementReference), + offsetof(struct Vanetza_ITS2_MapemElementReference, _asn_ctx), + asn_MAP_Vanetza_ITS2_MapemElementReference_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_MapemElementReference_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapemElementReference = { + "MapemElementReference", + "MapemElementReference", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_MapemElementReference_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MapemElementReference_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapemElementReference_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MapemElementReference_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MapemElementReference_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapemElementReference_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_MapemElementReference_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_MapemElementReference_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_MapemElementReference_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_MapemElementReference_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MapemElementReference.h b/vanetza/asn1/its/r2/MapemElementReference.h new file mode 100644 index 000000000..a353aafb6 --- /dev/null +++ b/vanetza/asn1/its/r2/MapemElementReference.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MapemElementReference_H_ +#define _Vanetza_ITS2_MapemElementReference_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_MapReference; +struct Vanetza_ITS2_MapemLaneList; +struct Vanetza_ITS2_MapemConnectionList; + +/* Vanetza_ITS2_MapemElementReference */ +typedef struct Vanetza_ITS2_MapemElementReference { + struct Vanetza_ITS2_MapReference *mapReference; /* OPTIONAL */ + struct Vanetza_ITS2_MapemLaneList *laneIds; /* OPTIONAL */ + struct Vanetza_ITS2_MapemConnectionList *connectionIds; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MapemElementReference_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapemElementReference; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MapemElementReference_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapemElementReference_1[3]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MapemElementReference_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MapReference.h" +#include "MapemLaneList.h" +#include "MapemConnectionList.h" + +#endif /* _Vanetza_ITS2_MapemElementReference_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MapemLaneList.c b/vanetza/asn1/its/r2/MapemLaneList.c new file mode 100644 index 000000000..100cc9a2e --- /dev/null +++ b/vanetza/asn1/its/r2/MapemLaneList.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MapemLaneList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_MapemLaneList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MapemLaneList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapemLaneList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_Identifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MapemLaneList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_MapemLaneList_specs_1 = { + sizeof(struct Vanetza_ITS2_MapemLaneList), + offsetof(struct Vanetza_ITS2_MapemLaneList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapemLaneList = { + "MapemLaneList", + "MapemLaneList", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_MapemLaneList_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MapemLaneList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapemLaneList_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MapemLaneList_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MapemLaneList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MapemLaneList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_MapemLaneList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_MapemLaneList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_MapemLaneList_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_MapemLaneList_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MapemLaneList.h b/vanetza/asn1/its/r2/MapemLaneList.h new file mode 100644 index 000000000..14085f663 --- /dev/null +++ b/vanetza/asn1/its/r2/MapemLaneList.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MapemLaneList_H_ +#define _Vanetza_ITS2_MapemLaneList_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier1B.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_MapemLaneList */ +typedef struct Vanetza_ITS2_MapemLaneList { + A_SEQUENCE_OF(Vanetza_ITS2_Identifier1B_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MapemLaneList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MapemLaneList; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_MapemLaneList_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MapemLaneList_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MapemLaneList_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_MapemLaneList_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MatrixIncludedComponents.c b/vanetza/asn1/its/r2/MatrixIncludedComponents.c new file mode 100644 index 000000000..36d5fb418 --- /dev/null +++ b/vanetza/asn1/its/r2/MatrixIncludedComponents.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MatrixIncludedComponents.h" + +int +Vanetza_ITS2_MatrixIncludedComponents_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 13UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_MatrixIncludedComponents_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MatrixIncludedComponents_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 13, 13 } /* (SIZE(13..13,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_MatrixIncludedComponents_constr_1 CC_NOTUSED = { + -1}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MatrixIncludedComponents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MatrixIncludedComponents = { + "MatrixIncludedComponents", + "MatrixIncludedComponents", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_MatrixIncludedComponents_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MatrixIncludedComponents_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MatrixIncludedComponents_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MatrixIncludedComponents_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MatrixIncludedComponents_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MatrixIncludedComponents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_MatrixIncludedComponents_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_MatrixIncludedComponents_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_MatrixIncludedComponents_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_MatrixIncludedComponents_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MatrixIncludedComponents.h b/vanetza/asn1/its/r2/MatrixIncludedComponents.h new file mode 100644 index 000000000..e32996372 --- /dev/null +++ b/vanetza/asn1/its/r2/MatrixIncludedComponents.h @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MatrixIncludedComponents_H_ +#define _Vanetza_ITS2_MatrixIncludedComponents_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_MatrixIncludedComponents { + Vanetza_ITS2_MatrixIncludedComponents_xPosition = 0, + Vanetza_ITS2_MatrixIncludedComponents_yPosition = 1, + Vanetza_ITS2_MatrixIncludedComponents_zPosition = 2, + Vanetza_ITS2_MatrixIncludedComponents_xVelocityOrVelocityMagnitude = 3, + Vanetza_ITS2_MatrixIncludedComponents_yVelocityOrVelocityDirection = 4, + Vanetza_ITS2_MatrixIncludedComponents_zSpeed = 5, + Vanetza_ITS2_MatrixIncludedComponents_xAccelOrAccelMagnitude = 6, + Vanetza_ITS2_MatrixIncludedComponents_yAccelOrAccelDirection = 7, + Vanetza_ITS2_MatrixIncludedComponents_zAcceleration = 8, + Vanetza_ITS2_MatrixIncludedComponents_zAngle = 9, + Vanetza_ITS2_MatrixIncludedComponents_yAngle = 10, + Vanetza_ITS2_MatrixIncludedComponents_xAngle = 11, + Vanetza_ITS2_MatrixIncludedComponents_zAngularVelocity = 12 +} e_Vanetza_ITS2_MatrixIncludedComponents; + +/* Vanetza_ITS2_MatrixIncludedComponents */ +typedef BIT_STRING_t Vanetza_ITS2_MatrixIncludedComponents_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MatrixIncludedComponents_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MatrixIncludedComponents; +asn_struct_free_f Vanetza_ITS2_MatrixIncludedComponents_free; +asn_struct_print_f Vanetza_ITS2_MatrixIncludedComponents_print; +asn_constr_check_f Vanetza_ITS2_MatrixIncludedComponents_constraint; +ber_type_decoder_f Vanetza_ITS2_MatrixIncludedComponents_decode_ber; +der_type_encoder_f Vanetza_ITS2_MatrixIncludedComponents_encode_der; +xer_type_decoder_f Vanetza_ITS2_MatrixIncludedComponents_decode_xer; +xer_type_encoder_f Vanetza_ITS2_MatrixIncludedComponents_encode_xer; +jer_type_encoder_f Vanetza_ITS2_MatrixIncludedComponents_encode_jer; +oer_type_decoder_f Vanetza_ITS2_MatrixIncludedComponents_decode_oer; +oer_type_encoder_f Vanetza_ITS2_MatrixIncludedComponents_encode_oer; +per_type_decoder_f Vanetza_ITS2_MatrixIncludedComponents_decode_uper; +per_type_encoder_f Vanetza_ITS2_MatrixIncludedComponents_encode_uper; +per_type_decoder_f Vanetza_ITS2_MatrixIncludedComponents_decode_aper; +per_type_encoder_f Vanetza_ITS2_MatrixIncludedComponents_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_MatrixIncludedComponents_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MessageId.c b/vanetza/asn1/its/r2/MessageId.c new file mode 100644 index 000000000..440fb35b1 --- /dev/null +++ b/vanetza/asn1/its/r2/MessageId.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MessageId.h" + +int +Vanetza_ITS2_MessageId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_MessageId_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MessageId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MessageId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MessageId = { + "MessageId", + "MessageId", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_MessageId_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MessageId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MessageId_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MessageId_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MessageId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MessageId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_MessageId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_MessageId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_MessageId_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/MessageId.h b/vanetza/asn1/its/r2/MessageId.h new file mode 100644 index 000000000..848148d50 --- /dev/null +++ b/vanetza/asn1/its/r2/MessageId.h @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MessageId_H_ +#define _Vanetza_ITS2_MessageId_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_MessageId { + Vanetza_ITS2_MessageId_denm = 1, + Vanetza_ITS2_MessageId_cam = 2, + Vanetza_ITS2_MessageId_poim = 3, + Vanetza_ITS2_MessageId_spatem = 4, + Vanetza_ITS2_MessageId_mapem = 5, + Vanetza_ITS2_MessageId_ivim = 6, + Vanetza_ITS2_MessageId_rfu1 = 7, + Vanetza_ITS2_MessageId_rfu2 = 8, + Vanetza_ITS2_MessageId_srem = 9, + Vanetza_ITS2_MessageId_ssem = 10, + Vanetza_ITS2_MessageId_evcsn = 11, + Vanetza_ITS2_MessageId_saem = 12, + Vanetza_ITS2_MessageId_rtcmem = 13, + Vanetza_ITS2_MessageId_cpm = 14, + Vanetza_ITS2_MessageId_imzm = 15, + Vanetza_ITS2_MessageId_vam = 16, + Vanetza_ITS2_MessageId_dsm = 17, + Vanetza_ITS2_MessageId_pcim = 18, + Vanetza_ITS2_MessageId_pcvm = 19, + Vanetza_ITS2_MessageId_mcm = 20, + Vanetza_ITS2_MessageId_pam = 21 +} e_Vanetza_ITS2_MessageId; + +/* Vanetza_ITS2_MessageId */ +typedef long Vanetza_ITS2_MessageId_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MessageId_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MessageId; +asn_struct_free_f Vanetza_ITS2_MessageId_free; +asn_struct_print_f Vanetza_ITS2_MessageId_print; +asn_constr_check_f Vanetza_ITS2_MessageId_constraint; +ber_type_decoder_f Vanetza_ITS2_MessageId_decode_ber; +der_type_encoder_f Vanetza_ITS2_MessageId_encode_der; +xer_type_decoder_f Vanetza_ITS2_MessageId_decode_xer; +xer_type_encoder_f Vanetza_ITS2_MessageId_encode_xer; +jer_type_encoder_f Vanetza_ITS2_MessageId_encode_jer; +oer_type_decoder_f Vanetza_ITS2_MessageId_decode_oer; +oer_type_encoder_f Vanetza_ITS2_MessageId_encode_oer; +per_type_decoder_f Vanetza_ITS2_MessageId_decode_uper; +per_type_encoder_f Vanetza_ITS2_MessageId_encode_uper; +per_type_decoder_f Vanetza_ITS2_MessageId_decode_aper; +per_type_encoder_f Vanetza_ITS2_MessageId_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_MessageId_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MessageRateHz.c b/vanetza/asn1/its/r2/MessageRateHz.c new file mode 100644 index 000000000..cd8dd7ba9 --- /dev/null +++ b/vanetza/asn1/its/r2/MessageRateHz.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MessageRateHz.h" + +static int +memb_Vanetza_ITS2_mantissa_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_Vanetza_ITS2_exponent_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -5L && value <= 2L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_mantissa_constr_2 CC_NOTUSED = { + { 1, 1 } /* (1..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_mantissa_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (1..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_exponent_constr_3 CC_NOTUSED = { + { 1, 0 } /* (-5..2) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_exponent_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, -5, 2 } /* (-5..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MessageRateHz_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_MessageRateHz, mantissa), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_mantissa_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_mantissa_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_mantissa_constraint_1 + }, + 0, 0, /* No default value */ + "mantissa" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_MessageRateHz, exponent), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_exponent_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_exponent_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_exponent_constraint_1 + }, + 0, 0, /* No default value */ + "exponent" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MessageRateHz_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_MessageRateHz_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mantissa */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* exponent */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MessageRateHz_specs_1 = { + sizeof(struct Vanetza_ITS2_MessageRateHz), + offsetof(struct Vanetza_ITS2_MessageRateHz, _asn_ctx), + asn_MAP_Vanetza_ITS2_MessageRateHz_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_Vanetza_ITS2_MessageRateHz = { + "MessageRateHz", + "MessageRateHz", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_MessageRateHz_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MessageRateHz_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MessageRateHz_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MessageRateHz_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MessageRateHz_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MessageRateHz_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_MessageRateHz_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_MessageRateHz_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MessageRateHz.h b/vanetza/asn1/its/r2/MessageRateHz.h new file mode 100644 index 000000000..ab388619e --- /dev/null +++ b/vanetza/asn1/its/r2/MessageRateHz.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MessageRateHz_H_ +#define _Vanetza_ITS2_MessageRateHz_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_MessageRateHz */ +typedef struct Vanetza_ITS2_MessageRateHz { + long mantissa; + long exponent; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MessageRateHz_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MessageRateHz; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MessageRateHz_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MessageRateHz_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_MessageRateHz_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MessageRateRange.c b/vanetza/asn1/its/r2/MessageRateRange.c new file mode 100644 index 000000000..52790ea67 --- /dev/null +++ b/vanetza/asn1/its/r2/MessageRateRange.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MessageRateRange.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MessageRateRange_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_MessageRateRange, messageRateMin), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MessageRateHz, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "messageRateMin" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_MessageRateRange, messageRateMax), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MessageRateHz, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "messageRateMax" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MessageRateRange_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_MessageRateRange_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* messageRateMin */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* messageRateMax */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MessageRateRange_specs_1 = { + sizeof(struct Vanetza_ITS2_MessageRateRange), + offsetof(struct Vanetza_ITS2_MessageRateRange, _asn_ctx), + asn_MAP_Vanetza_ITS2_MessageRateRange_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_Vanetza_ITS2_MessageRateRange = { + "MessageRateRange", + "MessageRateRange", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_MessageRateRange_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MessageRateRange_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MessageRateRange_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MessageRateRange_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MessageRateRange_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MessageRateRange_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_MessageRateRange_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_MessageRateRange_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MessageRateRange.h b/vanetza/asn1/its/r2/MessageRateRange.h new file mode 100644 index 000000000..9c0b8338f --- /dev/null +++ b/vanetza/asn1/its/r2/MessageRateRange.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MessageRateRange_H_ +#define _Vanetza_ITS2_MessageRateRange_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MessageRateHz.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_MessageRateRange */ +typedef struct Vanetza_ITS2_MessageRateRange { + Vanetza_ITS2_MessageRateHz_t messageRateMin; + Vanetza_ITS2_MessageRateHz_t messageRateMax; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MessageRateRange_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MessageRateRange; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MessageRateRange_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MessageRateRange_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_MessageRateRange_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MessageSegmentationInfo.c b/vanetza/asn1/its/r2/MessageSegmentationInfo.c new file mode 100644 index 000000000..1f2d1c00e --- /dev/null +++ b/vanetza/asn1/its/r2/MessageSegmentationInfo.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MessageSegmentationInfo.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MessageSegmentationInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_MessageSegmentationInfo, totalMsgNo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CardinalNumber3b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "totalMsgNo" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_MessageSegmentationInfo, thisMsgNo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_OrdinalNumber3b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "thisMsgNo" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MessageSegmentationInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_MessageSegmentationInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* totalMsgNo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* thisMsgNo */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MessageSegmentationInfo_specs_1 = { + sizeof(struct Vanetza_ITS2_MessageSegmentationInfo), + offsetof(struct Vanetza_ITS2_MessageSegmentationInfo, _asn_ctx), + asn_MAP_Vanetza_ITS2_MessageSegmentationInfo_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_Vanetza_ITS2_MessageSegmentationInfo = { + "MessageSegmentationInfo", + "MessageSegmentationInfo", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_MessageSegmentationInfo_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MessageSegmentationInfo_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MessageSegmentationInfo_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MessageSegmentationInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MessageSegmentationInfo_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MessageSegmentationInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_MessageSegmentationInfo_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_MessageSegmentationInfo_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MessageSegmentationInfo.h b/vanetza/asn1/its/r2/MessageSegmentationInfo.h new file mode 100644 index 000000000..fa8305aa4 --- /dev/null +++ b/vanetza/asn1/its/r2/MessageSegmentationInfo.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MessageSegmentationInfo_H_ +#define _Vanetza_ITS2_MessageSegmentationInfo_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CardinalNumber3b.h" +#include "OrdinalNumber3b.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_MessageSegmentationInfo */ +typedef struct Vanetza_ITS2_MessageSegmentationInfo { + Vanetza_ITS2_CardinalNumber3b_t totalMsgNo; + Vanetza_ITS2_OrdinalNumber3b_t thisMsgNo; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MessageSegmentationInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MessageSegmentationInfo; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MessageSegmentationInfo_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MessageSegmentationInfo_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_MessageSegmentationInfo_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MetaInformation.c b/vanetza/asn1/its/r2/MetaInformation.c new file mode 100644 index 000000000..9a6049629 --- /dev/null +++ b/vanetza/asn1/its/r2/MetaInformation.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MetaInformation.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MetaInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_MetaInformation, usedDetectionInformation), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SensorTypes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "usedDetectionInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_MetaInformation, usedStoredInformation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StoredInformationType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "usedStoredInformation" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_MetaInformation, confidenceValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ConfidenceLevel, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidenceValue" + }, +}; +static const int asn_MAP_Vanetza_ITS2_MetaInformation_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MetaInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_MetaInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* usedDetectionInformation */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* usedStoredInformation */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* confidenceValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MetaInformation_specs_1 = { + sizeof(struct Vanetza_ITS2_MetaInformation), + offsetof(struct Vanetza_ITS2_MetaInformation, _asn_ctx), + asn_MAP_Vanetza_ITS2_MetaInformation_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_MetaInformation_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MetaInformation = { + "MetaInformation", + "MetaInformation", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_MetaInformation_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MetaInformation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MetaInformation_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MetaInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MetaInformation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MetaInformation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_MetaInformation_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_MetaInformation_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MetaInformation.h b/vanetza/asn1/its/r2/MetaInformation.h new file mode 100644 index 000000000..13d3ecef3 --- /dev/null +++ b/vanetza/asn1/its/r2/MetaInformation.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MetaInformation_H_ +#define _Vanetza_ITS2_MetaInformation_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "SensorTypes.h" +#include "StoredInformationType.h" +#include "ConfidenceLevel.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_MetaInformation */ +typedef struct Vanetza_ITS2_MetaInformation { + Vanetza_ITS2_SensorTypes_t usedDetectionInformation; + Vanetza_ITS2_StoredInformationType_t usedStoredInformation; + Vanetza_ITS2_ConfidenceLevel_t *confidenceValue; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MetaInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MetaInformation; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MetaInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MetaInformation_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_MetaInformation_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MitigationForTechnologies.c b/vanetza/asn1/its/r2/MitigationForTechnologies.c new file mode 100644 index 000000000..33cd511cb --- /dev/null +++ b/vanetza/asn1/its/r2/MitigationForTechnologies.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MitigationForTechnologies.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_MitigationForTechnologies_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MitigationForTechnologies_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MitigationForTechnologies_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_MitigationPerTechnologyClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MitigationForTechnologies_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_MitigationForTechnologies_specs_1 = { + sizeof(struct Vanetza_ITS2_MitigationForTechnologies), + offsetof(struct Vanetza_ITS2_MitigationForTechnologies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MitigationForTechnologies = { + "MitigationForTechnologies", + "MitigationForTechnologies", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_MitigationForTechnologies_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MitigationForTechnologies_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MitigationForTechnologies_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MitigationForTechnologies_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MitigationForTechnologies_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MitigationForTechnologies_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_MitigationForTechnologies_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_MitigationForTechnologies_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_MitigationForTechnologies_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_MitigationForTechnologies_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MitigationForTechnologies.h b/vanetza/asn1/its/r2/MitigationForTechnologies.h new file mode 100644 index 000000000..3f7eb0f63 --- /dev/null +++ b/vanetza/asn1/its/r2/MitigationForTechnologies.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MitigationForTechnologies_H_ +#define _Vanetza_ITS2_MitigationForTechnologies_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 Vanetza_ITS2_MitigationPerTechnologyClass; + +/* Vanetza_ITS2_MitigationForTechnologies */ +typedef struct Vanetza_ITS2_MitigationForTechnologies { + A_SEQUENCE_OF(struct Vanetza_ITS2_MitigationPerTechnologyClass) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MitigationForTechnologies_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MitigationForTechnologies; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_MitigationForTechnologies_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MitigationForTechnologies_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_MitigationForTechnologies_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MitigationPerTechnologyClass.h" + +#endif /* _Vanetza_ITS2_MitigationForTechnologies_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/MitigationPerTechnologyClass.c b/vanetza/asn1/its/r2/MitigationPerTechnologyClass.c new file mode 100644 index 000000000..fa2aaa40f --- /dev/null +++ b/vanetza/asn1/its/r2/MitigationPerTechnologyClass.c @@ -0,0 +1,306 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "MitigationPerTechnologyClass.h" + +static int +memb_Vanetza_ITS2_lowDutyCycle_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 10000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_Vanetza_ITS2_powerReduction_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 30L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_Vanetza_ITS2_dmcToffLimit_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 <= 1200L)) { + /* 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_Vanetza_ITS2_dmcTonLimit_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 <= 20L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_lowDutyCycle_constr_3 CC_NOTUSED = { + { 2, 1 } /* (0..10000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_lowDutyCycle_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 0, 10000 } /* (0..10000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_powerReduction_constr_4 CC_NOTUSED = { + { 1, 1 } /* (0..30) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_powerReduction_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 30 } /* (0..30) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_dmcToffLimit_constr_5 CC_NOTUSED = { + { 2, 1 } /* (0..1200) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_dmcToffLimit_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 1200 } /* (0..1200) */, + { 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_Vanetza_ITS2_dmcTonLimit_constr_6 CC_NOTUSED = { + { 1, 1 } /* (0..20) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_dmcTonLimit_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 20 } /* (0..20) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MitigationPerTechnologyClass_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_MitigationPerTechnologyClass, accessTechnologyClass), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccessTechnologyClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accessTechnologyClass" + }, + { ATF_POINTER, 4, offsetof(struct Vanetza_ITS2_MitigationPerTechnologyClass, lowDutyCycle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_lowDutyCycle_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_lowDutyCycle_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_lowDutyCycle_constraint_1 + }, + 0, 0, /* No default value */ + "lowDutyCycle" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_MitigationPerTechnologyClass, powerReduction), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_powerReduction_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_powerReduction_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_powerReduction_constraint_1 + }, + 0, 0, /* No default value */ + "powerReduction" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_MitigationPerTechnologyClass, dmcToffLimit), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_dmcToffLimit_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_dmcToffLimit_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_dmcToffLimit_constraint_1 + }, + 0, 0, /* No default value */ + "dmcToffLimit" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_MitigationPerTechnologyClass, dmcTonLimit), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_dmcTonLimit_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_dmcTonLimit_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_dmcTonLimit_constraint_1 + }, + 0, 0, /* No default value */ + "dmcTonLimit" + }, +}; +static const int asn_MAP_Vanetza_ITS2_MitigationPerTechnologyClass_oms_1[] = { 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_MitigationPerTechnologyClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_MitigationPerTechnologyClass_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* accessTechnologyClass */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lowDutyCycle */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* powerReduction */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* dmcToffLimit */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* dmcTonLimit */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MitigationPerTechnologyClass_specs_1 = { + sizeof(struct Vanetza_ITS2_MitigationPerTechnologyClass), + offsetof(struct Vanetza_ITS2_MitigationPerTechnologyClass, _asn_ctx), + asn_MAP_Vanetza_ITS2_MitigationPerTechnologyClass_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_MitigationPerTechnologyClass_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MitigationPerTechnologyClass = { + "MitigationPerTechnologyClass", + "MitigationPerTechnologyClass", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_MitigationPerTechnologyClass_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_MitigationPerTechnologyClass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MitigationPerTechnologyClass_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_MitigationPerTechnologyClass_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_MitigationPerTechnologyClass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_MitigationPerTechnologyClass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_MitigationPerTechnologyClass_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_MitigationPerTechnologyClass_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/MitigationPerTechnologyClass.h b/vanetza/asn1/its/r2/MitigationPerTechnologyClass.h new file mode 100644 index 000000000..59c0a330f --- /dev/null +++ b/vanetza/asn1/its/r2/MitigationPerTechnologyClass.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_MitigationPerTechnologyClass_H_ +#define _Vanetza_ITS2_MitigationPerTechnologyClass_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "AccessTechnologyClass.h" +#include "NativeInteger.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_MitigationPerTechnologyClass */ +typedef struct Vanetza_ITS2_MitigationPerTechnologyClass { + Vanetza_ITS2_AccessTechnologyClass_t accessTechnologyClass; + long *lowDutyCycle; /* OPTIONAL */ + long *powerReduction; /* OPTIONAL */ + long *dmcToffLimit; /* OPTIONAL */ + long *dmcTonLimit; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_MitigationPerTechnologyClass_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_MitigationPerTechnologyClass; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_MitigationPerTechnologyClass_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_MitigationPerTechnologyClass_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_MitigationPerTechnologyClass_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/NumberOfOccupants.c b/vanetza/asn1/its/r2/NumberOfOccupants.c new file mode 100644 index 000000000..d1c262a62 --- /dev/null +++ b/vanetza/asn1/its/r2/NumberOfOccupants.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "NumberOfOccupants.h" + +int +Vanetza_ITS2_NumberOfOccupants_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_NumberOfOccupants_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_NumberOfOccupants_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_NumberOfOccupants_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_NumberOfOccupants = { + "NumberOfOccupants", + "NumberOfOccupants", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_NumberOfOccupants_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_NumberOfOccupants_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_NumberOfOccupants_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_NumberOfOccupants_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_NumberOfOccupants_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_NumberOfOccupants_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_NumberOfOccupants_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_NumberOfOccupants_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_NumberOfOccupants_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/NumberOfOccupants.h b/vanetza/asn1/its/r2/NumberOfOccupants.h new file mode 100644 index 000000000..49084227e --- /dev/null +++ b/vanetza/asn1/its/r2/NumberOfOccupants.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_NumberOfOccupants_H_ +#define _Vanetza_ITS2_NumberOfOccupants_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_NumberOfOccupants { + Vanetza_ITS2_NumberOfOccupants_outOfRange = 126, + Vanetza_ITS2_NumberOfOccupants_unavailable = 127 +} e_Vanetza_ITS2_NumberOfOccupants; + +/* Vanetza_ITS2_NumberOfOccupants */ +typedef long Vanetza_ITS2_NumberOfOccupants_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_NumberOfOccupants_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_NumberOfOccupants; +asn_struct_free_f Vanetza_ITS2_NumberOfOccupants_free; +asn_struct_print_f Vanetza_ITS2_NumberOfOccupants_print; +asn_constr_check_f Vanetza_ITS2_NumberOfOccupants_constraint; +ber_type_decoder_f Vanetza_ITS2_NumberOfOccupants_decode_ber; +der_type_encoder_f Vanetza_ITS2_NumberOfOccupants_encode_der; +xer_type_decoder_f Vanetza_ITS2_NumberOfOccupants_decode_xer; +xer_type_encoder_f Vanetza_ITS2_NumberOfOccupants_encode_xer; +jer_type_encoder_f Vanetza_ITS2_NumberOfOccupants_encode_jer; +oer_type_decoder_f Vanetza_ITS2_NumberOfOccupants_decode_oer; +oer_type_encoder_f Vanetza_ITS2_NumberOfOccupants_encode_oer; +per_type_decoder_f Vanetza_ITS2_NumberOfOccupants_decode_uper; +per_type_encoder_f Vanetza_ITS2_NumberOfOccupants_encode_uper; +per_type_decoder_f Vanetza_ITS2_NumberOfOccupants_decode_aper; +per_type_encoder_f Vanetza_ITS2_NumberOfOccupants_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_NumberOfOccupants_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ObjectClass.c b/vanetza/asn1/its/r2/ObjectClass.c new file mode 100644 index 000000000..70d767e79 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectClass.c @@ -0,0 +1,212 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ObjectClass.h" + +static int +memb_Vanetza_ITS2_vehicleSubClass_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 >= 5L && value <= 11L) || (value == 14L))) { + /* 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_Vanetza_ITS2_groupSubClass_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_Vanetza_ITS2_vehicleSubClass_constr_2 CC_NOTUSED = { + { 1, 1 } /* (0..14) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_vehicleSubClass_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 14 } /* (0..14) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_groupSubClass_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_groupSubClass_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ObjectClass_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_Vanetza_ITS2_ObjectClass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ObjectClass_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ObjectClass, choice.vehicleSubClass), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TrafficParticipantType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_vehicleSubClass_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_vehicleSubClass_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_vehicleSubClass_constraint_1 + }, + 0, 0, /* No default value */ + "vehicleSubClass" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ObjectClass, choice.vruSubClass), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VruProfileAndSubprofile, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vruSubClass" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ObjectClass, choice.groupSubClass), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VruClusterInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_groupSubClass_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_groupSubClass_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_groupSubClass_constraint_1 + }, + 0, 0, /* No default value */ + "groupSubClass" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ObjectClass, choice.otherSubClass), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_OtherSubClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "otherSubClass" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ObjectClass_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleSubClass */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vruSubClass */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* groupSubClass */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* otherSubClass */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_ObjectClass_specs_1 = { + sizeof(struct Vanetza_ITS2_ObjectClass), + offsetof(struct Vanetza_ITS2_ObjectClass, _asn_ctx), + offsetof(struct Vanetza_ITS2_ObjectClass, present), + sizeof(((struct Vanetza_ITS2_ObjectClass *)0)->present), + asn_MAP_Vanetza_ITS2_ObjectClass_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, + 4 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectClass = { + "ObjectClass", + "ObjectClass", + &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_Vanetza_ITS2_ObjectClass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ObjectClass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_ObjectClass_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ObjectClass_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ObjectClass.h b/vanetza/asn1/its/r2/ObjectClass.h new file mode 100644 index 000000000..e391effa2 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectClass.h @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ObjectClass_H_ +#define _Vanetza_ITS2_ObjectClass_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "TrafficParticipantType.h" +#include "VruProfileAndSubprofile.h" +#include "VruClusterInformation.h" +#include "OtherSubClass.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ObjectClass_PR { + Vanetza_ITS2_ObjectClass_PR_NOTHING, /* No components present */ + Vanetza_ITS2_ObjectClass_PR_vehicleSubClass, + Vanetza_ITS2_ObjectClass_PR_vruSubClass, + Vanetza_ITS2_ObjectClass_PR_groupSubClass, + Vanetza_ITS2_ObjectClass_PR_otherSubClass + /* Extensions may appear below */ + +} Vanetza_ITS2_ObjectClass_PR; + +/* Vanetza_ITS2_ObjectClass */ +typedef struct Vanetza_ITS2_ObjectClass { + Vanetza_ITS2_ObjectClass_PR present; + union Vanetza_ITS2_ObjectClass_u { + Vanetza_ITS2_TrafficParticipantType_t vehicleSubClass; + Vanetza_ITS2_VruProfileAndSubprofile_t vruSubClass; + Vanetza_ITS2_VruClusterInformation_t groupSubClass; + Vanetza_ITS2_OtherSubClass_t otherSubClass; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ObjectClass_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectClass; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_ObjectClass_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ObjectClass_1[4]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ObjectClass_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ObjectClass_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ObjectClassDescription.c b/vanetza/asn1/its/r2/ObjectClassDescription.c new file mode 100644 index 000000000..41e353bf3 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectClassDescription.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ObjectClassDescription.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ObjectClassDescription_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ObjectClassDescription_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ObjectClassDescription_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_ObjectClassWithConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ObjectClassDescription_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_ObjectClassDescription_specs_1 = { + sizeof(struct Vanetza_ITS2_ObjectClassDescription), + offsetof(struct Vanetza_ITS2_ObjectClassDescription, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectClassDescription = { + "ObjectClassDescription", + "ObjectClassDescription", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_ObjectClassDescription_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ObjectClassDescription_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectClassDescription_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ObjectClassDescription_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ObjectClassDescription_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectClassDescription_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ObjectClassDescription_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ObjectClassDescription_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_ObjectClassDescription_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_ObjectClassDescription_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ObjectClassDescription.h b/vanetza/asn1/its/r2/ObjectClassDescription.h new file mode 100644 index 000000000..76da1878f --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectClassDescription.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ObjectClassDescription_H_ +#define _Vanetza_ITS2_ObjectClassDescription_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 Vanetza_ITS2_ObjectClassWithConfidence; + +/* Vanetza_ITS2_ObjectClassDescription */ +typedef struct Vanetza_ITS2_ObjectClassDescription { + A_SEQUENCE_OF(struct Vanetza_ITS2_ObjectClassWithConfidence) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ObjectClassDescription_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectClassDescription; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_ObjectClassDescription_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ObjectClassDescription_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ObjectClassDescription_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "ObjectClassWithConfidence.h" + +#endif /* _Vanetza_ITS2_ObjectClassDescription_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ObjectClassWithConfidence.c b/vanetza/asn1/its/r2/ObjectClassWithConfidence.c new file mode 100644 index 000000000..08a55d916 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectClassWithConfidence.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ObjectClassWithConfidence.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ObjectClassWithConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ObjectClassWithConfidence, objectClass), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ObjectClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "objectClass" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ObjectClassWithConfidence, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ConfidenceLevel, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ObjectClassWithConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ObjectClassWithConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* objectClass */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* confidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ObjectClassWithConfidence_specs_1 = { + sizeof(struct Vanetza_ITS2_ObjectClassWithConfidence), + offsetof(struct Vanetza_ITS2_ObjectClassWithConfidence, _asn_ctx), + asn_MAP_Vanetza_ITS2_ObjectClassWithConfidence_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_Vanetza_ITS2_ObjectClassWithConfidence = { + "ObjectClassWithConfidence", + "ObjectClassWithConfidence", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ObjectClassWithConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ObjectClassWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectClassWithConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ObjectClassWithConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ObjectClassWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectClassWithConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ObjectClassWithConfidence_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ObjectClassWithConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ObjectClassWithConfidence.h b/vanetza/asn1/its/r2/ObjectClassWithConfidence.h new file mode 100644 index 000000000..c1561957c --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectClassWithConfidence.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ObjectClassWithConfidence_H_ +#define _Vanetza_ITS2_ObjectClassWithConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "ObjectClass.h" +#include "ConfidenceLevel.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ObjectClassWithConfidence */ +typedef struct Vanetza_ITS2_ObjectClassWithConfidence { + Vanetza_ITS2_ObjectClass_t objectClass; + Vanetza_ITS2_ConfidenceLevel_t confidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ObjectClassWithConfidence_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectClassWithConfidence; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ObjectClassWithConfidence_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ObjectClassWithConfidence_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ObjectClassWithConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ObjectDimension.c b/vanetza/asn1/its/r2/ObjectDimension.c new file mode 100644 index 000000000..c82fcd655 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectDimension.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ObjectDimension.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ObjectDimension_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ObjectDimension, value), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ObjectDimensionValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "value" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ObjectDimension, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ObjectDimensionConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ObjectDimension_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ObjectDimension_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_Vanetza_ITS2_ObjectDimension_specs_1 = { + sizeof(struct Vanetza_ITS2_ObjectDimension), + offsetof(struct Vanetza_ITS2_ObjectDimension, _asn_ctx), + asn_MAP_Vanetza_ITS2_ObjectDimension_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_Vanetza_ITS2_ObjectDimension = { + "ObjectDimension", + "ObjectDimension", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ObjectDimension_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ObjectDimension_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectDimension_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ObjectDimension_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ObjectDimension_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectDimension_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ObjectDimension_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ObjectDimension_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ObjectDimension.h b/vanetza/asn1/its/r2/ObjectDimension.h new file mode 100644 index 000000000..aa76bff91 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectDimension.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ObjectDimension_H_ +#define _Vanetza_ITS2_ObjectDimension_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "ObjectDimensionValue.h" +#include "ObjectDimensionConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ObjectDimension */ +typedef struct Vanetza_ITS2_ObjectDimension { + Vanetza_ITS2_ObjectDimensionValue_t value; + Vanetza_ITS2_ObjectDimensionConfidence_t confidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ObjectDimension_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectDimension; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ObjectDimension_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ObjectDimension_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ObjectDimension_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ObjectDimensionConfidence.c b/vanetza/asn1/its/r2/ObjectDimensionConfidence.c new file mode 100644 index 000000000..443ea6203 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectDimensionConfidence.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ObjectDimensionConfidence.h" + +int +Vanetza_ITS2_ObjectDimensionConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 32L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ObjectDimensionConfidence_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..32) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ObjectDimensionConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (1..32) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ObjectDimensionConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectDimensionConfidence = { + "ObjectDimensionConfidence", + "ObjectDimensionConfidence", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_ObjectDimensionConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ObjectDimensionConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectDimensionConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ObjectDimensionConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ObjectDimensionConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectDimensionConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ObjectDimensionConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ObjectDimensionConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ObjectDimensionConfidence_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/ObjectDimensionConfidence.h b/vanetza/asn1/its/r2/ObjectDimensionConfidence.h new file mode 100644 index 000000000..43b89fe5a --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectDimensionConfidence.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ObjectDimensionConfidence_H_ +#define _Vanetza_ITS2_ObjectDimensionConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ObjectDimensionConfidence { + Vanetza_ITS2_ObjectDimensionConfidence_outOfRange = 31, + Vanetza_ITS2_ObjectDimensionConfidence_unavailable = 32 +} e_Vanetza_ITS2_ObjectDimensionConfidence; + +/* Vanetza_ITS2_ObjectDimensionConfidence */ +typedef long Vanetza_ITS2_ObjectDimensionConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ObjectDimensionConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectDimensionConfidence; +asn_struct_free_f Vanetza_ITS2_ObjectDimensionConfidence_free; +asn_struct_print_f Vanetza_ITS2_ObjectDimensionConfidence_print; +asn_constr_check_f Vanetza_ITS2_ObjectDimensionConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_ObjectDimensionConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_ObjectDimensionConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_ObjectDimensionConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ObjectDimensionConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ObjectDimensionConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ObjectDimensionConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ObjectDimensionConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_ObjectDimensionConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_ObjectDimensionConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_ObjectDimensionConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_ObjectDimensionConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ObjectDimensionConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ObjectDimensionValue.c b/vanetza/asn1/its/r2/ObjectDimensionValue.c new file mode 100644 index 000000000..46f8c5bd3 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectDimensionValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ObjectDimensionValue.h" + +int +Vanetza_ITS2_ObjectDimensionValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 256L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ObjectDimensionValue_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..256) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ObjectDimensionValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (1..256) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ObjectDimensionValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectDimensionValue = { + "ObjectDimensionValue", + "ObjectDimensionValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_ObjectDimensionValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ObjectDimensionValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectDimensionValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ObjectDimensionValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ObjectDimensionValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectDimensionValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ObjectDimensionValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ObjectDimensionValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ObjectDimensionValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/ObjectDimensionValue.h b/vanetza/asn1/its/r2/ObjectDimensionValue.h new file mode 100644 index 000000000..7476242d6 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectDimensionValue.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ObjectDimensionValue_H_ +#define _Vanetza_ITS2_ObjectDimensionValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ObjectDimensionValue { + Vanetza_ITS2_ObjectDimensionValue_outOfRange = 255, + Vanetza_ITS2_ObjectDimensionValue_unavailable = 256 +} e_Vanetza_ITS2_ObjectDimensionValue; + +/* Vanetza_ITS2_ObjectDimensionValue */ +typedef long Vanetza_ITS2_ObjectDimensionValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ObjectDimensionValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectDimensionValue; +asn_struct_free_f Vanetza_ITS2_ObjectDimensionValue_free; +asn_struct_print_f Vanetza_ITS2_ObjectDimensionValue_print; +asn_constr_check_f Vanetza_ITS2_ObjectDimensionValue_constraint; +ber_type_decoder_f Vanetza_ITS2_ObjectDimensionValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_ObjectDimensionValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_ObjectDimensionValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ObjectDimensionValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ObjectDimensionValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ObjectDimensionValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ObjectDimensionValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_ObjectDimensionValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_ObjectDimensionValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_ObjectDimensionValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_ObjectDimensionValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ObjectDimensionValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ObjectFace.c b/vanetza/asn1/its/r2/ObjectFace.c new file mode 100644 index 000000000..d61af9044 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectFace.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ObjectFace.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_Vanetza_ITS2_ObjectFace_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_Vanetza_ITS2_ObjectFace_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 5 } /* (0..5) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_ObjectFace_value2enum_1[] = { + { 0, 5, "front" }, + { 1, 13, "sideLeftFront" }, + { 2, 12, "sideLeftBack" }, + { 3, 14, "sideRightFront" }, + { 4, 13, "sideRightBack" }, + { 5, 4, "back" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_ObjectFace_enum2value_1[] = { + 5, /* back(5) */ + 0, /* front(0) */ + 2, /* sideLeftBack(2) */ + 1, /* sideLeftFront(1) */ + 4, /* sideRightBack(4) */ + 3 /* sideRightFront(3) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_ObjectFace_specs_1 = { + asn_MAP_Vanetza_ITS2_ObjectFace_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_ObjectFace_enum2value_1, /* 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_Vanetza_ITS2_ObjectFace_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectFace = { + "ObjectFace", + "ObjectFace", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_ObjectFace_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ObjectFace_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectFace_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ObjectFace_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ObjectFace_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectFace_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ObjectFace_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ObjectFace_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_ObjectFace_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ObjectFace.h b/vanetza/asn1/its/r2/ObjectFace.h new file mode 100644 index 000000000..f4a0be8ef --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectFace.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ObjectFace_H_ +#define _Vanetza_ITS2_ObjectFace_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ObjectFace { + Vanetza_ITS2_ObjectFace_front = 0, + Vanetza_ITS2_ObjectFace_sideLeftFront = 1, + Vanetza_ITS2_ObjectFace_sideLeftBack = 2, + Vanetza_ITS2_ObjectFace_sideRightFront = 3, + Vanetza_ITS2_ObjectFace_sideRightBack = 4, + Vanetza_ITS2_ObjectFace_back = 5 +} e_Vanetza_ITS2_ObjectFace; + +/* Vanetza_ITS2_ObjectFace */ +typedef long Vanetza_ITS2_ObjectFace_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ObjectFace_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectFace; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_ObjectFace_specs_1; +asn_struct_free_f Vanetza_ITS2_ObjectFace_free; +asn_struct_print_f Vanetza_ITS2_ObjectFace_print; +asn_constr_check_f Vanetza_ITS2_ObjectFace_constraint; +ber_type_decoder_f Vanetza_ITS2_ObjectFace_decode_ber; +der_type_encoder_f Vanetza_ITS2_ObjectFace_encode_der; +xer_type_decoder_f Vanetza_ITS2_ObjectFace_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ObjectFace_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ObjectFace_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ObjectFace_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ObjectFace_encode_oer; +per_type_decoder_f Vanetza_ITS2_ObjectFace_decode_uper; +per_type_encoder_f Vanetza_ITS2_ObjectFace_encode_uper; +per_type_decoder_f Vanetza_ITS2_ObjectFace_decode_aper; +per_type_encoder_f Vanetza_ITS2_ObjectFace_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ObjectFace_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ObjectPerceptionQuality.c b/vanetza/asn1/its/r2/ObjectPerceptionQuality.c new file mode 100644 index 000000000..e31278e25 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectPerceptionQuality.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ObjectPerceptionQuality.h" + +int +Vanetza_ITS2_ObjectPerceptionQuality_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ObjectPerceptionQuality_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ObjectPerceptionQuality_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ObjectPerceptionQuality_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectPerceptionQuality = { + "ObjectPerceptionQuality", + "ObjectPerceptionQuality", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_ObjectPerceptionQuality_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ObjectPerceptionQuality_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectPerceptionQuality_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ObjectPerceptionQuality_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ObjectPerceptionQuality_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ObjectPerceptionQuality_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ObjectPerceptionQuality_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ObjectPerceptionQuality_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ObjectPerceptionQuality_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/ObjectPerceptionQuality.h b/vanetza/asn1/its/r2/ObjectPerceptionQuality.h new file mode 100644 index 000000000..7895f7b37 --- /dev/null +++ b/vanetza/asn1/its/r2/ObjectPerceptionQuality.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ObjectPerceptionQuality_H_ +#define _Vanetza_ITS2_ObjectPerceptionQuality_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ObjectPerceptionQuality { + Vanetza_ITS2_ObjectPerceptionQuality_noConfidence = 0, + Vanetza_ITS2_ObjectPerceptionQuality_fullConfidence = 15 +} e_Vanetza_ITS2_ObjectPerceptionQuality; + +/* Vanetza_ITS2_ObjectPerceptionQuality */ +typedef long Vanetza_ITS2_ObjectPerceptionQuality_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ObjectPerceptionQuality_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ObjectPerceptionQuality; +asn_struct_free_f Vanetza_ITS2_ObjectPerceptionQuality_free; +asn_struct_print_f Vanetza_ITS2_ObjectPerceptionQuality_print; +asn_constr_check_f Vanetza_ITS2_ObjectPerceptionQuality_constraint; +ber_type_decoder_f Vanetza_ITS2_ObjectPerceptionQuality_decode_ber; +der_type_encoder_f Vanetza_ITS2_ObjectPerceptionQuality_encode_der; +xer_type_decoder_f Vanetza_ITS2_ObjectPerceptionQuality_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ObjectPerceptionQuality_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ObjectPerceptionQuality_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ObjectPerceptionQuality_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ObjectPerceptionQuality_encode_oer; +per_type_decoder_f Vanetza_ITS2_ObjectPerceptionQuality_decode_uper; +per_type_encoder_f Vanetza_ITS2_ObjectPerceptionQuality_encode_uper; +per_type_decoder_f Vanetza_ITS2_ObjectPerceptionQuality_decode_aper; +per_type_encoder_f Vanetza_ITS2_ObjectPerceptionQuality_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ObjectPerceptionQuality_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/OccupiedLanesWithConfidence.c b/vanetza/asn1/its/r2/OccupiedLanesWithConfidence.c new file mode 100644 index 000000000..a5d178c46 --- /dev/null +++ b/vanetza/asn1/its/r2/OccupiedLanesWithConfidence.c @@ -0,0 +1,334 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "OccupiedLanesWithConfidence.h" + +static int +memb_Vanetza_ITS2_lanePositionBased_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_Vanetza_ITS2_mapBased_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_lanePositionBased_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_lanePositionBased_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_mapBased_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_mapBased_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_lanePositionBased_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_lanePositionBased_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_mapBased_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_mapBased_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_lanePositionBased_2[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Vanetza_ITS2_LanePositionOptions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_lanePositionBased_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_lanePositionBased_specs_2 = { + sizeof(struct Vanetza_ITS2_OccupiedLanesWithConfidence__lanePositionBased), + offsetof(struct Vanetza_ITS2_OccupiedLanesWithConfidence__lanePositionBased, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_lanePositionBased_2 = { + "lanePositionBased", + "lanePositionBased", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_lanePositionBased_tags_2, + sizeof(asn_DEF_Vanetza_ITS2_lanePositionBased_tags_2) + /sizeof(asn_DEF_Vanetza_ITS2_lanePositionBased_tags_2[0]) - 1, /* 1 */ + asn_DEF_Vanetza_ITS2_lanePositionBased_tags_2, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_lanePositionBased_tags_2) + /sizeof(asn_DEF_Vanetza_ITS2_lanePositionBased_tags_2[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_lanePositionBased_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_lanePositionBased_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_lanePositionBased_2, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_lanePositionBased_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_mapBased_4[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_MapPosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_mapBased_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_mapBased_specs_4 = { + sizeof(struct Vanetza_ITS2_OccupiedLanesWithConfidence__mapBased), + offsetof(struct Vanetza_ITS2_OccupiedLanesWithConfidence__mapBased, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_mapBased_4 = { + "mapBased", + "mapBased", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_mapBased_tags_4, + sizeof(asn_DEF_Vanetza_ITS2_mapBased_tags_4) + /sizeof(asn_DEF_Vanetza_ITS2_mapBased_tags_4[0]) - 1, /* 1 */ + asn_DEF_Vanetza_ITS2_mapBased_tags_4, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_mapBased_tags_4) + /sizeof(asn_DEF_Vanetza_ITS2_mapBased_tags_4[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_mapBased_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_mapBased_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_mapBased_4, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_mapBased_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_OccupiedLanesWithConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_OccupiedLanesWithConfidence, lanePositionBased), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_lanePositionBased_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_lanePositionBased_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_lanePositionBased_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_lanePositionBased_constraint_1 + }, + 0, 0, /* No default value */ + "lanePositionBased" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_OccupiedLanesWithConfidence, mapBased), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_mapBased_4, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_mapBased_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_mapBased_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_mapBased_constraint_1 + }, + 0, 0, /* No default value */ + "mapBased" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_OccupiedLanesWithConfidence, confidence), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MetaInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const int asn_MAP_Vanetza_ITS2_OccupiedLanesWithConfidence_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_OccupiedLanesWithConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_OccupiedLanesWithConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lanePositionBased */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* mapBased */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* confidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_OccupiedLanesWithConfidence_specs_1 = { + sizeof(struct Vanetza_ITS2_OccupiedLanesWithConfidence), + offsetof(struct Vanetza_ITS2_OccupiedLanesWithConfidence, _asn_ctx), + asn_MAP_Vanetza_ITS2_OccupiedLanesWithConfidence_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_OccupiedLanesWithConfidence_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OccupiedLanesWithConfidence = { + "OccupiedLanesWithConfidence", + "OccupiedLanesWithConfidence", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_OccupiedLanesWithConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_OccupiedLanesWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OccupiedLanesWithConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_OccupiedLanesWithConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_OccupiedLanesWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OccupiedLanesWithConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_OccupiedLanesWithConfidence_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_OccupiedLanesWithConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/OccupiedLanesWithConfidence.h b/vanetza/asn1/its/r2/OccupiedLanesWithConfidence.h new file mode 100644 index 000000000..50fe02325 --- /dev/null +++ b/vanetza/asn1/its/r2/OccupiedLanesWithConfidence.h @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_OccupiedLanesWithConfidence_H_ +#define _Vanetza_ITS2_OccupiedLanesWithConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MetaInformation.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_LanePositionOptions; +struct Vanetza_ITS2_MapPosition; + +/* Vanetza_ITS2_OccupiedLanesWithConfidence */ +typedef struct Vanetza_ITS2_OccupiedLanesWithConfidence { + struct Vanetza_ITS2_OccupiedLanesWithConfidence__lanePositionBased { + A_SEQUENCE_OF(struct Vanetza_ITS2_LanePositionOptions) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } lanePositionBased; + struct Vanetza_ITS2_OccupiedLanesWithConfidence__mapBased { + A_SEQUENCE_OF(struct Vanetza_ITS2_MapPosition) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *mapBased; + Vanetza_ITS2_MetaInformation_t confidence; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_OccupiedLanesWithConfidence_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OccupiedLanesWithConfidence; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_OccupiedLanesWithConfidence_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_OccupiedLanesWithConfidence_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "LanePositionOptions.h" +#include "MapPosition.h" + +#endif /* _Vanetza_ITS2_OccupiedLanesWithConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/OpeningDaysHours.c b/vanetza/asn1/its/r2/OpeningDaysHours.c new file mode 100644 index 000000000..4876e26b1 --- /dev/null +++ b/vanetza/asn1/its/r2/OpeningDaysHours.c @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "OpeningDaysHours.h" + +/* + * This type is implemented using UTF8String, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_OpeningDaysHours_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OpeningDaysHours = { + "OpeningDaysHours", + "OpeningDaysHours", + &asn_OP_UTF8String, + asn_DEF_Vanetza_ITS2_OpeningDaysHours_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_OpeningDaysHours_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OpeningDaysHours_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_OpeningDaysHours_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_OpeningDaysHours_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OpeningDaysHours_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + UTF8String_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/OpeningDaysHours.h b/vanetza/asn1/its/r2/OpeningDaysHours.h new file mode 100644 index 000000000..f2d0938a8 --- /dev/null +++ b/vanetza/asn1/its/r2/OpeningDaysHours.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_OpeningDaysHours_H_ +#define _Vanetza_ITS2_OpeningDaysHours_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "UTF8String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_OpeningDaysHours */ +typedef UTF8String_t Vanetza_ITS2_OpeningDaysHours_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OpeningDaysHours; +asn_struct_free_f Vanetza_ITS2_OpeningDaysHours_free; +asn_struct_print_f Vanetza_ITS2_OpeningDaysHours_print; +asn_constr_check_f Vanetza_ITS2_OpeningDaysHours_constraint; +ber_type_decoder_f Vanetza_ITS2_OpeningDaysHours_decode_ber; +der_type_encoder_f Vanetza_ITS2_OpeningDaysHours_encode_der; +xer_type_decoder_f Vanetza_ITS2_OpeningDaysHours_decode_xer; +xer_type_encoder_f Vanetza_ITS2_OpeningDaysHours_encode_xer; +jer_type_encoder_f Vanetza_ITS2_OpeningDaysHours_encode_jer; +oer_type_decoder_f Vanetza_ITS2_OpeningDaysHours_decode_oer; +oer_type_encoder_f Vanetza_ITS2_OpeningDaysHours_encode_oer; +per_type_decoder_f Vanetza_ITS2_OpeningDaysHours_decode_uper; +per_type_encoder_f Vanetza_ITS2_OpeningDaysHours_encode_uper; +per_type_decoder_f Vanetza_ITS2_OpeningDaysHours_decode_aper; +per_type_encoder_f Vanetza_ITS2_OpeningDaysHours_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_OpeningDaysHours_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/OrdinalNumber1B.c b/vanetza/asn1/its/r2/OrdinalNumber1B.c new file mode 100644 index 000000000..9e3cae72e --- /dev/null +++ b/vanetza/asn1/its/r2/OrdinalNumber1B.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "OrdinalNumber1B.h" + +int +Vanetza_ITS2_OrdinalNumber1B_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_OrdinalNumber1B_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_OrdinalNumber1B_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_OrdinalNumber1B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OrdinalNumber1B = { + "OrdinalNumber1B", + "OrdinalNumber1B", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_OrdinalNumber1B_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_OrdinalNumber1B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OrdinalNumber1B_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_OrdinalNumber1B_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_OrdinalNumber1B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OrdinalNumber1B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_OrdinalNumber1B_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_OrdinalNumber1B_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_OrdinalNumber1B_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/OrdinalNumber1B.h b/vanetza/asn1/its/r2/OrdinalNumber1B.h new file mode 100644 index 000000000..bbe8dfd92 --- /dev/null +++ b/vanetza/asn1/its/r2/OrdinalNumber1B.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_OrdinalNumber1B_H_ +#define _Vanetza_ITS2_OrdinalNumber1B_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_OrdinalNumber1B */ +typedef long Vanetza_ITS2_OrdinalNumber1B_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_OrdinalNumber1B_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OrdinalNumber1B; +asn_struct_free_f Vanetza_ITS2_OrdinalNumber1B_free; +asn_struct_print_f Vanetza_ITS2_OrdinalNumber1B_print; +asn_constr_check_f Vanetza_ITS2_OrdinalNumber1B_constraint; +ber_type_decoder_f Vanetza_ITS2_OrdinalNumber1B_decode_ber; +der_type_encoder_f Vanetza_ITS2_OrdinalNumber1B_encode_der; +xer_type_decoder_f Vanetza_ITS2_OrdinalNumber1B_decode_xer; +xer_type_encoder_f Vanetza_ITS2_OrdinalNumber1B_encode_xer; +jer_type_encoder_f Vanetza_ITS2_OrdinalNumber1B_encode_jer; +oer_type_decoder_f Vanetza_ITS2_OrdinalNumber1B_decode_oer; +oer_type_encoder_f Vanetza_ITS2_OrdinalNumber1B_encode_oer; +per_type_decoder_f Vanetza_ITS2_OrdinalNumber1B_decode_uper; +per_type_encoder_f Vanetza_ITS2_OrdinalNumber1B_encode_uper; +per_type_decoder_f Vanetza_ITS2_OrdinalNumber1B_decode_aper; +per_type_encoder_f Vanetza_ITS2_OrdinalNumber1B_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_OrdinalNumber1B_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/OrdinalNumber3b.c b/vanetza/asn1/its/r2/OrdinalNumber3b.c new file mode 100644 index 000000000..8965de65c --- /dev/null +++ b/vanetza/asn1/its/r2/OrdinalNumber3b.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "OrdinalNumber3b.h" + +int +Vanetza_ITS2_OrdinalNumber3b_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 8L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_OrdinalNumber3b_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..8) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_OrdinalNumber3b_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (1..8) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_OrdinalNumber3b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OrdinalNumber3b = { + "OrdinalNumber3b", + "OrdinalNumber3b", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_OrdinalNumber3b_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_OrdinalNumber3b_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OrdinalNumber3b_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_OrdinalNumber3b_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_OrdinalNumber3b_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OrdinalNumber3b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_OrdinalNumber3b_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_OrdinalNumber3b_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_OrdinalNumber3b_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/OrdinalNumber3b.h b/vanetza/asn1/its/r2/OrdinalNumber3b.h new file mode 100644 index 000000000..cf78d98b5 --- /dev/null +++ b/vanetza/asn1/its/r2/OrdinalNumber3b.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_OrdinalNumber3b_H_ +#define _Vanetza_ITS2_OrdinalNumber3b_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_OrdinalNumber3b */ +typedef long Vanetza_ITS2_OrdinalNumber3b_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_OrdinalNumber3b_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OrdinalNumber3b; +asn_struct_free_f Vanetza_ITS2_OrdinalNumber3b_free; +asn_struct_print_f Vanetza_ITS2_OrdinalNumber3b_print; +asn_constr_check_f Vanetza_ITS2_OrdinalNumber3b_constraint; +ber_type_decoder_f Vanetza_ITS2_OrdinalNumber3b_decode_ber; +der_type_encoder_f Vanetza_ITS2_OrdinalNumber3b_encode_der; +xer_type_decoder_f Vanetza_ITS2_OrdinalNumber3b_decode_xer; +xer_type_encoder_f Vanetza_ITS2_OrdinalNumber3b_encode_xer; +jer_type_encoder_f Vanetza_ITS2_OrdinalNumber3b_encode_jer; +oer_type_decoder_f Vanetza_ITS2_OrdinalNumber3b_decode_oer; +oer_type_encoder_f Vanetza_ITS2_OrdinalNumber3b_encode_oer; +per_type_decoder_f Vanetza_ITS2_OrdinalNumber3b_decode_uper; +per_type_encoder_f Vanetza_ITS2_OrdinalNumber3b_encode_uper; +per_type_decoder_f Vanetza_ITS2_OrdinalNumber3b_decode_aper; +per_type_encoder_f Vanetza_ITS2_OrdinalNumber3b_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_OrdinalNumber3b_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/OriginatingRsuContainer.c b/vanetza/asn1/its/r2/OriginatingRsuContainer.c new file mode 100644 index 000000000..87d3eb58b --- /dev/null +++ b/vanetza/asn1/its/r2/OriginatingRsuContainer.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-OriginatingStationContainers" + * found in "asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "OriginatingRsuContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_OriginatingRsuContainer_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_OriginatingRsuContainer, mapReference), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MapReference, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mapReference" + }, +}; +static const int asn_MAP_Vanetza_ITS2_OriginatingRsuContainer_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_OriginatingRsuContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_OriginatingRsuContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mapReference */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_OriginatingRsuContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_OriginatingRsuContainer), + offsetof(struct Vanetza_ITS2_OriginatingRsuContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_OriginatingRsuContainer_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_OriginatingRsuContainer_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OriginatingRsuContainer = { + "OriginatingRsuContainer", + "OriginatingRsuContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_OriginatingRsuContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_OriginatingRsuContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OriginatingRsuContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_OriginatingRsuContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_OriginatingRsuContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OriginatingRsuContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_OriginatingRsuContainer_1, + 1, /* Elements count */ + &asn_SPC_Vanetza_ITS2_OriginatingRsuContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/OriginatingRsuContainer.h b/vanetza/asn1/its/r2/OriginatingRsuContainer.h new file mode 100644 index 000000000..29897d62f --- /dev/null +++ b/vanetza/asn1/its/r2/OriginatingRsuContainer.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-OriginatingStationContainers" + * found in "asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_OriginatingRsuContainer_H_ +#define _Vanetza_ITS2_OriginatingRsuContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_MapReference; + +/* Vanetza_ITS2_OriginatingRsuContainer */ +typedef struct Vanetza_ITS2_OriginatingRsuContainer { + struct Vanetza_ITS2_MapReference *mapReference; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_OriginatingRsuContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OriginatingRsuContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_OriginatingRsuContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_OriginatingRsuContainer_1[1]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MapReference.h" + +#endif /* _Vanetza_ITS2_OriginatingRsuContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/OriginatingVehicleContainer.c b/vanetza/asn1/its/r2/OriginatingVehicleContainer.c new file mode 100644 index 000000000..e3d2b7f66 --- /dev/null +++ b/vanetza/asn1/its/r2/OriginatingVehicleContainer.c @@ -0,0 +1,137 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-OriginatingStationContainers" + * found in "asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "OriginatingVehicleContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_OriginatingVehicleContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_OriginatingVehicleContainer, orientationAngle), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Wgs84Angle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "orientationAngle" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_OriginatingVehicleContainer, pitchAngle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pitchAngle" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_OriginatingVehicleContainer, rollAngle), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rollAngle" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_OriginatingVehicleContainer, trailerDataSet), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TrailerDataSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailerDataSet" + }, +}; +static const int asn_MAP_Vanetza_ITS2_OriginatingVehicleContainer_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_OriginatingVehicleContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_OriginatingVehicleContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* orientationAngle */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pitchAngle */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rollAngle */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* trailerDataSet */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_OriginatingVehicleContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_OriginatingVehicleContainer), + offsetof(struct Vanetza_ITS2_OriginatingVehicleContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_OriginatingVehicleContainer_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_OriginatingVehicleContainer_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OriginatingVehicleContainer = { + "OriginatingVehicleContainer", + "OriginatingVehicleContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_OriginatingVehicleContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_OriginatingVehicleContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OriginatingVehicleContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_OriginatingVehicleContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_OriginatingVehicleContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OriginatingVehicleContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_OriginatingVehicleContainer_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_OriginatingVehicleContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/OriginatingVehicleContainer.h b/vanetza/asn1/its/r2/OriginatingVehicleContainer.h new file mode 100644 index 000000000..81af50ce2 --- /dev/null +++ b/vanetza/asn1/its/r2/OriginatingVehicleContainer.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-OriginatingStationContainers" + * found in "asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_OriginatingVehicleContainer_H_ +#define _Vanetza_ITS2_OriginatingVehicleContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Wgs84Angle.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CartesianAngle; +struct Vanetza_ITS2_TrailerDataSet; + +/* Vanetza_ITS2_OriginatingVehicleContainer */ +typedef struct Vanetza_ITS2_OriginatingVehicleContainer { + Vanetza_ITS2_Wgs84Angle_t orientationAngle; + struct Vanetza_ITS2_CartesianAngle *pitchAngle; /* OPTIONAL */ + struct Vanetza_ITS2_CartesianAngle *rollAngle; /* OPTIONAL */ + struct Vanetza_ITS2_TrailerDataSet *trailerDataSet; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_OriginatingVehicleContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OriginatingVehicleContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_OriginatingVehicleContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_OriginatingVehicleContainer_1[4]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CartesianAngle.h" +#include "TrailerDataSet.h" + +#endif /* _Vanetza_ITS2_OriginatingVehicleContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/OtherSubClass.c b/vanetza/asn1/its/r2/OtherSubClass.c new file mode 100644 index 000000000..14e02e73e --- /dev/null +++ b/vanetza/asn1/its/r2/OtherSubClass.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "OtherSubClass.h" + +int +Vanetza_ITS2_OtherSubClass_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_OtherSubClass_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_OtherSubClass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_OtherSubClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OtherSubClass = { + "OtherSubClass", + "OtherSubClass", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_OtherSubClass_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_OtherSubClass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OtherSubClass_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_OtherSubClass_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_OtherSubClass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_OtherSubClass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_OtherSubClass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_OtherSubClass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_OtherSubClass_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/OtherSubClass.h b/vanetza/asn1/its/r2/OtherSubClass.h new file mode 100644 index 000000000..d1852d55a --- /dev/null +++ b/vanetza/asn1/its/r2/OtherSubClass.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_OtherSubClass_H_ +#define _Vanetza_ITS2_OtherSubClass_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_OtherSubClass { + Vanetza_ITS2_OtherSubClass_unknown = 0, + Vanetza_ITS2_OtherSubClass_singleObject = 1, + Vanetza_ITS2_OtherSubClass_multipleObjects = 2, + Vanetza_ITS2_OtherSubClass_bulkMaterial = 3 +} e_Vanetza_ITS2_OtherSubClass; + +/* Vanetza_ITS2_OtherSubClass */ +typedef long Vanetza_ITS2_OtherSubClass_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_OtherSubClass_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_OtherSubClass; +asn_struct_free_f Vanetza_ITS2_OtherSubClass_free; +asn_struct_print_f Vanetza_ITS2_OtherSubClass_print; +asn_constr_check_f Vanetza_ITS2_OtherSubClass_constraint; +ber_type_decoder_f Vanetza_ITS2_OtherSubClass_decode_ber; +der_type_encoder_f Vanetza_ITS2_OtherSubClass_encode_der; +xer_type_decoder_f Vanetza_ITS2_OtherSubClass_decode_xer; +xer_type_encoder_f Vanetza_ITS2_OtherSubClass_encode_xer; +jer_type_encoder_f Vanetza_ITS2_OtherSubClass_encode_jer; +oer_type_decoder_f Vanetza_ITS2_OtherSubClass_decode_oer; +oer_type_encoder_f Vanetza_ITS2_OtherSubClass_encode_oer; +per_type_decoder_f Vanetza_ITS2_OtherSubClass_decode_uper; +per_type_encoder_f Vanetza_ITS2_OtherSubClass_encode_uper; +per_type_decoder_f Vanetza_ITS2_OtherSubClass_decode_aper; +per_type_encoder_f Vanetza_ITS2_OtherSubClass_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_OtherSubClass_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Path.c b/vanetza/asn1/its/r2/Path.c new file mode 100644 index 000000000..144f7097b --- /dev/null +++ b/vanetza/asn1/its/r2/Path.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Path.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Path_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..40)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Path_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 0, 40 } /* (SIZE(0..40)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Path_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_PathPoint, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Path_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_Path_specs_1 = { + sizeof(struct Vanetza_ITS2_Path), + offsetof(struct Vanetza_ITS2_Path, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Path = { + "Path", + "Path", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_Path_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Path_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Path_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Path_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Path_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Path_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Path_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Path_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_Path_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_Path_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Path.h b/vanetza/asn1/its/r2/Path.h new file mode 100644 index 000000000..2bde17c1c --- /dev/null +++ b/vanetza/asn1/its/r2/Path.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Path_H_ +#define _Vanetza_ITS2_Path_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 Vanetza_ITS2_PathPoint; + +/* Vanetza_ITS2_Path */ +typedef struct Vanetza_ITS2_Path { + A_SEQUENCE_OF(struct Vanetza_ITS2_PathPoint) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Path_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Path; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_Path_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Path_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Path_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "PathPoint.h" + +#endif /* _Vanetza_ITS2_Path_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PathDeltaTime.c b/vanetza/asn1/its/r2/PathDeltaTime.c new file mode 100644 index 000000000..de1ecf988 --- /dev/null +++ b/vanetza/asn1/its/r2/PathDeltaTime.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PathDeltaTime.h" + +int +Vanetza_ITS2_PathDeltaTime_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PathDeltaTime_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_Vanetza_ITS2_PathDeltaTime_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PathDeltaTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathDeltaTime = { + "PathDeltaTime", + "PathDeltaTime", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_PathDeltaTime_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PathDeltaTime_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathDeltaTime_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PathDeltaTime_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PathDeltaTime_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathDeltaTime_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PathDeltaTime_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PathDeltaTime_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PathDeltaTime_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/PathDeltaTime.h b/vanetza/asn1/its/r2/PathDeltaTime.h new file mode 100644 index 000000000..b00c989d5 --- /dev/null +++ b/vanetza/asn1/its/r2/PathDeltaTime.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PathDeltaTime_H_ +#define _Vanetza_ITS2_PathDeltaTime_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PathDeltaTime */ +typedef long Vanetza_ITS2_PathDeltaTime_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PathDeltaTime_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathDeltaTime; +asn_struct_free_f Vanetza_ITS2_PathDeltaTime_free; +asn_struct_print_f Vanetza_ITS2_PathDeltaTime_print; +asn_constr_check_f Vanetza_ITS2_PathDeltaTime_constraint; +ber_type_decoder_f Vanetza_ITS2_PathDeltaTime_decode_ber; +der_type_encoder_f Vanetza_ITS2_PathDeltaTime_encode_der; +xer_type_decoder_f Vanetza_ITS2_PathDeltaTime_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PathDeltaTime_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PathDeltaTime_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PathDeltaTime_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PathDeltaTime_encode_oer; +per_type_decoder_f Vanetza_ITS2_PathDeltaTime_decode_uper; +per_type_encoder_f Vanetza_ITS2_PathDeltaTime_encode_uper; +per_type_decoder_f Vanetza_ITS2_PathDeltaTime_decode_aper; +per_type_encoder_f Vanetza_ITS2_PathDeltaTime_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PathDeltaTime_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PathDeltaTimeChoice.c b/vanetza/asn1/its/r2/PathDeltaTimeChoice.c new file mode 100644 index 000000000..784c1eaab --- /dev/null +++ b/vanetza/asn1/its/r2/PathDeltaTimeChoice.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PathDeltaTimeChoice.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PathDeltaTimeChoice_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_Vanetza_ITS2_PathDeltaTimeChoice_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathDeltaTimeChoice_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PathDeltaTimeChoice, choice.deltaTimeHighPrecision), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deltaTimeHighPrecision" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PathDeltaTimeChoice, choice.deltaTimeBigRange), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeTenSeconds, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deltaTimeBigRange" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PathDeltaTimeChoice_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* deltaTimeHighPrecision */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* deltaTimeBigRange */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_PathDeltaTimeChoice_specs_1 = { + sizeof(struct Vanetza_ITS2_PathDeltaTimeChoice), + offsetof(struct Vanetza_ITS2_PathDeltaTimeChoice, _asn_ctx), + offsetof(struct Vanetza_ITS2_PathDeltaTimeChoice, present), + sizeof(((struct Vanetza_ITS2_PathDeltaTimeChoice *)0)->present), + asn_MAP_Vanetza_ITS2_PathDeltaTimeChoice_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathDeltaTimeChoice = { + "PathDeltaTimeChoice", + "PathDeltaTimeChoice", + &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_Vanetza_ITS2_PathDeltaTimeChoice_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PathDeltaTimeChoice_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_PathDeltaTimeChoice_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PathDeltaTimeChoice_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PathDeltaTimeChoice.h b/vanetza/asn1/its/r2/PathDeltaTimeChoice.h new file mode 100644 index 000000000..726e9a0b8 --- /dev/null +++ b/vanetza/asn1/its/r2/PathDeltaTimeChoice.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PathDeltaTimeChoice_H_ +#define _Vanetza_ITS2_PathDeltaTimeChoice_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "DeltaTimeTenthOfSecond.h" +#include "DeltaTimeTenSeconds.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PathDeltaTimeChoice_PR { + Vanetza_ITS2_PathDeltaTimeChoice_PR_NOTHING, /* No components present */ + Vanetza_ITS2_PathDeltaTimeChoice_PR_deltaTimeHighPrecision, + Vanetza_ITS2_PathDeltaTimeChoice_PR_deltaTimeBigRange + /* Extensions may appear below */ + +} Vanetza_ITS2_PathDeltaTimeChoice_PR; + +/* Vanetza_ITS2_PathDeltaTimeChoice */ +typedef struct Vanetza_ITS2_PathDeltaTimeChoice { + Vanetza_ITS2_PathDeltaTimeChoice_PR present; + union Vanetza_ITS2_PathDeltaTimeChoice_u { + Vanetza_ITS2_DeltaTimeTenthOfSecond_t deltaTimeHighPrecision; + Vanetza_ITS2_DeltaTimeTenSeconds_t deltaTimeBigRange; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PathDeltaTimeChoice_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathDeltaTimeChoice; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_PathDeltaTimeChoice_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathDeltaTimeChoice_1[2]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PathDeltaTimeChoice_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PathDeltaTimeChoice_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PathExtended.c b/vanetza/asn1/its/r2/PathExtended.c new file mode 100644 index 000000000..985bf1f07 --- /dev/null +++ b/vanetza/asn1/its/r2/PathExtended.c @@ -0,0 +1,130 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PathExtended.h" + +static int +memb_Vanetza_ITS2_pointOfEventZone_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 23L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_pointOfEventZone_constr_2 CC_NOTUSED = { + { 1, 1 } /* (1..23) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_pointOfEventZone_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 1, 23 } /* (1..23) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathExtended_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PathExtended, pointOfEventZone), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_pointOfEventZone_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_pointOfEventZone_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_pointOfEventZone_constraint_1 + }, + 0, 0, /* No default value */ + "pointOfEventZone" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PathExtended, path), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Path, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "path" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PathExtended_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PathExtended_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pointOfEventZone */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* path */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PathExtended_specs_1 = { + sizeof(struct Vanetza_ITS2_PathExtended), + offsetof(struct Vanetza_ITS2_PathExtended, _asn_ctx), + asn_MAP_Vanetza_ITS2_PathExtended_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_Vanetza_ITS2_PathExtended = { + "PathExtended", + "PathExtended", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PathExtended_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PathExtended_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathExtended_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PathExtended_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PathExtended_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathExtended_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PathExtended_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PathExtended_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PathExtended.h b/vanetza/asn1/its/r2/PathExtended.h new file mode 100644 index 000000000..d2fb28b0f --- /dev/null +++ b/vanetza/asn1/its/r2/PathExtended.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PathExtended_H_ +#define _Vanetza_ITS2_PathExtended_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "Path.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PathExtended */ +typedef struct Vanetza_ITS2_PathExtended { + long pointOfEventZone; + Vanetza_ITS2_Path_t path; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PathExtended_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathExtended; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PathExtended_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathExtended_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PathExtended_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PathHistory.c b/vanetza/asn1/its/r2/PathHistory.c new file mode 100644 index 000000000..808a31f5a --- /dev/null +++ b/vanetza/asn1/its/r2/PathHistory.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PathHistory.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PathHistory_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..40)) */}; +#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_Vanetza_ITS2_PathHistory_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 0, 40 } /* (SIZE(0..40)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathHistory_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_PathPoint, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PathHistory_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PathHistory_specs_1 = { + sizeof(struct Vanetza_ITS2_PathHistory), + offsetof(struct Vanetza_ITS2_PathHistory, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathHistory = { + "PathHistory", + "PathHistory", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_PathHistory_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PathHistory_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathHistory_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PathHistory_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PathHistory_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathHistory_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PathHistory_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PathHistory_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_PathHistory_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_PathHistory_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PathHistory.h b/vanetza/asn1/its/r2/PathHistory.h new file mode 100644 index 000000000..71dcb95a8 --- /dev/null +++ b/vanetza/asn1/its/r2/PathHistory.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PathHistory_H_ +#define _Vanetza_ITS2_PathHistory_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 Vanetza_ITS2_PathPoint; + +/* Vanetza_ITS2_PathHistory */ +typedef struct Vanetza_ITS2_PathHistory { + A_SEQUENCE_OF(struct Vanetza_ITS2_PathPoint) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PathHistory_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathHistory; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "PathPoint.h" + +#endif /* _Vanetza_ITS2_PathHistory_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PathId.c b/vanetza/asn1/its/r2/PathId.c new file mode 100644 index 000000000..e2e138e81 --- /dev/null +++ b/vanetza/asn1/its/r2/PathId.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PathId.h" + +int +Vanetza_ITS2_PathId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 14L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PathId_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..14) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PathId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 14 } /* (0..14) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PathId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathId = { + "PathId", + "PathId", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_PathId_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PathId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathId_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PathId_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PathId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PathId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PathId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PathId_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/PathId.h b/vanetza/asn1/its/r2/PathId.h new file mode 100644 index 000000000..058bfbfe6 --- /dev/null +++ b/vanetza/asn1/its/r2/PathId.h @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PathId_H_ +#define _Vanetza_ITS2_PathId_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PathId { + Vanetza_ITS2_PathId_noPath = 0, + Vanetza_ITS2_PathId_path1 = 1, + Vanetza_ITS2_PathId_path2 = 2, + Vanetza_ITS2_PathId_path3 = 3, + Vanetza_ITS2_PathId_path4 = 4, + Vanetza_ITS2_PathId_path5 = 5, + Vanetza_ITS2_PathId_path6 = 6, + Vanetza_ITS2_PathId_path7 = 7, + Vanetza_ITS2_PathId_pathExtended1 = 8, + Vanetza_ITS2_PathId_pathExtended2 = 9, + Vanetza_ITS2_PathId_pathExtended3 = 10, + Vanetza_ITS2_PathId_pathExtended4 = 11, + Vanetza_ITS2_PathId_pathExtended5 = 12, + Vanetza_ITS2_PathId_pathExtended6 = 13, + Vanetza_ITS2_PathId_pathExtended7 = 14 +} e_Vanetza_ITS2_PathId; + +/* Vanetza_ITS2_PathId */ +typedef long Vanetza_ITS2_PathId_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PathId_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathId; +asn_struct_free_f Vanetza_ITS2_PathId_free; +asn_struct_print_f Vanetza_ITS2_PathId_print; +asn_constr_check_f Vanetza_ITS2_PathId_constraint; +ber_type_decoder_f Vanetza_ITS2_PathId_decode_ber; +der_type_encoder_f Vanetza_ITS2_PathId_encode_der; +xer_type_decoder_f Vanetza_ITS2_PathId_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PathId_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PathId_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PathId_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PathId_encode_oer; +per_type_decoder_f Vanetza_ITS2_PathId_decode_uper; +per_type_encoder_f Vanetza_ITS2_PathId_encode_uper; +per_type_decoder_f Vanetza_ITS2_PathId_decode_aper; +per_type_encoder_f Vanetza_ITS2_PathId_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PathId_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PathPoint.c b/vanetza/asn1/its/r2/PathPoint.c new file mode 100644 index 000000000..3cb2fefaa --- /dev/null +++ b/vanetza/asn1/its/r2/PathPoint.c @@ -0,0 +1,95 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PathPoint.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathPoint_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PathPoint, pathPosition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaReferencePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pathPosition" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_PathPoint, pathDeltaTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PathDeltaTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pathDeltaTime" + }, +}; +static const int asn_MAP_Vanetza_ITS2_PathPoint_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PathPoint_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PathPoint_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pathPosition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* pathDeltaTime */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PathPoint_specs_1 = { + sizeof(struct Vanetza_ITS2_PathPoint), + offsetof(struct Vanetza_ITS2_PathPoint, _asn_ctx), + asn_MAP_Vanetza_ITS2_PathPoint_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_PathPoint_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathPoint = { + "PathPoint", + "PathPoint", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PathPoint_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PathPoint_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathPoint_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PathPoint_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PathPoint_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathPoint_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PathPoint_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PathPoint_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PathPoint.h b/vanetza/asn1/its/r2/PathPoint.h new file mode 100644 index 000000000..cc629a66e --- /dev/null +++ b/vanetza/asn1/its/r2/PathPoint.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PathPoint_H_ +#define _Vanetza_ITS2_PathPoint_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "DeltaReferencePosition.h" +#include "PathDeltaTime.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PathPoint */ +typedef struct Vanetza_ITS2_PathPoint { + Vanetza_ITS2_DeltaReferencePosition_t pathPosition; + Vanetza_ITS2_PathDeltaTime_t *pathDeltaTime; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PathPoint_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathPoint; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PathPoint_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathPoint_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PathPoint_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PathPointPredicted.c b/vanetza/asn1/its/r2/PathPointPredicted.c new file mode 100644 index 000000000..058cabba8 --- /dev/null +++ b/vanetza/asn1/its/r2/PathPointPredicted.c @@ -0,0 +1,279 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PathPointPredicted.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PathPointPredicted_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_Vanetza_ITS2_PathPointPredicted_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static int asn_DFL_5_cmp_12800(const void *sptr) { + const Vanetza_ITS2_DeltaAltitude_t *st = sptr; + + if(!st) { + return -1; /* No value is not a default value */ + } + + /* Test default value 12800 */ + return (*st != 12800); +} +static int asn_DFL_5_set_12800(void **sptr) { + Vanetza_ITS2_DeltaAltitude_t *st = *sptr; + + if(!st) { + st = (*sptr = CALLOC(1, sizeof(*st))); + if(!st) return -1; + } + + /* Install default value 12800 */ + *st = 12800; + return 0; +} +static int asn_DFL_6_cmp_15(const void *sptr) { + const Vanetza_ITS2_AltitudeConfidence_t *st = sptr; + + if(!st) { + return -1; /* No value is not a default value */ + } + + /* Test default value 15 */ + return (*st != 15); +} +static int asn_DFL_6_set_15(void **sptr) { + Vanetza_ITS2_AltitudeConfidence_t *st = *sptr; + + if(!st) { + st = (*sptr = CALLOC(1, sizeof(*st))); + if(!st) return -1; + } + + /* Install default value 15 */ + *st = 15; + return 0; +} +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathPointPredicted_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PathPointPredicted, deltaLatitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaLatitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deltaLatitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PathPointPredicted, deltaLongitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaLongitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deltaLongitude" + }, + { ATF_POINTER, 6, offsetof(struct Vanetza_ITS2_PathPointPredicted, horizontalPositionConfidence), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PosConfidenceEllipse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "horizontalPositionConfidence" + }, + { ATF_POINTER, 5, offsetof(struct Vanetza_ITS2_PathPointPredicted, deltaAltitude), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaAltitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + &asn_DFL_5_cmp_12800, /* Compare DEFAULT 12800 */ + &asn_DFL_5_set_12800, /* Set DEFAULT 12800 */ + "deltaAltitude" + }, + { ATF_POINTER, 4, offsetof(struct Vanetza_ITS2_PathPointPredicted, altitudeConfidence), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + &asn_DFL_6_cmp_15, /* Compare DEFAULT 15 */ + &asn_DFL_6_set_15, /* Set DEFAULT 15 */ + "altitudeConfidence" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_PathPointPredicted, pathDeltaTime), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PathDeltaTimeChoice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pathDeltaTime" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_PathPointPredicted, symmetricAreaOffset), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength9b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "symmetricAreaOffset" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_PathPointPredicted, asymmetricAreaOffset), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength9b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "asymmetricAreaOffset" + }, +}; +static const int asn_MAP_Vanetza_ITS2_PathPointPredicted_oms_1[] = { 2, 3, 4, 5, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PathPointPredicted_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PathPointPredicted_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* deltaLatitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* deltaLongitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* horizontalPositionConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* deltaAltitude */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* altitudeConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* pathDeltaTime */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* symmetricAreaOffset */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* asymmetricAreaOffset */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PathPointPredicted_specs_1 = { + sizeof(struct Vanetza_ITS2_PathPointPredicted), + offsetof(struct Vanetza_ITS2_PathPointPredicted, _asn_ctx), + asn_MAP_Vanetza_ITS2_PathPointPredicted_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_PathPointPredicted_oms_1, /* Optional members */ + 6, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathPointPredicted = { + "PathPointPredicted", + "PathPointPredicted", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PathPointPredicted_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PathPointPredicted_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathPointPredicted_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PathPointPredicted_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PathPointPredicted_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathPointPredicted_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PathPointPredicted_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PathPointPredicted_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PathPointPredicted_1, + 8, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PathPointPredicted_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PathPointPredicted.h b/vanetza/asn1/its/r2/PathPointPredicted.h new file mode 100644 index 000000000..4e12160a8 --- /dev/null +++ b/vanetza/asn1/its/r2/PathPointPredicted.h @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PathPointPredicted_H_ +#define _Vanetza_ITS2_PathPointPredicted_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "DeltaLatitude.h" +#include "DeltaLongitude.h" +#include "DeltaAltitude.h" +#include "AltitudeConfidence.h" +#include "StandardLength9b.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_PosConfidenceEllipse; +struct Vanetza_ITS2_PathDeltaTimeChoice; + +/* Vanetza_ITS2_PathPointPredicted */ +typedef struct Vanetza_ITS2_PathPointPredicted { + Vanetza_ITS2_DeltaLatitude_t deltaLatitude; + Vanetza_ITS2_DeltaLongitude_t deltaLongitude; + struct Vanetza_ITS2_PosConfidenceEllipse *horizontalPositionConfidence; /* OPTIONAL */ + Vanetza_ITS2_DeltaAltitude_t *deltaAltitude; /* DEFAULT 12800 */ + Vanetza_ITS2_AltitudeConfidence_t *altitudeConfidence; /* DEFAULT 15 */ + struct Vanetza_ITS2_PathDeltaTimeChoice *pathDeltaTime; /* OPTIONAL */ + Vanetza_ITS2_StandardLength9b_t *symmetricAreaOffset; /* OPTIONAL */ + Vanetza_ITS2_StandardLength9b_t *asymmetricAreaOffset; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PathPointPredicted_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathPointPredicted; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PathPointPredicted_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathPointPredicted_1[8]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PathPointPredicted_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "PosConfidenceEllipse.h" +#include "PathDeltaTimeChoice.h" + +#endif /* _Vanetza_ITS2_PathPointPredicted_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PathPredicted.c b/vanetza/asn1/its/r2/PathPredicted.c new file mode 100644 index 000000000..22aef41ac --- /dev/null +++ b/vanetza/asn1/its/r2/PathPredicted.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PathPredicted.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PathPredicted_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PathPredicted_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 16 } /* (SIZE(1..16,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathPredicted_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_PathPointPredicted, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PathPredicted_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PathPredicted_specs_1 = { + sizeof(struct Vanetza_ITS2_PathPredicted), + offsetof(struct Vanetza_ITS2_PathPredicted, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathPredicted = { + "PathPredicted", + "PathPredicted", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_PathPredicted_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PathPredicted_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathPredicted_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PathPredicted_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PathPredicted_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathPredicted_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PathPredicted_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PathPredicted_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_PathPredicted_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_PathPredicted_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PathPredicted.h b/vanetza/asn1/its/r2/PathPredicted.h new file mode 100644 index 000000000..922e1ca98 --- /dev/null +++ b/vanetza/asn1/its/r2/PathPredicted.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PathPredicted_H_ +#define _Vanetza_ITS2_PathPredicted_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 Vanetza_ITS2_PathPointPredicted; + +/* Vanetza_ITS2_PathPredicted */ +typedef struct Vanetza_ITS2_PathPredicted { + A_SEQUENCE_OF(struct Vanetza_ITS2_PathPointPredicted) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PathPredicted_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathPredicted; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PathPredicted_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathPredicted_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PathPredicted_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "PathPointPredicted.h" + +#endif /* _Vanetza_ITS2_PathPredicted_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PathPredicted2.c b/vanetza/asn1/its/r2/PathPredicted2.c new file mode 100644 index 000000000..d55a3d33e --- /dev/null +++ b/vanetza/asn1/its/r2/PathPredicted2.c @@ -0,0 +1,152 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PathPredicted2.h" + +static int +memb_Vanetza_ITS2_pathPredicted_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 16UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_pathPredicted_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_pathPredicted_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathPredicted2_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PathPredicted2, pathPredicted), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PathPredicted, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_pathPredicted_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_pathPredicted_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_pathPredicted_constraint_1 + }, + 0, 0, /* No default value */ + "pathPredicted" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PathPredicted2, usageIndication), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_UsageIndication, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "usageIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PathPredicted2, confidenceLevel), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ConfidenceLevel, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidenceLevel" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PathPredicted2_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PathPredicted2_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pathPredicted */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* usageIndication */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* confidenceLevel */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PathPredicted2_specs_1 = { + sizeof(struct Vanetza_ITS2_PathPredicted2), + offsetof(struct Vanetza_ITS2_PathPredicted2, _asn_ctx), + asn_MAP_Vanetza_ITS2_PathPredicted2_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathPredicted2 = { + "PathPredicted2", + "PathPredicted2", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PathPredicted2_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PathPredicted2_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathPredicted2_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PathPredicted2_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PathPredicted2_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathPredicted2_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PathPredicted2_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PathPredicted2_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PathPredicted2.h b/vanetza/asn1/its/r2/PathPredicted2.h new file mode 100644 index 000000000..037b7d937 --- /dev/null +++ b/vanetza/asn1/its/r2/PathPredicted2.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PathPredicted2_H_ +#define _Vanetza_ITS2_PathPredicted2_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "PathPredicted.h" +#include "UsageIndication.h" +#include "ConfidenceLevel.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PathPredicted2 */ +typedef struct Vanetza_ITS2_PathPredicted2 { + Vanetza_ITS2_PathPredicted_t pathPredicted; + Vanetza_ITS2_UsageIndication_t usageIndication; + Vanetza_ITS2_ConfidenceLevel_t confidenceLevel; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PathPredicted2_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathPredicted2; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PathPredicted2_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathPredicted2_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PathPredicted2_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PathPredictedList.c b/vanetza/asn1/its/r2/PathPredictedList.c new file mode 100644 index 000000000..dd6db7d3a --- /dev/null +++ b/vanetza/asn1/its/r2/PathPredictedList.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PathPredictedList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PathPredictedList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PathPredictedList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 16 } /* (SIZE(1..16,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathPredictedList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_PathPredicted2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PathPredictedList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PathPredictedList_specs_1 = { + sizeof(struct Vanetza_ITS2_PathPredictedList), + offsetof(struct Vanetza_ITS2_PathPredictedList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathPredictedList = { + "PathPredictedList", + "PathPredictedList", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_PathPredictedList_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PathPredictedList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathPredictedList_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PathPredictedList_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PathPredictedList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathPredictedList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PathPredictedList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PathPredictedList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_PathPredictedList_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_PathPredictedList_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PathPredictedList.h b/vanetza/asn1/its/r2/PathPredictedList.h new file mode 100644 index 000000000..a09f40849 --- /dev/null +++ b/vanetza/asn1/its/r2/PathPredictedList.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PathPredictedList_H_ +#define _Vanetza_ITS2_PathPredictedList_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 Vanetza_ITS2_PathPredicted2; + +/* Vanetza_ITS2_PathPredictedList */ +typedef struct Vanetza_ITS2_PathPredictedList { + A_SEQUENCE_OF(struct Vanetza_ITS2_PathPredicted2) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PathPredictedList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathPredictedList; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PathPredictedList_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathPredictedList_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PathPredictedList_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "PathPredicted2.h" + +#endif /* _Vanetza_ITS2_PathPredictedList_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PathReferences.c b/vanetza/asn1/its/r2/PathReferences.c new file mode 100644 index 000000000..37d6e951a --- /dev/null +++ b/vanetza/asn1/its/r2/PathReferences.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PathReferences.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PathReferences_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..14)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PathReferences_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 14 } /* (SIZE(1..14)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathReferences_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_PathId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PathReferences_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PathReferences_specs_1 = { + sizeof(struct Vanetza_ITS2_PathReferences), + offsetof(struct Vanetza_ITS2_PathReferences, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathReferences = { + "PathReferences", + "PathReferences", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_PathReferences_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PathReferences_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathReferences_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PathReferences_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PathReferences_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PathReferences_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PathReferences_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PathReferences_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_PathReferences_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_PathReferences_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PathReferences.h b/vanetza/asn1/its/r2/PathReferences.h new file mode 100644 index 000000000..0a155dab1 --- /dev/null +++ b/vanetza/asn1/its/r2/PathReferences.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PathReferences_H_ +#define _Vanetza_ITS2_PathReferences_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "PathId.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PathReferences */ +typedef struct Vanetza_ITS2_PathReferences { + A_SEQUENCE_OF(Vanetza_ITS2_PathId_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PathReferences_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PathReferences; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PathReferences_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PathReferences_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PathReferences_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PathReferences_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PerceivedObject.c b/vanetza/asn1/its/r2/PerceivedObject.c new file mode 100644 index 000000000..3dd393242 --- /dev/null +++ b/vanetza/asn1/its/r2/PerceivedObject.c @@ -0,0 +1,426 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PerceivedObject.h" + +static int +memb_Vanetza_ITS2_objectAge_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 <= 2047L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_objectAge_constr_13 CC_NOTUSED = { + { 2, 1 } /* (0..2047) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_objectAge_constr_13 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 2047 } /* (0..2047) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceivedObject_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_PerceivedObject, objectId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier2B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "objectId" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PerceivedObject, measurementDeltaTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "measurementDeltaTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PerceivedObject, position), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianPosition3dWithConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "position" + }, + { ATF_POINTER, 13, offsetof(struct Vanetza_ITS2_PerceivedObject, velocity), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Velocity3dWithConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "velocity" + }, + { ATF_POINTER, 12, offsetof(struct Vanetza_ITS2_PerceivedObject, acceleration), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Acceleration3dWithConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "acceleration" + }, + { ATF_POINTER, 11, offsetof(struct Vanetza_ITS2_PerceivedObject, angles), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EulerAnglesWithConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "angles" + }, + { ATF_POINTER, 10, offsetof(struct Vanetza_ITS2_PerceivedObject, zAngularVelocity), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngularVelocityComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zAngularVelocity" + }, + { ATF_POINTER, 9, offsetof(struct Vanetza_ITS2_PerceivedObject, lowerTriangularCorrelationMatrices), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lowerTriangularCorrelationMatrices" + }, + { ATF_POINTER, 8, offsetof(struct Vanetza_ITS2_PerceivedObject, objectDimensionZ), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ObjectDimension, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "objectDimensionZ" + }, + { ATF_POINTER, 7, offsetof(struct Vanetza_ITS2_PerceivedObject, objectDimensionY), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ObjectDimension, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "objectDimensionY" + }, + { ATF_POINTER, 6, offsetof(struct Vanetza_ITS2_PerceivedObject, objectDimensionX), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ObjectDimension, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "objectDimensionX" + }, + { ATF_POINTER, 5, offsetof(struct Vanetza_ITS2_PerceivedObject, objectAge), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_objectAge_constr_13, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_objectAge_constr_13, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_objectAge_constraint_1 + }, + 0, 0, /* No default value */ + "objectAge" + }, + { ATF_POINTER, 4, offsetof(struct Vanetza_ITS2_PerceivedObject, objectPerceptionQuality), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ObjectPerceptionQuality, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "objectPerceptionQuality" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_PerceivedObject, sensorIdList), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SequenceOfIdentifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sensorIdList" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_PerceivedObject, classification), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ObjectClassDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "classification" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_PerceivedObject, mapPosition), + (ASN_TAG_CLASS_CONTEXT | (15 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MapPosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mapPosition" + }, +}; +static const int asn_MAP_Vanetza_ITS2_PerceivedObject_oms_1[] = { 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PerceivedObject_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PerceivedObject_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* objectId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* measurementDeltaTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* position */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* velocity */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* acceleration */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* angles */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* zAngularVelocity */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* lowerTriangularCorrelationMatrices */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* objectDimensionZ */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* objectDimensionY */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* objectDimensionX */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* objectAge */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* objectPerceptionQuality */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* sensorIdList */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* classification */ + { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 } /* mapPosition */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PerceivedObject_specs_1 = { + sizeof(struct Vanetza_ITS2_PerceivedObject), + offsetof(struct Vanetza_ITS2_PerceivedObject, _asn_ctx), + asn_MAP_Vanetza_ITS2_PerceivedObject_tag2el_1, + 16, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_PerceivedObject_oms_1, /* Optional members */ + 14, 0, /* Root/Additions */ + 16, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceivedObject = { + "PerceivedObject", + "PerceivedObject", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PerceivedObject_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PerceivedObject_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceivedObject_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PerceivedObject_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PerceivedObject_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceivedObject_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PerceivedObject_1, + 16, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PerceivedObject_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PerceivedObject.h b/vanetza/asn1/its/r2/PerceivedObject.h new file mode 100644 index 000000000..b3c93b48f --- /dev/null +++ b/vanetza/asn1/its/r2/PerceivedObject.h @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PerceivedObject_H_ +#define _Vanetza_ITS2_PerceivedObject_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier2B.h" +#include "DeltaTimeMilliSecondSigned.h" +#include "CartesianPosition3dWithConfidence.h" +#include "ObjectPerceptionQuality.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_Velocity3dWithConfidence; +struct Vanetza_ITS2_Acceleration3dWithConfidence; +struct Vanetza_ITS2_EulerAnglesWithConfidence; +struct Vanetza_ITS2_CartesianAngularVelocityComponent; +struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices; +struct Vanetza_ITS2_ObjectDimension; +struct Vanetza_ITS2_SequenceOfIdentifier1B; +struct Vanetza_ITS2_ObjectClassDescription; +struct Vanetza_ITS2_MapPosition; + +/* Vanetza_ITS2_PerceivedObject */ +typedef struct Vanetza_ITS2_PerceivedObject { + Vanetza_ITS2_Identifier2B_t *objectId; /* OPTIONAL */ + Vanetza_ITS2_DeltaTimeMilliSecondSigned_t measurementDeltaTime; + Vanetza_ITS2_CartesianPosition3dWithConfidence_t position; + struct Vanetza_ITS2_Velocity3dWithConfidence *velocity; /* OPTIONAL */ + struct Vanetza_ITS2_Acceleration3dWithConfidence *acceleration; /* OPTIONAL */ + struct Vanetza_ITS2_EulerAnglesWithConfidence *angles; /* OPTIONAL */ + struct Vanetza_ITS2_CartesianAngularVelocityComponent *zAngularVelocity; /* OPTIONAL */ + struct Vanetza_ITS2_LowerTriangularPositiveSemidefiniteMatrices *lowerTriangularCorrelationMatrices; /* OPTIONAL */ + struct Vanetza_ITS2_ObjectDimension *objectDimensionZ; /* OPTIONAL */ + struct Vanetza_ITS2_ObjectDimension *objectDimensionY; /* OPTIONAL */ + struct Vanetza_ITS2_ObjectDimension *objectDimensionX; /* OPTIONAL */ + Vanetza_ITS2_DeltaTimeMilliSecondSigned_t *objectAge; /* OPTIONAL */ + Vanetza_ITS2_ObjectPerceptionQuality_t *objectPerceptionQuality; /* OPTIONAL */ + struct Vanetza_ITS2_SequenceOfIdentifier1B *sensorIdList; /* OPTIONAL */ + struct Vanetza_ITS2_ObjectClassDescription *classification; /* OPTIONAL */ + struct Vanetza_ITS2_MapPosition *mapPosition; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PerceivedObject_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceivedObject; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PerceivedObject_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceivedObject_1[16]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "Velocity3dWithConfidence.h" +#include "Acceleration3dWithConfidence.h" +#include "EulerAnglesWithConfidence.h" +#include "CartesianAngularVelocityComponent.h" +#include "LowerTriangularPositiveSemidefiniteMatrices.h" +#include "ObjectDimension.h" +#include "SequenceOfIdentifier1B.h" +#include "ObjectClassDescription.h" +#include "MapPosition.h" + +#endif /* _Vanetza_ITS2_PerceivedObject_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PerceivedObjectContainer.c b/vanetza/asn1/its/r2/PerceivedObjectContainer.c new file mode 100644 index 000000000..fef152971 --- /dev/null +++ b/vanetza/asn1/its/r2/PerceivedObjectContainer.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PerceivedObjectContainer" + * found in "asn1/release2/TS103324v211/CPM-PerceivedObjectContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PerceivedObjectContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceivedObjectContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PerceivedObjectContainer, numberOfPerceivedObjects), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CardinalNumber1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "numberOfPerceivedObjects" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PerceivedObjectContainer, perceivedObjects), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PerceivedObjects, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "perceivedObjects" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PerceivedObjectContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PerceivedObjectContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* numberOfPerceivedObjects */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* perceivedObjects */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PerceivedObjectContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_PerceivedObjectContainer), + offsetof(struct Vanetza_ITS2_PerceivedObjectContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_PerceivedObjectContainer_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceivedObjectContainer = { + "PerceivedObjectContainer", + "PerceivedObjectContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PerceivedObjectContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjectContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjectContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PerceivedObjectContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjectContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjectContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PerceivedObjectContainer_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PerceivedObjectContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PerceivedObjectContainer.h b/vanetza/asn1/its/r2/PerceivedObjectContainer.h new file mode 100644 index 000000000..541783840 --- /dev/null +++ b/vanetza/asn1/its/r2/PerceivedObjectContainer.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PerceivedObjectContainer" + * found in "asn1/release2/TS103324v211/CPM-PerceivedObjectContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PerceivedObjectContainer_H_ +#define _Vanetza_ITS2_PerceivedObjectContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CardinalNumber1B.h" +#include "PerceivedObjects.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PerceivedObjectContainer */ +typedef struct Vanetza_ITS2_PerceivedObjectContainer { + Vanetza_ITS2_CardinalNumber1B_t numberOfPerceivedObjects; + Vanetza_ITS2_PerceivedObjects_t perceivedObjects; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PerceivedObjectContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceivedObjectContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PerceivedObjectContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceivedObjectContainer_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PerceivedObjectContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PerceivedObjectIds.c b/vanetza/asn1/its/r2/PerceivedObjectIds.c new file mode 100644 index 000000000..031bb6cd7 --- /dev/null +++ b/vanetza/asn1/its/r2/PerceivedObjectIds.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PerceptionRegionContainer" + * found in "asn1/release2/TS103324v211/CPM-PerceptionRegionContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PerceivedObjectIds.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PerceivedObjectIds_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PerceivedObjectIds_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 0, 255 } /* (SIZE(0..255,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceivedObjectIds_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_Identifier2B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PerceivedObjectIds_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PerceivedObjectIds_specs_1 = { + sizeof(struct Vanetza_ITS2_PerceivedObjectIds), + offsetof(struct Vanetza_ITS2_PerceivedObjectIds, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceivedObjectIds = { + "PerceivedObjectIds", + "PerceivedObjectIds", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_PerceivedObjectIds_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjectIds_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjectIds_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PerceivedObjectIds_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjectIds_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjectIds_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PerceivedObjectIds_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PerceivedObjectIds_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_PerceivedObjectIds_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_PerceivedObjectIds_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PerceivedObjectIds.h b/vanetza/asn1/its/r2/PerceivedObjectIds.h new file mode 100644 index 000000000..a1c8c0f36 --- /dev/null +++ b/vanetza/asn1/its/r2/PerceivedObjectIds.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PerceptionRegionContainer" + * found in "asn1/release2/TS103324v211/CPM-PerceptionRegionContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PerceivedObjectIds_H_ +#define _Vanetza_ITS2_PerceivedObjectIds_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier2B.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PerceivedObjectIds */ +typedef struct Vanetza_ITS2_PerceivedObjectIds { + A_SEQUENCE_OF(Vanetza_ITS2_Identifier2B_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PerceivedObjectIds_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceivedObjectIds; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PerceivedObjectIds_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceivedObjectIds_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PerceivedObjectIds_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PerceivedObjectIds_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PerceivedObjects.c b/vanetza/asn1/its/r2/PerceivedObjects.c new file mode 100644 index 000000000..57197927e --- /dev/null +++ b/vanetza/asn1/its/r2/PerceivedObjects.c @@ -0,0 +1,109 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PerceivedObjectContainer" + * found in "asn1/release2/TS103324v211/CPM-PerceivedObjectContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PerceivedObjects.h" + +static int +memb_Vanetza_ITS2_PerceivedObject_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_Vanetza_ITS2_Member_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_Member_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PerceivedObjects_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PerceivedObjects_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 0, 255 } /* (SIZE(0..255,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceivedObjects_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_PerceivedObject, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_Member_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_Member_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_PerceivedObject_constraint_1 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PerceivedObjects_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PerceivedObjects_specs_1 = { + sizeof(struct Vanetza_ITS2_PerceivedObjects), + offsetof(struct Vanetza_ITS2_PerceivedObjects, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceivedObjects = { + "PerceivedObjects", + "PerceivedObjects", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_PerceivedObjects_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjects_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjects_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PerceivedObjects_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjects_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceivedObjects_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PerceivedObjects_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PerceivedObjects_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_PerceivedObjects_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_PerceivedObjects_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PerceivedObjects.h b/vanetza/asn1/its/r2/PerceivedObjects.h new file mode 100644 index 000000000..95324cd30 --- /dev/null +++ b/vanetza/asn1/its/r2/PerceivedObjects.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PerceivedObjectContainer" + * found in "asn1/release2/TS103324v211/CPM-PerceivedObjectContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PerceivedObjects_H_ +#define _Vanetza_ITS2_PerceivedObjects_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 Vanetza_ITS2_PerceivedObject; + +/* Vanetza_ITS2_PerceivedObjects */ +typedef struct Vanetza_ITS2_PerceivedObjects { + A_SEQUENCE_OF(struct Vanetza_ITS2_PerceivedObject) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PerceivedObjects_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceivedObjects; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PerceivedObjects_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceivedObjects_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PerceivedObjects_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "PerceivedObject.h" + +#endif /* _Vanetza_ITS2_PerceivedObjects_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PerceptionRegion.c b/vanetza/asn1/its/r2/PerceptionRegion.c new file mode 100644 index 000000000..4c9612ee3 --- /dev/null +++ b/vanetza/asn1/its/r2/PerceptionRegion.c @@ -0,0 +1,200 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PerceptionRegionContainer" + * found in "asn1/release2/TS103324v211/CPM-PerceptionRegionContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PerceptionRegion.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceptionRegion_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PerceptionRegion, measurementDeltaTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondSigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "measurementDeltaTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PerceptionRegion, perceptionRegionConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ConfidenceLevel, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "perceptionRegionConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PerceptionRegion, perceptionRegionShape), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Shape, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "perceptionRegionShape" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PerceptionRegion, shadowingApplies), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "shadowingApplies" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_PerceptionRegion, sensorIdList), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SequenceOfIdentifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sensorIdList" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_PerceptionRegion, numberOfPerceivedObjects), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CardinalNumber1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "numberOfPerceivedObjects" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_PerceptionRegion, perceivedObjectIds), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PerceivedObjectIds, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "perceivedObjectIds" + }, +}; +static const int asn_MAP_Vanetza_ITS2_PerceptionRegion_oms_1[] = { 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PerceptionRegion_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PerceptionRegion_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measurementDeltaTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* perceptionRegionConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* perceptionRegionShape */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* shadowingApplies */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* sensorIdList */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* numberOfPerceivedObjects */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* perceivedObjectIds */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PerceptionRegion_specs_1 = { + sizeof(struct Vanetza_ITS2_PerceptionRegion), + offsetof(struct Vanetza_ITS2_PerceptionRegion, _asn_ctx), + asn_MAP_Vanetza_ITS2_PerceptionRegion_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_PerceptionRegion_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceptionRegion = { + "PerceptionRegion", + "PerceptionRegion", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PerceptionRegion_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PerceptionRegion_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceptionRegion_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PerceptionRegion_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PerceptionRegion_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceptionRegion_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PerceptionRegion_1, + 7, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PerceptionRegion_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PerceptionRegion.h b/vanetza/asn1/its/r2/PerceptionRegion.h new file mode 100644 index 000000000..de5c6cb6a --- /dev/null +++ b/vanetza/asn1/its/r2/PerceptionRegion.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PerceptionRegionContainer" + * found in "asn1/release2/TS103324v211/CPM-PerceptionRegionContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PerceptionRegion_H_ +#define _Vanetza_ITS2_PerceptionRegion_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "DeltaTimeMilliSecondSigned.h" +#include "ConfidenceLevel.h" +#include "Shape.h" +#include "BOOLEAN.h" +#include "CardinalNumber1B.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_SequenceOfIdentifier1B; +struct Vanetza_ITS2_PerceivedObjectIds; + +/* Vanetza_ITS2_PerceptionRegion */ +typedef struct Vanetza_ITS2_PerceptionRegion { + Vanetza_ITS2_DeltaTimeMilliSecondSigned_t measurementDeltaTime; + Vanetza_ITS2_ConfidenceLevel_t perceptionRegionConfidence; + Vanetza_ITS2_Shape_t perceptionRegionShape; + BOOLEAN_t shadowingApplies; + struct Vanetza_ITS2_SequenceOfIdentifier1B *sensorIdList; /* OPTIONAL */ + Vanetza_ITS2_CardinalNumber1B_t *numberOfPerceivedObjects; /* OPTIONAL */ + struct Vanetza_ITS2_PerceivedObjectIds *perceivedObjectIds; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PerceptionRegion_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceptionRegion; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PerceptionRegion_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceptionRegion_1[7]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "SequenceOfIdentifier1B.h" +#include "PerceivedObjectIds.h" + +#endif /* _Vanetza_ITS2_PerceptionRegion_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PerceptionRegionContainer.c b/vanetza/asn1/its/r2/PerceptionRegionContainer.c new file mode 100644 index 000000000..8362855ae --- /dev/null +++ b/vanetza/asn1/its/r2/PerceptionRegionContainer.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PerceptionRegionContainer" + * found in "asn1/release2/TS103324v211/CPM-PerceptionRegionContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PerceptionRegionContainer.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PerceptionRegionContainer_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PerceptionRegionContainer_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 256 } /* (SIZE(1..256,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceptionRegionContainer_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_PerceptionRegion, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PerceptionRegionContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PerceptionRegionContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_PerceptionRegionContainer), + offsetof(struct Vanetza_ITS2_PerceptionRegionContainer, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceptionRegionContainer = { + "PerceptionRegionContainer", + "PerceptionRegionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_PerceptionRegionContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PerceptionRegionContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceptionRegionContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PerceptionRegionContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PerceptionRegionContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerceptionRegionContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PerceptionRegionContainer_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PerceptionRegionContainer_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_PerceptionRegionContainer_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_PerceptionRegionContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PerceptionRegionContainer.h b/vanetza/asn1/its/r2/PerceptionRegionContainer.h new file mode 100644 index 000000000..bdbd2a708 --- /dev/null +++ b/vanetza/asn1/its/r2/PerceptionRegionContainer.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PerceptionRegionContainer" + * found in "asn1/release2/TS103324v211/CPM-PerceptionRegionContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PerceptionRegionContainer_H_ +#define _Vanetza_ITS2_PerceptionRegionContainer_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 Vanetza_ITS2_PerceptionRegion; + +/* Vanetza_ITS2_PerceptionRegionContainer */ +typedef struct Vanetza_ITS2_PerceptionRegionContainer { + A_SEQUENCE_OF(struct Vanetza_ITS2_PerceptionRegion) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PerceptionRegionContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerceptionRegionContainer; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PerceptionRegionContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PerceptionRegionContainer_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PerceptionRegionContainer_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "PerceptionRegion.h" + +#endif /* _Vanetza_ITS2_PerceptionRegionContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PerformanceClass.c b/vanetza/asn1/its/r2/PerformanceClass.c new file mode 100644 index 000000000..ca75f5b8d --- /dev/null +++ b/vanetza/asn1/its/r2/PerformanceClass.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PerformanceClass.h" + +int +Vanetza_ITS2_PerformanceClass_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 7L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PerformanceClass_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..7) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PerformanceClass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PerformanceClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerformanceClass = { + "PerformanceClass", + "PerformanceClass", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_PerformanceClass_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PerformanceClass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerformanceClass_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PerformanceClass_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PerformanceClass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PerformanceClass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PerformanceClass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PerformanceClass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PerformanceClass_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/PerformanceClass.h b/vanetza/asn1/its/r2/PerformanceClass.h new file mode 100644 index 000000000..0a0102ef0 --- /dev/null +++ b/vanetza/asn1/its/r2/PerformanceClass.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PerformanceClass_H_ +#define _Vanetza_ITS2_PerformanceClass_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PerformanceClass { + Vanetza_ITS2_PerformanceClass_unavailable = 0, + Vanetza_ITS2_PerformanceClass_performanceClassA = 1, + Vanetza_ITS2_PerformanceClass_performanceClassB = 2 +} e_Vanetza_ITS2_PerformanceClass; + +/* Vanetza_ITS2_PerformanceClass */ +typedef long Vanetza_ITS2_PerformanceClass_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PerformanceClass_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PerformanceClass; +asn_struct_free_f Vanetza_ITS2_PerformanceClass_free; +asn_struct_print_f Vanetza_ITS2_PerformanceClass_print; +asn_constr_check_f Vanetza_ITS2_PerformanceClass_constraint; +ber_type_decoder_f Vanetza_ITS2_PerformanceClass_decode_ber; +der_type_encoder_f Vanetza_ITS2_PerformanceClass_encode_der; +xer_type_decoder_f Vanetza_ITS2_PerformanceClass_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PerformanceClass_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PerformanceClass_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PerformanceClass_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PerformanceClass_encode_oer; +per_type_decoder_f Vanetza_ITS2_PerformanceClass_decode_uper; +per_type_encoder_f Vanetza_ITS2_PerformanceClass_encode_uper; +per_type_decoder_f Vanetza_ITS2_PerformanceClass_decode_aper; +per_type_encoder_f Vanetza_ITS2_PerformanceClass_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PerformanceClass_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PhoneNumber.c b/vanetza/asn1/its/r2/PhoneNumber.c new file mode 100644 index 000000000..663ab23e0 --- /dev/null +++ b/vanetza/asn1/its/r2/PhoneNumber.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PhoneNumber.h" + +static const int permitted_alphabet_table_1[256] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* . */ + 2, 3, 4, 5, 6, 7, 8, 9,10,11, 0, 0, 0, 0, 0, 0, /* 0123456789 */ +}; +static const int permitted_alphabet_code2value_1[11] = { +32,48,49,50,51,52,53,54,55,56,57,}; + + +static int check_permitted_alphabet_1(const void *sptr) { + const int *table = permitted_alphabet_table_1; + /* The underlying type is NumericString */ + const NumericString_t *st = (const NumericString_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!table[cv]) return -1; + } + return 0; +} + +int +Vanetza_ITS2_PhoneNumber_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const NumericString_t *st = (const NumericString_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 16UL) + && !check_permitted_alphabet_1(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int asn_PER_MAP_Vanetza_ITS2_PhoneNumber_1_v2c(unsigned int value) { + if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0])) + return -1; + return permitted_alphabet_table_1[value] - 1; +} +static int asn_PER_MAP_Vanetza_ITS2_PhoneNumber_1_c2v(unsigned int code) { + if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0])) + return -1; + return permitted_alphabet_code2value_1[code]; +} +/* + * This type is implemented using NumericString, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PhoneNumber_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PhoneNumber_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 32, 57 } /* (32..57) */, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + asn_PER_MAP_Vanetza_ITS2_PhoneNumber_1_v2c, /* Value to PER code map */ + asn_PER_MAP_Vanetza_ITS2_PhoneNumber_1_c2v /* PER code to value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PhoneNumber_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (18 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PhoneNumber = { + "PhoneNumber", + "PhoneNumber", + &asn_OP_NumericString, + asn_DEF_Vanetza_ITS2_PhoneNumber_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PhoneNumber_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PhoneNumber_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PhoneNumber_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PhoneNumber_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PhoneNumber_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PhoneNumber_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PhoneNumber_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PhoneNumber_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/PhoneNumber.h b/vanetza/asn1/its/r2/PhoneNumber.h new file mode 100644 index 000000000..5918402da --- /dev/null +++ b/vanetza/asn1/its/r2/PhoneNumber.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PhoneNumber_H_ +#define _Vanetza_ITS2_PhoneNumber_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NumericString.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PhoneNumber */ +typedef NumericString_t Vanetza_ITS2_PhoneNumber_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PhoneNumber_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PhoneNumber; +asn_struct_free_f Vanetza_ITS2_PhoneNumber_free; +asn_struct_print_f Vanetza_ITS2_PhoneNumber_print; +asn_constr_check_f Vanetza_ITS2_PhoneNumber_constraint; +ber_type_decoder_f Vanetza_ITS2_PhoneNumber_decode_ber; +der_type_encoder_f Vanetza_ITS2_PhoneNumber_encode_der; +xer_type_decoder_f Vanetza_ITS2_PhoneNumber_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PhoneNumber_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PhoneNumber_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PhoneNumber_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PhoneNumber_encode_oer; +per_type_decoder_f Vanetza_ITS2_PhoneNumber_decode_uper; +per_type_encoder_f Vanetza_ITS2_PhoneNumber_encode_uper; +per_type_decoder_f Vanetza_ITS2_PhoneNumber_decode_aper; +per_type_encoder_f Vanetza_ITS2_PhoneNumber_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PhoneNumber_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PolygonalShape.c b/vanetza/asn1/its/r2/PolygonalShape.c new file mode 100644 index 000000000..d1cf60eaa --- /dev/null +++ b/vanetza/asn1/its/r2/PolygonalShape.c @@ -0,0 +1,154 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PolygonalShape.h" + +static int +memb_Vanetza_ITS2_polygon_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 >= 3UL && size <= 16UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_polygon_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_polygon_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 3, 16 } /* (SIZE(3..16,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PolygonalShape_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_PolygonalShape, shapeReferencePoint), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianPosition3d, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "shapeReferencePoint" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PolygonalShape, polygon), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SequenceOfCartesianPosition3d, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_polygon_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_polygon_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_polygon_constraint_1 + }, + 0, 0, /* No default value */ + "polygon" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_PolygonalShape, height), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "height" + }, +}; +static const int asn_MAP_Vanetza_ITS2_PolygonalShape_oms_1[] = { 0, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PolygonalShape_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PolygonalShape_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* shapeReferencePoint */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* polygon */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* height */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PolygonalShape_specs_1 = { + sizeof(struct Vanetza_ITS2_PolygonalShape), + offsetof(struct Vanetza_ITS2_PolygonalShape, _asn_ctx), + asn_MAP_Vanetza_ITS2_PolygonalShape_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_PolygonalShape_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PolygonalShape = { + "PolygonalShape", + "PolygonalShape", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PolygonalShape_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PolygonalShape_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PolygonalShape_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PolygonalShape_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PolygonalShape_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PolygonalShape_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PolygonalShape_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PolygonalShape_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PolygonalShape.h b/vanetza/asn1/its/r2/PolygonalShape.h new file mode 100644 index 000000000..6ca37411c --- /dev/null +++ b/vanetza/asn1/its/r2/PolygonalShape.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PolygonalShape_H_ +#define _Vanetza_ITS2_PolygonalShape_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "SequenceOfCartesianPosition3d.h" +#include "StandardLength12b.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CartesianPosition3d; + +/* Vanetza_ITS2_PolygonalShape */ +typedef struct Vanetza_ITS2_PolygonalShape { + struct Vanetza_ITS2_CartesianPosition3d *shapeReferencePoint; /* OPTIONAL */ + Vanetza_ITS2_SequenceOfCartesianPosition3d_t polygon; + Vanetza_ITS2_StandardLength12b_t *height; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PolygonalShape_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PolygonalShape; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PolygonalShape_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PolygonalShape_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CartesianPosition3d.h" + +#endif /* _Vanetza_ITS2_PolygonalShape_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PosCentMass.c b/vanetza/asn1/its/r2/PosCentMass.c new file mode 100644 index 000000000..03eff2e63 --- /dev/null +++ b/vanetza/asn1/its/r2/PosCentMass.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PosCentMass.h" + +int +Vanetza_ITS2_PosCentMass_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 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_Vanetza_ITS2_PosCentMass_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..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_Vanetza_ITS2_PosCentMass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 1, 63 } /* (1..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_Vanetza_ITS2_PosCentMass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PosCentMass = { + "PosCentMass", + "PosCentMass", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_PosCentMass_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PosCentMass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PosCentMass_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PosCentMass_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PosCentMass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PosCentMass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PosCentMass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PosCentMass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PosCentMass_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/PosCentMass.h b/vanetza/asn1/its/r2/PosCentMass.h new file mode 100644 index 000000000..5bfe3ec53 --- /dev/null +++ b/vanetza/asn1/its/r2/PosCentMass.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PosCentMass_H_ +#define _Vanetza_ITS2_PosCentMass_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PosCentMass { + Vanetza_ITS2_PosCentMass_tenCentimetres = 1, + Vanetza_ITS2_PosCentMass_outOfRange = 62, + Vanetza_ITS2_PosCentMass_unavailable = 63 +} e_Vanetza_ITS2_PosCentMass; + +/* Vanetza_ITS2_PosCentMass */ +typedef long Vanetza_ITS2_PosCentMass_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PosCentMass_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PosCentMass; +asn_struct_free_f Vanetza_ITS2_PosCentMass_free; +asn_struct_print_f Vanetza_ITS2_PosCentMass_print; +asn_constr_check_f Vanetza_ITS2_PosCentMass_constraint; +ber_type_decoder_f Vanetza_ITS2_PosCentMass_decode_ber; +der_type_encoder_f Vanetza_ITS2_PosCentMass_encode_der; +xer_type_decoder_f Vanetza_ITS2_PosCentMass_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PosCentMass_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PosCentMass_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PosCentMass_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PosCentMass_encode_oer; +per_type_decoder_f Vanetza_ITS2_PosCentMass_decode_uper; +per_type_encoder_f Vanetza_ITS2_PosCentMass_encode_uper; +per_type_decoder_f Vanetza_ITS2_PosCentMass_decode_aper; +per_type_encoder_f Vanetza_ITS2_PosCentMass_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PosCentMass_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PosConfidenceEllipse.c b/vanetza/asn1/its/r2/PosConfidenceEllipse.c new file mode 100644 index 000000000..64815f595 --- /dev/null +++ b/vanetza/asn1/its/r2/PosConfidenceEllipse.c @@ -0,0 +1,114 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PosConfidenceEllipse.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PosConfidenceEllipse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PosConfidenceEllipse, semiMajorConfidence), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SemiAxisLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiMajorConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PosConfidenceEllipse, semiMinorConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SemiAxisLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiMinorConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PosConfidenceEllipse, semiMajorOrientation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_HeadingValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiMajorOrientation" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PosConfidenceEllipse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PosConfidenceEllipse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* semiMajorConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* semiMinorConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* semiMajorOrientation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PosConfidenceEllipse_specs_1 = { + sizeof(struct Vanetza_ITS2_PosConfidenceEllipse), + offsetof(struct Vanetza_ITS2_PosConfidenceEllipse, _asn_ctx), + asn_MAP_Vanetza_ITS2_PosConfidenceEllipse_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_Vanetza_ITS2_PosConfidenceEllipse = { + "PosConfidenceEllipse", + "PosConfidenceEllipse", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PosConfidenceEllipse_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PosConfidenceEllipse_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PosConfidenceEllipse_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PosConfidenceEllipse_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PosConfidenceEllipse_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PosConfidenceEllipse_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PosConfidenceEllipse_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PosConfidenceEllipse_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PosConfidenceEllipse.h b/vanetza/asn1/its/r2/PosConfidenceEllipse.h new file mode 100644 index 000000000..1cc0a83dd --- /dev/null +++ b/vanetza/asn1/its/r2/PosConfidenceEllipse.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PosConfidenceEllipse_H_ +#define _Vanetza_ITS2_PosConfidenceEllipse_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "SemiAxisLength.h" +#include "HeadingValue.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PosConfidenceEllipse */ +typedef struct Vanetza_ITS2_PosConfidenceEllipse { + Vanetza_ITS2_SemiAxisLength_t semiMajorConfidence; + Vanetza_ITS2_SemiAxisLength_t semiMinorConfidence; + Vanetza_ITS2_HeadingValue_t semiMajorOrientation; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PosConfidenceEllipse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PosConfidenceEllipse; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PosConfidenceEllipse_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PosConfidenceEllipse_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PosConfidenceEllipse_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PosFrontAx.c b/vanetza/asn1/its/r2/PosFrontAx.c new file mode 100644 index 000000000..e0a37760a --- /dev/null +++ b/vanetza/asn1/its/r2/PosFrontAx.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PosFrontAx.h" + +int +Vanetza_ITS2_PosFrontAx_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 20L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PosFrontAx_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..20) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PosFrontAx_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 1, 20 } /* (1..20) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PosFrontAx_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PosFrontAx = { + "PosFrontAx", + "PosFrontAx", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_PosFrontAx_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PosFrontAx_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PosFrontAx_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PosFrontAx_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PosFrontAx_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PosFrontAx_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PosFrontAx_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PosFrontAx_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PosFrontAx_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/PosFrontAx.h b/vanetza/asn1/its/r2/PosFrontAx.h new file mode 100644 index 000000000..d26d26c99 --- /dev/null +++ b/vanetza/asn1/its/r2/PosFrontAx.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PosFrontAx_H_ +#define _Vanetza_ITS2_PosFrontAx_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PosFrontAx { + Vanetza_ITS2_PosFrontAx_outOfRange = 19, + Vanetza_ITS2_PosFrontAx_unavailable = 20 +} e_Vanetza_ITS2_PosFrontAx; + +/* Vanetza_ITS2_PosFrontAx */ +typedef long Vanetza_ITS2_PosFrontAx_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PosFrontAx_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PosFrontAx; +asn_struct_free_f Vanetza_ITS2_PosFrontAx_free; +asn_struct_print_f Vanetza_ITS2_PosFrontAx_print; +asn_constr_check_f Vanetza_ITS2_PosFrontAx_constraint; +ber_type_decoder_f Vanetza_ITS2_PosFrontAx_decode_ber; +der_type_encoder_f Vanetza_ITS2_PosFrontAx_encode_der; +xer_type_decoder_f Vanetza_ITS2_PosFrontAx_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PosFrontAx_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PosFrontAx_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PosFrontAx_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PosFrontAx_encode_oer; +per_type_decoder_f Vanetza_ITS2_PosFrontAx_decode_uper; +per_type_encoder_f Vanetza_ITS2_PosFrontAx_encode_uper; +per_type_decoder_f Vanetza_ITS2_PosFrontAx_decode_aper; +per_type_encoder_f Vanetza_ITS2_PosFrontAx_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PosFrontAx_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PosLonCarr.c b/vanetza/asn1/its/r2/PosLonCarr.c new file mode 100644 index 000000000..4ecb7cce8 --- /dev/null +++ b/vanetza/asn1/its/r2/PosLonCarr.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PosLonCarr.h" + +int +Vanetza_ITS2_PosLonCarr_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PosLonCarr_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PosLonCarr_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 127 } /* (1..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PosLonCarr_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PosLonCarr = { + "PosLonCarr", + "PosLonCarr", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_PosLonCarr_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PosLonCarr_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PosLonCarr_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PosLonCarr_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PosLonCarr_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PosLonCarr_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PosLonCarr_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PosLonCarr_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PosLonCarr_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/PosLonCarr.h b/vanetza/asn1/its/r2/PosLonCarr.h new file mode 100644 index 000000000..36d576ec5 --- /dev/null +++ b/vanetza/asn1/its/r2/PosLonCarr.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PosLonCarr_H_ +#define _Vanetza_ITS2_PosLonCarr_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PosLonCarr { + Vanetza_ITS2_PosLonCarr_outOfRange = 126, + Vanetza_ITS2_PosLonCarr_unavailable = 127 +} e_Vanetza_ITS2_PosLonCarr; + +/* Vanetza_ITS2_PosLonCarr */ +typedef long Vanetza_ITS2_PosLonCarr_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PosLonCarr_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PosLonCarr; +asn_struct_free_f Vanetza_ITS2_PosLonCarr_free; +asn_struct_print_f Vanetza_ITS2_PosLonCarr_print; +asn_constr_check_f Vanetza_ITS2_PosLonCarr_constraint; +ber_type_decoder_f Vanetza_ITS2_PosLonCarr_decode_ber; +der_type_encoder_f Vanetza_ITS2_PosLonCarr_encode_der; +xer_type_decoder_f Vanetza_ITS2_PosLonCarr_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PosLonCarr_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PosLonCarr_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PosLonCarr_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PosLonCarr_encode_oer; +per_type_decoder_f Vanetza_ITS2_PosLonCarr_decode_uper; +per_type_encoder_f Vanetza_ITS2_PosLonCarr_encode_uper; +per_type_decoder_f Vanetza_ITS2_PosLonCarr_decode_aper; +per_type_encoder_f Vanetza_ITS2_PosLonCarr_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PosLonCarr_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PosPillar.c b/vanetza/asn1/its/r2/PosPillar.c new file mode 100644 index 000000000..ed6040860 --- /dev/null +++ b/vanetza/asn1/its/r2/PosPillar.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PosPillar.h" + +int +Vanetza_ITS2_PosPillar_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 30L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PosPillar_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..30) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PosPillar_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 1, 30 } /* (1..30) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PosPillar_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PosPillar = { + "PosPillar", + "PosPillar", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_PosPillar_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PosPillar_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PosPillar_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PosPillar_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PosPillar_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PosPillar_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PosPillar_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PosPillar_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PosPillar_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/PosPillar.h b/vanetza/asn1/its/r2/PosPillar.h new file mode 100644 index 000000000..665cf22b9 --- /dev/null +++ b/vanetza/asn1/its/r2/PosPillar.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PosPillar_H_ +#define _Vanetza_ITS2_PosPillar_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PosPillar { + Vanetza_ITS2_PosPillar_outOfRange = 29, + Vanetza_ITS2_PosPillar_unavailable = 30 +} e_Vanetza_ITS2_PosPillar; + +/* Vanetza_ITS2_PosPillar */ +typedef long Vanetza_ITS2_PosPillar_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PosPillar_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PosPillar; +asn_struct_free_f Vanetza_ITS2_PosPillar_free; +asn_struct_print_f Vanetza_ITS2_PosPillar_print; +asn_constr_check_f Vanetza_ITS2_PosPillar_constraint; +ber_type_decoder_f Vanetza_ITS2_PosPillar_decode_ber; +der_type_encoder_f Vanetza_ITS2_PosPillar_encode_der; +xer_type_decoder_f Vanetza_ITS2_PosPillar_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PosPillar_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PosPillar_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PosPillar_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PosPillar_encode_oer; +per_type_decoder_f Vanetza_ITS2_PosPillar_decode_uper; +per_type_encoder_f Vanetza_ITS2_PosPillar_encode_uper; +per_type_decoder_f Vanetza_ITS2_PosPillar_decode_aper; +per_type_encoder_f Vanetza_ITS2_PosPillar_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PosPillar_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Position1d.c b/vanetza/asn1/its/r2/Position1d.c new file mode 100644 index 000000000..71db56676 --- /dev/null +++ b/vanetza/asn1/its/r2/Position1d.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Position1d.h" + +int +Vanetza_ITS2_Position1d_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -8190L && value <= 8191L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Position1d_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-8190..8191) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Position1d_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, -8190, 8191 } /* (-8190..8191) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Position1d_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Position1d = { + "Position1d", + "Position1d", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_Position1d_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Position1d_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Position1d_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Position1d_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Position1d_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Position1d_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Position1d_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Position1d_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_Position1d_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/Position1d.h b/vanetza/asn1/its/r2/Position1d.h new file mode 100644 index 000000000..b67e3e833 --- /dev/null +++ b/vanetza/asn1/its/r2/Position1d.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Position1d_H_ +#define _Vanetza_ITS2_Position1d_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Position1d { + Vanetza_ITS2_Position1d_outOfRange = 8190, + Vanetza_ITS2_Position1d_unavailable = 8191 +} e_Vanetza_ITS2_Position1d; + +/* Vanetza_ITS2_Position1d */ +typedef long Vanetza_ITS2_Position1d_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Position1d_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Position1d; +asn_struct_free_f Vanetza_ITS2_Position1d_free; +asn_struct_print_f Vanetza_ITS2_Position1d_print; +asn_constr_check_f Vanetza_ITS2_Position1d_constraint; +ber_type_decoder_f Vanetza_ITS2_Position1d_decode_ber; +der_type_encoder_f Vanetza_ITS2_Position1d_encode_der; +xer_type_decoder_f Vanetza_ITS2_Position1d_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Position1d_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Position1d_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Position1d_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Position1d_encode_oer; +per_type_decoder_f Vanetza_ITS2_Position1d_decode_uper; +per_type_encoder_f Vanetza_ITS2_Position1d_encode_uper; +per_type_decoder_f Vanetza_ITS2_Position1d_decode_aper; +per_type_encoder_f Vanetza_ITS2_Position1d_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Position1d_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PositionConfidenceEllipse.c b/vanetza/asn1/its/r2/PositionConfidenceEllipse.c new file mode 100644 index 000000000..2aaa38f70 --- /dev/null +++ b/vanetza/asn1/its/r2/PositionConfidenceEllipse.c @@ -0,0 +1,114 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PositionConfidenceEllipse.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PositionConfidenceEllipse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PositionConfidenceEllipse, semiMajorAxisLength), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SemiAxisLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiMajorAxisLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PositionConfidenceEllipse, semiMinorAxisLength), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SemiAxisLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiMinorAxisLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PositionConfidenceEllipse, semiMajorAxisOrientation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Wgs84AngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiMajorAxisOrientation" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PositionConfidenceEllipse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PositionConfidenceEllipse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* semiMajorAxisLength */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* semiMinorAxisLength */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* semiMajorAxisOrientation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PositionConfidenceEllipse_specs_1 = { + sizeof(struct Vanetza_ITS2_PositionConfidenceEllipse), + offsetof(struct Vanetza_ITS2_PositionConfidenceEllipse, _asn_ctx), + asn_MAP_Vanetza_ITS2_PositionConfidenceEllipse_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_Vanetza_ITS2_PositionConfidenceEllipse = { + "PositionConfidenceEllipse", + "PositionConfidenceEllipse", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PositionConfidenceEllipse_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PositionConfidenceEllipse_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PositionConfidenceEllipse_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PositionConfidenceEllipse_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PositionConfidenceEllipse_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PositionConfidenceEllipse_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PositionConfidenceEllipse_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PositionConfidenceEllipse_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PositionConfidenceEllipse.h b/vanetza/asn1/its/r2/PositionConfidenceEllipse.h new file mode 100644 index 000000000..90aedbec4 --- /dev/null +++ b/vanetza/asn1/its/r2/PositionConfidenceEllipse.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PositionConfidenceEllipse_H_ +#define _Vanetza_ITS2_PositionConfidenceEllipse_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "SemiAxisLength.h" +#include "Wgs84AngleValue.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PositionConfidenceEllipse */ +typedef struct Vanetza_ITS2_PositionConfidenceEllipse { + Vanetza_ITS2_SemiAxisLength_t semiMajorAxisLength; + Vanetza_ITS2_SemiAxisLength_t semiMinorAxisLength; + Vanetza_ITS2_Wgs84AngleValue_t semiMajorAxisOrientation; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PositionConfidenceEllipse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PositionConfidenceEllipse; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PositionConfidenceEllipse_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PositionConfidenceEllipse_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PositionConfidenceEllipse_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PositionOfOccupants.c b/vanetza/asn1/its/r2/PositionOfOccupants.c new file mode 100644 index 000000000..ccc4a3a75 --- /dev/null +++ b/vanetza/asn1/its/r2/PositionOfOccupants.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PositionOfOccupants.h" + +int +Vanetza_ITS2_PositionOfOccupants_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 20UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PositionOfOccupants_constr_1 CC_NOTUSED = { + { 0, 0 }, + 20 /* (SIZE(20..20)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PositionOfOccupants_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 20, 20 } /* (SIZE(20..20)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_PositionOfOccupants_constr_1 CC_NOTUSED = { + 20}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PositionOfOccupants_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PositionOfOccupants = { + "PositionOfOccupants", + "PositionOfOccupants", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_PositionOfOccupants_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PositionOfOccupants_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PositionOfOccupants_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PositionOfOccupants_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PositionOfOccupants_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PositionOfOccupants_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PositionOfOccupants_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PositionOfOccupants_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_PositionOfOccupants_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PositionOfOccupants_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PositionOfOccupants.h b/vanetza/asn1/its/r2/PositionOfOccupants.h new file mode 100644 index 000000000..58a8056a3 --- /dev/null +++ b/vanetza/asn1/its/r2/PositionOfOccupants.h @@ -0,0 +1,71 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PositionOfOccupants_H_ +#define _Vanetza_ITS2_PositionOfOccupants_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PositionOfOccupants { + Vanetza_ITS2_PositionOfOccupants_row1LeftOccupied = 0, + Vanetza_ITS2_PositionOfOccupants_row1RightOccupied = 1, + Vanetza_ITS2_PositionOfOccupants_row1MidOccupied = 2, + Vanetza_ITS2_PositionOfOccupants_row1NotDetectable = 3, + Vanetza_ITS2_PositionOfOccupants_row1NotPresent = 4, + Vanetza_ITS2_PositionOfOccupants_row2LeftOccupied = 5, + Vanetza_ITS2_PositionOfOccupants_row2RightOccupied = 6, + Vanetza_ITS2_PositionOfOccupants_row2MidOccupied = 7, + Vanetza_ITS2_PositionOfOccupants_row2NotDetectable = 8, + Vanetza_ITS2_PositionOfOccupants_row2NotPresent = 9, + Vanetza_ITS2_PositionOfOccupants_row3LeftOccupied = 10, + Vanetza_ITS2_PositionOfOccupants_row3RightOccupied = 11, + Vanetza_ITS2_PositionOfOccupants_row3MidOccupied = 12, + Vanetza_ITS2_PositionOfOccupants_row3NotDetectable = 13, + Vanetza_ITS2_PositionOfOccupants_row3NotPresent = 14, + Vanetza_ITS2_PositionOfOccupants_row4LeftOccupied = 15, + Vanetza_ITS2_PositionOfOccupants_row4RightOccupied = 16, + Vanetza_ITS2_PositionOfOccupants_row4MidOccupied = 17, + Vanetza_ITS2_PositionOfOccupants_row4NotDetectable = 18, + Vanetza_ITS2_PositionOfOccupants_row4NotPresent = 19 +} e_Vanetza_ITS2_PositionOfOccupants; + +/* Vanetza_ITS2_PositionOfOccupants */ +typedef BIT_STRING_t Vanetza_ITS2_PositionOfOccupants_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PositionOfOccupants_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PositionOfOccupants; +asn_struct_free_f Vanetza_ITS2_PositionOfOccupants_free; +asn_struct_print_f Vanetza_ITS2_PositionOfOccupants_print; +asn_constr_check_f Vanetza_ITS2_PositionOfOccupants_constraint; +ber_type_decoder_f Vanetza_ITS2_PositionOfOccupants_decode_ber; +der_type_encoder_f Vanetza_ITS2_PositionOfOccupants_encode_der; +xer_type_decoder_f Vanetza_ITS2_PositionOfOccupants_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PositionOfOccupants_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PositionOfOccupants_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PositionOfOccupants_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PositionOfOccupants_encode_oer; +per_type_decoder_f Vanetza_ITS2_PositionOfOccupants_decode_uper; +per_type_encoder_f Vanetza_ITS2_PositionOfOccupants_encode_uper; +per_type_decoder_f Vanetza_ITS2_PositionOfOccupants_decode_aper; +per_type_encoder_f Vanetza_ITS2_PositionOfOccupants_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PositionOfOccupants_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PositionOfPillars.c b/vanetza/asn1/its/r2/PositionOfPillars.c new file mode 100644 index 000000000..49555d5d3 --- /dev/null +++ b/vanetza/asn1/its/r2/PositionOfPillars.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PositionOfPillars.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PositionOfPillars_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PositionOfPillars_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 1, 3 } /* (SIZE(1..3,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PositionOfPillars_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_PosPillar, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PositionOfPillars_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PositionOfPillars_specs_1 = { + sizeof(struct Vanetza_ITS2_PositionOfPillars), + offsetof(struct Vanetza_ITS2_PositionOfPillars, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PositionOfPillars = { + "PositionOfPillars", + "PositionOfPillars", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_PositionOfPillars_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PositionOfPillars_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PositionOfPillars_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PositionOfPillars_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PositionOfPillars_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PositionOfPillars_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PositionOfPillars_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PositionOfPillars_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_PositionOfPillars_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_PositionOfPillars_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PositionOfPillars.h b/vanetza/asn1/its/r2/PositionOfPillars.h new file mode 100644 index 000000000..99803b16b --- /dev/null +++ b/vanetza/asn1/its/r2/PositionOfPillars.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PositionOfPillars_H_ +#define _Vanetza_ITS2_PositionOfPillars_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "PosPillar.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PositionOfPillars */ +typedef struct Vanetza_ITS2_PositionOfPillars { + A_SEQUENCE_OF(Vanetza_ITS2_PosPillar_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PositionOfPillars_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PositionOfPillars; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_PositionOfPillars_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PositionOfPillars_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PositionOfPillars_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PositionOfPillars_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PositioningSolutionType.c b/vanetza/asn1/its/r2/PositioningSolutionType.c new file mode 100644 index 000000000..965cfe230 --- /dev/null +++ b/vanetza/asn1/its/r2/PositioningSolutionType.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PositioningSolutionType.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_Vanetza_ITS2_PositioningSolutionType_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_Vanetza_ITS2_PositioningSolutionType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_PositioningSolutionType_value2enum_1[] = { + { 0, 21, "noPositioningSolution" }, + { 1, 5, "sGNSS" }, + { 2, 5, "dGNSS" }, + { 3, 11, "sGNSSplusDR" }, + { 4, 11, "dGNSSplusDR" }, + { 5, 2, "dR" }, + { 6, 18, "manuallyByOperator" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Vanetza_ITS2_PositioningSolutionType_enum2value_1[] = { + 2, /* dGNSS(2) */ + 4, /* dGNSSplusDR(4) */ + 5, /* dR(5) */ + 6, /* manuallyByOperator(6) */ + 0, /* noPositioningSolution(0) */ + 1, /* sGNSS(1) */ + 3 /* sGNSSplusDR(3) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_PositioningSolutionType_specs_1 = { + asn_MAP_Vanetza_ITS2_PositioningSolutionType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_PositioningSolutionType_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 7, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PositioningSolutionType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PositioningSolutionType = { + "PositioningSolutionType", + "PositioningSolutionType", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_PositioningSolutionType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PositioningSolutionType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PositioningSolutionType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PositioningSolutionType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PositioningSolutionType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PositioningSolutionType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PositioningSolutionType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PositioningSolutionType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_PositioningSolutionType_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PositioningSolutionType.h b/vanetza/asn1/its/r2/PositioningSolutionType.h new file mode 100644 index 000000000..f11deba7a --- /dev/null +++ b/vanetza/asn1/its/r2/PositioningSolutionType.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PositioningSolutionType_H_ +#define _Vanetza_ITS2_PositioningSolutionType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PositioningSolutionType { + Vanetza_ITS2_PositioningSolutionType_noPositioningSolution = 0, + Vanetza_ITS2_PositioningSolutionType_sGNSS = 1, + Vanetza_ITS2_PositioningSolutionType_dGNSS = 2, + Vanetza_ITS2_PositioningSolutionType_sGNSSplusDR = 3, + Vanetza_ITS2_PositioningSolutionType_dGNSSplusDR = 4, + Vanetza_ITS2_PositioningSolutionType_dR = 5, + /* + * Enumeration is extensible + */ + Vanetza_ITS2_PositioningSolutionType_manuallyByOperator = 6 +} e_Vanetza_ITS2_PositioningSolutionType; + +/* Vanetza_ITS2_PositioningSolutionType */ +typedef long Vanetza_ITS2_PositioningSolutionType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PositioningSolutionType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PositioningSolutionType; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_PositioningSolutionType_specs_1; +asn_struct_free_f Vanetza_ITS2_PositioningSolutionType_free; +asn_struct_print_f Vanetza_ITS2_PositioningSolutionType_print; +asn_constr_check_f Vanetza_ITS2_PositioningSolutionType_constraint; +ber_type_decoder_f Vanetza_ITS2_PositioningSolutionType_decode_ber; +der_type_encoder_f Vanetza_ITS2_PositioningSolutionType_encode_der; +xer_type_decoder_f Vanetza_ITS2_PositioningSolutionType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PositioningSolutionType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PositioningSolutionType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PositioningSolutionType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PositioningSolutionType_encode_oer; +per_type_decoder_f Vanetza_ITS2_PositioningSolutionType_decode_uper; +per_type_encoder_f Vanetza_ITS2_PositioningSolutionType_encode_uper; +per_type_decoder_f Vanetza_ITS2_PositioningSolutionType_decode_aper; +per_type_encoder_f Vanetza_ITS2_PositioningSolutionType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PositioningSolutionType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PostCrashSubCauseCode.c b/vanetza/asn1/its/r2/PostCrashSubCauseCode.c new file mode 100644 index 000000000..8994bf662 --- /dev/null +++ b/vanetza/asn1/its/r2/PostCrashSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PostCrashSubCauseCode.h" + +int +Vanetza_ITS2_PostCrashSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PostCrashSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PostCrashSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PostCrashSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PostCrashSubCauseCode = { + "PostCrashSubCauseCode", + "PostCrashSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_PostCrashSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PostCrashSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PostCrashSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PostCrashSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PostCrashSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PostCrashSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PostCrashSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PostCrashSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PostCrashSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/PostCrashSubCauseCode.h b/vanetza/asn1/its/r2/PostCrashSubCauseCode.h new file mode 100644 index 000000000..8ab06e160 --- /dev/null +++ b/vanetza/asn1/its/r2/PostCrashSubCauseCode.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PostCrashSubCauseCode_H_ +#define _Vanetza_ITS2_PostCrashSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PostCrashSubCauseCode { + Vanetza_ITS2_PostCrashSubCauseCode_unavailable = 0, + Vanetza_ITS2_PostCrashSubCauseCode_accidentWithoutECallTriggered = 1, + Vanetza_ITS2_PostCrashSubCauseCode_accidentWithECallManuallyTriggered = 2, + Vanetza_ITS2_PostCrashSubCauseCode_accidentWithECallAutomaticallyTriggered = 3, + Vanetza_ITS2_PostCrashSubCauseCode_accidentWithECallTriggeredWithoutAccessToCellularNetwork = 4 +} e_Vanetza_ITS2_PostCrashSubCauseCode; + +/* Vanetza_ITS2_PostCrashSubCauseCode */ +typedef long Vanetza_ITS2_PostCrashSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PostCrashSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PostCrashSubCauseCode; +asn_struct_free_f Vanetza_ITS2_PostCrashSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_PostCrashSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_PostCrashSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_PostCrashSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_PostCrashSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_PostCrashSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PostCrashSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PostCrashSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PostCrashSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PostCrashSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_PostCrashSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_PostCrashSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_PostCrashSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_PostCrashSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PostCrashSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PreCrashContainer.c b/vanetza/asn1/its/r2/PreCrashContainer.c new file mode 100644 index 000000000..a9100f9af --- /dev/null +++ b/vanetza/asn1/its/r2/PreCrashContainer.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PreCrashContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PreCrashContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PreCrashContainer, perceivedPreCrashObject), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PerceivedObject, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "perceivedPreCrashObject" + }, + { ATF_POINTER, 4, offsetof(struct Vanetza_ITS2_PreCrashContainer, objectStationId), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StationId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "objectStationId" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_PreCrashContainer, timeToCollision), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeMilliSecondPositive, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeToCollision" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_PreCrashContainer, impactSection), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ObjectFace, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "impactSection" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_PreCrashContainer, estimatedBrakingDistance), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "estimatedBrakingDistance" + }, +}; +static const int asn_MAP_Vanetza_ITS2_PreCrashContainer_oms_1[] = { 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PreCrashContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PreCrashContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* perceivedPreCrashObject */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* objectStationId */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* timeToCollision */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* impactSection */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* estimatedBrakingDistance */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PreCrashContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_PreCrashContainer), + offsetof(struct Vanetza_ITS2_PreCrashContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_PreCrashContainer_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_PreCrashContainer_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PreCrashContainer = { + "PreCrashContainer", + "PreCrashContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PreCrashContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PreCrashContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PreCrashContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PreCrashContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PreCrashContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PreCrashContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PreCrashContainer_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PreCrashContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PreCrashContainer.h b/vanetza/asn1/its/r2/PreCrashContainer.h new file mode 100644 index 000000000..8df49c186 --- /dev/null +++ b/vanetza/asn1/its/r2/PreCrashContainer.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PreCrashContainer_H_ +#define _Vanetza_ITS2_PreCrashContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "PerceivedObject.h" +#include "StationId.h" +#include "DeltaTimeMilliSecondPositive.h" +#include "ObjectFace.h" +#include "StandardLength12b.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PreCrashContainer */ +typedef struct Vanetza_ITS2_PreCrashContainer { + Vanetza_ITS2_PerceivedObject_t perceivedPreCrashObject; + Vanetza_ITS2_StationId_t *objectStationId; /* OPTIONAL */ + Vanetza_ITS2_DeltaTimeMilliSecondPositive_t *timeToCollision; /* OPTIONAL */ + Vanetza_ITS2_ObjectFace_t *impactSection; /* OPTIONAL */ + Vanetza_ITS2_StandardLength12b_t *estimatedBrakingDistance; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PreCrashContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PreCrashContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PreCrashContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PreCrashContainer_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PreCrashContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PrecipitationIntensity.c b/vanetza/asn1/its/r2/PrecipitationIntensity.c new file mode 100644 index 000000000..2a6bb7136 --- /dev/null +++ b/vanetza/asn1/its/r2/PrecipitationIntensity.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PrecipitationIntensity.h" + +int +Vanetza_ITS2_PrecipitationIntensity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 2001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PrecipitationIntensity_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..2001) */, + -1}; +#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_Vanetza_ITS2_PrecipitationIntensity_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 1, 2001 } /* (1..2001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PrecipitationIntensity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PrecipitationIntensity = { + "PrecipitationIntensity", + "PrecipitationIntensity", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_PrecipitationIntensity_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PrecipitationIntensity_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PrecipitationIntensity_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PrecipitationIntensity_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PrecipitationIntensity_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PrecipitationIntensity_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PrecipitationIntensity_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PrecipitationIntensity_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PrecipitationIntensity_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/PrecipitationIntensity.h b/vanetza/asn1/its/r2/PrecipitationIntensity.h new file mode 100644 index 000000000..fec0beb75 --- /dev/null +++ b/vanetza/asn1/its/r2/PrecipitationIntensity.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PrecipitationIntensity_H_ +#define _Vanetza_ITS2_PrecipitationIntensity_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PrecipitationIntensity { + Vanetza_ITS2_PrecipitationIntensity_outOfRange = 2000, + Vanetza_ITS2_PrecipitationIntensity_unavailable = 2001 +} e_Vanetza_ITS2_PrecipitationIntensity; + +/* Vanetza_ITS2_PrecipitationIntensity */ +typedef long Vanetza_ITS2_PrecipitationIntensity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PrecipitationIntensity; +asn_struct_free_f Vanetza_ITS2_PrecipitationIntensity_free; +asn_struct_print_f Vanetza_ITS2_PrecipitationIntensity_print; +asn_constr_check_f Vanetza_ITS2_PrecipitationIntensity_constraint; +ber_type_decoder_f Vanetza_ITS2_PrecipitationIntensity_decode_ber; +der_type_encoder_f Vanetza_ITS2_PrecipitationIntensity_encode_der; +xer_type_decoder_f Vanetza_ITS2_PrecipitationIntensity_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PrecipitationIntensity_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PrecipitationIntensity_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PrecipitationIntensity_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PrecipitationIntensity_encode_oer; +per_type_decoder_f Vanetza_ITS2_PrecipitationIntensity_decode_uper; +per_type_encoder_f Vanetza_ITS2_PrecipitationIntensity_encode_uper; +per_type_decoder_f Vanetza_ITS2_PrecipitationIntensity_decode_aper; +per_type_encoder_f Vanetza_ITS2_PrecipitationIntensity_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PrecipitationIntensity_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ProtectedCommunicationZone.c b/vanetza/asn1/its/r2/ProtectedCommunicationZone.c new file mode 100644 index 000000000..74088f845 --- /dev/null +++ b/vanetza/asn1/its/r2/ProtectedCommunicationZone.c @@ -0,0 +1,179 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ProtectedCommunicationZone.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ProtectedCommunicationZone_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ProtectedCommunicationZone, protectedZoneType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ProtectedZoneType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "protectedZoneType" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_ProtectedCommunicationZone, expiryTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TimestampIts, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "expiryTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ProtectedCommunicationZone, protectedZoneLatitude), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "protectedZoneLatitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ProtectedCommunicationZone, protectedZoneLongitude), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "protectedZoneLongitude" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_ProtectedCommunicationZone, protectedZoneRadius), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ProtectedZoneRadius, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "protectedZoneRadius" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_ProtectedCommunicationZone, protectedZoneId), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ProtectedZoneId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "protectedZoneId" + }, +}; +static const int asn_MAP_Vanetza_ITS2_ProtectedCommunicationZone_oms_1[] = { 1, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ProtectedCommunicationZone_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ProtectedCommunicationZone_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protectedZoneType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* expiryTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protectedZoneLatitude */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* protectedZoneLongitude */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* protectedZoneRadius */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* protectedZoneId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ProtectedCommunicationZone_specs_1 = { + sizeof(struct Vanetza_ITS2_ProtectedCommunicationZone), + offsetof(struct Vanetza_ITS2_ProtectedCommunicationZone, _asn_ctx), + asn_MAP_Vanetza_ITS2_ProtectedCommunicationZone_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_ProtectedCommunicationZone_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ProtectedCommunicationZone = { + "ProtectedCommunicationZone", + "ProtectedCommunicationZone", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ProtectedCommunicationZone_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ProtectedCommunicationZone_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ProtectedCommunicationZone_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ProtectedCommunicationZone_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ProtectedCommunicationZone_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ProtectedCommunicationZone_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ProtectedCommunicationZone_1, + 6, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ProtectedCommunicationZone_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ProtectedCommunicationZone.h b/vanetza/asn1/its/r2/ProtectedCommunicationZone.h new file mode 100644 index 000000000..10108218f --- /dev/null +++ b/vanetza/asn1/its/r2/ProtectedCommunicationZone.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ProtectedCommunicationZone_H_ +#define _Vanetza_ITS2_ProtectedCommunicationZone_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "ProtectedZoneType.h" +#include "TimestampIts.h" +#include "Latitude.h" +#include "Longitude.h" +#include "ProtectedZoneRadius.h" +#include "ProtectedZoneId.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ProtectedCommunicationZone */ +typedef struct Vanetza_ITS2_ProtectedCommunicationZone { + Vanetza_ITS2_ProtectedZoneType_t protectedZoneType; + Vanetza_ITS2_TimestampIts_t *expiryTime; /* OPTIONAL */ + Vanetza_ITS2_Latitude_t protectedZoneLatitude; + Vanetza_ITS2_Longitude_t protectedZoneLongitude; + Vanetza_ITS2_ProtectedZoneRadius_t *protectedZoneRadius; /* OPTIONAL */ + Vanetza_ITS2_ProtectedZoneId_t *protectedZoneId; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ProtectedCommunicationZone_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ProtectedCommunicationZone; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ProtectedCommunicationZone_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ProtectedCommunicationZone_1[6]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ProtectedCommunicationZone_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ProtectedCommunicationZonesRSU.c b/vanetza/asn1/its/r2/ProtectedCommunicationZonesRSU.c new file mode 100644 index 000000000..d31b6b50d --- /dev/null +++ b/vanetza/asn1/its/r2/ProtectedCommunicationZonesRSU.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ProtectedCommunicationZonesRSU.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ProtectedCommunicationZonesRSU_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ProtectedCommunicationZonesRSU_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ProtectedCommunicationZonesRSU_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_ProtectedCommunicationZone, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ProtectedCommunicationZonesRSU_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_ProtectedCommunicationZonesRSU_specs_1 = { + sizeof(struct Vanetza_ITS2_ProtectedCommunicationZonesRSU), + offsetof(struct Vanetza_ITS2_ProtectedCommunicationZonesRSU, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ProtectedCommunicationZonesRSU = { + "ProtectedCommunicationZonesRSU", + "ProtectedCommunicationZonesRSU", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_ProtectedCommunicationZonesRSU_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ProtectedCommunicationZonesRSU_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ProtectedCommunicationZonesRSU_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ProtectedCommunicationZonesRSU_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ProtectedCommunicationZonesRSU_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ProtectedCommunicationZonesRSU_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ProtectedCommunicationZonesRSU_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ProtectedCommunicationZonesRSU_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_ProtectedCommunicationZonesRSU_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_ProtectedCommunicationZonesRSU_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ProtectedCommunicationZonesRSU.h b/vanetza/asn1/its/r2/ProtectedCommunicationZonesRSU.h new file mode 100644 index 000000000..049b50f61 --- /dev/null +++ b/vanetza/asn1/its/r2/ProtectedCommunicationZonesRSU.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ProtectedCommunicationZonesRSU_H_ +#define _Vanetza_ITS2_ProtectedCommunicationZonesRSU_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 Vanetza_ITS2_ProtectedCommunicationZone; + +/* Vanetza_ITS2_ProtectedCommunicationZonesRSU */ +typedef struct Vanetza_ITS2_ProtectedCommunicationZonesRSU { + A_SEQUENCE_OF(struct Vanetza_ITS2_ProtectedCommunicationZone) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ProtectedCommunicationZonesRSU_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ProtectedCommunicationZonesRSU; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_ProtectedCommunicationZonesRSU_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ProtectedCommunicationZonesRSU_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ProtectedCommunicationZonesRSU_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "ProtectedCommunicationZone.h" + +#endif /* _Vanetza_ITS2_ProtectedCommunicationZonesRSU_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ProtectedZoneId.c b/vanetza/asn1/its/r2/ProtectedZoneId.c new file mode 100644 index 000000000..fef0bef2a --- /dev/null +++ b/vanetza/asn1/its/r2/ProtectedZoneId.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ProtectedZoneId.h" + +int +Vanetza_ITS2_ProtectedZoneId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 134217727L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ProtectedZoneId_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..134217727) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ProtectedZoneId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 27, -1, 0, 134217727 } /* (0..134217727) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ProtectedZoneId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ProtectedZoneId = { + "ProtectedZoneId", + "ProtectedZoneId", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_ProtectedZoneId_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneId_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ProtectedZoneId_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ProtectedZoneId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ProtectedZoneId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ProtectedZoneId_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/ProtectedZoneId.h b/vanetza/asn1/its/r2/ProtectedZoneId.h new file mode 100644 index 000000000..ed81593d8 --- /dev/null +++ b/vanetza/asn1/its/r2/ProtectedZoneId.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ProtectedZoneId_H_ +#define _Vanetza_ITS2_ProtectedZoneId_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ProtectedZoneId */ +typedef long Vanetza_ITS2_ProtectedZoneId_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ProtectedZoneId_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ProtectedZoneId; +asn_struct_free_f Vanetza_ITS2_ProtectedZoneId_free; +asn_struct_print_f Vanetza_ITS2_ProtectedZoneId_print; +asn_constr_check_f Vanetza_ITS2_ProtectedZoneId_constraint; +ber_type_decoder_f Vanetza_ITS2_ProtectedZoneId_decode_ber; +der_type_encoder_f Vanetza_ITS2_ProtectedZoneId_encode_der; +xer_type_decoder_f Vanetza_ITS2_ProtectedZoneId_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ProtectedZoneId_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ProtectedZoneId_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ProtectedZoneId_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ProtectedZoneId_encode_oer; +per_type_decoder_f Vanetza_ITS2_ProtectedZoneId_decode_uper; +per_type_encoder_f Vanetza_ITS2_ProtectedZoneId_encode_uper; +per_type_decoder_f Vanetza_ITS2_ProtectedZoneId_decode_aper; +per_type_encoder_f Vanetza_ITS2_ProtectedZoneId_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ProtectedZoneId_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ProtectedZoneRadius.c b/vanetza/asn1/its/r2/ProtectedZoneRadius.c new file mode 100644 index 000000000..e4b2c0dd7 --- /dev/null +++ b/vanetza/asn1/its/r2/ProtectedZoneRadius.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ProtectedZoneRadius.h" + +int +Vanetza_ITS2_ProtectedZoneRadius_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ProtectedZoneRadius_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_Vanetza_ITS2_ProtectedZoneRadius_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 255 } /* (1..255,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ProtectedZoneRadius_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ProtectedZoneRadius = { + "ProtectedZoneRadius", + "ProtectedZoneRadius", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_ProtectedZoneRadius_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneRadius_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneRadius_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ProtectedZoneRadius_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneRadius_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneRadius_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ProtectedZoneRadius_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ProtectedZoneRadius_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ProtectedZoneRadius_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/ProtectedZoneRadius.h b/vanetza/asn1/its/r2/ProtectedZoneRadius.h new file mode 100644 index 000000000..f3d0fac0e --- /dev/null +++ b/vanetza/asn1/its/r2/ProtectedZoneRadius.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ProtectedZoneRadius_H_ +#define _Vanetza_ITS2_ProtectedZoneRadius_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ProtectedZoneRadius */ +typedef long Vanetza_ITS2_ProtectedZoneRadius_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ProtectedZoneRadius_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ProtectedZoneRadius; +asn_struct_free_f Vanetza_ITS2_ProtectedZoneRadius_free; +asn_struct_print_f Vanetza_ITS2_ProtectedZoneRadius_print; +asn_constr_check_f Vanetza_ITS2_ProtectedZoneRadius_constraint; +ber_type_decoder_f Vanetza_ITS2_ProtectedZoneRadius_decode_ber; +der_type_encoder_f Vanetza_ITS2_ProtectedZoneRadius_encode_der; +xer_type_decoder_f Vanetza_ITS2_ProtectedZoneRadius_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ProtectedZoneRadius_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ProtectedZoneRadius_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ProtectedZoneRadius_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ProtectedZoneRadius_encode_oer; +per_type_decoder_f Vanetza_ITS2_ProtectedZoneRadius_decode_uper; +per_type_encoder_f Vanetza_ITS2_ProtectedZoneRadius_encode_uper; +per_type_decoder_f Vanetza_ITS2_ProtectedZoneRadius_decode_aper; +per_type_encoder_f Vanetza_ITS2_ProtectedZoneRadius_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ProtectedZoneRadius_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ProtectedZoneType.c b/vanetza/asn1/its/r2/ProtectedZoneType.c new file mode 100644 index 000000000..5a8159714 --- /dev/null +++ b/vanetza/asn1/its/r2/ProtectedZoneType.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ProtectedZoneType.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_Vanetza_ITS2_ProtectedZoneType_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_Vanetza_ITS2_ProtectedZoneType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_ProtectedZoneType_value2enum_1[] = { + { 0, 23, "permanentCenDsrcTolling" }, + { 1, 23, "temporaryCenDsrcTolling" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Vanetza_ITS2_ProtectedZoneType_enum2value_1[] = { + 0, /* permanentCenDsrcTolling(0) */ + 1 /* temporaryCenDsrcTolling(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_ProtectedZoneType_specs_1 = { + asn_MAP_Vanetza_ITS2_ProtectedZoneType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_ProtectedZoneType_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ProtectedZoneType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ProtectedZoneType = { + "ProtectedZoneType", + "ProtectedZoneType", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_ProtectedZoneType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ProtectedZoneType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ProtectedZoneType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ProtectedZoneType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ProtectedZoneType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_ProtectedZoneType_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ProtectedZoneType.h b/vanetza/asn1/its/r2/ProtectedZoneType.h new file mode 100644 index 000000000..cc659aa7a --- /dev/null +++ b/vanetza/asn1/its/r2/ProtectedZoneType.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ProtectedZoneType_H_ +#define _Vanetza_ITS2_ProtectedZoneType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ProtectedZoneType { + Vanetza_ITS2_ProtectedZoneType_permanentCenDsrcTolling = 0, + /* + * Enumeration is extensible + */ + Vanetza_ITS2_ProtectedZoneType_temporaryCenDsrcTolling = 1 +} e_Vanetza_ITS2_ProtectedZoneType; + +/* Vanetza_ITS2_ProtectedZoneType */ +typedef long Vanetza_ITS2_ProtectedZoneType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ProtectedZoneType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ProtectedZoneType; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_ProtectedZoneType_specs_1; +asn_struct_free_f Vanetza_ITS2_ProtectedZoneType_free; +asn_struct_print_f Vanetza_ITS2_ProtectedZoneType_print; +asn_constr_check_f Vanetza_ITS2_ProtectedZoneType_constraint; +ber_type_decoder_f Vanetza_ITS2_ProtectedZoneType_decode_ber; +der_type_encoder_f Vanetza_ITS2_ProtectedZoneType_encode_der; +xer_type_decoder_f Vanetza_ITS2_ProtectedZoneType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ProtectedZoneType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ProtectedZoneType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ProtectedZoneType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ProtectedZoneType_encode_oer; +per_type_decoder_f Vanetza_ITS2_ProtectedZoneType_decode_uper; +per_type_encoder_f Vanetza_ITS2_ProtectedZoneType_encode_uper; +per_type_decoder_f Vanetza_ITS2_ProtectedZoneType_decode_aper; +per_type_encoder_f Vanetza_ITS2_ProtectedZoneType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ProtectedZoneType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Provider.c b/vanetza/asn1/its/r2/Provider.c new file mode 100644 index 000000000..9ac5df84f --- /dev/null +++ b/vanetza/asn1/its/r2/Provider.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Provider.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Provider_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Provider, countryCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CountryCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "countryCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Provider, providerIdentifier), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_IssuerIdentifier, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "providerIdentifier" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Provider_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_Provider_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* countryCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* providerIdentifier */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_Provider_specs_1 = { + sizeof(struct Vanetza_ITS2_Provider), + offsetof(struct Vanetza_ITS2_Provider, _asn_ctx), + asn_MAP_Vanetza_ITS2_Provider_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Provider = { + "Provider", + "Provider", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_Provider_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Provider_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Provider_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Provider_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Provider_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Provider_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_Provider_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_Provider_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Provider.h b/vanetza/asn1/its/r2/Provider.h new file mode 100644 index 000000000..90584da03 --- /dev/null +++ b/vanetza/asn1/its/r2/Provider.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Provider_H_ +#define _Vanetza_ITS2_Provider_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CountryCode.h" +#include "IssuerIdentifier.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_Provider */ +typedef struct Vanetza_ITS2_Provider { + Vanetza_ITS2_CountryCode_t countryCode; + Vanetza_ITS2_IssuerIdentifier_t providerIdentifier; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Provider_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Provider; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_Provider_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Provider_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Provider_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PtActivation.c b/vanetza/asn1/its/r2/PtActivation.c new file mode 100644 index 000000000..871d5781c --- /dev/null +++ b/vanetza/asn1/its/r2/PtActivation.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PtActivation.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PtActivation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PtActivation, ptActivationType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PtActivationType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ptActivationType" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PtActivation, ptActivationData), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PtActivationData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ptActivationData" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PtActivation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PtActivation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ptActivationType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ptActivationData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PtActivation_specs_1 = { + sizeof(struct Vanetza_ITS2_PtActivation), + offsetof(struct Vanetza_ITS2_PtActivation, _asn_ctx), + asn_MAP_Vanetza_ITS2_PtActivation_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_Vanetza_ITS2_PtActivation = { + "PtActivation", + "PtActivation", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PtActivation_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PtActivation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PtActivation_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PtActivation_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PtActivation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PtActivation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PtActivation_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PtActivation_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PtActivation.h b/vanetza/asn1/its/r2/PtActivation.h new file mode 100644 index 000000000..8f9b382f4 --- /dev/null +++ b/vanetza/asn1/its/r2/PtActivation.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PtActivation_H_ +#define _Vanetza_ITS2_PtActivation_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "PtActivationType.h" +#include "PtActivationData.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PtActivation */ +typedef struct Vanetza_ITS2_PtActivation { + Vanetza_ITS2_PtActivationType_t ptActivationType; + Vanetza_ITS2_PtActivationData_t ptActivationData; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PtActivation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PtActivation; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PtActivation_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PtActivation_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PtActivation_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PtActivationData.c b/vanetza/asn1/its/r2/PtActivationData.c new file mode 100644 index 000000000..95f21dd0a --- /dev/null +++ b/vanetza/asn1/its/r2/PtActivationData.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PtActivationData.h" + +int +Vanetza_ITS2_PtActivationData_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 20UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PtActivationData_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..20)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PtActivationData_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 20 } /* (SIZE(1..20)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PtActivationData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PtActivationData = { + "PtActivationData", + "PtActivationData", + &asn_OP_OCTET_STRING, + asn_DEF_Vanetza_ITS2_PtActivationData_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PtActivationData_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PtActivationData_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PtActivationData_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PtActivationData_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PtActivationData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PtActivationData_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PtActivationData_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PtActivationData_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PtActivationData.h b/vanetza/asn1/its/r2/PtActivationData.h new file mode 100644 index 000000000..aa700d4f8 --- /dev/null +++ b/vanetza/asn1/its/r2/PtActivationData.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PtActivationData_H_ +#define _Vanetza_ITS2_PtActivationData_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "OCTET_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_PtActivationData */ +typedef OCTET_STRING_t Vanetza_ITS2_PtActivationData_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PtActivationData_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PtActivationData; +asn_struct_free_f Vanetza_ITS2_PtActivationData_free; +asn_struct_print_f Vanetza_ITS2_PtActivationData_print; +asn_constr_check_f Vanetza_ITS2_PtActivationData_constraint; +ber_type_decoder_f Vanetza_ITS2_PtActivationData_decode_ber; +der_type_encoder_f Vanetza_ITS2_PtActivationData_encode_der; +xer_type_decoder_f Vanetza_ITS2_PtActivationData_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PtActivationData_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PtActivationData_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PtActivationData_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PtActivationData_encode_oer; +per_type_decoder_f Vanetza_ITS2_PtActivationData_decode_uper; +per_type_encoder_f Vanetza_ITS2_PtActivationData_encode_uper; +per_type_decoder_f Vanetza_ITS2_PtActivationData_decode_aper; +per_type_encoder_f Vanetza_ITS2_PtActivationData_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PtActivationData_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PtActivationType.c b/vanetza/asn1/its/r2/PtActivationType.c new file mode 100644 index 000000000..8c357a5cf --- /dev/null +++ b/vanetza/asn1/its/r2/PtActivationType.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PtActivationType.h" + +int +Vanetza_ITS2_PtActivationType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_PtActivationType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PtActivationType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PtActivationType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PtActivationType = { + "PtActivationType", + "PtActivationType", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_PtActivationType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PtActivationType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PtActivationType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PtActivationType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PtActivationType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PtActivationType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_PtActivationType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_PtActivationType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_PtActivationType_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/PtActivationType.h b/vanetza/asn1/its/r2/PtActivationType.h new file mode 100644 index 000000000..64ba75156 --- /dev/null +++ b/vanetza/asn1/its/r2/PtActivationType.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PtActivationType_H_ +#define _Vanetza_ITS2_PtActivationType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_PtActivationType { + Vanetza_ITS2_PtActivationType_undefinedCodingType = 0, + Vanetza_ITS2_PtActivationType_r09_16CodingType = 1, + Vanetza_ITS2_PtActivationType_vdv_50149CodingType = 2 +} e_Vanetza_ITS2_PtActivationType; + +/* Vanetza_ITS2_PtActivationType */ +typedef long Vanetza_ITS2_PtActivationType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_PtActivationType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PtActivationType; +asn_struct_free_f Vanetza_ITS2_PtActivationType_free; +asn_struct_print_f Vanetza_ITS2_PtActivationType_print; +asn_constr_check_f Vanetza_ITS2_PtActivationType_constraint; +ber_type_decoder_f Vanetza_ITS2_PtActivationType_decode_ber; +der_type_encoder_f Vanetza_ITS2_PtActivationType_encode_der; +xer_type_decoder_f Vanetza_ITS2_PtActivationType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_PtActivationType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_PtActivationType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_PtActivationType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_PtActivationType_encode_oer; +per_type_decoder_f Vanetza_ITS2_PtActivationType_decode_uper; +per_type_encoder_f Vanetza_ITS2_PtActivationType_encode_uper; +per_type_decoder_f Vanetza_ITS2_PtActivationType_decode_aper; +per_type_encoder_f Vanetza_ITS2_PtActivationType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_PtActivationType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/PublicTransportContainer.c b/vanetza/asn1/its/r2/PublicTransportContainer.c new file mode 100644 index 000000000..daae43e8c --- /dev/null +++ b/vanetza/asn1/its/r2/PublicTransportContainer.c @@ -0,0 +1,95 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "PublicTransportContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PublicTransportContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_PublicTransportContainer, embarkationStatus), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EmbarkationStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "embarkationStatus" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_PublicTransportContainer, ptActivation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PtActivation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ptActivation" + }, +}; +static const int asn_MAP_Vanetza_ITS2_PublicTransportContainer_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_PublicTransportContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_PublicTransportContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* embarkationStatus */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ptActivation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PublicTransportContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_PublicTransportContainer), + offsetof(struct Vanetza_ITS2_PublicTransportContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_PublicTransportContainer_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_PublicTransportContainer_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PublicTransportContainer = { + "PublicTransportContainer", + "PublicTransportContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_PublicTransportContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_PublicTransportContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PublicTransportContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_PublicTransportContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_PublicTransportContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_PublicTransportContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_PublicTransportContainer_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_PublicTransportContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/PublicTransportContainer.h b/vanetza/asn1/its/r2/PublicTransportContainer.h new file mode 100644 index 000000000..bfc4e140f --- /dev/null +++ b/vanetza/asn1/its/r2/PublicTransportContainer.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_PublicTransportContainer_H_ +#define _Vanetza_ITS2_PublicTransportContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "EmbarkationStatus.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_PtActivation; + +/* Vanetza_ITS2_PublicTransportContainer */ +typedef struct Vanetza_ITS2_PublicTransportContainer { + Vanetza_ITS2_EmbarkationStatus_t embarkationStatus; + struct Vanetza_ITS2_PtActivation *ptActivation; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_PublicTransportContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_PublicTransportContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_PublicTransportContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_PublicTransportContainer_1[2]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "PtActivation.h" + +#endif /* _Vanetza_ITS2_PublicTransportContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RSUContainerHighFrequency.c b/vanetza/asn1/its/r2/RSUContainerHighFrequency.c new file mode 100644 index 000000000..b274cecce --- /dev/null +++ b/vanetza/asn1/its/r2/RSUContainerHighFrequency.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RSUContainerHighFrequency.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RSUContainerHighFrequency_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RSUContainerHighFrequency, protectedCommunicationZonesRSU), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ProtectedCommunicationZonesRSU, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "protectedCommunicationZonesRSU" + }, +}; +static const int asn_MAP_Vanetza_ITS2_RSUContainerHighFrequency_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RSUContainerHighFrequency_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RSUContainerHighFrequency_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protectedCommunicationZonesRSU */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RSUContainerHighFrequency_specs_1 = { + sizeof(struct Vanetza_ITS2_RSUContainerHighFrequency), + offsetof(struct Vanetza_ITS2_RSUContainerHighFrequency, _asn_ctx), + asn_MAP_Vanetza_ITS2_RSUContainerHighFrequency_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_RSUContainerHighFrequency_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RSUContainerHighFrequency = { + "RSUContainerHighFrequency", + "RSUContainerHighFrequency", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RSUContainerHighFrequency_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RSUContainerHighFrequency_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RSUContainerHighFrequency_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RSUContainerHighFrequency_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RSUContainerHighFrequency_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RSUContainerHighFrequency_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RSUContainerHighFrequency_1, + 1, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RSUContainerHighFrequency_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RSUContainerHighFrequency.h b/vanetza/asn1/its/r2/RSUContainerHighFrequency.h new file mode 100644 index 000000000..d91668388 --- /dev/null +++ b/vanetza/asn1/its/r2/RSUContainerHighFrequency.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RSUContainerHighFrequency_H_ +#define _Vanetza_ITS2_RSUContainerHighFrequency_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_ProtectedCommunicationZonesRSU; + +/* Vanetza_ITS2_RSUContainerHighFrequency */ +typedef struct Vanetza_ITS2_RSUContainerHighFrequency { + struct Vanetza_ITS2_ProtectedCommunicationZonesRSU *protectedCommunicationZonesRSU; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RSUContainerHighFrequency_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RSUContainerHighFrequency; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RSUContainerHighFrequency_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RSUContainerHighFrequency_1[1]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "ProtectedCommunicationZonesRSU.h" + +#endif /* _Vanetza_ITS2_RSUContainerHighFrequency_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RadialShape.c b/vanetza/asn1/its/r2/RadialShape.c new file mode 100644 index 000000000..e7482d5a9 --- /dev/null +++ b/vanetza/asn1/its/r2/RadialShape.c @@ -0,0 +1,191 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RadialShape.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_RadialShape_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_Vanetza_ITS2_RadialShape_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RadialShape_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RadialShape, shapeReferencePoint), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianPosition3d, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "shapeReferencePoint" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RadialShape, range), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "range" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RadialShape, horizontalOpeningAngleStart), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "horizontalOpeningAngleStart" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RadialShape, horizontalOpeningAngleEnd), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "horizontalOpeningAngleEnd" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_RadialShape, verticalOpeningAngleStart), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "verticalOpeningAngleStart" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RadialShape, verticalOpeningAngleEnd), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "verticalOpeningAngleEnd" + }, +}; +static const int asn_MAP_Vanetza_ITS2_RadialShape_oms_1[] = { 0, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RadialShape_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RadialShape_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* shapeReferencePoint */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* range */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* horizontalOpeningAngleStart */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* horizontalOpeningAngleEnd */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* verticalOpeningAngleStart */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* verticalOpeningAngleEnd */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RadialShape_specs_1 = { + sizeof(struct Vanetza_ITS2_RadialShape), + offsetof(struct Vanetza_ITS2_RadialShape, _asn_ctx), + asn_MAP_Vanetza_ITS2_RadialShape_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_RadialShape_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RadialShape = { + "RadialShape", + "RadialShape", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RadialShape_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RadialShape_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RadialShape_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RadialShape_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RadialShape_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RadialShape_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RadialShape_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RadialShape_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RadialShape_1, + 6, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RadialShape_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RadialShape.h b/vanetza/asn1/its/r2/RadialShape.h new file mode 100644 index 000000000..0eacaaa7d --- /dev/null +++ b/vanetza/asn1/its/r2/RadialShape.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RadialShape_H_ +#define _Vanetza_ITS2_RadialShape_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StandardLength12b.h" +#include "CartesianAngleValue.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CartesianPosition3d; + +/* Vanetza_ITS2_RadialShape */ +typedef struct Vanetza_ITS2_RadialShape { + struct Vanetza_ITS2_CartesianPosition3d *shapeReferencePoint; /* OPTIONAL */ + Vanetza_ITS2_StandardLength12b_t range; + Vanetza_ITS2_CartesianAngleValue_t horizontalOpeningAngleStart; + Vanetza_ITS2_CartesianAngleValue_t horizontalOpeningAngleEnd; + Vanetza_ITS2_CartesianAngleValue_t *verticalOpeningAngleStart; /* OPTIONAL */ + Vanetza_ITS2_CartesianAngleValue_t *verticalOpeningAngleEnd; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RadialShape_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RadialShape; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RadialShape_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RadialShape_1[6]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RadialShape_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CartesianPosition3d.h" + +#endif /* _Vanetza_ITS2_RadialShape_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RadialShapeDetails.c b/vanetza/asn1/its/r2/RadialShapeDetails.c new file mode 100644 index 000000000..17fe0d32c --- /dev/null +++ b/vanetza/asn1/its/r2/RadialShapeDetails.c @@ -0,0 +1,170 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RadialShapeDetails.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_RadialShapeDetails_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_Vanetza_ITS2_RadialShapeDetails_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RadialShapeDetails_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RadialShapeDetails, range), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "range" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RadialShapeDetails, horizontalOpeningAngleStart), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "horizontalOpeningAngleStart" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RadialShapeDetails, horizontalOpeningAngleEnd), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "horizontalOpeningAngleEnd" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_RadialShapeDetails, verticalOpeningAngleStart), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "verticalOpeningAngleStart" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RadialShapeDetails, verticalOpeningAngleEnd), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "verticalOpeningAngleEnd" + }, +}; +static const int asn_MAP_Vanetza_ITS2_RadialShapeDetails_oms_1[] = { 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RadialShapeDetails_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RadialShapeDetails_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* range */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* horizontalOpeningAngleStart */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* horizontalOpeningAngleEnd */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* verticalOpeningAngleStart */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* verticalOpeningAngleEnd */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RadialShapeDetails_specs_1 = { + sizeof(struct Vanetza_ITS2_RadialShapeDetails), + offsetof(struct Vanetza_ITS2_RadialShapeDetails, _asn_ctx), + asn_MAP_Vanetza_ITS2_RadialShapeDetails_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_RadialShapeDetails_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RadialShapeDetails = { + "RadialShapeDetails", + "RadialShapeDetails", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RadialShapeDetails_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RadialShapeDetails_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RadialShapeDetails_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RadialShapeDetails_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RadialShapeDetails_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RadialShapeDetails_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RadialShapeDetails_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RadialShapeDetails_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RadialShapeDetails_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RadialShapeDetails_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RadialShapeDetails.h b/vanetza/asn1/its/r2/RadialShapeDetails.h new file mode 100644 index 000000000..4591caced --- /dev/null +++ b/vanetza/asn1/its/r2/RadialShapeDetails.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RadialShapeDetails_H_ +#define _Vanetza_ITS2_RadialShapeDetails_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StandardLength12b.h" +#include "CartesianAngleValue.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_RadialShapeDetails */ +typedef struct Vanetza_ITS2_RadialShapeDetails { + Vanetza_ITS2_StandardLength12b_t range; + Vanetza_ITS2_CartesianAngleValue_t horizontalOpeningAngleStart; + Vanetza_ITS2_CartesianAngleValue_t horizontalOpeningAngleEnd; + Vanetza_ITS2_CartesianAngleValue_t *verticalOpeningAngleStart; /* OPTIONAL */ + Vanetza_ITS2_CartesianAngleValue_t *verticalOpeningAngleEnd; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RadialShapeDetails_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RadialShapeDetails; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RadialShapeDetails_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RadialShapeDetails_1[5]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RadialShapeDetails_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RadialShapeDetails_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RadialShapes.c b/vanetza/asn1/its/r2/RadialShapes.c new file mode 100644 index 000000000..305cd8a63 --- /dev/null +++ b/vanetza/asn1/its/r2/RadialShapes.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RadialShapes.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RadialShapes_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RadialShapes, refPointId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "refPointId" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RadialShapes, xCoordinate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "xCoordinate" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RadialShapes, yCoordinate), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yCoordinate" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RadialShapes, zCoordinate), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianCoordinateSmall, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zCoordinate" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RadialShapes, radialShapesList), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RadialShapesList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "radialShapesList" + }, +}; +static const int asn_MAP_Vanetza_ITS2_RadialShapes_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RadialShapes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RadialShapes_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* refPointId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* xCoordinate */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* yCoordinate */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* zCoordinate */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* radialShapesList */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RadialShapes_specs_1 = { + sizeof(struct Vanetza_ITS2_RadialShapes), + offsetof(struct Vanetza_ITS2_RadialShapes, _asn_ctx), + asn_MAP_Vanetza_ITS2_RadialShapes_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_RadialShapes_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RadialShapes = { + "RadialShapes", + "RadialShapes", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RadialShapes_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RadialShapes_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RadialShapes_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RadialShapes_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RadialShapes_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RadialShapes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RadialShapes_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RadialShapes_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RadialShapes.h b/vanetza/asn1/its/r2/RadialShapes.h new file mode 100644 index 000000000..c1d6bd777 --- /dev/null +++ b/vanetza/asn1/its/r2/RadialShapes.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RadialShapes_H_ +#define _Vanetza_ITS2_RadialShapes_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier1B.h" +#include "CartesianCoordinateSmall.h" +#include "RadialShapesList.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_RadialShapes */ +typedef struct Vanetza_ITS2_RadialShapes { + Vanetza_ITS2_Identifier1B_t refPointId; + Vanetza_ITS2_CartesianCoordinateSmall_t xCoordinate; + Vanetza_ITS2_CartesianCoordinateSmall_t yCoordinate; + Vanetza_ITS2_CartesianCoordinateSmall_t *zCoordinate; /* OPTIONAL */ + Vanetza_ITS2_RadialShapesList_t radialShapesList; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RadialShapes_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RadialShapes; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RadialShapes_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RadialShapes_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RadialShapes_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RadialShapesList.c b/vanetza/asn1/its/r2/RadialShapesList.c new file mode 100644 index 000000000..2d6010403 --- /dev/null +++ b/vanetza/asn1/its/r2/RadialShapesList.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RadialShapesList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_RadialShapesList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RadialShapesList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 16 } /* (SIZE(1..16,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RadialShapesList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_RadialShapeDetails, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RadialShapesList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_RadialShapesList_specs_1 = { + sizeof(struct Vanetza_ITS2_RadialShapesList), + offsetof(struct Vanetza_ITS2_RadialShapesList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RadialShapesList = { + "RadialShapesList", + "RadialShapesList", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_RadialShapesList_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RadialShapesList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RadialShapesList_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RadialShapesList_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RadialShapesList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RadialShapesList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RadialShapesList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RadialShapesList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_RadialShapesList_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_RadialShapesList_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RadialShapesList.h b/vanetza/asn1/its/r2/RadialShapesList.h new file mode 100644 index 000000000..4cbecd413 --- /dev/null +++ b/vanetza/asn1/its/r2/RadialShapesList.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RadialShapesList_H_ +#define _Vanetza_ITS2_RadialShapesList_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 Vanetza_ITS2_RadialShapeDetails; + +/* Vanetza_ITS2_RadialShapesList */ +typedef struct Vanetza_ITS2_RadialShapesList { + A_SEQUENCE_OF(struct Vanetza_ITS2_RadialShapeDetails) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RadialShapesList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RadialShapesList; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_RadialShapesList_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RadialShapesList_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RadialShapesList_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "RadialShapeDetails.h" + +#endif /* _Vanetza_ITS2_RadialShapesList_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RailwayLevelCrossingSubCauseCode.c b/vanetza/asn1/its/r2/RailwayLevelCrossingSubCauseCode.c new file mode 100644 index 000000000..f5bc3b6b8 --- /dev/null +++ b/vanetza/asn1/its/r2/RailwayLevelCrossingSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RailwayLevelCrossingSubCauseCode.h" + +int +Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode = { + "RailwayLevelCrossingSubCauseCode", + "RailwayLevelCrossingSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/RailwayLevelCrossingSubCauseCode.h b/vanetza/asn1/its/r2/RailwayLevelCrossingSubCauseCode.h new file mode 100644 index 000000000..ae163669c --- /dev/null +++ b/vanetza/asn1/its/r2/RailwayLevelCrossingSubCauseCode.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_H_ +#define _Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_RailwayLevelCrossingSubCauseCode { + Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_unavailable = 0, + Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_doNotCrossAbnormalSituation = 1, + Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_closed = 2, + Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_unguarded = 3, + Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_nominal = 4 +} e_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode; + +/* Vanetza_ITS2_RailwayLevelCrossingSubCauseCode */ +typedef long Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode; +asn_struct_free_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RailwayLevelCrossingSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RectangularShape.c b/vanetza/asn1/its/r2/RectangularShape.c new file mode 100644 index 000000000..5827e5614 --- /dev/null +++ b/vanetza/asn1/its/r2/RectangularShape.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RectangularShape.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RectangularShape_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RectangularShape, shapeReferencePoint), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianPosition3d, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "shapeReferencePoint" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RectangularShape, semiLength), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RectangularShape, semiBreadth), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiBreadth" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_RectangularShape, orientation), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "orientation" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RectangularShape, height), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength12b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "height" + }, +}; +static const int asn_MAP_Vanetza_ITS2_RectangularShape_oms_1[] = { 0, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RectangularShape_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RectangularShape_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* shapeReferencePoint */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* semiLength */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* semiBreadth */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* orientation */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* height */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RectangularShape_specs_1 = { + sizeof(struct Vanetza_ITS2_RectangularShape), + offsetof(struct Vanetza_ITS2_RectangularShape, _asn_ctx), + asn_MAP_Vanetza_ITS2_RectangularShape_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_RectangularShape_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RectangularShape = { + "RectangularShape", + "RectangularShape", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RectangularShape_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RectangularShape_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RectangularShape_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RectangularShape_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RectangularShape_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RectangularShape_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RectangularShape_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RectangularShape_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RectangularShape.h b/vanetza/asn1/its/r2/RectangularShape.h new file mode 100644 index 000000000..fd47f61be --- /dev/null +++ b/vanetza/asn1/its/r2/RectangularShape.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RectangularShape_H_ +#define _Vanetza_ITS2_RectangularShape_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StandardLength12b.h" +#include "CartesianAngleValue.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CartesianPosition3d; + +/* Vanetza_ITS2_RectangularShape */ +typedef struct Vanetza_ITS2_RectangularShape { + struct Vanetza_ITS2_CartesianPosition3d *shapeReferencePoint; /* OPTIONAL */ + Vanetza_ITS2_StandardLength12b_t semiLength; + Vanetza_ITS2_StandardLength12b_t semiBreadth; + Vanetza_ITS2_CartesianAngleValue_t *orientation; /* OPTIONAL */ + Vanetza_ITS2_StandardLength12b_t *height; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RectangularShape_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RectangularShape; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RectangularShape_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RectangularShape_1[5]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CartesianPosition3d.h" + +#endif /* _Vanetza_ITS2_RectangularShape_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ReferencePosition.c b/vanetza/asn1/its/r2/ReferencePosition.c new file mode 100644 index 000000000..74b4b67bd --- /dev/null +++ b/vanetza/asn1/its/r2/ReferencePosition.c @@ -0,0 +1,135 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ReferencePosition.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ReferencePosition_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ReferencePosition, latitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "latitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ReferencePosition, longitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ReferencePosition, positionConfidenceEllipse), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PosConfidenceEllipse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "positionConfidenceEllipse" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ReferencePosition, altitude), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Altitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "altitude" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ReferencePosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ReferencePosition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* longitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* positionConfidenceEllipse */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* altitude */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ReferencePosition_specs_1 = { + sizeof(struct Vanetza_ITS2_ReferencePosition), + offsetof(struct Vanetza_ITS2_ReferencePosition, _asn_ctx), + asn_MAP_Vanetza_ITS2_ReferencePosition_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_Vanetza_ITS2_ReferencePosition = { + "ReferencePosition", + "ReferencePosition", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ReferencePosition_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ReferencePosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ReferencePosition_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ReferencePosition_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ReferencePosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ReferencePosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ReferencePosition_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ReferencePosition_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ReferencePosition.h b/vanetza/asn1/its/r2/ReferencePosition.h new file mode 100644 index 000000000..a93a5e96e --- /dev/null +++ b/vanetza/asn1/its/r2/ReferencePosition.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ReferencePosition_H_ +#define _Vanetza_ITS2_ReferencePosition_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Latitude.h" +#include "Longitude.h" +#include "PosConfidenceEllipse.h" +#include "Altitude.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ReferencePosition */ +typedef struct Vanetza_ITS2_ReferencePosition { + Vanetza_ITS2_Latitude_t latitude; + Vanetza_ITS2_Longitude_t longitude; + Vanetza_ITS2_PosConfidenceEllipse_t positionConfidenceEllipse; + Vanetza_ITS2_Altitude_t altitude; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ReferencePosition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ReferencePosition; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ReferencePosition_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ReferencePosition_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ReferencePosition_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ReferencePositionWithConfidence.c b/vanetza/asn1/its/r2/ReferencePositionWithConfidence.c new file mode 100644 index 000000000..5c0d201e9 --- /dev/null +++ b/vanetza/asn1/its/r2/ReferencePositionWithConfidence.c @@ -0,0 +1,135 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ReferencePositionWithConfidence.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ReferencePositionWithConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ReferencePositionWithConfidence, latitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "latitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ReferencePositionWithConfidence, longitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ReferencePositionWithConfidence, positionConfidenceEllipse), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PositionConfidenceEllipse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "positionConfidenceEllipse" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_ReferencePositionWithConfidence, altitude), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Altitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "altitude" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ReferencePositionWithConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ReferencePositionWithConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* longitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* positionConfidenceEllipse */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* altitude */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ReferencePositionWithConfidence_specs_1 = { + sizeof(struct Vanetza_ITS2_ReferencePositionWithConfidence), + offsetof(struct Vanetza_ITS2_ReferencePositionWithConfidence, _asn_ctx), + asn_MAP_Vanetza_ITS2_ReferencePositionWithConfidence_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_Vanetza_ITS2_ReferencePositionWithConfidence = { + "ReferencePositionWithConfidence", + "ReferencePositionWithConfidence", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ReferencePositionWithConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ReferencePositionWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ReferencePositionWithConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ReferencePositionWithConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ReferencePositionWithConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ReferencePositionWithConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ReferencePositionWithConfidence_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ReferencePositionWithConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/ReferencePositionWithConfidence.h b/vanetza/asn1/its/r2/ReferencePositionWithConfidence.h new file mode 100644 index 000000000..c652a0fba --- /dev/null +++ b/vanetza/asn1/its/r2/ReferencePositionWithConfidence.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ReferencePositionWithConfidence_H_ +#define _Vanetza_ITS2_ReferencePositionWithConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Latitude.h" +#include "Longitude.h" +#include "PositionConfidenceEllipse.h" +#include "Altitude.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_ReferencePositionWithConfidence */ +typedef struct Vanetza_ITS2_ReferencePositionWithConfidence { + Vanetza_ITS2_Latitude_t latitude; + Vanetza_ITS2_Longitude_t longitude; + Vanetza_ITS2_PositionConfidenceEllipse_t positionConfidenceEllipse; + Vanetza_ITS2_Altitude_t altitude; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_ReferencePositionWithConfidence_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ReferencePositionWithConfidence; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ReferencePositionWithConfidence_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ReferencePositionWithConfidence_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ReferencePositionWithConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RelevanceDistance.c b/vanetza/asn1/its/r2/RelevanceDistance.c new file mode 100644 index 000000000..b79923c86 --- /dev/null +++ b/vanetza/asn1/its/r2/RelevanceDistance.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RelevanceDistance.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_Vanetza_ITS2_RelevanceDistance_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RelevanceDistance_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_RelevanceDistance_value2enum_1[] = { + { 0, 11, "lessThan50m" }, + { 1, 12, "lessThan100m" }, + { 2, 12, "lessThan200m" }, + { 3, 12, "lessThan500m" }, + { 4, 13, "lessThan1000m" }, + { 5, 11, "lessThan5km" }, + { 6, 12, "lessThan10km" }, + { 7, 8, "over10km" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_RelevanceDistance_enum2value_1[] = { + 4, /* lessThan1000m(4) */ + 1, /* lessThan100m(1) */ + 6, /* lessThan10km(6) */ + 2, /* lessThan200m(2) */ + 3, /* lessThan500m(3) */ + 0, /* lessThan50m(0) */ + 5, /* lessThan5km(5) */ + 7 /* over10km(7) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_RelevanceDistance_specs_1 = { + asn_MAP_Vanetza_ITS2_RelevanceDistance_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_RelevanceDistance_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_Vanetza_ITS2_RelevanceDistance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RelevanceDistance = { + "RelevanceDistance", + "RelevanceDistance", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_RelevanceDistance_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RelevanceDistance_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RelevanceDistance_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RelevanceDistance_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RelevanceDistance_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RelevanceDistance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RelevanceDistance_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RelevanceDistance_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_RelevanceDistance_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RelevanceDistance.h b/vanetza/asn1/its/r2/RelevanceDistance.h new file mode 100644 index 000000000..031deadc5 --- /dev/null +++ b/vanetza/asn1/its/r2/RelevanceDistance.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RelevanceDistance_H_ +#define _Vanetza_ITS2_RelevanceDistance_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_RelevanceDistance { + Vanetza_ITS2_RelevanceDistance_lessThan50m = 0, + Vanetza_ITS2_RelevanceDistance_lessThan100m = 1, + Vanetza_ITS2_RelevanceDistance_lessThan200m = 2, + Vanetza_ITS2_RelevanceDistance_lessThan500m = 3, + Vanetza_ITS2_RelevanceDistance_lessThan1000m = 4, + Vanetza_ITS2_RelevanceDistance_lessThan5km = 5, + Vanetza_ITS2_RelevanceDistance_lessThan10km = 6, + Vanetza_ITS2_RelevanceDistance_over10km = 7 +} e_Vanetza_ITS2_RelevanceDistance; + +/* Vanetza_ITS2_RelevanceDistance */ +typedef long Vanetza_ITS2_RelevanceDistance_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RelevanceDistance; +asn_struct_free_f Vanetza_ITS2_RelevanceDistance_free; +asn_struct_print_f Vanetza_ITS2_RelevanceDistance_print; +asn_constr_check_f Vanetza_ITS2_RelevanceDistance_constraint; +ber_type_decoder_f Vanetza_ITS2_RelevanceDistance_decode_ber; +der_type_encoder_f Vanetza_ITS2_RelevanceDistance_encode_der; +xer_type_decoder_f Vanetza_ITS2_RelevanceDistance_decode_xer; +xer_type_encoder_f Vanetza_ITS2_RelevanceDistance_encode_xer; +jer_type_encoder_f Vanetza_ITS2_RelevanceDistance_encode_jer; +oer_type_decoder_f Vanetza_ITS2_RelevanceDistance_decode_oer; +oer_type_encoder_f Vanetza_ITS2_RelevanceDistance_encode_oer; +per_type_decoder_f Vanetza_ITS2_RelevanceDistance_decode_uper; +per_type_encoder_f Vanetza_ITS2_RelevanceDistance_encode_uper; +per_type_decoder_f Vanetza_ITS2_RelevanceDistance_decode_aper; +per_type_encoder_f Vanetza_ITS2_RelevanceDistance_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RelevanceDistance_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RelevanceTrafficDirection.c b/vanetza/asn1/its/r2/RelevanceTrafficDirection.c new file mode 100644 index 000000000..46281f8e0 --- /dev/null +++ b/vanetza/asn1/its/r2/RelevanceTrafficDirection.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RelevanceTrafficDirection.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_Vanetza_ITS2_RelevanceTrafficDirection_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RelevanceTrafficDirection_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_RelevanceTrafficDirection_value2enum_1[] = { + { 0, 20, "allTrafficDirections" }, + { 1, 15, "upstreamTraffic" }, + { 2, 17, "downstreamTraffic" }, + { 3, 15, "oppositeTraffic" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_RelevanceTrafficDirection_enum2value_1[] = { + 0, /* allTrafficDirections(0) */ + 2, /* downstreamTraffic(2) */ + 3, /* oppositeTraffic(3) */ + 1 /* upstreamTraffic(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_RelevanceTrafficDirection_specs_1 = { + asn_MAP_Vanetza_ITS2_RelevanceTrafficDirection_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_RelevanceTrafficDirection_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RelevanceTrafficDirection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RelevanceTrafficDirection = { + "RelevanceTrafficDirection", + "RelevanceTrafficDirection", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_RelevanceTrafficDirection_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RelevanceTrafficDirection_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RelevanceTrafficDirection_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RelevanceTrafficDirection_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RelevanceTrafficDirection_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RelevanceTrafficDirection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RelevanceTrafficDirection_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RelevanceTrafficDirection_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_RelevanceTrafficDirection_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RelevanceTrafficDirection.h b/vanetza/asn1/its/r2/RelevanceTrafficDirection.h new file mode 100644 index 000000000..8286a5564 --- /dev/null +++ b/vanetza/asn1/its/r2/RelevanceTrafficDirection.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RelevanceTrafficDirection_H_ +#define _Vanetza_ITS2_RelevanceTrafficDirection_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_RelevanceTrafficDirection { + Vanetza_ITS2_RelevanceTrafficDirection_allTrafficDirections = 0, + Vanetza_ITS2_RelevanceTrafficDirection_upstreamTraffic = 1, + Vanetza_ITS2_RelevanceTrafficDirection_downstreamTraffic = 2, + Vanetza_ITS2_RelevanceTrafficDirection_oppositeTraffic = 3 +} e_Vanetza_ITS2_RelevanceTrafficDirection; + +/* Vanetza_ITS2_RelevanceTrafficDirection */ +typedef long Vanetza_ITS2_RelevanceTrafficDirection_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RelevanceTrafficDirection; +asn_struct_free_f Vanetza_ITS2_RelevanceTrafficDirection_free; +asn_struct_print_f Vanetza_ITS2_RelevanceTrafficDirection_print; +asn_constr_check_f Vanetza_ITS2_RelevanceTrafficDirection_constraint; +ber_type_decoder_f Vanetza_ITS2_RelevanceTrafficDirection_decode_ber; +der_type_encoder_f Vanetza_ITS2_RelevanceTrafficDirection_encode_der; +xer_type_decoder_f Vanetza_ITS2_RelevanceTrafficDirection_decode_xer; +xer_type_encoder_f Vanetza_ITS2_RelevanceTrafficDirection_encode_xer; +jer_type_encoder_f Vanetza_ITS2_RelevanceTrafficDirection_encode_jer; +oer_type_decoder_f Vanetza_ITS2_RelevanceTrafficDirection_decode_oer; +oer_type_encoder_f Vanetza_ITS2_RelevanceTrafficDirection_encode_oer; +per_type_decoder_f Vanetza_ITS2_RelevanceTrafficDirection_decode_uper; +per_type_encoder_f Vanetza_ITS2_RelevanceTrafficDirection_encode_uper; +per_type_decoder_f Vanetza_ITS2_RelevanceTrafficDirection_decode_aper; +per_type_encoder_f Vanetza_ITS2_RelevanceTrafficDirection_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RelevanceTrafficDirection_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RequestResponseIndication.c b/vanetza/asn1/its/r2/RequestResponseIndication.c new file mode 100644 index 000000000..d0368521e --- /dev/null +++ b/vanetza/asn1/its/r2/RequestResponseIndication.c @@ -0,0 +1,71 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RequestResponseIndication.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_Vanetza_ITS2_RequestResponseIndication_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_Vanetza_ITS2_RequestResponseIndication_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_RequestResponseIndication_value2enum_1[] = { + { 0, 7, "request" }, + { 1, 8, "response" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_RequestResponseIndication_enum2value_1[] = { + 0, /* request(0) */ + 1 /* response(1) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_RequestResponseIndication_specs_1 = { + asn_MAP_Vanetza_ITS2_RequestResponseIndication_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_RequestResponseIndication_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RequestResponseIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RequestResponseIndication = { + "RequestResponseIndication", + "RequestResponseIndication", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_RequestResponseIndication_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RequestResponseIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RequestResponseIndication_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RequestResponseIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RequestResponseIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RequestResponseIndication_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RequestResponseIndication_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RequestResponseIndication_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_RequestResponseIndication_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RequestResponseIndication.h b/vanetza/asn1/its/r2/RequestResponseIndication.h new file mode 100644 index 000000000..77816d851 --- /dev/null +++ b/vanetza/asn1/its/r2/RequestResponseIndication.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RequestResponseIndication_H_ +#define _Vanetza_ITS2_RequestResponseIndication_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_RequestResponseIndication { + Vanetza_ITS2_RequestResponseIndication_request = 0, + Vanetza_ITS2_RequestResponseIndication_response = 1 +} e_Vanetza_ITS2_RequestResponseIndication; + +/* Vanetza_ITS2_RequestResponseIndication */ +typedef long Vanetza_ITS2_RequestResponseIndication_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RequestResponseIndication_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RequestResponseIndication; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_RequestResponseIndication_specs_1; +asn_struct_free_f Vanetza_ITS2_RequestResponseIndication_free; +asn_struct_print_f Vanetza_ITS2_RequestResponseIndication_print; +asn_constr_check_f Vanetza_ITS2_RequestResponseIndication_constraint; +ber_type_decoder_f Vanetza_ITS2_RequestResponseIndication_decode_ber; +der_type_encoder_f Vanetza_ITS2_RequestResponseIndication_encode_der; +xer_type_decoder_f Vanetza_ITS2_RequestResponseIndication_decode_xer; +xer_type_encoder_f Vanetza_ITS2_RequestResponseIndication_encode_xer; +jer_type_encoder_f Vanetza_ITS2_RequestResponseIndication_encode_jer; +oer_type_decoder_f Vanetza_ITS2_RequestResponseIndication_decode_oer; +oer_type_encoder_f Vanetza_ITS2_RequestResponseIndication_encode_oer; +per_type_decoder_f Vanetza_ITS2_RequestResponseIndication_decode_uper; +per_type_encoder_f Vanetza_ITS2_RequestResponseIndication_encode_uper; +per_type_decoder_f Vanetza_ITS2_RequestResponseIndication_decode_aper; +per_type_encoder_f Vanetza_ITS2_RequestResponseIndication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RequestResponseIndication_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RescueAndRecoveryWorkInProgressSubCauseCode.c b/vanetza/asn1/its/r2/RescueAndRecoveryWorkInProgressSubCauseCode.c new file mode 100644 index 000000000..e11862918 --- /dev/null +++ b/vanetza/asn1/its/r2/RescueAndRecoveryWorkInProgressSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RescueAndRecoveryWorkInProgressSubCauseCode.h" + +int +Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode = { + "RescueAndRecoveryWorkInProgressSubCauseCode", + "RescueAndRecoveryWorkInProgressSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/RescueAndRecoveryWorkInProgressSubCauseCode.h b/vanetza/asn1/its/r2/RescueAndRecoveryWorkInProgressSubCauseCode.h new file mode 100644 index 000000000..e0aa47b16 --- /dev/null +++ b/vanetza/asn1/its/r2/RescueAndRecoveryWorkInProgressSubCauseCode.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_H_ +#define _Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode { + Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_unavailable = 0, + Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_emergencyVehicles = 1, + Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_rescueHelicopterLanding = 2, + Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_policeActivityOngoing = 3, + Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_medicalEmergencyOngoing = 4, + Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_childAbductionInProgress = 5, + Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_prioritizedVehicle = 6, + Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_rescueAndRecoveryVehicle = 7 +} e_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode; + +/* Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode */ +typedef long Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode; +asn_struct_free_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RescueContainer.c b/vanetza/asn1/its/r2/RescueContainer.c new file mode 100644 index 000000000..478dba201 --- /dev/null +++ b/vanetza/asn1/its/r2/RescueContainer.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RescueContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RescueContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RescueContainer, lightBarSirenInUse), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LightBarSirenInUse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lightBarSirenInUse" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RescueContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RescueContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* lightBarSirenInUse */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RescueContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_RescueContainer), + offsetof(struct Vanetza_ITS2_RescueContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_RescueContainer_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RescueContainer = { + "RescueContainer", + "RescueContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RescueContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RescueContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RescueContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RescueContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RescueContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RescueContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RescueContainer_1, + 1, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RescueContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RescueContainer.h b/vanetza/asn1/its/r2/RescueContainer.h new file mode 100644 index 000000000..424bd07ce --- /dev/null +++ b/vanetza/asn1/its/r2/RescueContainer.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RescueContainer_H_ +#define _Vanetza_ITS2_RescueContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LightBarSirenInUse.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_RescueContainer */ +typedef struct Vanetza_ITS2_RescueContainer { + Vanetza_ITS2_LightBarSirenInUse_t lightBarSirenInUse; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RescueContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RescueContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RescueContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RescueContainer_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RescueContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RestrictedTypes.c b/vanetza/asn1/its/r2/RestrictedTypes.c new file mode 100644 index 000000000..ed535cd24 --- /dev/null +++ b/vanetza/asn1/its/r2/RestrictedTypes.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RestrictedTypes.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_RestrictedTypes_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RestrictedTypes_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 1, 3 } /* (SIZE(1..3,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RestrictedTypes_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_StationType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RestrictedTypes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_RestrictedTypes_specs_1 = { + sizeof(struct Vanetza_ITS2_RestrictedTypes), + offsetof(struct Vanetza_ITS2_RestrictedTypes, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RestrictedTypes = { + "RestrictedTypes", + "RestrictedTypes", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_RestrictedTypes_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RestrictedTypes_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RestrictedTypes_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RestrictedTypes_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RestrictedTypes_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RestrictedTypes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RestrictedTypes_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RestrictedTypes_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_RestrictedTypes_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_RestrictedTypes_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RestrictedTypes.h b/vanetza/asn1/its/r2/RestrictedTypes.h new file mode 100644 index 000000000..119987d62 --- /dev/null +++ b/vanetza/asn1/its/r2/RestrictedTypes.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RestrictedTypes_H_ +#define _Vanetza_ITS2_RestrictedTypes_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StationType.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_RestrictedTypes */ +typedef struct Vanetza_ITS2_RestrictedTypes { + A_SEQUENCE_OF(Vanetza_ITS2_StationType_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RestrictedTypes_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RestrictedTypes; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_RestrictedTypes_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RestrictedTypes_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RestrictedTypes_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RestrictedTypes_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RoadConfigurationContainer.c b/vanetza/asn1/its/r2/RoadConfigurationContainer.c new file mode 100644 index 000000000..5d3ea236c --- /dev/null +++ b/vanetza/asn1/its/r2/RoadConfigurationContainer.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RoadConfigurationContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadConfigurationContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RoadConfigurationContainer, roadConfigurationConfidence), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MetaInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadConfigurationConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RoadConfigurationContainer, roadConfigurationSectionList), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RoadConfigurationSectionList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadConfigurationSectionList" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RoadConfigurationContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RoadConfigurationContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roadConfigurationConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* roadConfigurationSectionList */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadConfigurationContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_RoadConfigurationContainer), + offsetof(struct Vanetza_ITS2_RoadConfigurationContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_RoadConfigurationContainer_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadConfigurationContainer = { + "RoadConfigurationContainer", + "RoadConfigurationContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RoadConfigurationContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RoadConfigurationContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RoadConfigurationContainer_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RoadConfigurationContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RoadConfigurationContainer.h b/vanetza/asn1/its/r2/RoadConfigurationContainer.h new file mode 100644 index 000000000..6e5bf8079 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadConfigurationContainer.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RoadConfigurationContainer_H_ +#define _Vanetza_ITS2_RoadConfigurationContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "MetaInformation.h" +#include "RoadConfigurationSectionList.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_RoadConfigurationContainer */ +typedef struct Vanetza_ITS2_RoadConfigurationContainer { + Vanetza_ITS2_MetaInformation_t roadConfigurationConfidence; + Vanetza_ITS2_RoadConfigurationSectionList_t roadConfigurationSectionList; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RoadConfigurationContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadConfigurationContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadConfigurationContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadConfigurationContainer_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RoadConfigurationContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RoadConfigurationSection.c b/vanetza/asn1/its/r2/RoadConfigurationSection.c new file mode 100644 index 000000000..07f5b738f --- /dev/null +++ b/vanetza/asn1/its/r2/RoadConfigurationSection.c @@ -0,0 +1,149 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RoadConfigurationSection.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_RoadConfigurationSection_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_Vanetza_ITS2_RoadConfigurationSection_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadConfigurationSection_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RoadConfigurationSection, roadSectionDefinition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RoadSectionDefinition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadSectionDefinition" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_RoadConfigurationSection, roadType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RoadType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadType" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_RoadConfigurationSection, laneConfiguration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_BasicLaneConfiguration, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneConfiguration" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RoadConfigurationSection, mapemConfiguration), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_MapemConfiguration, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mapemConfiguration" + }, +}; +static const int asn_MAP_Vanetza_ITS2_RoadConfigurationSection_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RoadConfigurationSection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RoadConfigurationSection_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roadSectionDefinition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* roadType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* laneConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* mapemConfiguration */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadConfigurationSection_specs_1 = { + sizeof(struct Vanetza_ITS2_RoadConfigurationSection), + offsetof(struct Vanetza_ITS2_RoadConfigurationSection, _asn_ctx), + asn_MAP_Vanetza_ITS2_RoadConfigurationSection_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_RoadConfigurationSection_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadConfigurationSection = { + "RoadConfigurationSection", + "RoadConfigurationSection", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RoadConfigurationSection_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationSection_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationSection_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RoadConfigurationSection_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationSection_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationSection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RoadConfigurationSection_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RoadConfigurationSection_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RoadConfigurationSection_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RoadConfigurationSection_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RoadConfigurationSection.h b/vanetza/asn1/its/r2/RoadConfigurationSection.h new file mode 100644 index 000000000..86c7ec8f5 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadConfigurationSection.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RoadConfigurationSection_H_ +#define _Vanetza_ITS2_RoadConfigurationSection_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "RoadSectionDefinition.h" +#include "RoadType.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_BasicLaneConfiguration; +struct Vanetza_ITS2_MapemConfiguration; + +/* Vanetza_ITS2_RoadConfigurationSection */ +typedef struct Vanetza_ITS2_RoadConfigurationSection { + Vanetza_ITS2_RoadSectionDefinition_t roadSectionDefinition; + Vanetza_ITS2_RoadType_t *roadType; /* OPTIONAL */ + struct Vanetza_ITS2_BasicLaneConfiguration *laneConfiguration; /* OPTIONAL */ + struct Vanetza_ITS2_MapemConfiguration *mapemConfiguration; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RoadConfigurationSection_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadConfigurationSection; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadConfigurationSection_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadConfigurationSection_1[4]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RoadConfigurationSection_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "BasicLaneConfiguration.h" +#include "MapemConfiguration.h" + +#endif /* _Vanetza_ITS2_RoadConfigurationSection_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RoadConfigurationSectionList.c b/vanetza/asn1/its/r2/RoadConfigurationSectionList.c new file mode 100644 index 000000000..7d940016d --- /dev/null +++ b/vanetza/asn1/its/r2/RoadConfigurationSectionList.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RoadConfigurationSectionList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_RoadConfigurationSectionList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RoadConfigurationSectionList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadConfigurationSectionList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_RoadConfigurationSection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RoadConfigurationSectionList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_RoadConfigurationSectionList_specs_1 = { + sizeof(struct Vanetza_ITS2_RoadConfigurationSectionList), + offsetof(struct Vanetza_ITS2_RoadConfigurationSectionList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadConfigurationSectionList = { + "RoadConfigurationSectionList", + "RoadConfigurationSectionList", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_RoadConfigurationSectionList_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationSectionList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationSectionList_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RoadConfigurationSectionList_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationSectionList_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadConfigurationSectionList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RoadConfigurationSectionList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RoadConfigurationSectionList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_RoadConfigurationSectionList_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_RoadConfigurationSectionList_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RoadConfigurationSectionList.h b/vanetza/asn1/its/r2/RoadConfigurationSectionList.h new file mode 100644 index 000000000..d277e1194 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadConfigurationSectionList.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RoadConfigurationSectionList_H_ +#define _Vanetza_ITS2_RoadConfigurationSectionList_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 Vanetza_ITS2_RoadConfigurationSection; + +/* Vanetza_ITS2_RoadConfigurationSectionList */ +typedef struct Vanetza_ITS2_RoadConfigurationSectionList { + A_SEQUENCE_OF(struct Vanetza_ITS2_RoadConfigurationSection) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RoadConfigurationSectionList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadConfigurationSectionList; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_RoadConfigurationSectionList_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadConfigurationSectionList_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RoadConfigurationSectionList_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "RoadConfigurationSection.h" + +#endif /* _Vanetza_ITS2_RoadConfigurationSectionList_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RoadSectionDefinition.c b/vanetza/asn1/its/r2/RoadSectionDefinition.c new file mode 100644 index 000000000..b2ee13c95 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadSectionDefinition.c @@ -0,0 +1,200 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RoadSectionDefinition.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadSectionDefinition_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RoadSectionDefinition, startingPointSection), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_GeoPosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startingPointSection" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_RoadSectionDefinition, lengthOfSection), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength2B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lengthOfSection" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RoadSectionDefinition, endingPointSection), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_GeoPosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endingPointSection" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RoadSectionDefinition, connectedPaths), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PathReferences, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "connectedPaths" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RoadSectionDefinition, includedPaths), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PathReferences, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "includedPaths" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RoadSectionDefinition, isEventZoneIncluded), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "isEventZoneIncluded" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RoadSectionDefinition, isEventZoneConnected), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "isEventZoneConnected" + }, +}; +static const int asn_MAP_Vanetza_ITS2_RoadSectionDefinition_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RoadSectionDefinition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RoadSectionDefinition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startingPointSection */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lengthOfSection */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* endingPointSection */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* connectedPaths */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* includedPaths */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* isEventZoneIncluded */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* isEventZoneConnected */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadSectionDefinition_specs_1 = { + sizeof(struct Vanetza_ITS2_RoadSectionDefinition), + offsetof(struct Vanetza_ITS2_RoadSectionDefinition, _asn_ctx), + asn_MAP_Vanetza_ITS2_RoadSectionDefinition_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_RoadSectionDefinition_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadSectionDefinition = { + "RoadSectionDefinition", + "RoadSectionDefinition", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RoadSectionDefinition_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RoadSectionDefinition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadSectionDefinition_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RoadSectionDefinition_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RoadSectionDefinition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadSectionDefinition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RoadSectionDefinition_1, + 7, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RoadSectionDefinition_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RoadSectionDefinition.h b/vanetza/asn1/its/r2/RoadSectionDefinition.h new file mode 100644 index 000000000..b8bf39535 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadSectionDefinition.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RoadSectionDefinition_H_ +#define _Vanetza_ITS2_RoadSectionDefinition_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "GeoPosition.h" +#include "StandardLength2B.h" +#include "PathReferences.h" +#include "BOOLEAN.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_GeoPosition; + +/* Vanetza_ITS2_RoadSectionDefinition */ +typedef struct Vanetza_ITS2_RoadSectionDefinition { + Vanetza_ITS2_GeoPosition_t startingPointSection; + Vanetza_ITS2_StandardLength2B_t *lengthOfSection; /* OPTIONAL */ + struct Vanetza_ITS2_GeoPosition *endingPointSection; /* OPTIONAL */ + Vanetza_ITS2_PathReferences_t connectedPaths; + Vanetza_ITS2_PathReferences_t includedPaths; + BOOLEAN_t isEventZoneIncluded; + BOOLEAN_t isEventZoneConnected; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RoadSectionDefinition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadSectionDefinition; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadSectionDefinition_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadSectionDefinition_1[7]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "GeoPosition.h" + +#endif /* _Vanetza_ITS2_RoadSectionDefinition_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RoadSectionId.c b/vanetza/asn1/its/r2/RoadSectionId.c new file mode 100644 index 000000000..b5c110c61 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadSectionId.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RoadSectionId.h" + +int +Vanetza_ITS2_RoadSectionId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 8L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_RoadSectionId_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_Vanetza_ITS2_RoadSectionId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 8 } /* (0..8,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RoadSectionId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadSectionId = { + "RoadSectionId", + "RoadSectionId", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_RoadSectionId_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RoadSectionId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadSectionId_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RoadSectionId_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RoadSectionId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadSectionId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RoadSectionId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RoadSectionId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_RoadSectionId_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/RoadSectionId.h b/vanetza/asn1/its/r2/RoadSectionId.h new file mode 100644 index 000000000..d5aa9db7b --- /dev/null +++ b/vanetza/asn1/its/r2/RoadSectionId.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RoadSectionId_H_ +#define _Vanetza_ITS2_RoadSectionId_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_RoadSectionId */ +typedef long Vanetza_ITS2_RoadSectionId_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RoadSectionId_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadSectionId; +asn_struct_free_f Vanetza_ITS2_RoadSectionId_free; +asn_struct_print_f Vanetza_ITS2_RoadSectionId_print; +asn_constr_check_f Vanetza_ITS2_RoadSectionId_constraint; +ber_type_decoder_f Vanetza_ITS2_RoadSectionId_decode_ber; +der_type_encoder_f Vanetza_ITS2_RoadSectionId_encode_der; +xer_type_decoder_f Vanetza_ITS2_RoadSectionId_decode_xer; +xer_type_encoder_f Vanetza_ITS2_RoadSectionId_encode_xer; +jer_type_encoder_f Vanetza_ITS2_RoadSectionId_encode_jer; +oer_type_decoder_f Vanetza_ITS2_RoadSectionId_decode_oer; +oer_type_encoder_f Vanetza_ITS2_RoadSectionId_encode_oer; +per_type_decoder_f Vanetza_ITS2_RoadSectionId_decode_uper; +per_type_encoder_f Vanetza_ITS2_RoadSectionId_encode_uper; +per_type_decoder_f Vanetza_ITS2_RoadSectionId_decode_aper; +per_type_encoder_f Vanetza_ITS2_RoadSectionId_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RoadSectionId_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RoadSegmentReferenceId.c b/vanetza/asn1/its/r2/RoadSegmentReferenceId.c new file mode 100644 index 000000000..257452ac0 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadSegmentReferenceId.c @@ -0,0 +1,95 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RoadSegmentReferenceId.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadSegmentReferenceId_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RoadSegmentReferenceId, region), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier2B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "region" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RoadSegmentReferenceId, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier2B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, +}; +static const int asn_MAP_Vanetza_ITS2_RoadSegmentReferenceId_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RoadSegmentReferenceId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RoadSegmentReferenceId_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* region */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* id */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadSegmentReferenceId_specs_1 = { + sizeof(struct Vanetza_ITS2_RoadSegmentReferenceId), + offsetof(struct Vanetza_ITS2_RoadSegmentReferenceId, _asn_ctx), + asn_MAP_Vanetza_ITS2_RoadSegmentReferenceId_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_RoadSegmentReferenceId_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadSegmentReferenceId = { + "RoadSegmentReferenceId", + "RoadSegmentReferenceId", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RoadSegmentReferenceId_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RoadSegmentReferenceId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadSegmentReferenceId_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RoadSegmentReferenceId_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RoadSegmentReferenceId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadSegmentReferenceId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RoadSegmentReferenceId_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RoadSegmentReferenceId_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RoadSegmentReferenceId.h b/vanetza/asn1/its/r2/RoadSegmentReferenceId.h new file mode 100644 index 000000000..d990987c2 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadSegmentReferenceId.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RoadSegmentReferenceId_H_ +#define _Vanetza_ITS2_RoadSegmentReferenceId_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier2B.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_RoadSegmentReferenceId */ +typedef struct Vanetza_ITS2_RoadSegmentReferenceId { + Vanetza_ITS2_Identifier2B_t *region; /* OPTIONAL */ + Vanetza_ITS2_Identifier2B_t id; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RoadSegmentReferenceId_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadSegmentReferenceId; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadSegmentReferenceId_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadSegmentReferenceId_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RoadSegmentReferenceId_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RoadType.c b/vanetza/asn1/its/r2/RoadType.c new file mode 100644 index 000000000..f79fb09e5 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadType.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RoadType.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_Vanetza_ITS2_RoadType_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_Vanetza_ITS2_RoadType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_RoadType_value2enum_1[] = { + { 0, 43, "urban-NoStructuralSeparationToOppositeLanes" }, + { 1, 45, "urban-WithStructuralSeparationToOppositeLanes" }, + { 2, 46, "nonUrban-NoStructuralSeparationToOppositeLanes" }, + { 3, 48, "nonUrban-WithStructuralSeparationToOppositeLanes" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_RoadType_enum2value_1[] = { + 2, /* nonUrban-NoStructuralSeparationToOppositeLanes(2) */ + 3, /* nonUrban-WithStructuralSeparationToOppositeLanes(3) */ + 0, /* urban-NoStructuralSeparationToOppositeLanes(0) */ + 1 /* urban-WithStructuralSeparationToOppositeLanes(1) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_RoadType_specs_1 = { + asn_MAP_Vanetza_ITS2_RoadType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_RoadType_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RoadType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadType = { + "RoadType", + "RoadType", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_RoadType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RoadType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RoadType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RoadType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RoadType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RoadType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_RoadType_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RoadType.h b/vanetza/asn1/its/r2/RoadType.h new file mode 100644 index 000000000..1bfb6b0d9 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadType.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RoadType_H_ +#define _Vanetza_ITS2_RoadType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_RoadType { + Vanetza_ITS2_RoadType_urban_NoStructuralSeparationToOppositeLanes = 0, + Vanetza_ITS2_RoadType_urban_WithStructuralSeparationToOppositeLanes = 1, + Vanetza_ITS2_RoadType_nonUrban_NoStructuralSeparationToOppositeLanes = 2, + Vanetza_ITS2_RoadType_nonUrban_WithStructuralSeparationToOppositeLanes = 3 +} e_Vanetza_ITS2_RoadType; + +/* Vanetza_ITS2_RoadType */ +typedef long Vanetza_ITS2_RoadType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RoadType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadType; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_RoadType_specs_1; +asn_struct_free_f Vanetza_ITS2_RoadType_free; +asn_struct_print_f Vanetza_ITS2_RoadType_print; +asn_constr_check_f Vanetza_ITS2_RoadType_constraint; +ber_type_decoder_f Vanetza_ITS2_RoadType_decode_ber; +der_type_encoder_f Vanetza_ITS2_RoadType_encode_der; +xer_type_decoder_f Vanetza_ITS2_RoadType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_RoadType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_RoadType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_RoadType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_RoadType_encode_oer; +per_type_decoder_f Vanetza_ITS2_RoadType_decode_uper; +per_type_encoder_f Vanetza_ITS2_RoadType_encode_uper; +per_type_decoder_f Vanetza_ITS2_RoadType_decode_aper; +per_type_encoder_f Vanetza_ITS2_RoadType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RoadType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RoadWorksContainerBasic.c b/vanetza/asn1/its/r2/RoadWorksContainerBasic.c new file mode 100644 index 000000000..ae1541846 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadWorksContainerBasic.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RoadWorksContainerBasic.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadWorksContainerBasic_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RoadWorksContainerBasic, roadworksSubCauseCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RoadworksSubCauseCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadworksSubCauseCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_RoadWorksContainerBasic, lightBarSirenInUse), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LightBarSirenInUse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lightBarSirenInUse" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RoadWorksContainerBasic, closedLanes), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ClosedLanes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "closedLanes" + }, +}; +static const int asn_MAP_Vanetza_ITS2_RoadWorksContainerBasic_oms_1[] = { 0, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RoadWorksContainerBasic_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RoadWorksContainerBasic_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roadworksSubCauseCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lightBarSirenInUse */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* closedLanes */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadWorksContainerBasic_specs_1 = { + sizeof(struct Vanetza_ITS2_RoadWorksContainerBasic), + offsetof(struct Vanetza_ITS2_RoadWorksContainerBasic, _asn_ctx), + asn_MAP_Vanetza_ITS2_RoadWorksContainerBasic_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_RoadWorksContainerBasic_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadWorksContainerBasic = { + "RoadWorksContainerBasic", + "RoadWorksContainerBasic", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RoadWorksContainerBasic_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RoadWorksContainerBasic_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadWorksContainerBasic_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RoadWorksContainerBasic_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RoadWorksContainerBasic_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadWorksContainerBasic_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RoadWorksContainerBasic_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RoadWorksContainerBasic_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RoadWorksContainerBasic.h b/vanetza/asn1/its/r2/RoadWorksContainerBasic.h new file mode 100644 index 000000000..2cb43a63b --- /dev/null +++ b/vanetza/asn1/its/r2/RoadWorksContainerBasic.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RoadWorksContainerBasic_H_ +#define _Vanetza_ITS2_RoadWorksContainerBasic_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "RoadworksSubCauseCode.h" +#include "LightBarSirenInUse.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_ClosedLanes; + +/* Vanetza_ITS2_RoadWorksContainerBasic */ +typedef struct Vanetza_ITS2_RoadWorksContainerBasic { + Vanetza_ITS2_RoadworksSubCauseCode_t *roadworksSubCauseCode; /* OPTIONAL */ + Vanetza_ITS2_LightBarSirenInUse_t lightBarSirenInUse; + struct Vanetza_ITS2_ClosedLanes *closedLanes; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RoadWorksContainerBasic_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadWorksContainerBasic; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadWorksContainerBasic_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadWorksContainerBasic_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "ClosedLanes.h" + +#endif /* _Vanetza_ITS2_RoadWorksContainerBasic_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RoadWorksContainerExtended.c b/vanetza/asn1/its/r2/RoadWorksContainerExtended.c new file mode 100644 index 000000000..8afdbc1e3 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadWorksContainerExtended.c @@ -0,0 +1,242 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RoadWorksContainerExtended.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadWorksContainerExtended_1[] = { + { ATF_POINTER, 9, offsetof(struct Vanetza_ITS2_RoadWorksContainerExtended, lightBarSirenInUse), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LightBarSirenInUse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lightBarSirenInUse" + }, + { ATF_POINTER, 8, offsetof(struct Vanetza_ITS2_RoadWorksContainerExtended, closedLanes), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ClosedLanes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "closedLanes" + }, + { ATF_POINTER, 7, offsetof(struct Vanetza_ITS2_RoadWorksContainerExtended, restriction), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RestrictedTypes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "restriction" + }, + { ATF_POINTER, 6, offsetof(struct Vanetza_ITS2_RoadWorksContainerExtended, speedLimit), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SpeedLimit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedLimit" + }, + { ATF_POINTER, 5, offsetof(struct Vanetza_ITS2_RoadWorksContainerExtended, incidentIndication), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CauseCodeV2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "incidentIndication" + }, + { ATF_POINTER, 4, offsetof(struct Vanetza_ITS2_RoadWorksContainerExtended, recommendedPath), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ItineraryPath, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "recommendedPath" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_RoadWorksContainerExtended, startingPointSpeedLimit), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaReferencePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startingPointSpeedLimit" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_RoadWorksContainerExtended, trafficFlowRule), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TrafficRule, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trafficFlowRule" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_RoadWorksContainerExtended, referenceDenms), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ActionIdList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "referenceDenms" + }, +}; +static const int asn_MAP_Vanetza_ITS2_RoadWorksContainerExtended_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RoadWorksContainerExtended_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_RoadWorksContainerExtended_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lightBarSirenInUse */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* closedLanes */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* restriction */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* speedLimit */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* incidentIndication */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* recommendedPath */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* startingPointSpeedLimit */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* trafficFlowRule */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* referenceDenms */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadWorksContainerExtended_specs_1 = { + sizeof(struct Vanetza_ITS2_RoadWorksContainerExtended), + offsetof(struct Vanetza_ITS2_RoadWorksContainerExtended, _asn_ctx), + asn_MAP_Vanetza_ITS2_RoadWorksContainerExtended_tag2el_1, + 9, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_RoadWorksContainerExtended_oms_1, /* Optional members */ + 9, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadWorksContainerExtended = { + "RoadWorksContainerExtended", + "RoadWorksContainerExtended", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_RoadWorksContainerExtended_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RoadWorksContainerExtended_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadWorksContainerExtended_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RoadWorksContainerExtended_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RoadWorksContainerExtended_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadWorksContainerExtended_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_RoadWorksContainerExtended_1, + 9, /* Elements count */ + &asn_SPC_Vanetza_ITS2_RoadWorksContainerExtended_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/RoadWorksContainerExtended.h b/vanetza/asn1/its/r2/RoadWorksContainerExtended.h new file mode 100644 index 000000000..8c307673a --- /dev/null +++ b/vanetza/asn1/its/r2/RoadWorksContainerExtended.h @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RoadWorksContainerExtended_H_ +#define _Vanetza_ITS2_RoadWorksContainerExtended_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LightBarSirenInUse.h" +#include "SpeedLimit.h" +#include "TrafficRule.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_ClosedLanes; +struct Vanetza_ITS2_RestrictedTypes; +struct Vanetza_ITS2_CauseCodeV2; +struct Vanetza_ITS2_ItineraryPath; +struct Vanetza_ITS2_DeltaReferencePosition; +struct Vanetza_ITS2_ActionIdList; + +/* Vanetza_ITS2_RoadWorksContainerExtended */ +typedef struct Vanetza_ITS2_RoadWorksContainerExtended { + Vanetza_ITS2_LightBarSirenInUse_t *lightBarSirenInUse; /* OPTIONAL */ + struct Vanetza_ITS2_ClosedLanes *closedLanes; /* OPTIONAL */ + struct Vanetza_ITS2_RestrictedTypes *restriction; /* OPTIONAL */ + Vanetza_ITS2_SpeedLimit_t *speedLimit; /* OPTIONAL */ + struct Vanetza_ITS2_CauseCodeV2 *incidentIndication; /* OPTIONAL */ + struct Vanetza_ITS2_ItineraryPath *recommendedPath; /* OPTIONAL */ + struct Vanetza_ITS2_DeltaReferencePosition *startingPointSpeedLimit; /* OPTIONAL */ + Vanetza_ITS2_TrafficRule_t *trafficFlowRule; /* OPTIONAL */ + struct Vanetza_ITS2_ActionIdList *referenceDenms; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_RoadWorksContainerExtended_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadWorksContainerExtended; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_RoadWorksContainerExtended_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_RoadWorksContainerExtended_1[9]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "ClosedLanes.h" +#include "RestrictedTypes.h" +#include "CauseCodeV2.h" +#include "ItineraryPath.h" +#include "DeltaReferencePosition.h" +#include "ActionIdList.h" + +#endif /* _Vanetza_ITS2_RoadWorksContainerExtended_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/RoadworksSubCauseCode.c b/vanetza/asn1/its/r2/RoadworksSubCauseCode.c new file mode 100644 index 000000000..4ddde8b18 --- /dev/null +++ b/vanetza/asn1/its/r2/RoadworksSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "RoadworksSubCauseCode.h" + +int +Vanetza_ITS2_RoadworksSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_RoadworksSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RoadworksSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_RoadworksSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadworksSubCauseCode = { + "RoadworksSubCauseCode", + "RoadworksSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_RoadworksSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_RoadworksSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadworksSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_RoadworksSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_RoadworksSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_RoadworksSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_RoadworksSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_RoadworksSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_RoadworksSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/RoadworksSubCauseCode.h b/vanetza/asn1/its/r2/RoadworksSubCauseCode.h new file mode 100644 index 000000000..f9f2a3aad --- /dev/null +++ b/vanetza/asn1/its/r2/RoadworksSubCauseCode.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_RoadworksSubCauseCode_H_ +#define _Vanetza_ITS2_RoadworksSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_RoadworksSubCauseCode { + Vanetza_ITS2_RoadworksSubCauseCode_unavailable = 0, + Vanetza_ITS2_RoadworksSubCauseCode_majorRoadworks = 1, + Vanetza_ITS2_RoadworksSubCauseCode_roadMarkingWork = 2, + Vanetza_ITS2_RoadworksSubCauseCode_slowMovingRoadMaintenance = 3, + Vanetza_ITS2_RoadworksSubCauseCode_shortTermStationaryRoadworks = 4, + Vanetza_ITS2_RoadworksSubCauseCode_streetCleaning = 5, + Vanetza_ITS2_RoadworksSubCauseCode_winterService = 6 +} e_Vanetza_ITS2_RoadworksSubCauseCode; + +/* Vanetza_ITS2_RoadworksSubCauseCode */ +typedef long Vanetza_ITS2_RoadworksSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_RoadworksSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_RoadworksSubCauseCode; +asn_struct_free_f Vanetza_ITS2_RoadworksSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_RoadworksSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_RoadworksSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_RoadworksSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_RoadworksSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_RoadworksSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_RoadworksSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_RoadworksSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_RoadworksSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_RoadworksSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_RoadworksSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_RoadworksSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_RoadworksSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_RoadworksSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_RoadworksSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SafeDistanceIndication.c b/vanetza/asn1/its/r2/SafeDistanceIndication.c new file mode 100644 index 000000000..115a3ed6c --- /dev/null +++ b/vanetza/asn1/its/r2/SafeDistanceIndication.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SafeDistanceIndication.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SafeDistanceIndication_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_SafeDistanceIndication, subjectStation), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StationId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "subjectStation" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SafeDistanceIndication, safeDistanceIndicator), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SafeDistanceIndicator, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "safeDistanceIndicator" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_SafeDistanceIndication, timeToCollision), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeToCollision" + }, +}; +static const int asn_MAP_Vanetza_ITS2_SafeDistanceIndication_oms_1[] = { 0, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SafeDistanceIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_SafeDistanceIndication_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* subjectStation */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* safeDistanceIndicator */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* timeToCollision */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SafeDistanceIndication_specs_1 = { + sizeof(struct Vanetza_ITS2_SafeDistanceIndication), + offsetof(struct Vanetza_ITS2_SafeDistanceIndication, _asn_ctx), + asn_MAP_Vanetza_ITS2_SafeDistanceIndication_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_SafeDistanceIndication_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SafeDistanceIndication = { + "SafeDistanceIndication", + "SafeDistanceIndication", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_SafeDistanceIndication_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SafeDistanceIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SafeDistanceIndication_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SafeDistanceIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SafeDistanceIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SafeDistanceIndication_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_SafeDistanceIndication_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_SafeDistanceIndication_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SafeDistanceIndication.h b/vanetza/asn1/its/r2/SafeDistanceIndication.h new file mode 100644 index 000000000..18a47ab36 --- /dev/null +++ b/vanetza/asn1/its/r2/SafeDistanceIndication.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SafeDistanceIndication_H_ +#define _Vanetza_ITS2_SafeDistanceIndication_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StationId.h" +#include "SafeDistanceIndicator.h" +#include "DeltaTimeTenthOfSecond.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_SafeDistanceIndication */ +typedef struct Vanetza_ITS2_SafeDistanceIndication { + Vanetza_ITS2_StationId_t *subjectStation; /* OPTIONAL */ + Vanetza_ITS2_SafeDistanceIndicator_t safeDistanceIndicator; + Vanetza_ITS2_DeltaTimeTenthOfSecond_t *timeToCollision; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SafeDistanceIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SafeDistanceIndication; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SafeDistanceIndication_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SafeDistanceIndication_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SafeDistanceIndication_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SafeDistanceIndicator.c b/vanetza/asn1/its/r2/SafeDistanceIndicator.c new file mode 100644 index 000000000..01f5f8e55 --- /dev/null +++ b/vanetza/asn1/its/r2/SafeDistanceIndicator.c @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SafeDistanceIndicator.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SafeDistanceIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SafeDistanceIndicator = { + "SafeDistanceIndicator", + "SafeDistanceIndicator", + &asn_OP_BOOLEAN, + asn_DEF_Vanetza_ITS2_SafeDistanceIndicator_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SafeDistanceIndicator_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SafeDistanceIndicator_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SafeDistanceIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SafeDistanceIndicator_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SafeDistanceIndicator_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SafeDistanceIndicator.h b/vanetza/asn1/its/r2/SafeDistanceIndicator.h new file mode 100644 index 000000000..634ce7e93 --- /dev/null +++ b/vanetza/asn1/its/r2/SafeDistanceIndicator.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SafeDistanceIndicator_H_ +#define _Vanetza_ITS2_SafeDistanceIndicator_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BOOLEAN.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_SafeDistanceIndicator */ +typedef BOOLEAN_t Vanetza_ITS2_SafeDistanceIndicator_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SafeDistanceIndicator; +asn_struct_free_f Vanetza_ITS2_SafeDistanceIndicator_free; +asn_struct_print_f Vanetza_ITS2_SafeDistanceIndicator_print; +asn_constr_check_f Vanetza_ITS2_SafeDistanceIndicator_constraint; +ber_type_decoder_f Vanetza_ITS2_SafeDistanceIndicator_decode_ber; +der_type_encoder_f Vanetza_ITS2_SafeDistanceIndicator_encode_der; +xer_type_decoder_f Vanetza_ITS2_SafeDistanceIndicator_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SafeDistanceIndicator_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SafeDistanceIndicator_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SafeDistanceIndicator_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SafeDistanceIndicator_encode_oer; +per_type_decoder_f Vanetza_ITS2_SafeDistanceIndicator_decode_uper; +per_type_encoder_f Vanetza_ITS2_SafeDistanceIndicator_encode_uper; +per_type_decoder_f Vanetza_ITS2_SafeDistanceIndicator_decode_aper; +per_type_encoder_f Vanetza_ITS2_SafeDistanceIndicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SafeDistanceIndicator_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SafetyCarContainer.c b/vanetza/asn1/its/r2/SafetyCarContainer.c new file mode 100644 index 000000000..6300c646a --- /dev/null +++ b/vanetza/asn1/its/r2/SafetyCarContainer.c @@ -0,0 +1,137 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SafetyCarContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SafetyCarContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SafetyCarContainer, lightBarSirenInUse), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LightBarSirenInUse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lightBarSirenInUse" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_SafetyCarContainer, incidentIndication), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CauseCodeV2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "incidentIndication" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_SafetyCarContainer, trafficRule), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TrafficRule, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trafficRule" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_SafetyCarContainer, speedLimit), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SpeedLimit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedLimit" + }, +}; +static const int asn_MAP_Vanetza_ITS2_SafetyCarContainer_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SafetyCarContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_SafetyCarContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lightBarSirenInUse */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* incidentIndication */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* trafficRule */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* speedLimit */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SafetyCarContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_SafetyCarContainer), + offsetof(struct Vanetza_ITS2_SafetyCarContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_SafetyCarContainer_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_SafetyCarContainer_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SafetyCarContainer = { + "SafetyCarContainer", + "SafetyCarContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_SafetyCarContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SafetyCarContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SafetyCarContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SafetyCarContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SafetyCarContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SafetyCarContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_SafetyCarContainer_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_SafetyCarContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SafetyCarContainer.h b/vanetza/asn1/its/r2/SafetyCarContainer.h new file mode 100644 index 000000000..4bbd6e8ab --- /dev/null +++ b/vanetza/asn1/its/r2/SafetyCarContainer.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SafetyCarContainer_H_ +#define _Vanetza_ITS2_SafetyCarContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LightBarSirenInUse.h" +#include "TrafficRule.h" +#include "SpeedLimit.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CauseCodeV2; + +/* Vanetza_ITS2_SafetyCarContainer */ +typedef struct Vanetza_ITS2_SafetyCarContainer { + Vanetza_ITS2_LightBarSirenInUse_t lightBarSirenInUse; + struct Vanetza_ITS2_CauseCodeV2 *incidentIndication; /* OPTIONAL */ + Vanetza_ITS2_TrafficRule_t *trafficRule; /* OPTIONAL */ + Vanetza_ITS2_SpeedLimit_t *speedLimit; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SafetyCarContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SafetyCarContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SafetyCarContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SafetyCarContainer_1[4]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CauseCodeV2.h" + +#endif /* _Vanetza_ITS2_SafetyCarContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SemiAxisLength.c b/vanetza/asn1/its/r2/SemiAxisLength.c new file mode 100644 index 000000000..b18cff7ce --- /dev/null +++ b/vanetza/asn1/its/r2/SemiAxisLength.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SemiAxisLength.h" + +int +Vanetza_ITS2_SemiAxisLength_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 4095L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SemiAxisLength_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..4095) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SemiAxisLength_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SemiAxisLength_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SemiAxisLength = { + "SemiAxisLength", + "SemiAxisLength", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_SemiAxisLength_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SemiAxisLength_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SemiAxisLength_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SemiAxisLength_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SemiAxisLength_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SemiAxisLength_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SemiAxisLength_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SemiAxisLength_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SemiAxisLength_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SemiAxisLength.h b/vanetza/asn1/its/r2/SemiAxisLength.h new file mode 100644 index 000000000..6a2f0442e --- /dev/null +++ b/vanetza/asn1/its/r2/SemiAxisLength.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SemiAxisLength_H_ +#define _Vanetza_ITS2_SemiAxisLength_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_SemiAxisLength { + Vanetza_ITS2_SemiAxisLength_doNotUse = 0, + Vanetza_ITS2_SemiAxisLength_outOfRange = 4094, + Vanetza_ITS2_SemiAxisLength_unavailable = 4095 +} e_Vanetza_ITS2_SemiAxisLength; + +/* Vanetza_ITS2_SemiAxisLength */ +typedef long Vanetza_ITS2_SemiAxisLength_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SemiAxisLength_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SemiAxisLength; +asn_struct_free_f Vanetza_ITS2_SemiAxisLength_free; +asn_struct_print_f Vanetza_ITS2_SemiAxisLength_print; +asn_constr_check_f Vanetza_ITS2_SemiAxisLength_constraint; +ber_type_decoder_f Vanetza_ITS2_SemiAxisLength_decode_ber; +der_type_encoder_f Vanetza_ITS2_SemiAxisLength_encode_der; +xer_type_decoder_f Vanetza_ITS2_SemiAxisLength_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SemiAxisLength_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SemiAxisLength_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SemiAxisLength_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SemiAxisLength_encode_oer; +per_type_decoder_f Vanetza_ITS2_SemiAxisLength_decode_uper; +per_type_encoder_f Vanetza_ITS2_SemiAxisLength_encode_uper; +per_type_decoder_f Vanetza_ITS2_SemiAxisLength_decode_aper; +per_type_encoder_f Vanetza_ITS2_SemiAxisLength_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SemiAxisLength_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SensorInformation.c b/vanetza/asn1/its/r2/SensorInformation.c new file mode 100644 index 000000000..dabfb57d6 --- /dev/null +++ b/vanetza/asn1/its/r2/SensorInformation.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-SensorInformationContainer" + * found in "asn1/release2/TS103324v211/CPM-SensorInformationContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SensorInformation.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SensorInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SensorInformation, sensorId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sensorId" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SensorInformation, sensorType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SensorType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sensorType" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_SensorInformation, perceptionRegionShape), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Shape, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "perceptionRegionShape" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_SensorInformation, perceptionRegionConfidence), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ConfidenceLevel, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "perceptionRegionConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SensorInformation, shadowingApplies), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "shadowingApplies" + }, +}; +static const int asn_MAP_Vanetza_ITS2_SensorInformation_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SensorInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_SensorInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sensorId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sensorType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* perceptionRegionShape */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* perceptionRegionConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* shadowingApplies */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SensorInformation_specs_1 = { + sizeof(struct Vanetza_ITS2_SensorInformation), + offsetof(struct Vanetza_ITS2_SensorInformation, _asn_ctx), + asn_MAP_Vanetza_ITS2_SensorInformation_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_SensorInformation_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SensorInformation = { + "SensorInformation", + "SensorInformation", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_SensorInformation_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SensorInformation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SensorInformation_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SensorInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SensorInformation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SensorInformation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_SensorInformation_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_SensorInformation_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SensorInformation.h b/vanetza/asn1/its/r2/SensorInformation.h new file mode 100644 index 000000000..e54550950 --- /dev/null +++ b/vanetza/asn1/its/r2/SensorInformation.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-SensorInformationContainer" + * found in "asn1/release2/TS103324v211/CPM-SensorInformationContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SensorInformation_H_ +#define _Vanetza_ITS2_SensorInformation_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier1B.h" +#include "SensorType.h" +#include "ConfidenceLevel.h" +#include "BOOLEAN.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_Shape; + +/* Vanetza_ITS2_SensorInformation */ +typedef struct Vanetza_ITS2_SensorInformation { + Vanetza_ITS2_Identifier1B_t sensorId; + Vanetza_ITS2_SensorType_t sensorType; + struct Vanetza_ITS2_Shape *perceptionRegionShape; /* OPTIONAL */ + Vanetza_ITS2_ConfidenceLevel_t *perceptionRegionConfidence; /* OPTIONAL */ + BOOLEAN_t shadowingApplies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SensorInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SensorInformation; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SensorInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SensorInformation_1[5]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "Shape.h" + +#endif /* _Vanetza_ITS2_SensorInformation_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SensorInformationContainer.c b/vanetza/asn1/its/r2/SensorInformationContainer.c new file mode 100644 index 000000000..a2c1f37ca --- /dev/null +++ b/vanetza/asn1/its/r2/SensorInformationContainer.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-SensorInformationContainer" + * found in "asn1/release2/TS103324v211/CPM-SensorInformationContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SensorInformationContainer.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SensorInformationContainer_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SensorInformationContainer_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 1, 128 } /* (SIZE(1..128,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SensorInformationContainer_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_SensorInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SensorInformationContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_SensorInformationContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_SensorInformationContainer), + offsetof(struct Vanetza_ITS2_SensorInformationContainer, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SensorInformationContainer = { + "SensorInformationContainer", + "SensorInformationContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_SensorInformationContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SensorInformationContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SensorInformationContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SensorInformationContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SensorInformationContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SensorInformationContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SensorInformationContainer_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SensorInformationContainer_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_SensorInformationContainer_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_SensorInformationContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SensorInformationContainer.h b/vanetza/asn1/its/r2/SensorInformationContainer.h new file mode 100644 index 000000000..3ed3906a3 --- /dev/null +++ b/vanetza/asn1/its/r2/SensorInformationContainer.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-SensorInformationContainer" + * found in "asn1/release2/TS103324v211/CPM-SensorInformationContainer.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SensorInformationContainer_H_ +#define _Vanetza_ITS2_SensorInformationContainer_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 Vanetza_ITS2_SensorInformation; + +/* Vanetza_ITS2_SensorInformationContainer */ +typedef struct Vanetza_ITS2_SensorInformationContainer { + A_SEQUENCE_OF(struct Vanetza_ITS2_SensorInformation) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SensorInformationContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SensorInformationContainer; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_SensorInformationContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SensorInformationContainer_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SensorInformationContainer_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "SensorInformation.h" + +#endif /* _Vanetza_ITS2_SensorInformationContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SensorType.c b/vanetza/asn1/its/r2/SensorType.c new file mode 100644 index 000000000..0637c3f2d --- /dev/null +++ b/vanetza/asn1/its/r2/SensorType.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SensorType.h" + +int +Vanetza_ITS2_SensorType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 31L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SensorType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..31) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SensorType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SensorType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SensorType = { + "SensorType", + "SensorType", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_SensorType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SensorType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SensorType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SensorType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SensorType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SensorType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SensorType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SensorType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SensorType_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SensorType.h b/vanetza/asn1/its/r2/SensorType.h new file mode 100644 index 000000000..d3fcd1daf --- /dev/null +++ b/vanetza/asn1/its/r2/SensorType.h @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SensorType_H_ +#define _Vanetza_ITS2_SensorType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_SensorType { + Vanetza_ITS2_SensorType_undefined = 0, + Vanetza_ITS2_SensorType_radar = 1, + Vanetza_ITS2_SensorType_lidar = 2, + Vanetza_ITS2_SensorType_monovideo = 3, + Vanetza_ITS2_SensorType_stereovision = 4, + Vanetza_ITS2_SensorType_nightvision = 5, + Vanetza_ITS2_SensorType_ultrasonic = 6, + Vanetza_ITS2_SensorType_pmd = 7, + Vanetza_ITS2_SensorType_inductionLoop = 8, + Vanetza_ITS2_SensorType_sphericalCamera = 9, + Vanetza_ITS2_SensorType_uwb = 10, + Vanetza_ITS2_SensorType_acoustic = 11, + Vanetza_ITS2_SensorType_localAggregation = 12, + Vanetza_ITS2_SensorType_itsAggregation = 13 +} e_Vanetza_ITS2_SensorType; + +/* Vanetza_ITS2_SensorType */ +typedef long Vanetza_ITS2_SensorType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SensorType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SensorType; +asn_struct_free_f Vanetza_ITS2_SensorType_free; +asn_struct_print_f Vanetza_ITS2_SensorType_print; +asn_constr_check_f Vanetza_ITS2_SensorType_constraint; +ber_type_decoder_f Vanetza_ITS2_SensorType_decode_ber; +der_type_encoder_f Vanetza_ITS2_SensorType_encode_der; +xer_type_decoder_f Vanetza_ITS2_SensorType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SensorType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SensorType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SensorType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SensorType_encode_oer; +per_type_decoder_f Vanetza_ITS2_SensorType_decode_uper; +per_type_encoder_f Vanetza_ITS2_SensorType_encode_uper; +per_type_decoder_f Vanetza_ITS2_SensorType_decode_aper; +per_type_encoder_f Vanetza_ITS2_SensorType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SensorType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SensorTypes.c b/vanetza/asn1/its/r2/SensorTypes.c new file mode 100644 index 000000000..e7fceefcb --- /dev/null +++ b/vanetza/asn1/its/r2/SensorTypes.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SensorTypes.h" + +int +Vanetza_ITS2_SensorTypes_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SensorTypes_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SensorTypes_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 16, 16 } /* (SIZE(16..16,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_SensorTypes_constr_1 CC_NOTUSED = { + -1}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SensorTypes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SensorTypes = { + "SensorTypes", + "SensorTypes", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_SensorTypes_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SensorTypes_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SensorTypes_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SensorTypes_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SensorTypes_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SensorTypes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SensorTypes_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SensorTypes_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_SensorTypes_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SensorTypes_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SensorTypes.h b/vanetza/asn1/its/r2/SensorTypes.h new file mode 100644 index 000000000..926f61d20 --- /dev/null +++ b/vanetza/asn1/its/r2/SensorTypes.h @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SensorTypes_H_ +#define _Vanetza_ITS2_SensorTypes_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_SensorTypes { + Vanetza_ITS2_SensorTypes_undefined = 0, + Vanetza_ITS2_SensorTypes_radar = 1, + Vanetza_ITS2_SensorTypes_lidar = 2, + Vanetza_ITS2_SensorTypes_monovideo = 3, + Vanetza_ITS2_SensorTypes_stereovision = 4, + Vanetza_ITS2_SensorTypes_nightvision = 5, + Vanetza_ITS2_SensorTypes_ultrasonic = 6, + Vanetza_ITS2_SensorTypes_pmd = 7, + Vanetza_ITS2_SensorTypes_inductionLoop = 8, + Vanetza_ITS2_SensorTypes_sphericalCamera = 9, + Vanetza_ITS2_SensorTypes_uwb = 10, + Vanetza_ITS2_SensorTypes_acoustic = 11, + Vanetza_ITS2_SensorTypes_localAggregation = 12, + Vanetza_ITS2_SensorTypes_itsAggregation = 13 +} e_Vanetza_ITS2_SensorTypes; + +/* Vanetza_ITS2_SensorTypes */ +typedef BIT_STRING_t Vanetza_ITS2_SensorTypes_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SensorTypes_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SensorTypes; +asn_struct_free_f Vanetza_ITS2_SensorTypes_free; +asn_struct_print_f Vanetza_ITS2_SensorTypes_print; +asn_constr_check_f Vanetza_ITS2_SensorTypes_constraint; +ber_type_decoder_f Vanetza_ITS2_SensorTypes_decode_ber; +der_type_encoder_f Vanetza_ITS2_SensorTypes_encode_der; +xer_type_decoder_f Vanetza_ITS2_SensorTypes_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SensorTypes_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SensorTypes_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SensorTypes_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SensorTypes_encode_oer; +per_type_decoder_f Vanetza_ITS2_SensorTypes_decode_uper; +per_type_encoder_f Vanetza_ITS2_SensorTypes_encode_uper; +per_type_decoder_f Vanetza_ITS2_SensorTypes_decode_aper; +per_type_encoder_f Vanetza_ITS2_SensorTypes_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SensorTypes_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SequenceNumber.c b/vanetza/asn1/its/r2/SequenceNumber.c new file mode 100644 index 000000000..0581e6b32 --- /dev/null +++ b/vanetza/asn1/its/r2/SequenceNumber.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SequenceNumber.h" + +int +Vanetza_ITS2_SequenceNumber_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(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_Vanetza_ITS2_SequenceNumber_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_Vanetza_ITS2_SequenceNumber_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_Vanetza_ITS2_SequenceNumber_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SequenceNumber = { + "SequenceNumber", + "SequenceNumber", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_SequenceNumber_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SequenceNumber_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SequenceNumber_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SequenceNumber_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SequenceNumber_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SequenceNumber_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SequenceNumber_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SequenceNumber_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SequenceNumber_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SequenceNumber.h b/vanetza/asn1/its/r2/SequenceNumber.h new file mode 100644 index 000000000..cca4042f8 --- /dev/null +++ b/vanetza/asn1/its/r2/SequenceNumber.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SequenceNumber_H_ +#define _Vanetza_ITS2_SequenceNumber_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_SequenceNumber */ +typedef long Vanetza_ITS2_SequenceNumber_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SequenceNumber_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SequenceNumber; +asn_struct_free_f Vanetza_ITS2_SequenceNumber_free; +asn_struct_print_f Vanetza_ITS2_SequenceNumber_print; +asn_constr_check_f Vanetza_ITS2_SequenceNumber_constraint; +ber_type_decoder_f Vanetza_ITS2_SequenceNumber_decode_ber; +der_type_encoder_f Vanetza_ITS2_SequenceNumber_encode_der; +xer_type_decoder_f Vanetza_ITS2_SequenceNumber_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SequenceNumber_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SequenceNumber_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SequenceNumber_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SequenceNumber_encode_oer; +per_type_decoder_f Vanetza_ITS2_SequenceNumber_decode_uper; +per_type_encoder_f Vanetza_ITS2_SequenceNumber_encode_uper; +per_type_decoder_f Vanetza_ITS2_SequenceNumber_decode_aper; +per_type_encoder_f Vanetza_ITS2_SequenceNumber_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SequenceNumber_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SequenceOfCartesianPosition3d.c b/vanetza/asn1/its/r2/SequenceOfCartesianPosition3d.c new file mode 100644 index 000000000..94c94c593 --- /dev/null +++ b/vanetza/asn1/its/r2/SequenceOfCartesianPosition3d.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SequenceOfCartesianPosition3d.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SequenceOfCartesianPosition3d_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SequenceOfCartesianPosition3d_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 16 } /* (SIZE(1..16,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SequenceOfCartesianPosition3d_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_CartesianPosition3d, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SequenceOfCartesianPosition3d_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_SequenceOfCartesianPosition3d_specs_1 = { + sizeof(struct Vanetza_ITS2_SequenceOfCartesianPosition3d), + offsetof(struct Vanetza_ITS2_SequenceOfCartesianPosition3d, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SequenceOfCartesianPosition3d = { + "SequenceOfCartesianPosition3d", + "SequenceOfCartesianPosition3d", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_SequenceOfCartesianPosition3d_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SequenceOfCartesianPosition3d_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SequenceOfCartesianPosition3d_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SequenceOfCartesianPosition3d_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SequenceOfCartesianPosition3d_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SequenceOfCartesianPosition3d_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SequenceOfCartesianPosition3d_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SequenceOfCartesianPosition3d_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_SequenceOfCartesianPosition3d_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_SequenceOfCartesianPosition3d_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SequenceOfCartesianPosition3d.h b/vanetza/asn1/its/r2/SequenceOfCartesianPosition3d.h new file mode 100644 index 000000000..3de490829 --- /dev/null +++ b/vanetza/asn1/its/r2/SequenceOfCartesianPosition3d.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SequenceOfCartesianPosition3d_H_ +#define _Vanetza_ITS2_SequenceOfCartesianPosition3d_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 Vanetza_ITS2_CartesianPosition3d; + +/* Vanetza_ITS2_SequenceOfCartesianPosition3d */ +typedef struct Vanetza_ITS2_SequenceOfCartesianPosition3d { + A_SEQUENCE_OF(struct Vanetza_ITS2_CartesianPosition3d) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SequenceOfCartesianPosition3d_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SequenceOfCartesianPosition3d; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_SequenceOfCartesianPosition3d_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SequenceOfCartesianPosition3d_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SequenceOfCartesianPosition3d_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CartesianPosition3d.h" + +#endif /* _Vanetza_ITS2_SequenceOfCartesianPosition3d_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SequenceOfIdentifier1B.c b/vanetza/asn1/its/r2/SequenceOfIdentifier1B.c new file mode 100644 index 000000000..81668edec --- /dev/null +++ b/vanetza/asn1/its/r2/SequenceOfIdentifier1B.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SequenceOfIdentifier1B.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SequenceOfIdentifier1B_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SequenceOfIdentifier1B_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 1, 128 } /* (SIZE(1..128,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SequenceOfIdentifier1B_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_Identifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SequenceOfIdentifier1B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_SequenceOfIdentifier1B_specs_1 = { + sizeof(struct Vanetza_ITS2_SequenceOfIdentifier1B), + offsetof(struct Vanetza_ITS2_SequenceOfIdentifier1B, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SequenceOfIdentifier1B = { + "SequenceOfIdentifier1B", + "SequenceOfIdentifier1B", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_SequenceOfIdentifier1B_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SequenceOfIdentifier1B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SequenceOfIdentifier1B_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SequenceOfIdentifier1B_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SequenceOfIdentifier1B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SequenceOfIdentifier1B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SequenceOfIdentifier1B_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SequenceOfIdentifier1B_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_SequenceOfIdentifier1B_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_SequenceOfIdentifier1B_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SequenceOfIdentifier1B.h b/vanetza/asn1/its/r2/SequenceOfIdentifier1B.h new file mode 100644 index 000000000..1c0012b12 --- /dev/null +++ b/vanetza/asn1/its/r2/SequenceOfIdentifier1B.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SequenceOfIdentifier1B_H_ +#define _Vanetza_ITS2_SequenceOfIdentifier1B_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier1B.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_SequenceOfIdentifier1B */ +typedef struct Vanetza_ITS2_SequenceOfIdentifier1B { + A_SEQUENCE_OF(Vanetza_ITS2_Identifier1B_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SequenceOfIdentifier1B_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SequenceOfIdentifier1B; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_SequenceOfIdentifier1B_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SequenceOfIdentifier1B_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SequenceOfIdentifier1B_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SequenceOfIdentifier1B_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SequenceOfSafeDistanceIndication.c b/vanetza/asn1/its/r2/SequenceOfSafeDistanceIndication.c new file mode 100644 index 000000000..76814e0ad --- /dev/null +++ b/vanetza/asn1/its/r2/SequenceOfSafeDistanceIndication.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SequenceOfSafeDistanceIndication.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SequenceOfSafeDistanceIndication_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SequenceOfSafeDistanceIndication_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SequenceOfSafeDistanceIndication_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_SafeDistanceIndication, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SequenceOfSafeDistanceIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_SequenceOfSafeDistanceIndication_specs_1 = { + sizeof(struct Vanetza_ITS2_SequenceOfSafeDistanceIndication), + offsetof(struct Vanetza_ITS2_SequenceOfSafeDistanceIndication, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SequenceOfSafeDistanceIndication = { + "SequenceOfSafeDistanceIndication", + "SequenceOfSafeDistanceIndication", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_SequenceOfSafeDistanceIndication_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SequenceOfSafeDistanceIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SequenceOfSafeDistanceIndication_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SequenceOfSafeDistanceIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SequenceOfSafeDistanceIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SequenceOfSafeDistanceIndication_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SequenceOfSafeDistanceIndication_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SequenceOfSafeDistanceIndication_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_SequenceOfSafeDistanceIndication_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_SequenceOfSafeDistanceIndication_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SequenceOfSafeDistanceIndication.h b/vanetza/asn1/its/r2/SequenceOfSafeDistanceIndication.h new file mode 100644 index 000000000..90b19d02b --- /dev/null +++ b/vanetza/asn1/its/r2/SequenceOfSafeDistanceIndication.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SequenceOfSafeDistanceIndication_H_ +#define _Vanetza_ITS2_SequenceOfSafeDistanceIndication_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 Vanetza_ITS2_SafeDistanceIndication; + +/* Vanetza_ITS2_SequenceOfSafeDistanceIndication */ +typedef struct Vanetza_ITS2_SequenceOfSafeDistanceIndication { + A_SEQUENCE_OF(struct Vanetza_ITS2_SafeDistanceIndication) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SequenceOfSafeDistanceIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SequenceOfSafeDistanceIndication; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "SafeDistanceIndication.h" + +#endif /* _Vanetza_ITS2_SequenceOfSafeDistanceIndication_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SequenceOfTrajectoryInterceptionIndication.c b/vanetza/asn1/its/r2/SequenceOfTrajectoryInterceptionIndication.c new file mode 100644 index 000000000..0595aa17f --- /dev/null +++ b/vanetza/asn1/its/r2/SequenceOfTrajectoryInterceptionIndication.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SequenceOfTrajectoryInterceptionIndication.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_TrajectoryInterceptionIndication, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_specs_1 = { + sizeof(struct Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication), + offsetof(struct Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication = { + "SequenceOfTrajectoryInterceptionIndication", + "SequenceOfTrajectoryInterceptionIndication", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SequenceOfTrajectoryInterceptionIndication.h b/vanetza/asn1/its/r2/SequenceOfTrajectoryInterceptionIndication.h new file mode 100644 index 000000000..7b931da77 --- /dev/null +++ b/vanetza/asn1/its/r2/SequenceOfTrajectoryInterceptionIndication.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_H_ +#define _Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_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 Vanetza_ITS2_TrajectoryInterceptionIndication; + +/* Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication */ +typedef struct Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication { + A_SEQUENCE_OF(struct Vanetza_ITS2_TrajectoryInterceptionIndication) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "TrajectoryInterceptionIndication.h" + +#endif /* _Vanetza_ITS2_SequenceOfTrajectoryInterceptionIndication_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Shape.c b/vanetza/asn1/its/r2/Shape.c new file mode 100644 index 000000000..934369873 --- /dev/null +++ b/vanetza/asn1/its/r2/Shape.c @@ -0,0 +1,186 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Shape.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Shape_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_Vanetza_ITS2_Shape_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Shape_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Shape, choice.rectangular), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RectangularShape, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rectangular" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Shape, choice.circular), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CircularShape, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "circular" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Shape, choice.polygonal), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PolygonalShape, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "polygonal" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Shape, choice.elliptical), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EllipticalShape, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elliptical" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Shape, choice.radial), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RadialShape, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "radial" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Shape, choice.radialShapes), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RadialShapes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "radialShapes" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_Shape_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rectangular */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* circular */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* polygonal */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* elliptical */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* radial */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* radialShapes */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_Shape_specs_1 = { + sizeof(struct Vanetza_ITS2_Shape), + offsetof(struct Vanetza_ITS2_Shape, _asn_ctx), + offsetof(struct Vanetza_ITS2_Shape, present), + sizeof(((struct Vanetza_ITS2_Shape *)0)->present), + asn_MAP_Vanetza_ITS2_Shape_tag2el_1, + 6, /* Count of tags in the map */ + 0, 0, + 6 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Shape = { + "Shape", + "Shape", + &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_Vanetza_ITS2_Shape_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Shape_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_Shape_1, + 6, /* Elements count */ + &asn_SPC_Vanetza_ITS2_Shape_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Shape.h b/vanetza/asn1/its/r2/Shape.h new file mode 100644 index 000000000..c5a7c4847 --- /dev/null +++ b/vanetza/asn1/its/r2/Shape.h @@ -0,0 +1,71 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Shape_H_ +#define _Vanetza_ITS2_Shape_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "RectangularShape.h" +#include "CircularShape.h" +#include "PolygonalShape.h" +#include "EllipticalShape.h" +#include "RadialShape.h" +#include "RadialShapes.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Shape_PR { + Vanetza_ITS2_Shape_PR_NOTHING, /* No components present */ + Vanetza_ITS2_Shape_PR_rectangular, + Vanetza_ITS2_Shape_PR_circular, + Vanetza_ITS2_Shape_PR_polygonal, + Vanetza_ITS2_Shape_PR_elliptical, + Vanetza_ITS2_Shape_PR_radial, + Vanetza_ITS2_Shape_PR_radialShapes + /* Extensions may appear below */ + +} Vanetza_ITS2_Shape_PR; + +/* Vanetza_ITS2_Shape */ +typedef struct Vanetza_ITS2_Shape { + Vanetza_ITS2_Shape_PR present; + union Vanetza_ITS2_Shape_u { + Vanetza_ITS2_RectangularShape_t rectangular; + Vanetza_ITS2_CircularShape_t circular; + Vanetza_ITS2_PolygonalShape_t polygonal; + Vanetza_ITS2_EllipticalShape_t elliptical; + Vanetza_ITS2_RadialShape_t radial; + Vanetza_ITS2_RadialShapes_t radialShapes; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Shape_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Shape; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_Shape_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Shape_1[6]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Shape_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Shape_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SignalViolationSubCauseCode.c b/vanetza/asn1/its/r2/SignalViolationSubCauseCode.c new file mode 100644 index 000000000..bb310474c --- /dev/null +++ b/vanetza/asn1/its/r2/SignalViolationSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SignalViolationSubCauseCode.h" + +int +Vanetza_ITS2_SignalViolationSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SignalViolationSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SignalViolationSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SignalViolationSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SignalViolationSubCauseCode = { + "SignalViolationSubCauseCode", + "SignalViolationSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_SignalViolationSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SignalViolationSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SignalViolationSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SignalViolationSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SignalViolationSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SignalViolationSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SignalViolationSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SignalViolationSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SignalViolationSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SignalViolationSubCauseCode.h b/vanetza/asn1/its/r2/SignalViolationSubCauseCode.h new file mode 100644 index 000000000..a082a662f --- /dev/null +++ b/vanetza/asn1/its/r2/SignalViolationSubCauseCode.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SignalViolationSubCauseCode_H_ +#define _Vanetza_ITS2_SignalViolationSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_SignalViolationSubCauseCode { + Vanetza_ITS2_SignalViolationSubCauseCode_unavailable = 0, + Vanetza_ITS2_SignalViolationSubCauseCode_stopSignViolation = 1, + Vanetza_ITS2_SignalViolationSubCauseCode_trafficLightViolation = 2, + Vanetza_ITS2_SignalViolationSubCauseCode_turningRegulationViolation = 3 +} e_Vanetza_ITS2_SignalViolationSubCauseCode; + +/* Vanetza_ITS2_SignalViolationSubCauseCode */ +typedef long Vanetza_ITS2_SignalViolationSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SignalViolationSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SignalViolationSubCauseCode; +asn_struct_free_f Vanetza_ITS2_SignalViolationSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_SignalViolationSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_SignalViolationSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_SignalViolationSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_SignalViolationSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_SignalViolationSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SignalViolationSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SignalViolationSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SignalViolationSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SignalViolationSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_SignalViolationSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_SignalViolationSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_SignalViolationSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_SignalViolationSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SignalViolationSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SituationContainer.c b/vanetza/asn1/its/r2/SituationContainer.c new file mode 100644 index 000000000..1f61c9adb --- /dev/null +++ b/vanetza/asn1/its/r2/SituationContainer.c @@ -0,0 +1,258 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SituationContainer.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SituationContainer_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_Vanetza_ITS2_SituationContainer_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_ext1_7[] = { + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_SituationContainer__ext1, linkedDenms), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ActionIdList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "linkedDenms" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_SituationContainer__ext1, eventEnd), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Position1d, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventEnd" + }, +}; +static const int asn_MAP_Vanetza_ITS2_ext1_oms_7[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ext1_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_ext1_tag2el_7[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* linkedDenms */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eventEnd */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_ext1_specs_7 = { + sizeof(struct Vanetza_ITS2_SituationContainer__ext1), + offsetof(struct Vanetza_ITS2_SituationContainer__ext1, _asn_ctx), + asn_MAP_Vanetza_ITS2_ext1_tag2el_7, + 2, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_ext1_oms_7, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ext1_7 = { + "ext1", + "ext1", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_ext1_tags_7, + sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_7) + /sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_7[0]) - 1, /* 1 */ + asn_DEF_Vanetza_ITS2_ext1_tags_7, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_7) + /sizeof(asn_DEF_Vanetza_ITS2_ext1_tags_7[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_ext1_7, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_ext1_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SituationContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SituationContainer, informationQuality), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_InformationQuality, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "informationQuality" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SituationContainer, eventType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CauseCodeV2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventType" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_SituationContainer, linkedCause), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CauseCodeV2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "linkedCause" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_SituationContainer, eventZone), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EventZone, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventZone" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_SituationContainer, ext1), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_ext1_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ext1" + }, +}; +static const int asn_MAP_Vanetza_ITS2_SituationContainer_oms_1[] = { 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SituationContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_SituationContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* informationQuality */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eventType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* linkedCause */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* eventZone */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ext1 */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SituationContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_SituationContainer), + offsetof(struct Vanetza_ITS2_SituationContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_SituationContainer_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_SituationContainer_oms_1, /* Optional members */ + 2, 1, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SituationContainer = { + "SituationContainer", + "SituationContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_SituationContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SituationContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SituationContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SituationContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SituationContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SituationContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SituationContainer_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SituationContainer_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_SituationContainer_1, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_SituationContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SituationContainer.h b/vanetza/asn1/its/r2/SituationContainer.h new file mode 100644 index 000000000..0af1b5d56 --- /dev/null +++ b/vanetza/asn1/its/r2/SituationContainer.h @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SituationContainer_H_ +#define _Vanetza_ITS2_SituationContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "InformationQuality.h" +#include "CauseCodeV2.h" +#include "Position1d.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CauseCodeV2; +struct Vanetza_ITS2_EventZone; +struct Vanetza_ITS2_ActionIdList; + +/* Vanetza_ITS2_SituationContainer */ +typedef struct Vanetza_ITS2_SituationContainer { + Vanetza_ITS2_InformationQuality_t informationQuality; + Vanetza_ITS2_CauseCodeV2_t eventType; + struct Vanetza_ITS2_CauseCodeV2 *linkedCause; /* OPTIONAL */ + struct Vanetza_ITS2_EventZone *eventZone; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + struct Vanetza_ITS2_SituationContainer__ext1 { + struct Vanetza_ITS2_ActionIdList *linkedDenms; /* OPTIONAL */ + Vanetza_ITS2_Position1d_t *eventEnd; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *ext1; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SituationContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SituationContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SituationContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SituationContainer_1[5]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SituationContainer_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CauseCodeV2.h" +#include "EventZone.h" +#include "ActionIdList.h" + +#endif /* _Vanetza_ITS2_SituationContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SlowVehicleSubCauseCode.c b/vanetza/asn1/its/r2/SlowVehicleSubCauseCode.c new file mode 100644 index 000000000..c39c51393 --- /dev/null +++ b/vanetza/asn1/its/r2/SlowVehicleSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SlowVehicleSubCauseCode.h" + +int +Vanetza_ITS2_SlowVehicleSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SlowVehicleSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SlowVehicleSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SlowVehicleSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SlowVehicleSubCauseCode = { + "SlowVehicleSubCauseCode", + "SlowVehicleSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_SlowVehicleSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SlowVehicleSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SlowVehicleSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SlowVehicleSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SlowVehicleSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SlowVehicleSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SlowVehicleSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SlowVehicleSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SlowVehicleSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SlowVehicleSubCauseCode.h b/vanetza/asn1/its/r2/SlowVehicleSubCauseCode.h new file mode 100644 index 000000000..ea0f0faa2 --- /dev/null +++ b/vanetza/asn1/its/r2/SlowVehicleSubCauseCode.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SlowVehicleSubCauseCode_H_ +#define _Vanetza_ITS2_SlowVehicleSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_SlowVehicleSubCauseCode { + Vanetza_ITS2_SlowVehicleSubCauseCode_unavailable = 0, + Vanetza_ITS2_SlowVehicleSubCauseCode_maintenanceVehicle = 1, + Vanetza_ITS2_SlowVehicleSubCauseCode_vehiclesSlowingToLookAtAccident = 2, + Vanetza_ITS2_SlowVehicleSubCauseCode_abnormalLoad = 3, + Vanetza_ITS2_SlowVehicleSubCauseCode_abnormalWideLoad = 4, + Vanetza_ITS2_SlowVehicleSubCauseCode_convoy = 5, + Vanetza_ITS2_SlowVehicleSubCauseCode_snowplough = 6, + Vanetza_ITS2_SlowVehicleSubCauseCode_deicing = 7, + Vanetza_ITS2_SlowVehicleSubCauseCode_saltingVehicles = 8 +} e_Vanetza_ITS2_SlowVehicleSubCauseCode; + +/* Vanetza_ITS2_SlowVehicleSubCauseCode */ +typedef long Vanetza_ITS2_SlowVehicleSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SlowVehicleSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SlowVehicleSubCauseCode; +asn_struct_free_f Vanetza_ITS2_SlowVehicleSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_SlowVehicleSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_SlowVehicleSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_SlowVehicleSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_SlowVehicleSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_SlowVehicleSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SlowVehicleSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SlowVehicleSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SlowVehicleSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SlowVehicleSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_SlowVehicleSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_SlowVehicleSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_SlowVehicleSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_SlowVehicleSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SlowVehicleSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SpecialTransportContainer.c b/vanetza/asn1/its/r2/SpecialTransportContainer.c new file mode 100644 index 000000000..22f13db3b --- /dev/null +++ b/vanetza/asn1/its/r2/SpecialTransportContainer.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SpecialTransportContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SpecialTransportContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SpecialTransportContainer, specialTransportType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SpecialTransportType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "specialTransportType" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SpecialTransportContainer, lightBarSirenInUse), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LightBarSirenInUse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lightBarSirenInUse" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SpecialTransportContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_SpecialTransportContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* specialTransportType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lightBarSirenInUse */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SpecialTransportContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_SpecialTransportContainer), + offsetof(struct Vanetza_ITS2_SpecialTransportContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_SpecialTransportContainer_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_Vanetza_ITS2_SpecialTransportContainer = { + "SpecialTransportContainer", + "SpecialTransportContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_SpecialTransportContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SpecialTransportContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SpecialTransportContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SpecialTransportContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SpecialTransportContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SpecialTransportContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_SpecialTransportContainer_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_SpecialTransportContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SpecialTransportContainer.h b/vanetza/asn1/its/r2/SpecialTransportContainer.h new file mode 100644 index 000000000..7018ef255 --- /dev/null +++ b/vanetza/asn1/its/r2/SpecialTransportContainer.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SpecialTransportContainer_H_ +#define _Vanetza_ITS2_SpecialTransportContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "SpecialTransportType.h" +#include "LightBarSirenInUse.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_SpecialTransportContainer */ +typedef struct Vanetza_ITS2_SpecialTransportContainer { + Vanetza_ITS2_SpecialTransportType_t specialTransportType; + Vanetza_ITS2_LightBarSirenInUse_t lightBarSirenInUse; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SpecialTransportContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SpecialTransportContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SpecialTransportContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SpecialTransportContainer_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SpecialTransportContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SpecialTransportType.c b/vanetza/asn1/its/r2/SpecialTransportType.c new file mode 100644 index 000000000..4a9179ead --- /dev/null +++ b/vanetza/asn1/its/r2/SpecialTransportType.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SpecialTransportType.h" + +int +Vanetza_ITS2_SpecialTransportType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 4UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SpecialTransportType_constr_1 CC_NOTUSED = { + { 0, 0 }, + 4 /* (SIZE(4..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SpecialTransportType_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_SpecialTransportType_constr_1 CC_NOTUSED = { + 4}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SpecialTransportType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SpecialTransportType = { + "SpecialTransportType", + "SpecialTransportType", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_SpecialTransportType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SpecialTransportType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SpecialTransportType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SpecialTransportType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SpecialTransportType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SpecialTransportType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SpecialTransportType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SpecialTransportType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_SpecialTransportType_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SpecialTransportType_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SpecialTransportType.h b/vanetza/asn1/its/r2/SpecialTransportType.h new file mode 100644 index 000000000..8c84b702d --- /dev/null +++ b/vanetza/asn1/its/r2/SpecialTransportType.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SpecialTransportType_H_ +#define _Vanetza_ITS2_SpecialTransportType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_SpecialTransportType { + Vanetza_ITS2_SpecialTransportType_heavyLoad = 0, + Vanetza_ITS2_SpecialTransportType_excessWidth = 1, + Vanetza_ITS2_SpecialTransportType_excessLength = 2, + Vanetza_ITS2_SpecialTransportType_excessHeight = 3 +} e_Vanetza_ITS2_SpecialTransportType; + +/* Vanetza_ITS2_SpecialTransportType */ +typedef BIT_STRING_t Vanetza_ITS2_SpecialTransportType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SpecialTransportType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SpecialTransportType; +asn_struct_free_f Vanetza_ITS2_SpecialTransportType_free; +asn_struct_print_f Vanetza_ITS2_SpecialTransportType_print; +asn_constr_check_f Vanetza_ITS2_SpecialTransportType_constraint; +ber_type_decoder_f Vanetza_ITS2_SpecialTransportType_decode_ber; +der_type_encoder_f Vanetza_ITS2_SpecialTransportType_encode_der; +xer_type_decoder_f Vanetza_ITS2_SpecialTransportType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SpecialTransportType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SpecialTransportType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SpecialTransportType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SpecialTransportType_encode_oer; +per_type_decoder_f Vanetza_ITS2_SpecialTransportType_decode_uper; +per_type_encoder_f Vanetza_ITS2_SpecialTransportType_encode_uper; +per_type_decoder_f Vanetza_ITS2_SpecialTransportType_decode_aper; +per_type_encoder_f Vanetza_ITS2_SpecialTransportType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SpecialTransportType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SpecialVehicleContainer.c b/vanetza/asn1/its/r2/SpecialVehicleContainer.c new file mode 100644 index 000000000..d34798bf4 --- /dev/null +++ b/vanetza/asn1/its/r2/SpecialVehicleContainer.c @@ -0,0 +1,207 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SpecialVehicleContainer.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SpecialVehicleContainer_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_Vanetza_ITS2_SpecialVehicleContainer_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SpecialVehicleContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SpecialVehicleContainer, choice.publicTransportContainer), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_PublicTransportContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "publicTransportContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SpecialVehicleContainer, choice.specialTransportContainer), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SpecialTransportContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "specialTransportContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SpecialVehicleContainer, choice.dangerousGoodsContainer), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DangerousGoodsContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dangerousGoodsContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SpecialVehicleContainer, choice.roadWorksContainerBasic), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RoadWorksContainerBasic, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadWorksContainerBasic" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SpecialVehicleContainer, choice.rescueContainer), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_RescueContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rescueContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SpecialVehicleContainer, choice.emergencyContainer), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EmergencyContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emergencyContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SpecialVehicleContainer, choice.safetyCarContainer), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SafetyCarContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "safetyCarContainer" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_SpecialVehicleContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* publicTransportContainer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* specialTransportContainer */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dangerousGoodsContainer */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* roadWorksContainerBasic */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* rescueContainer */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* emergencyContainer */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* safetyCarContainer */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_SpecialVehicleContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_SpecialVehicleContainer), + offsetof(struct Vanetza_ITS2_SpecialVehicleContainer, _asn_ctx), + offsetof(struct Vanetza_ITS2_SpecialVehicleContainer, present), + sizeof(((struct Vanetza_ITS2_SpecialVehicleContainer *)0)->present), + asn_MAP_Vanetza_ITS2_SpecialVehicleContainer_tag2el_1, + 7, /* Count of tags in the map */ + 0, 0, + 7 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SpecialVehicleContainer = { + "SpecialVehicleContainer", + "SpecialVehicleContainer", + &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_Vanetza_ITS2_SpecialVehicleContainer_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SpecialVehicleContainer_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_SpecialVehicleContainer_1, + 7, /* Elements count */ + &asn_SPC_Vanetza_ITS2_SpecialVehicleContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SpecialVehicleContainer.h b/vanetza/asn1/its/r2/SpecialVehicleContainer.h new file mode 100644 index 000000000..06030cb93 --- /dev/null +++ b/vanetza/asn1/its/r2/SpecialVehicleContainer.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CAM-PDU-Descriptions" + * found in "asn1/release2/TS103900v211-CAM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SpecialVehicleContainer_H_ +#define _Vanetza_ITS2_SpecialVehicleContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "PublicTransportContainer.h" +#include "SpecialTransportContainer.h" +#include "DangerousGoodsContainer.h" +#include "RoadWorksContainerBasic.h" +#include "RescueContainer.h" +#include "EmergencyContainer.h" +#include "SafetyCarContainer.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_SpecialVehicleContainer_PR { + Vanetza_ITS2_SpecialVehicleContainer_PR_NOTHING, /* No components present */ + Vanetza_ITS2_SpecialVehicleContainer_PR_publicTransportContainer, + Vanetza_ITS2_SpecialVehicleContainer_PR_specialTransportContainer, + Vanetza_ITS2_SpecialVehicleContainer_PR_dangerousGoodsContainer, + Vanetza_ITS2_SpecialVehicleContainer_PR_roadWorksContainerBasic, + Vanetza_ITS2_SpecialVehicleContainer_PR_rescueContainer, + Vanetza_ITS2_SpecialVehicleContainer_PR_emergencyContainer, + Vanetza_ITS2_SpecialVehicleContainer_PR_safetyCarContainer + /* Extensions may appear below */ + +} Vanetza_ITS2_SpecialVehicleContainer_PR; + +/* Vanetza_ITS2_SpecialVehicleContainer */ +typedef struct Vanetza_ITS2_SpecialVehicleContainer { + Vanetza_ITS2_SpecialVehicleContainer_PR present; + union Vanetza_ITS2_SpecialVehicleContainer_u { + Vanetza_ITS2_PublicTransportContainer_t publicTransportContainer; + Vanetza_ITS2_SpecialTransportContainer_t specialTransportContainer; + Vanetza_ITS2_DangerousGoodsContainer_t dangerousGoodsContainer; + Vanetza_ITS2_RoadWorksContainerBasic_t roadWorksContainerBasic; + Vanetza_ITS2_RescueContainer_t rescueContainer; + Vanetza_ITS2_EmergencyContainer_t emergencyContainer; + Vanetza_ITS2_SafetyCarContainer_t safetyCarContainer; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SpecialVehicleContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SpecialVehicleContainer; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_SpecialVehicleContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SpecialVehicleContainer_1[7]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SpecialVehicleContainer_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SpecialVehicleContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Speed.c b/vanetza/asn1/its/r2/Speed.c new file mode 100644 index 000000000..0626cae85 --- /dev/null +++ b/vanetza/asn1/its/r2/Speed.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Speed.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Speed_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Speed, speedValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SpeedValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Speed, speedConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SpeedConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Speed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_Speed_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* speedValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* speedConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_Speed_specs_1 = { + sizeof(struct Vanetza_ITS2_Speed), + offsetof(struct Vanetza_ITS2_Speed, _asn_ctx), + asn_MAP_Vanetza_ITS2_Speed_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_Vanetza_ITS2_Speed = { + "Speed", + "Speed", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_Speed_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Speed_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Speed_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Speed_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Speed_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Speed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_Speed_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_Speed_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Speed.h b/vanetza/asn1/its/r2/Speed.h new file mode 100644 index 000000000..c3854b72f --- /dev/null +++ b/vanetza/asn1/its/r2/Speed.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Speed_H_ +#define _Vanetza_ITS2_Speed_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "SpeedValue.h" +#include "SpeedConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_Speed */ +typedef struct Vanetza_ITS2_Speed { + Vanetza_ITS2_SpeedValue_t speedValue; + Vanetza_ITS2_SpeedConfidence_t speedConfidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Speed_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Speed; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_Speed_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Speed_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Speed_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SpeedConfidence.c b/vanetza/asn1/its/r2/SpeedConfidence.c new file mode 100644 index 000000000..ba7ea5a80 --- /dev/null +++ b/vanetza/asn1/its/r2/SpeedConfidence.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SpeedConfidence.h" + +int +Vanetza_ITS2_SpeedConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SpeedConfidence_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SpeedConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 127 } /* (1..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SpeedConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SpeedConfidence = { + "SpeedConfidence", + "SpeedConfidence", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_SpeedConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SpeedConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SpeedConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SpeedConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SpeedConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SpeedConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SpeedConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SpeedConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SpeedConfidence_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SpeedConfidence.h b/vanetza/asn1/its/r2/SpeedConfidence.h new file mode 100644 index 000000000..0ee9b1332 --- /dev/null +++ b/vanetza/asn1/its/r2/SpeedConfidence.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SpeedConfidence_H_ +#define _Vanetza_ITS2_SpeedConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_SpeedConfidence { + Vanetza_ITS2_SpeedConfidence_outOfRange = 126, + Vanetza_ITS2_SpeedConfidence_unavailable = 127 +} e_Vanetza_ITS2_SpeedConfidence; + +/* Vanetza_ITS2_SpeedConfidence */ +typedef long Vanetza_ITS2_SpeedConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SpeedConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SpeedConfidence; +asn_struct_free_f Vanetza_ITS2_SpeedConfidence_free; +asn_struct_print_f Vanetza_ITS2_SpeedConfidence_print; +asn_constr_check_f Vanetza_ITS2_SpeedConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_SpeedConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_SpeedConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_SpeedConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SpeedConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SpeedConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SpeedConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SpeedConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_SpeedConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_SpeedConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_SpeedConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_SpeedConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SpeedConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SpeedLimit.c b/vanetza/asn1/its/r2/SpeedLimit.c new file mode 100644 index 000000000..dea672b0a --- /dev/null +++ b/vanetza/asn1/its/r2/SpeedLimit.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SpeedLimit.h" + +int +Vanetza_ITS2_SpeedLimit_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SpeedLimit_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SpeedLimit_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SpeedLimit_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SpeedLimit = { + "SpeedLimit", + "SpeedLimit", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_SpeedLimit_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SpeedLimit_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SpeedLimit_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SpeedLimit_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SpeedLimit_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SpeedLimit_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SpeedLimit_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SpeedLimit_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SpeedLimit_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SpeedLimit.h b/vanetza/asn1/its/r2/SpeedLimit.h new file mode 100644 index 000000000..62752d1f9 --- /dev/null +++ b/vanetza/asn1/its/r2/SpeedLimit.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SpeedLimit_H_ +#define _Vanetza_ITS2_SpeedLimit_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_SpeedLimit */ +typedef long Vanetza_ITS2_SpeedLimit_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SpeedLimit_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SpeedLimit; +asn_struct_free_f Vanetza_ITS2_SpeedLimit_free; +asn_struct_print_f Vanetza_ITS2_SpeedLimit_print; +asn_constr_check_f Vanetza_ITS2_SpeedLimit_constraint; +ber_type_decoder_f Vanetza_ITS2_SpeedLimit_decode_ber; +der_type_encoder_f Vanetza_ITS2_SpeedLimit_encode_der; +xer_type_decoder_f Vanetza_ITS2_SpeedLimit_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SpeedLimit_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SpeedLimit_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SpeedLimit_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SpeedLimit_encode_oer; +per_type_decoder_f Vanetza_ITS2_SpeedLimit_decode_uper; +per_type_encoder_f Vanetza_ITS2_SpeedLimit_encode_uper; +per_type_decoder_f Vanetza_ITS2_SpeedLimit_decode_aper; +per_type_encoder_f Vanetza_ITS2_SpeedLimit_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SpeedLimit_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SpeedValue.c b/vanetza/asn1/its/r2/SpeedValue.c new file mode 100644 index 000000000..084a9534f --- /dev/null +++ b/vanetza/asn1/its/r2/SpeedValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SpeedValue.h" + +int +Vanetza_ITS2_SpeedValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 16383L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SpeedValue_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..16383) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SpeedValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 0, 16383 } /* (0..16383) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SpeedValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SpeedValue = { + "SpeedValue", + "SpeedValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_SpeedValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SpeedValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SpeedValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SpeedValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SpeedValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SpeedValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SpeedValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SpeedValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SpeedValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SpeedValue.h b/vanetza/asn1/its/r2/SpeedValue.h new file mode 100644 index 000000000..441afd68a --- /dev/null +++ b/vanetza/asn1/its/r2/SpeedValue.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SpeedValue_H_ +#define _Vanetza_ITS2_SpeedValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_SpeedValue { + Vanetza_ITS2_SpeedValue_standstill = 0, + Vanetza_ITS2_SpeedValue_outOfRange = 16382, + Vanetza_ITS2_SpeedValue_unavailable = 16383 +} e_Vanetza_ITS2_SpeedValue; + +/* Vanetza_ITS2_SpeedValue */ +typedef long Vanetza_ITS2_SpeedValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SpeedValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SpeedValue; +asn_struct_free_f Vanetza_ITS2_SpeedValue_free; +asn_struct_print_f Vanetza_ITS2_SpeedValue_print; +asn_constr_check_f Vanetza_ITS2_SpeedValue_constraint; +ber_type_decoder_f Vanetza_ITS2_SpeedValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_SpeedValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_SpeedValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SpeedValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SpeedValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SpeedValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SpeedValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_SpeedValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_SpeedValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_SpeedValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_SpeedValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SpeedValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StabilityChangeIndication.c b/vanetza/asn1/its/r2/StabilityChangeIndication.c new file mode 100644 index 000000000..3f8d0106d --- /dev/null +++ b/vanetza/asn1/its/r2/StabilityChangeIndication.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StabilityChangeIndication.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_StabilityChangeIndication_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_StabilityChangeIndication, lossProbability), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StabilityLossProbability, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lossProbability" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_StabilityChangeIndication, actionDeltaTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DeltaTimeTenthOfSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "actionDeltaTime" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_StabilityChangeIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_StabilityChangeIndication_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lossProbability */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* actionDeltaTime */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_StabilityChangeIndication_specs_1 = { + sizeof(struct Vanetza_ITS2_StabilityChangeIndication), + offsetof(struct Vanetza_ITS2_StabilityChangeIndication, _asn_ctx), + asn_MAP_Vanetza_ITS2_StabilityChangeIndication_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StabilityChangeIndication = { + "StabilityChangeIndication", + "StabilityChangeIndication", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_StabilityChangeIndication_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StabilityChangeIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StabilityChangeIndication_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StabilityChangeIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StabilityChangeIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StabilityChangeIndication_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_StabilityChangeIndication_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_StabilityChangeIndication_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/StabilityChangeIndication.h b/vanetza/asn1/its/r2/StabilityChangeIndication.h new file mode 100644 index 000000000..844fc9b41 --- /dev/null +++ b/vanetza/asn1/its/r2/StabilityChangeIndication.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StabilityChangeIndication_H_ +#define _Vanetza_ITS2_StabilityChangeIndication_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StabilityLossProbability.h" +#include "DeltaTimeTenthOfSecond.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_StabilityChangeIndication */ +typedef struct Vanetza_ITS2_StabilityChangeIndication { + Vanetza_ITS2_StabilityLossProbability_t lossProbability; + Vanetza_ITS2_DeltaTimeTenthOfSecond_t actionDeltaTime; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_StabilityChangeIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StabilityChangeIndication; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StabilityChangeIndication_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StabilityLossProbability.c b/vanetza/asn1/its/r2/StabilityLossProbability.c new file mode 100644 index 000000000..0c9938502 --- /dev/null +++ b/vanetza/asn1/its/r2/StabilityLossProbability.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StabilityLossProbability.h" + +int +Vanetza_ITS2_StabilityLossProbability_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(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_Vanetza_ITS2_StabilityLossProbability_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_Vanetza_ITS2_StabilityLossProbability_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_Vanetza_ITS2_StabilityLossProbability_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StabilityLossProbability = { + "StabilityLossProbability", + "StabilityLossProbability", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_StabilityLossProbability_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StabilityLossProbability_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StabilityLossProbability_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StabilityLossProbability_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StabilityLossProbability_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StabilityLossProbability_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StabilityLossProbability_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StabilityLossProbability_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_StabilityLossProbability_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/StabilityLossProbability.h b/vanetza/asn1/its/r2/StabilityLossProbability.h new file mode 100644 index 000000000..44ff16551 --- /dev/null +++ b/vanetza/asn1/its/r2/StabilityLossProbability.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StabilityLossProbability_H_ +#define _Vanetza_ITS2_StabilityLossProbability_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_StabilityLossProbability { + Vanetza_ITS2_StabilityLossProbability_stable = 0, + Vanetza_ITS2_StabilityLossProbability_totalLossOfStability = 50, + Vanetza_ITS2_StabilityLossProbability_unavailable = 63 +} e_Vanetza_ITS2_StabilityLossProbability; + +/* Vanetza_ITS2_StabilityLossProbability */ +typedef long Vanetza_ITS2_StabilityLossProbability_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StabilityLossProbability_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StabilityLossProbability; +asn_struct_free_f Vanetza_ITS2_StabilityLossProbability_free; +asn_struct_print_f Vanetza_ITS2_StabilityLossProbability_print; +asn_constr_check_f Vanetza_ITS2_StabilityLossProbability_constraint; +ber_type_decoder_f Vanetza_ITS2_StabilityLossProbability_decode_ber; +der_type_encoder_f Vanetza_ITS2_StabilityLossProbability_encode_der; +xer_type_decoder_f Vanetza_ITS2_StabilityLossProbability_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StabilityLossProbability_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StabilityLossProbability_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StabilityLossProbability_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StabilityLossProbability_encode_oer; +per_type_decoder_f Vanetza_ITS2_StabilityLossProbability_decode_uper; +per_type_encoder_f Vanetza_ITS2_StabilityLossProbability_encode_uper; +per_type_decoder_f Vanetza_ITS2_StabilityLossProbability_decode_aper; +per_type_encoder_f Vanetza_ITS2_StabilityLossProbability_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StabilityLossProbability_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StandardLength12b.c b/vanetza/asn1/its/r2/StandardLength12b.c new file mode 100644 index 000000000..bf82c0a47 --- /dev/null +++ b/vanetza/asn1/its/r2/StandardLength12b.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StandardLength12b.h" + +int +Vanetza_ITS2_StandardLength12b_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 4095L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_StandardLength12b_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..4095) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StandardLength12b_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_StandardLength12b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StandardLength12b = { + "StandardLength12b", + "StandardLength12b", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_StandardLength12b_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StandardLength12b_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StandardLength12b_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StandardLength12b_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StandardLength12b_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StandardLength12b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StandardLength12b_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StandardLength12b_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_StandardLength12b_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/StandardLength12b.h b/vanetza/asn1/its/r2/StandardLength12b.h new file mode 100644 index 000000000..8af0a1c3c --- /dev/null +++ b/vanetza/asn1/its/r2/StandardLength12b.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StandardLength12b_H_ +#define _Vanetza_ITS2_StandardLength12b_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_StandardLength12b */ +typedef long Vanetza_ITS2_StandardLength12b_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StandardLength12b_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StandardLength12b; +asn_struct_free_f Vanetza_ITS2_StandardLength12b_free; +asn_struct_print_f Vanetza_ITS2_StandardLength12b_print; +asn_constr_check_f Vanetza_ITS2_StandardLength12b_constraint; +ber_type_decoder_f Vanetza_ITS2_StandardLength12b_decode_ber; +der_type_encoder_f Vanetza_ITS2_StandardLength12b_encode_der; +xer_type_decoder_f Vanetza_ITS2_StandardLength12b_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StandardLength12b_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StandardLength12b_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StandardLength12b_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StandardLength12b_encode_oer; +per_type_decoder_f Vanetza_ITS2_StandardLength12b_decode_uper; +per_type_encoder_f Vanetza_ITS2_StandardLength12b_encode_uper; +per_type_decoder_f Vanetza_ITS2_StandardLength12b_decode_aper; +per_type_encoder_f Vanetza_ITS2_StandardLength12b_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StandardLength12b_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StandardLength1B.c b/vanetza/asn1/its/r2/StandardLength1B.c new file mode 100644 index 000000000..055346dd6 --- /dev/null +++ b/vanetza/asn1/its/r2/StandardLength1B.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StandardLength1B.h" + +int +Vanetza_ITS2_StandardLength1B_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_StandardLength1B_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StandardLength1B_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_StandardLength1B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StandardLength1B = { + "StandardLength1B", + "StandardLength1B", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_StandardLength1B_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StandardLength1B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StandardLength1B_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StandardLength1B_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StandardLength1B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StandardLength1B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StandardLength1B_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StandardLength1B_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_StandardLength1B_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/StandardLength1B.h b/vanetza/asn1/its/r2/StandardLength1B.h new file mode 100644 index 000000000..7aec39d63 --- /dev/null +++ b/vanetza/asn1/its/r2/StandardLength1B.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StandardLength1B_H_ +#define _Vanetza_ITS2_StandardLength1B_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_StandardLength1B */ +typedef long Vanetza_ITS2_StandardLength1B_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StandardLength1B_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StandardLength1B; +asn_struct_free_f Vanetza_ITS2_StandardLength1B_free; +asn_struct_print_f Vanetza_ITS2_StandardLength1B_print; +asn_constr_check_f Vanetza_ITS2_StandardLength1B_constraint; +ber_type_decoder_f Vanetza_ITS2_StandardLength1B_decode_ber; +der_type_encoder_f Vanetza_ITS2_StandardLength1B_encode_der; +xer_type_decoder_f Vanetza_ITS2_StandardLength1B_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StandardLength1B_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StandardLength1B_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StandardLength1B_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StandardLength1B_encode_oer; +per_type_decoder_f Vanetza_ITS2_StandardLength1B_decode_uper; +per_type_encoder_f Vanetza_ITS2_StandardLength1B_encode_uper; +per_type_decoder_f Vanetza_ITS2_StandardLength1B_decode_aper; +per_type_encoder_f Vanetza_ITS2_StandardLength1B_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StandardLength1B_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StandardLength2B.c b/vanetza/asn1/its/r2/StandardLength2B.c new file mode 100644 index 000000000..7343ad943 --- /dev/null +++ b/vanetza/asn1/its/r2/StandardLength2B.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StandardLength2B.h" + +int +Vanetza_ITS2_StandardLength2B_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(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_Vanetza_ITS2_StandardLength2B_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_Vanetza_ITS2_StandardLength2B_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_Vanetza_ITS2_StandardLength2B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StandardLength2B = { + "StandardLength2B", + "StandardLength2B", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_StandardLength2B_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StandardLength2B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StandardLength2B_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StandardLength2B_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StandardLength2B_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StandardLength2B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StandardLength2B_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StandardLength2B_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_StandardLength2B_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/StandardLength2B.h b/vanetza/asn1/its/r2/StandardLength2B.h new file mode 100644 index 000000000..3d92e505f --- /dev/null +++ b/vanetza/asn1/its/r2/StandardLength2B.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StandardLength2B_H_ +#define _Vanetza_ITS2_StandardLength2B_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_StandardLength2B */ +typedef long Vanetza_ITS2_StandardLength2B_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StandardLength2B_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StandardLength2B; +asn_struct_free_f Vanetza_ITS2_StandardLength2B_free; +asn_struct_print_f Vanetza_ITS2_StandardLength2B_print; +asn_constr_check_f Vanetza_ITS2_StandardLength2B_constraint; +ber_type_decoder_f Vanetza_ITS2_StandardLength2B_decode_ber; +der_type_encoder_f Vanetza_ITS2_StandardLength2B_encode_der; +xer_type_decoder_f Vanetza_ITS2_StandardLength2B_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StandardLength2B_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StandardLength2B_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StandardLength2B_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StandardLength2B_encode_oer; +per_type_decoder_f Vanetza_ITS2_StandardLength2B_decode_uper; +per_type_encoder_f Vanetza_ITS2_StandardLength2B_encode_uper; +per_type_decoder_f Vanetza_ITS2_StandardLength2B_decode_aper; +per_type_encoder_f Vanetza_ITS2_StandardLength2B_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StandardLength2B_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StandardLength3b.c b/vanetza/asn1/its/r2/StandardLength3b.c new file mode 100644 index 000000000..99a80adbb --- /dev/null +++ b/vanetza/asn1/its/r2/StandardLength3b.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StandardLength3b.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_Vanetza_ITS2_StandardLength3b_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_Vanetza_ITS2_StandardLength3b_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_StandardLength3b_value2enum_1[] = { + { 0, 11, "lessThan50m" }, + { 1, 12, "lessThan100m" }, + { 2, 12, "lessThan200m" }, + { 3, 12, "lessThan500m" }, + { 4, 13, "lessThan1000m" }, + { 5, 11, "lessThan5km" }, + { 6, 12, "lessThan10km" }, + { 7, 8, "over10km" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_StandardLength3b_enum2value_1[] = { + 4, /* lessThan1000m(4) */ + 1, /* lessThan100m(1) */ + 6, /* lessThan10km(6) */ + 2, /* lessThan200m(2) */ + 3, /* lessThan500m(3) */ + 0, /* lessThan50m(0) */ + 5, /* lessThan5km(5) */ + 7 /* over10km(7) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_StandardLength3b_specs_1 = { + asn_MAP_Vanetza_ITS2_StandardLength3b_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_StandardLength3b_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_Vanetza_ITS2_StandardLength3b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StandardLength3b = { + "StandardLength3b", + "StandardLength3b", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_StandardLength3b_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StandardLength3b_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StandardLength3b_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StandardLength3b_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StandardLength3b_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StandardLength3b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StandardLength3b_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StandardLength3b_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_StandardLength3b_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/StandardLength3b.h b/vanetza/asn1/its/r2/StandardLength3b.h new file mode 100644 index 000000000..03327086e --- /dev/null +++ b/vanetza/asn1/its/r2/StandardLength3b.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StandardLength3b_H_ +#define _Vanetza_ITS2_StandardLength3b_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_StandardLength3b { + Vanetza_ITS2_StandardLength3b_lessThan50m = 0, + Vanetza_ITS2_StandardLength3b_lessThan100m = 1, + Vanetza_ITS2_StandardLength3b_lessThan200m = 2, + Vanetza_ITS2_StandardLength3b_lessThan500m = 3, + Vanetza_ITS2_StandardLength3b_lessThan1000m = 4, + Vanetza_ITS2_StandardLength3b_lessThan5km = 5, + Vanetza_ITS2_StandardLength3b_lessThan10km = 6, + Vanetza_ITS2_StandardLength3b_over10km = 7 +} e_Vanetza_ITS2_StandardLength3b; + +/* Vanetza_ITS2_StandardLength3b */ +typedef long Vanetza_ITS2_StandardLength3b_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StandardLength3b_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StandardLength3b; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_StandardLength3b_specs_1; +asn_struct_free_f Vanetza_ITS2_StandardLength3b_free; +asn_struct_print_f Vanetza_ITS2_StandardLength3b_print; +asn_constr_check_f Vanetza_ITS2_StandardLength3b_constraint; +ber_type_decoder_f Vanetza_ITS2_StandardLength3b_decode_ber; +der_type_encoder_f Vanetza_ITS2_StandardLength3b_encode_der; +xer_type_decoder_f Vanetza_ITS2_StandardLength3b_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StandardLength3b_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StandardLength3b_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StandardLength3b_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StandardLength3b_encode_oer; +per_type_decoder_f Vanetza_ITS2_StandardLength3b_decode_uper; +per_type_encoder_f Vanetza_ITS2_StandardLength3b_encode_uper; +per_type_decoder_f Vanetza_ITS2_StandardLength3b_decode_aper; +per_type_encoder_f Vanetza_ITS2_StandardLength3b_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StandardLength3b_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StandardLength9b.c b/vanetza/asn1/its/r2/StandardLength9b.c new file mode 100644 index 000000000..054309867 --- /dev/null +++ b/vanetza/asn1/its/r2/StandardLength9b.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StandardLength9b.h" + +int +Vanetza_ITS2_StandardLength9b_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 511L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_StandardLength9b_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..511) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StandardLength9b_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, 0, 511 } /* (0..511) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_StandardLength9b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StandardLength9b = { + "StandardLength9b", + "StandardLength9b", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_StandardLength9b_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StandardLength9b_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StandardLength9b_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StandardLength9b_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StandardLength9b_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StandardLength9b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StandardLength9b_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StandardLength9b_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_StandardLength9b_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/StandardLength9b.h b/vanetza/asn1/its/r2/StandardLength9b.h new file mode 100644 index 000000000..da942b590 --- /dev/null +++ b/vanetza/asn1/its/r2/StandardLength9b.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StandardLength9b_H_ +#define _Vanetza_ITS2_StandardLength9b_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_StandardLength9b */ +typedef long Vanetza_ITS2_StandardLength9b_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StandardLength9b_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StandardLength9b; +asn_struct_free_f Vanetza_ITS2_StandardLength9b_free; +asn_struct_print_f Vanetza_ITS2_StandardLength9b_print; +asn_constr_check_f Vanetza_ITS2_StandardLength9b_constraint; +ber_type_decoder_f Vanetza_ITS2_StandardLength9b_decode_ber; +der_type_encoder_f Vanetza_ITS2_StandardLength9b_encode_der; +xer_type_decoder_f Vanetza_ITS2_StandardLength9b_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StandardLength9b_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StandardLength9b_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StandardLength9b_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StandardLength9b_encode_oer; +per_type_decoder_f Vanetza_ITS2_StandardLength9b_decode_uper; +per_type_encoder_f Vanetza_ITS2_StandardLength9b_encode_uper; +per_type_decoder_f Vanetza_ITS2_StandardLength9b_decode_aper; +per_type_encoder_f Vanetza_ITS2_StandardLength9b_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StandardLength9b_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StationID.c b/vanetza/asn1/its/r2/StationID.c new file mode 100644 index 000000000..7b34576ec --- /dev/null +++ b/vanetza/asn1/its/r2/StationID.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StationID.h" + +int +Vanetza_ITS2_StationID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_StationID_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..4294967295) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StationID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_StationID_specs_1 = { + 0, 0, 0, 0, 0, + 0, /* Native long size */ + 1 /* Unsigned representation */ +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_StationID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationID = { + "StationID", + "StationID", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_StationID_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StationID_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationID_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StationID_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StationID_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StationID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StationID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_StationID_constraint + }, + 0, 0, /* No members */ + &asn_SPC_Vanetza_ITS2_StationID_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/StationID.h b/vanetza/asn1/its/r2/StationID.h new file mode 100644 index 000000000..76c5ffc06 --- /dev/null +++ b/vanetza/asn1/its/r2/StationID.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StationID_H_ +#define _Vanetza_ITS2_StationID_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_StationID */ +typedef unsigned long Vanetza_ITS2_StationID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StationID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationID; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_StationID_specs_1; +asn_struct_free_f Vanetza_ITS2_StationID_free; +asn_struct_print_f Vanetza_ITS2_StationID_print; +asn_constr_check_f Vanetza_ITS2_StationID_constraint; +ber_type_decoder_f Vanetza_ITS2_StationID_decode_ber; +der_type_encoder_f Vanetza_ITS2_StationID_encode_der; +xer_type_decoder_f Vanetza_ITS2_StationID_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StationID_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StationID_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StationID_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StationID_encode_oer; +per_type_decoder_f Vanetza_ITS2_StationID_decode_uper; +per_type_encoder_f Vanetza_ITS2_StationID_encode_uper; +per_type_decoder_f Vanetza_ITS2_StationID_decode_aper; +per_type_encoder_f Vanetza_ITS2_StationID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StationID_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StationId.c b/vanetza/asn1/its/r2/StationId.c new file mode 100644 index 000000000..594797b86 --- /dev/null +++ b/vanetza/asn1/its/r2/StationId.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StationId.h" + +int +Vanetza_ITS2_StationId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_StationId_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..4294967295) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StationId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_StationId_specs_1 = { + 0, 0, 0, 0, 0, + 0, /* Native long size */ + 1 /* Unsigned representation */ +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_StationId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationId = { + "StationId", + "StationId", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_StationId_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StationId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationId_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StationId_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StationId_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StationId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StationId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_StationId_constraint + }, + 0, 0, /* No members */ + &asn_SPC_Vanetza_ITS2_StationId_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/StationId.h b/vanetza/asn1/its/r2/StationId.h new file mode 100644 index 000000000..c3ed843fd --- /dev/null +++ b/vanetza/asn1/its/r2/StationId.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StationId_H_ +#define _Vanetza_ITS2_StationId_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_StationId */ +typedef unsigned long Vanetza_ITS2_StationId_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StationId_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationId; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_StationId_specs_1; +asn_struct_free_f Vanetza_ITS2_StationId_free; +asn_struct_print_f Vanetza_ITS2_StationId_print; +asn_constr_check_f Vanetza_ITS2_StationId_constraint; +ber_type_decoder_f Vanetza_ITS2_StationId_decode_ber; +der_type_encoder_f Vanetza_ITS2_StationId_encode_der; +xer_type_decoder_f Vanetza_ITS2_StationId_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StationId_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StationId_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StationId_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StationId_encode_oer; +per_type_decoder_f Vanetza_ITS2_StationId_decode_uper; +per_type_encoder_f Vanetza_ITS2_StationId_encode_uper; +per_type_decoder_f Vanetza_ITS2_StationId_decode_aper; +per_type_encoder_f Vanetza_ITS2_StationId_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StationId_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StationType.c b/vanetza/asn1/its/r2/StationType.c new file mode 100644 index 000000000..214bc52f6 --- /dev/null +++ b/vanetza/asn1/its/r2/StationType.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StationType.h" + +int +Vanetza_ITS2_StationType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_StationType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StationType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_StationType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationType = { + "StationType", + "StationType", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_StationType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StationType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StationType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StationType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StationType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StationType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_StationType_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/StationType.h b/vanetza/asn1/its/r2/StationType.h new file mode 100644 index 000000000..b595e5d47 --- /dev/null +++ b/vanetza/asn1/its/r2/StationType.h @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StationType_H_ +#define _Vanetza_ITS2_StationType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_StationType { + Vanetza_ITS2_StationType_unknown = 0, + Vanetza_ITS2_StationType_pedestrian = 1, + Vanetza_ITS2_StationType_cyclist = 2, + Vanetza_ITS2_StationType_moped = 3, + Vanetza_ITS2_StationType_motorcycle = 4, + Vanetza_ITS2_StationType_passengerCar = 5, + Vanetza_ITS2_StationType_bus = 6, + Vanetza_ITS2_StationType_lightTruck = 7, + Vanetza_ITS2_StationType_heavyTruck = 8, + Vanetza_ITS2_StationType_trailer = 9, + Vanetza_ITS2_StationType_specialVehicle = 10, + Vanetza_ITS2_StationType_tram = 11, + Vanetza_ITS2_StationType_lightVruVehicle = 12, + Vanetza_ITS2_StationType_animal = 13, + Vanetza_ITS2_StationType_roadSideUnit = 15 +} e_Vanetza_ITS2_StationType; + +/* Vanetza_ITS2_StationType */ +typedef long Vanetza_ITS2_StationType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StationType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationType; +asn_struct_free_f Vanetza_ITS2_StationType_free; +asn_struct_print_f Vanetza_ITS2_StationType_print; +asn_constr_check_f Vanetza_ITS2_StationType_constraint; +ber_type_decoder_f Vanetza_ITS2_StationType_decode_ber; +der_type_encoder_f Vanetza_ITS2_StationType_encode_der; +xer_type_decoder_f Vanetza_ITS2_StationType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StationType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StationType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StationType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StationType_encode_oer; +per_type_decoder_f Vanetza_ITS2_StationType_decode_uper; +per_type_encoder_f Vanetza_ITS2_StationType_encode_uper; +per_type_decoder_f Vanetza_ITS2_StationType_decode_aper; +per_type_encoder_f Vanetza_ITS2_StationType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StationType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StationarySince.c b/vanetza/asn1/its/r2/StationarySince.c new file mode 100644 index 000000000..28cff402c --- /dev/null +++ b/vanetza/asn1/its/r2/StationarySince.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StationarySince.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_Vanetza_ITS2_StationarySince_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_Vanetza_ITS2_StationarySince_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_StationarySince_value2enum_1[] = { + { 0, 15, "lessThan1Minute" }, + { 1, 16, "lessThan2Minutes" }, + { 2, 17, "lessThan15Minutes" }, + { 3, 23, "equalOrGreater15Minutes" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_StationarySince_enum2value_1[] = { + 3, /* equalOrGreater15Minutes(3) */ + 2, /* lessThan15Minutes(2) */ + 0, /* lessThan1Minute(0) */ + 1 /* lessThan2Minutes(1) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_StationarySince_specs_1 = { + asn_MAP_Vanetza_ITS2_StationarySince_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_StationarySince_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_StationarySince_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationarySince = { + "StationarySince", + "StationarySince", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_StationarySince_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StationarySince_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationarySince_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StationarySince_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StationarySince_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationarySince_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StationarySince_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StationarySince_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_StationarySince_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/StationarySince.h b/vanetza/asn1/its/r2/StationarySince.h new file mode 100644 index 000000000..cf94c262a --- /dev/null +++ b/vanetza/asn1/its/r2/StationarySince.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StationarySince_H_ +#define _Vanetza_ITS2_StationarySince_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_StationarySince { + Vanetza_ITS2_StationarySince_lessThan1Minute = 0, + Vanetza_ITS2_StationarySince_lessThan2Minutes = 1, + Vanetza_ITS2_StationarySince_lessThan15Minutes = 2, + Vanetza_ITS2_StationarySince_equalOrGreater15Minutes = 3 +} e_Vanetza_ITS2_StationarySince; + +/* Vanetza_ITS2_StationarySince */ +typedef long Vanetza_ITS2_StationarySince_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StationarySince_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationarySince; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_StationarySince_specs_1; +asn_struct_free_f Vanetza_ITS2_StationarySince_free; +asn_struct_print_f Vanetza_ITS2_StationarySince_print; +asn_constr_check_f Vanetza_ITS2_StationarySince_constraint; +ber_type_decoder_f Vanetza_ITS2_StationarySince_decode_ber; +der_type_encoder_f Vanetza_ITS2_StationarySince_encode_der; +xer_type_decoder_f Vanetza_ITS2_StationarySince_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StationarySince_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StationarySince_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StationarySince_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StationarySince_encode_oer; +per_type_decoder_f Vanetza_ITS2_StationarySince_decode_uper; +per_type_encoder_f Vanetza_ITS2_StationarySince_encode_uper; +per_type_decoder_f Vanetza_ITS2_StationarySince_decode_aper; +per_type_encoder_f Vanetza_ITS2_StationarySince_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StationarySince_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StationaryVehicleContainer.c b/vanetza/asn1/its/r2/StationaryVehicleContainer.c new file mode 100644 index 000000000..0cb08ae4d --- /dev/null +++ b/vanetza/asn1/its/r2/StationaryVehicleContainer.c @@ -0,0 +1,179 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StationaryVehicleContainer.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_StationaryVehicleContainer_1[] = { + { ATF_POINTER, 6, offsetof(struct Vanetza_ITS2_StationaryVehicleContainer, stationarySince), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StationarySince, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stationarySince" + }, + { ATF_POINTER, 5, offsetof(struct Vanetza_ITS2_StationaryVehicleContainer, stationaryCause), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CauseCodeV2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stationaryCause" + }, + { ATF_POINTER, 4, offsetof(struct Vanetza_ITS2_StationaryVehicleContainer, carryingDangerousGoods), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_DangerousGoodsExtended, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "carryingDangerousGoods" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_StationaryVehicleContainer, numberOfOccupants), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_NumberOfOccupants, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "numberOfOccupants" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_StationaryVehicleContainer, vehicleIdentification), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VehicleIdentification, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleIdentification" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_StationaryVehicleContainer, energyStorageType), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_EnergyStorageType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "energyStorageType" + }, +}; +static const int asn_MAP_Vanetza_ITS2_StationaryVehicleContainer_oms_1[] = { 0, 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_StationaryVehicleContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_StationaryVehicleContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* stationarySince */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* stationaryCause */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* carryingDangerousGoods */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* numberOfOccupants */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* vehicleIdentification */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* energyStorageType */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_StationaryVehicleContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_StationaryVehicleContainer), + offsetof(struct Vanetza_ITS2_StationaryVehicleContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_StationaryVehicleContainer_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_StationaryVehicleContainer_oms_1, /* Optional members */ + 6, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationaryVehicleContainer = { + "StationaryVehicleContainer", + "StationaryVehicleContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_StationaryVehicleContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StationaryVehicleContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationaryVehicleContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StationaryVehicleContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StationaryVehicleContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationaryVehicleContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_StationaryVehicleContainer_1, + 6, /* Elements count */ + &asn_SPC_Vanetza_ITS2_StationaryVehicleContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/StationaryVehicleContainer.h b/vanetza/asn1/its/r2/StationaryVehicleContainer.h new file mode 100644 index 000000000..ef3ae74d4 --- /dev/null +++ b/vanetza/asn1/its/r2/StationaryVehicleContainer.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StationaryVehicleContainer_H_ +#define _Vanetza_ITS2_StationaryVehicleContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StationarySince.h" +#include "NumberOfOccupants.h" +#include "EnergyStorageType.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_CauseCodeV2; +struct Vanetza_ITS2_DangerousGoodsExtended; +struct Vanetza_ITS2_VehicleIdentification; + +/* Vanetza_ITS2_StationaryVehicleContainer */ +typedef struct Vanetza_ITS2_StationaryVehicleContainer { + Vanetza_ITS2_StationarySince_t *stationarySince; /* OPTIONAL */ + struct Vanetza_ITS2_CauseCodeV2 *stationaryCause; /* OPTIONAL */ + struct Vanetza_ITS2_DangerousGoodsExtended *carryingDangerousGoods; /* OPTIONAL */ + Vanetza_ITS2_NumberOfOccupants_t *numberOfOccupants; /* OPTIONAL */ + struct Vanetza_ITS2_VehicleIdentification *vehicleIdentification; /* OPTIONAL */ + Vanetza_ITS2_EnergyStorageType_t *energyStorageType; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_StationaryVehicleContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationaryVehicleContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_StationaryVehicleContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_StationaryVehicleContainer_1[6]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CauseCodeV2.h" +#include "DangerousGoodsExtended.h" +#include "VehicleIdentification.h" + +#endif /* _Vanetza_ITS2_StationaryVehicleContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StationaryVehicleSubCauseCode.c b/vanetza/asn1/its/r2/StationaryVehicleSubCauseCode.c new file mode 100644 index 000000000..74bca1edd --- /dev/null +++ b/vanetza/asn1/its/r2/StationaryVehicleSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StationaryVehicleSubCauseCode.h" + +int +Vanetza_ITS2_StationaryVehicleSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_StationaryVehicleSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StationaryVehicleSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_StationaryVehicleSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationaryVehicleSubCauseCode = { + "StationaryVehicleSubCauseCode", + "StationaryVehicleSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_StationaryVehicleSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StationaryVehicleSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationaryVehicleSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StationaryVehicleSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StationaryVehicleSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StationaryVehicleSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StationaryVehicleSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StationaryVehicleSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_StationaryVehicleSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/StationaryVehicleSubCauseCode.h b/vanetza/asn1/its/r2/StationaryVehicleSubCauseCode.h new file mode 100644 index 000000000..3a04229c1 --- /dev/null +++ b/vanetza/asn1/its/r2/StationaryVehicleSubCauseCode.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StationaryVehicleSubCauseCode_H_ +#define _Vanetza_ITS2_StationaryVehicleSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_StationaryVehicleSubCauseCode { + Vanetza_ITS2_StationaryVehicleSubCauseCode_unavailable = 0, + Vanetza_ITS2_StationaryVehicleSubCauseCode_humanProblem = 1, + Vanetza_ITS2_StationaryVehicleSubCauseCode_vehicleBreakdown = 2, + Vanetza_ITS2_StationaryVehicleSubCauseCode_postCrash = 3, + Vanetza_ITS2_StationaryVehicleSubCauseCode_publicTransportStop = 4, + Vanetza_ITS2_StationaryVehicleSubCauseCode_carryingDangerousGoods = 5, + Vanetza_ITS2_StationaryVehicleSubCauseCode_vehicleOnFire = 6 +} e_Vanetza_ITS2_StationaryVehicleSubCauseCode; + +/* Vanetza_ITS2_StationaryVehicleSubCauseCode */ +typedef long Vanetza_ITS2_StationaryVehicleSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StationaryVehicleSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StationaryVehicleSubCauseCode; +asn_struct_free_f Vanetza_ITS2_StationaryVehicleSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_StationaryVehicleSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_StationaryVehicleSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_StationaryVehicleSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_StationaryVehicleSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_StationaryVehicleSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StationaryVehicleSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StationaryVehicleSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StationaryVehicleSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StationaryVehicleSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_StationaryVehicleSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_StationaryVehicleSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_StationaryVehicleSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_StationaryVehicleSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StationaryVehicleSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SteeringWheelAngle.c b/vanetza/asn1/its/r2/SteeringWheelAngle.c new file mode 100644 index 000000000..a864c7b4a --- /dev/null +++ b/vanetza/asn1/its/r2/SteeringWheelAngle.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SteeringWheelAngle.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SteeringWheelAngle_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SteeringWheelAngle, steeringWheelAngleValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SteeringWheelAngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "steeringWheelAngleValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_SteeringWheelAngle, steeringWheelAngleConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SteeringWheelAngleConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "steeringWheelAngleConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SteeringWheelAngle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_SteeringWheelAngle_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* steeringWheelAngleValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* steeringWheelAngleConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SteeringWheelAngle_specs_1 = { + sizeof(struct Vanetza_ITS2_SteeringWheelAngle), + offsetof(struct Vanetza_ITS2_SteeringWheelAngle, _asn_ctx), + asn_MAP_Vanetza_ITS2_SteeringWheelAngle_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_Vanetza_ITS2_SteeringWheelAngle = { + "SteeringWheelAngle", + "SteeringWheelAngle", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_SteeringWheelAngle_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngle_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngle_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SteeringWheelAngle_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngle_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_SteeringWheelAngle_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_SteeringWheelAngle_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/SteeringWheelAngle.h b/vanetza/asn1/its/r2/SteeringWheelAngle.h new file mode 100644 index 000000000..ce4f846ad --- /dev/null +++ b/vanetza/asn1/its/r2/SteeringWheelAngle.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SteeringWheelAngle_H_ +#define _Vanetza_ITS2_SteeringWheelAngle_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "SteeringWheelAngleValue.h" +#include "SteeringWheelAngleConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_SteeringWheelAngle */ +typedef struct Vanetza_ITS2_SteeringWheelAngle { + Vanetza_ITS2_SteeringWheelAngleValue_t steeringWheelAngleValue; + Vanetza_ITS2_SteeringWheelAngleConfidence_t steeringWheelAngleConfidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_SteeringWheelAngle_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SteeringWheelAngle; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_SteeringWheelAngle_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_SteeringWheelAngle_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SteeringWheelAngle_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SteeringWheelAngleConfidence.c b/vanetza/asn1/its/r2/SteeringWheelAngleConfidence.c new file mode 100644 index 000000000..28939d89e --- /dev/null +++ b/vanetza/asn1/its/r2/SteeringWheelAngleConfidence.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SteeringWheelAngleConfidence.h" + +int +Vanetza_ITS2_SteeringWheelAngleConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SteeringWheelAngleConfidence_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SteeringWheelAngleConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 127 } /* (1..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SteeringWheelAngleConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SteeringWheelAngleConfidence = { + "SteeringWheelAngleConfidence", + "SteeringWheelAngleConfidence", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_SteeringWheelAngleConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngleConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngleConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SteeringWheelAngleConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngleConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngleConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SteeringWheelAngleConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SteeringWheelAngleConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SteeringWheelAngleConfidence_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SteeringWheelAngleConfidence.h b/vanetza/asn1/its/r2/SteeringWheelAngleConfidence.h new file mode 100644 index 000000000..ec3b935a8 --- /dev/null +++ b/vanetza/asn1/its/r2/SteeringWheelAngleConfidence.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SteeringWheelAngleConfidence_H_ +#define _Vanetza_ITS2_SteeringWheelAngleConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_SteeringWheelAngleConfidence { + Vanetza_ITS2_SteeringWheelAngleConfidence_outOfRange = 126, + Vanetza_ITS2_SteeringWheelAngleConfidence_unavailable = 127 +} e_Vanetza_ITS2_SteeringWheelAngleConfidence; + +/* Vanetza_ITS2_SteeringWheelAngleConfidence */ +typedef long Vanetza_ITS2_SteeringWheelAngleConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SteeringWheelAngleConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SteeringWheelAngleConfidence; +asn_struct_free_f Vanetza_ITS2_SteeringWheelAngleConfidence_free; +asn_struct_print_f Vanetza_ITS2_SteeringWheelAngleConfidence_print; +asn_constr_check_f Vanetza_ITS2_SteeringWheelAngleConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_SteeringWheelAngleConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_SteeringWheelAngleConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_SteeringWheelAngleConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SteeringWheelAngleConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SteeringWheelAngleConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SteeringWheelAngleConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SteeringWheelAngleConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_SteeringWheelAngleConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_SteeringWheelAngleConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_SteeringWheelAngleConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_SteeringWheelAngleConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SteeringWheelAngleConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SteeringWheelAngleValue.c b/vanetza/asn1/its/r2/SteeringWheelAngleValue.c new file mode 100644 index 000000000..072647652 --- /dev/null +++ b/vanetza/asn1/its/r2/SteeringWheelAngleValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SteeringWheelAngleValue.h" + +int +Vanetza_ITS2_SteeringWheelAngleValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -511L && value <= 512L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SteeringWheelAngleValue_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-511..512) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SteeringWheelAngleValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, -511, 512 } /* (-511..512) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SteeringWheelAngleValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SteeringWheelAngleValue = { + "SteeringWheelAngleValue", + "SteeringWheelAngleValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_SteeringWheelAngleValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngleValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngleValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SteeringWheelAngleValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngleValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SteeringWheelAngleValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SteeringWheelAngleValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SteeringWheelAngleValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SteeringWheelAngleValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SteeringWheelAngleValue.h b/vanetza/asn1/its/r2/SteeringWheelAngleValue.h new file mode 100644 index 000000000..188242622 --- /dev/null +++ b/vanetza/asn1/its/r2/SteeringWheelAngleValue.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SteeringWheelAngleValue_H_ +#define _Vanetza_ITS2_SteeringWheelAngleValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_SteeringWheelAngleValue { + Vanetza_ITS2_SteeringWheelAngleValue_negativeOutOfRange = -511, + Vanetza_ITS2_SteeringWheelAngleValue_positiveOutOfRange = 511, + Vanetza_ITS2_SteeringWheelAngleValue_unavailable = 512 +} e_Vanetza_ITS2_SteeringWheelAngleValue; + +/* Vanetza_ITS2_SteeringWheelAngleValue */ +typedef long Vanetza_ITS2_SteeringWheelAngleValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SteeringWheelAngleValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SteeringWheelAngleValue; +asn_struct_free_f Vanetza_ITS2_SteeringWheelAngleValue_free; +asn_struct_print_f Vanetza_ITS2_SteeringWheelAngleValue_print; +asn_constr_check_f Vanetza_ITS2_SteeringWheelAngleValue_constraint; +ber_type_decoder_f Vanetza_ITS2_SteeringWheelAngleValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_SteeringWheelAngleValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_SteeringWheelAngleValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SteeringWheelAngleValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SteeringWheelAngleValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SteeringWheelAngleValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SteeringWheelAngleValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_SteeringWheelAngleValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_SteeringWheelAngleValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_SteeringWheelAngleValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_SteeringWheelAngleValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SteeringWheelAngleValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/StoredInformationType.c b/vanetza/asn1/its/r2/StoredInformationType.c new file mode 100644 index 000000000..331f8b8d5 --- /dev/null +++ b/vanetza/asn1/its/r2/StoredInformationType.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "StoredInformationType.h" + +int +Vanetza_ITS2_StoredInformationType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_StoredInformationType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StoredInformationType_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 8, 8 } /* (SIZE(8..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_StoredInformationType_constr_1 CC_NOTUSED = { + -1}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_StoredInformationType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StoredInformationType = { + "StoredInformationType", + "StoredInformationType", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_StoredInformationType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_StoredInformationType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StoredInformationType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_StoredInformationType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_StoredInformationType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_StoredInformationType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_StoredInformationType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_StoredInformationType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_StoredInformationType_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_StoredInformationType_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/StoredInformationType.h b/vanetza/asn1/its/r2/StoredInformationType.h new file mode 100644 index 000000000..b9c6b363b --- /dev/null +++ b/vanetza/asn1/its/r2/StoredInformationType.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_StoredInformationType_H_ +#define _Vanetza_ITS2_StoredInformationType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_StoredInformationType { + Vanetza_ITS2_StoredInformationType_undefined = 0, + Vanetza_ITS2_StoredInformationType_staticDb = 1, + Vanetza_ITS2_StoredInformationType_dynamicDb = 2, + Vanetza_ITS2_StoredInformationType_realTimeDb = 3, + Vanetza_ITS2_StoredInformationType_map = 4 +} e_Vanetza_ITS2_StoredInformationType; + +/* Vanetza_ITS2_StoredInformationType */ +typedef BIT_STRING_t Vanetza_ITS2_StoredInformationType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_StoredInformationType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_StoredInformationType; +asn_struct_free_f Vanetza_ITS2_StoredInformationType_free; +asn_struct_print_f Vanetza_ITS2_StoredInformationType_print; +asn_constr_check_f Vanetza_ITS2_StoredInformationType_constraint; +ber_type_decoder_f Vanetza_ITS2_StoredInformationType_decode_ber; +der_type_encoder_f Vanetza_ITS2_StoredInformationType_encode_der; +xer_type_decoder_f Vanetza_ITS2_StoredInformationType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_StoredInformationType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_StoredInformationType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_StoredInformationType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_StoredInformationType_encode_oer; +per_type_decoder_f Vanetza_ITS2_StoredInformationType_decode_uper; +per_type_encoder_f Vanetza_ITS2_StoredInformationType_encode_uper; +per_type_decoder_f Vanetza_ITS2_StoredInformationType_decode_aper; +per_type_encoder_f Vanetza_ITS2_StoredInformationType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_StoredInformationType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/SubCauseCodeType.c b/vanetza/asn1/its/r2/SubCauseCodeType.c new file mode 100644 index 000000000..09ea7c286 --- /dev/null +++ b/vanetza/asn1/its/r2/SubCauseCodeType.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "SubCauseCodeType.h" + +int +Vanetza_ITS2_SubCauseCodeType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_SubCauseCodeType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SubCauseCodeType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_SubCauseCodeType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SubCauseCodeType = { + "SubCauseCodeType", + "SubCauseCodeType", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_SubCauseCodeType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_SubCauseCodeType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SubCauseCodeType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_SubCauseCodeType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_SubCauseCodeType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_SubCauseCodeType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_SubCauseCodeType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_SubCauseCodeType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_SubCauseCodeType_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/SubCauseCodeType.h b/vanetza/asn1/its/r2/SubCauseCodeType.h new file mode 100644 index 000000000..074b66cb2 --- /dev/null +++ b/vanetza/asn1/its/r2/SubCauseCodeType.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_SubCauseCodeType_H_ +#define _Vanetza_ITS2_SubCauseCodeType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_SubCauseCodeType */ +typedef long Vanetza_ITS2_SubCauseCodeType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_SubCauseCodeType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_SubCauseCodeType; +asn_struct_free_f Vanetza_ITS2_SubCauseCodeType_free; +asn_struct_print_f Vanetza_ITS2_SubCauseCodeType_print; +asn_constr_check_f Vanetza_ITS2_SubCauseCodeType_constraint; +ber_type_decoder_f Vanetza_ITS2_SubCauseCodeType_decode_ber; +der_type_encoder_f Vanetza_ITS2_SubCauseCodeType_encode_der; +xer_type_decoder_f Vanetza_ITS2_SubCauseCodeType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_SubCauseCodeType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_SubCauseCodeType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_SubCauseCodeType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_SubCauseCodeType_encode_oer; +per_type_decoder_f Vanetza_ITS2_SubCauseCodeType_decode_uper; +per_type_encoder_f Vanetza_ITS2_SubCauseCodeType_encode_uper; +per_type_decoder_f Vanetza_ITS2_SubCauseCodeType_decode_aper; +per_type_encoder_f Vanetza_ITS2_SubCauseCodeType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_SubCauseCodeType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Temperature.c b/vanetza/asn1/its/r2/Temperature.c new file mode 100644 index 000000000..658384eec --- /dev/null +++ b/vanetza/asn1/its/r2/Temperature.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Temperature.h" + +int +Vanetza_ITS2_Temperature_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -60L && value <= 67L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Temperature_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-60..67) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Temperature_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, -60, 67 } /* (-60..67) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Temperature_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Temperature = { + "Temperature", + "Temperature", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_Temperature_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Temperature_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Temperature_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Temperature_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Temperature_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Temperature_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Temperature_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Temperature_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_Temperature_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/Temperature.h b/vanetza/asn1/its/r2/Temperature.h new file mode 100644 index 000000000..510f31bce --- /dev/null +++ b/vanetza/asn1/its/r2/Temperature.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Temperature_H_ +#define _Vanetza_ITS2_Temperature_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Temperature { + Vanetza_ITS2_Temperature_equalOrSmallerThanMinus60Deg = -60, + Vanetza_ITS2_Temperature_equalOrGreaterThan67Deg = 67 +} e_Vanetza_ITS2_Temperature; + +/* Vanetza_ITS2_Temperature */ +typedef long Vanetza_ITS2_Temperature_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Temperature_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Temperature; +asn_struct_free_f Vanetza_ITS2_Temperature_free; +asn_struct_print_f Vanetza_ITS2_Temperature_print; +asn_constr_check_f Vanetza_ITS2_Temperature_constraint; +ber_type_decoder_f Vanetza_ITS2_Temperature_decode_ber; +der_type_encoder_f Vanetza_ITS2_Temperature_encode_der; +xer_type_decoder_f Vanetza_ITS2_Temperature_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Temperature_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Temperature_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Temperature_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Temperature_encode_oer; +per_type_decoder_f Vanetza_ITS2_Temperature_decode_uper; +per_type_encoder_f Vanetza_ITS2_Temperature_encode_uper; +per_type_decoder_f Vanetza_ITS2_Temperature_decode_aper; +per_type_encoder_f Vanetza_ITS2_Temperature_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Temperature_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Termination.c b/vanetza/asn1/its/r2/Termination.c new file mode 100644 index 000000000..6871bda03 --- /dev/null +++ b/vanetza/asn1/its/r2/Termination.c @@ -0,0 +1,71 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Termination.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_Vanetza_ITS2_Termination_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_Vanetza_ITS2_Termination_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_Termination_value2enum_1[] = { + { 0, 14, "isCancellation" }, + { 1, 10, "isNegation" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_Termination_enum2value_1[] = { + 0, /* isCancellation(0) */ + 1 /* isNegation(1) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_Termination_specs_1 = { + asn_MAP_Vanetza_ITS2_Termination_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_Termination_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Termination_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Termination = { + "Termination", + "Termination", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_Termination_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Termination_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Termination_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Termination_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Termination_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Termination_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Termination_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Termination_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_Termination_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Termination.h b/vanetza/asn1/its/r2/Termination.h new file mode 100644 index 000000000..e9f27c9b3 --- /dev/null +++ b/vanetza/asn1/its/r2/Termination.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DENM-PDU-Description" + * found in "asn1/release2/TS103831v221-DENM.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Termination_H_ +#define _Vanetza_ITS2_Termination_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Termination { + Vanetza_ITS2_Termination_isCancellation = 0, + Vanetza_ITS2_Termination_isNegation = 1 +} e_Vanetza_ITS2_Termination; + +/* Vanetza_ITS2_Termination */ +typedef long Vanetza_ITS2_Termination_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Termination_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Termination; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_Termination_specs_1; +asn_struct_free_f Vanetza_ITS2_Termination_free; +asn_struct_print_f Vanetza_ITS2_Termination_print; +asn_constr_check_f Vanetza_ITS2_Termination_constraint; +ber_type_decoder_f Vanetza_ITS2_Termination_decode_ber; +der_type_encoder_f Vanetza_ITS2_Termination_encode_der; +xer_type_decoder_f Vanetza_ITS2_Termination_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Termination_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Termination_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Termination_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Termination_encode_oer; +per_type_decoder_f Vanetza_ITS2_Termination_decode_uper; +per_type_encoder_f Vanetza_ITS2_Termination_encode_uper; +per_type_decoder_f Vanetza_ITS2_Termination_decode_aper; +per_type_encoder_f Vanetza_ITS2_Termination_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Termination_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TimestampIts.c b/vanetza/asn1/its/r2/TimestampIts.c new file mode 100644 index 000000000..03bc77a32 --- /dev/null +++ b/vanetza/asn1/its/r2/TimestampIts.c @@ -0,0 +1,85 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TimestampIts.h" + +int +Vanetza_ITS2_TimestampIts_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(asn_INTEGER2long(st, &value)) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value too large (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if((value >= 0L && value <= 4398046511103L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using INTEGER, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_TimestampIts_constr_1 CC_NOTUSED = { + { 8, 1 } /* (0..4398046511103) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TimestampIts_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 42, -1, 0, 4398046511103 } /* (0..4398046511103) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TimestampIts_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TimestampIts = { + "TimestampIts", + "TimestampIts", + &asn_OP_INTEGER, + asn_DEF_Vanetza_ITS2_TimestampIts_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TimestampIts_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TimestampIts_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TimestampIts_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TimestampIts_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TimestampIts_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TimestampIts_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TimestampIts_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_TimestampIts_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/TimestampIts.h b/vanetza/asn1/its/r2/TimestampIts.h new file mode 100644 index 000000000..23f806143 --- /dev/null +++ b/vanetza/asn1/its/r2/TimestampIts.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TimestampIts_H_ +#define _Vanetza_ITS2_TimestampIts_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "INTEGER.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_TimestampIts */ +typedef INTEGER_t Vanetza_ITS2_TimestampIts_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TimestampIts_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TimestampIts; +asn_struct_free_f Vanetza_ITS2_TimestampIts_free; +asn_struct_print_f Vanetza_ITS2_TimestampIts_print; +asn_constr_check_f Vanetza_ITS2_TimestampIts_constraint; +ber_type_decoder_f Vanetza_ITS2_TimestampIts_decode_ber; +der_type_encoder_f Vanetza_ITS2_TimestampIts_encode_der; +xer_type_decoder_f Vanetza_ITS2_TimestampIts_decode_xer; +xer_type_encoder_f Vanetza_ITS2_TimestampIts_encode_xer; +jer_type_encoder_f Vanetza_ITS2_TimestampIts_encode_jer; +oer_type_decoder_f Vanetza_ITS2_TimestampIts_decode_oer; +oer_type_encoder_f Vanetza_ITS2_TimestampIts_encode_oer; +per_type_decoder_f Vanetza_ITS2_TimestampIts_decode_uper; +per_type_encoder_f Vanetza_ITS2_TimestampIts_encode_uper; +per_type_decoder_f Vanetza_ITS2_TimestampIts_decode_aper; +per_type_encoder_f Vanetza_ITS2_TimestampIts_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TimestampIts_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Traces.c b/vanetza/asn1/its/r2/Traces.c new file mode 100644 index 000000000..ee0a00b7d --- /dev/null +++ b/vanetza/asn1/its/r2/Traces.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Traces.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Traces_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..7)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Traces_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 7 } /* (SIZE(1..7)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Traces_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_Path, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Traces_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_Traces_specs_1 = { + sizeof(struct Vanetza_ITS2_Traces), + offsetof(struct Vanetza_ITS2_Traces, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Traces = { + "Traces", + "Traces", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_Traces_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Traces_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Traces_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Traces_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Traces_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Traces_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Traces_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Traces_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_Traces_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_Traces_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Traces.h b/vanetza/asn1/its/r2/Traces.h new file mode 100644 index 000000000..f3e62790f --- /dev/null +++ b/vanetza/asn1/its/r2/Traces.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Traces_H_ +#define _Vanetza_ITS2_Traces_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 Vanetza_ITS2_Path; + +/* Vanetza_ITS2_Traces */ +typedef struct Vanetza_ITS2_Traces { + A_SEQUENCE_OF(struct Vanetza_ITS2_Path) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Traces_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Traces; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_Traces_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Traces_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Traces_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "Path.h" + +#endif /* _Vanetza_ITS2_Traces_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TracesExtended.c b/vanetza/asn1/its/r2/TracesExtended.c new file mode 100644 index 000000000..3e224dbef --- /dev/null +++ b/vanetza/asn1/its/r2/TracesExtended.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TracesExtended.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_TracesExtended_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..7)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TracesExtended_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 7 } /* (SIZE(1..7)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_TracesExtended_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_PathExtended, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TracesExtended_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_TracesExtended_specs_1 = { + sizeof(struct Vanetza_ITS2_TracesExtended), + offsetof(struct Vanetza_ITS2_TracesExtended, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TracesExtended = { + "TracesExtended", + "TracesExtended", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_TracesExtended_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TracesExtended_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TracesExtended_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TracesExtended_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TracesExtended_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TracesExtended_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TracesExtended_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TracesExtended_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_TracesExtended_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_TracesExtended_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/TracesExtended.h b/vanetza/asn1/its/r2/TracesExtended.h new file mode 100644 index 000000000..64a2eda6a --- /dev/null +++ b/vanetza/asn1/its/r2/TracesExtended.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TracesExtended_H_ +#define _Vanetza_ITS2_TracesExtended_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 Vanetza_ITS2_PathExtended; + +/* Vanetza_ITS2_TracesExtended */ +typedef struct Vanetza_ITS2_TracesExtended { + A_SEQUENCE_OF(struct Vanetza_ITS2_PathExtended) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_TracesExtended_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TracesExtended; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_TracesExtended_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_TracesExtended_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TracesExtended_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "PathExtended.h" + +#endif /* _Vanetza_ITS2_TracesExtended_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TrafficConditionSubCauseCode.c b/vanetza/asn1/its/r2/TrafficConditionSubCauseCode.c new file mode 100644 index 000000000..02804901d --- /dev/null +++ b/vanetza/asn1/its/r2/TrafficConditionSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TrafficConditionSubCauseCode.h" + +int +Vanetza_ITS2_TrafficConditionSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_TrafficConditionSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrafficConditionSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TrafficConditionSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrafficConditionSubCauseCode = { + "TrafficConditionSubCauseCode", + "TrafficConditionSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_TrafficConditionSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TrafficConditionSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrafficConditionSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TrafficConditionSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TrafficConditionSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrafficConditionSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TrafficConditionSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TrafficConditionSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_TrafficConditionSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/TrafficConditionSubCauseCode.h b/vanetza/asn1/its/r2/TrafficConditionSubCauseCode.h new file mode 100644 index 000000000..89d154104 --- /dev/null +++ b/vanetza/asn1/its/r2/TrafficConditionSubCauseCode.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TrafficConditionSubCauseCode_H_ +#define _Vanetza_ITS2_TrafficConditionSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_TrafficConditionSubCauseCode { + Vanetza_ITS2_TrafficConditionSubCauseCode_unavailable = 0, + Vanetza_ITS2_TrafficConditionSubCauseCode_increasedVolumeOfTraffic = 1, + Vanetza_ITS2_TrafficConditionSubCauseCode_trafficJamSlowlyIncreasing = 2, + Vanetza_ITS2_TrafficConditionSubCauseCode_trafficJamIncreasing = 3, + Vanetza_ITS2_TrafficConditionSubCauseCode_trafficJamStronglyIncreasing = 4, + Vanetza_ITS2_TrafficConditionSubCauseCode_trafficJam = 5, + Vanetza_ITS2_TrafficConditionSubCauseCode_trafficJamSlightlyDecreasing = 6, + Vanetza_ITS2_TrafficConditionSubCauseCode_trafficJamDecreasing = 7, + Vanetza_ITS2_TrafficConditionSubCauseCode_trafficJamStronglyDecreasing = 8, + Vanetza_ITS2_TrafficConditionSubCauseCode_trafficJamStable = 9 +} e_Vanetza_ITS2_TrafficConditionSubCauseCode; + +/* Vanetza_ITS2_TrafficConditionSubCauseCode */ +typedef long Vanetza_ITS2_TrafficConditionSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrafficConditionSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrafficConditionSubCauseCode; +asn_struct_free_f Vanetza_ITS2_TrafficConditionSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_TrafficConditionSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_TrafficConditionSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_TrafficConditionSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_TrafficConditionSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_TrafficConditionSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_TrafficConditionSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_TrafficConditionSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_TrafficConditionSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_TrafficConditionSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_TrafficConditionSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_TrafficConditionSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_TrafficConditionSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_TrafficConditionSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TrafficConditionSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TrafficDirection.c b/vanetza/asn1/its/r2/TrafficDirection.c new file mode 100644 index 000000000..6f85fd599 --- /dev/null +++ b/vanetza/asn1/its/r2/TrafficDirection.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TrafficDirection.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_Vanetza_ITS2_TrafficDirection_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_Vanetza_ITS2_TrafficDirection_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_TrafficDirection_value2enum_1[] = { + { 0, 20, "allTrafficDirections" }, + { 1, 52, "sameAsReferenceDirection-upstreamOfReferencePosition" }, + { 2, 54, "sameAsReferenceDirection-downstreamOfReferencePosition" }, + { 3, 28, "oppositeToReferenceDirection" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_TrafficDirection_enum2value_1[] = { + 0, /* allTrafficDirections(0) */ + 3, /* oppositeToReferenceDirection(3) */ + 2, /* sameAsReferenceDirection-downstreamOfReferencePosition(2) */ + 1 /* sameAsReferenceDirection-upstreamOfReferencePosition(1) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_TrafficDirection_specs_1 = { + asn_MAP_Vanetza_ITS2_TrafficDirection_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_TrafficDirection_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TrafficDirection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrafficDirection = { + "TrafficDirection", + "TrafficDirection", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_TrafficDirection_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TrafficDirection_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrafficDirection_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TrafficDirection_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TrafficDirection_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrafficDirection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TrafficDirection_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TrafficDirection_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_TrafficDirection_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/TrafficDirection.h b/vanetza/asn1/its/r2/TrafficDirection.h new file mode 100644 index 000000000..e4284bd9b --- /dev/null +++ b/vanetza/asn1/its/r2/TrafficDirection.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TrafficDirection_H_ +#define _Vanetza_ITS2_TrafficDirection_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_TrafficDirection { + Vanetza_ITS2_TrafficDirection_allTrafficDirections = 0, + Vanetza_ITS2_TrafficDirection_sameAsReferenceDirection_upstreamOfReferencePosition = 1, + Vanetza_ITS2_TrafficDirection_sameAsReferenceDirection_downstreamOfReferencePosition = 2, + Vanetza_ITS2_TrafficDirection_oppositeToReferenceDirection = 3 +} e_Vanetza_ITS2_TrafficDirection; + +/* Vanetza_ITS2_TrafficDirection */ +typedef long Vanetza_ITS2_TrafficDirection_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrafficDirection_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrafficDirection; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_TrafficDirection_specs_1; +asn_struct_free_f Vanetza_ITS2_TrafficDirection_free; +asn_struct_print_f Vanetza_ITS2_TrafficDirection_print; +asn_constr_check_f Vanetza_ITS2_TrafficDirection_constraint; +ber_type_decoder_f Vanetza_ITS2_TrafficDirection_decode_ber; +der_type_encoder_f Vanetza_ITS2_TrafficDirection_encode_der; +xer_type_decoder_f Vanetza_ITS2_TrafficDirection_decode_xer; +xer_type_encoder_f Vanetza_ITS2_TrafficDirection_encode_xer; +jer_type_encoder_f Vanetza_ITS2_TrafficDirection_encode_jer; +oer_type_decoder_f Vanetza_ITS2_TrafficDirection_decode_oer; +oer_type_encoder_f Vanetza_ITS2_TrafficDirection_encode_oer; +per_type_decoder_f Vanetza_ITS2_TrafficDirection_decode_uper; +per_type_encoder_f Vanetza_ITS2_TrafficDirection_encode_uper; +per_type_decoder_f Vanetza_ITS2_TrafficDirection_decode_aper; +per_type_encoder_f Vanetza_ITS2_TrafficDirection_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TrafficDirection_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TrafficIslandPosition.c b/vanetza/asn1/its/r2/TrafficIslandPosition.c new file mode 100644 index 000000000..b5418357a --- /dev/null +++ b/vanetza/asn1/its/r2/TrafficIslandPosition.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TrafficIslandPosition.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_TrafficIslandPosition_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_TrafficIslandPosition, oneSide), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePositionAndType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "oneSide" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_TrafficIslandPosition, otherSide), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_LanePositionAndType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "otherSide" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TrafficIslandPosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_TrafficIslandPosition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* oneSide */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* otherSide */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_TrafficIslandPosition_specs_1 = { + sizeof(struct Vanetza_ITS2_TrafficIslandPosition), + offsetof(struct Vanetza_ITS2_TrafficIslandPosition, _asn_ctx), + asn_MAP_Vanetza_ITS2_TrafficIslandPosition_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrafficIslandPosition = { + "TrafficIslandPosition", + "TrafficIslandPosition", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_TrafficIslandPosition_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TrafficIslandPosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrafficIslandPosition_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TrafficIslandPosition_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TrafficIslandPosition_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrafficIslandPosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_TrafficIslandPosition_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_TrafficIslandPosition_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/TrafficIslandPosition.h b/vanetza/asn1/its/r2/TrafficIslandPosition.h new file mode 100644 index 000000000..9b7ca60be --- /dev/null +++ b/vanetza/asn1/its/r2/TrafficIslandPosition.h @@ -0,0 +1,45 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TrafficIslandPosition_H_ +#define _Vanetza_ITS2_TrafficIslandPosition_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "LanePositionAndType.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_TrafficIslandPosition */ +typedef struct Vanetza_ITS2_TrafficIslandPosition { + Vanetza_ITS2_LanePositionAndType_t oneSide; + Vanetza_ITS2_LanePositionAndType_t otherSide; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_TrafficIslandPosition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrafficIslandPosition; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_TrafficIslandPosition_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_TrafficIslandPosition_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TrafficIslandPosition_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TrafficParticipantType.c b/vanetza/asn1/its/r2/TrafficParticipantType.c new file mode 100644 index 000000000..19936d626 --- /dev/null +++ b/vanetza/asn1/its/r2/TrafficParticipantType.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TrafficParticipantType.h" + +int +Vanetza_ITS2_TrafficParticipantType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_TrafficParticipantType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrafficParticipantType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TrafficParticipantType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrafficParticipantType = { + "TrafficParticipantType", + "TrafficParticipantType", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_TrafficParticipantType_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TrafficParticipantType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrafficParticipantType_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TrafficParticipantType_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TrafficParticipantType_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrafficParticipantType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TrafficParticipantType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TrafficParticipantType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_TrafficParticipantType_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/TrafficParticipantType.h b/vanetza/asn1/its/r2/TrafficParticipantType.h new file mode 100644 index 000000000..093fab9b2 --- /dev/null +++ b/vanetza/asn1/its/r2/TrafficParticipantType.h @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TrafficParticipantType_H_ +#define _Vanetza_ITS2_TrafficParticipantType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_TrafficParticipantType { + Vanetza_ITS2_TrafficParticipantType_unknown = 0, + Vanetza_ITS2_TrafficParticipantType_pedestrian = 1, + Vanetza_ITS2_TrafficParticipantType_cyclist = 2, + Vanetza_ITS2_TrafficParticipantType_moped = 3, + Vanetza_ITS2_TrafficParticipantType_motorcycle = 4, + Vanetza_ITS2_TrafficParticipantType_passengerCar = 5, + Vanetza_ITS2_TrafficParticipantType_bus = 6, + Vanetza_ITS2_TrafficParticipantType_lightTruck = 7, + Vanetza_ITS2_TrafficParticipantType_heavyTruck = 8, + Vanetza_ITS2_TrafficParticipantType_trailer = 9, + Vanetza_ITS2_TrafficParticipantType_specialVehicle = 10, + Vanetza_ITS2_TrafficParticipantType_tram = 11, + Vanetza_ITS2_TrafficParticipantType_lightVruVehicle = 12, + Vanetza_ITS2_TrafficParticipantType_animal = 13, + Vanetza_ITS2_TrafficParticipantType_agricultural = 14, + Vanetza_ITS2_TrafficParticipantType_roadSideUnit = 15 +} e_Vanetza_ITS2_TrafficParticipantType; + +/* Vanetza_ITS2_TrafficParticipantType */ +typedef long Vanetza_ITS2_TrafficParticipantType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrafficParticipantType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrafficParticipantType; +asn_struct_free_f Vanetza_ITS2_TrafficParticipantType_free; +asn_struct_print_f Vanetza_ITS2_TrafficParticipantType_print; +asn_constr_check_f Vanetza_ITS2_TrafficParticipantType_constraint; +ber_type_decoder_f Vanetza_ITS2_TrafficParticipantType_decode_ber; +der_type_encoder_f Vanetza_ITS2_TrafficParticipantType_encode_der; +xer_type_decoder_f Vanetza_ITS2_TrafficParticipantType_decode_xer; +xer_type_encoder_f Vanetza_ITS2_TrafficParticipantType_encode_xer; +jer_type_encoder_f Vanetza_ITS2_TrafficParticipantType_encode_jer; +oer_type_decoder_f Vanetza_ITS2_TrafficParticipantType_decode_oer; +oer_type_encoder_f Vanetza_ITS2_TrafficParticipantType_encode_oer; +per_type_decoder_f Vanetza_ITS2_TrafficParticipantType_decode_uper; +per_type_encoder_f Vanetza_ITS2_TrafficParticipantType_encode_uper; +per_type_decoder_f Vanetza_ITS2_TrafficParticipantType_decode_aper; +per_type_encoder_f Vanetza_ITS2_TrafficParticipantType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TrafficParticipantType_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TrafficRule.c b/vanetza/asn1/its/r2/TrafficRule.c new file mode 100644 index 000000000..912cc5e84 --- /dev/null +++ b/vanetza/asn1/its/r2/TrafficRule.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TrafficRule.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_Vanetza_ITS2_TrafficRule_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_Vanetza_ITS2_TrafficRule_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_TrafficRule_value2enum_1[] = { + { 0, 9, "noPassing" }, + { 1, 18, "noPassingForTrucks" }, + { 2, 11, "passToRight" }, + { 3, 10, "passToLeft" }, + { 4, 17, "passToLeftOrRight" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Vanetza_ITS2_TrafficRule_enum2value_1[] = { + 0, /* noPassing(0) */ + 1, /* noPassingForTrucks(1) */ + 3, /* passToLeft(3) */ + 4, /* passToLeftOrRight(4) */ + 2 /* passToRight(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_TrafficRule_specs_1 = { + asn_MAP_Vanetza_ITS2_TrafficRule_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_TrafficRule_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TrafficRule_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrafficRule = { + "TrafficRule", + "TrafficRule", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_TrafficRule_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TrafficRule_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrafficRule_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TrafficRule_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TrafficRule_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrafficRule_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TrafficRule_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TrafficRule_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_TrafficRule_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/TrafficRule.h b/vanetza/asn1/its/r2/TrafficRule.h new file mode 100644 index 000000000..2b413e1a1 --- /dev/null +++ b/vanetza/asn1/its/r2/TrafficRule.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TrafficRule_H_ +#define _Vanetza_ITS2_TrafficRule_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_TrafficRule { + Vanetza_ITS2_TrafficRule_noPassing = 0, + Vanetza_ITS2_TrafficRule_noPassingForTrucks = 1, + Vanetza_ITS2_TrafficRule_passToRight = 2, + Vanetza_ITS2_TrafficRule_passToLeft = 3, + /* + * Enumeration is extensible + */ + Vanetza_ITS2_TrafficRule_passToLeftOrRight = 4 +} e_Vanetza_ITS2_TrafficRule; + +/* Vanetza_ITS2_TrafficRule */ +typedef long Vanetza_ITS2_TrafficRule_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrafficRule_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrafficRule; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_TrafficRule_specs_1; +asn_struct_free_f Vanetza_ITS2_TrafficRule_free; +asn_struct_print_f Vanetza_ITS2_TrafficRule_print; +asn_constr_check_f Vanetza_ITS2_TrafficRule_constraint; +ber_type_decoder_f Vanetza_ITS2_TrafficRule_decode_ber; +der_type_encoder_f Vanetza_ITS2_TrafficRule_encode_der; +xer_type_decoder_f Vanetza_ITS2_TrafficRule_decode_xer; +xer_type_encoder_f Vanetza_ITS2_TrafficRule_encode_xer; +jer_type_encoder_f Vanetza_ITS2_TrafficRule_encode_jer; +oer_type_decoder_f Vanetza_ITS2_TrafficRule_decode_oer; +oer_type_encoder_f Vanetza_ITS2_TrafficRule_encode_oer; +per_type_decoder_f Vanetza_ITS2_TrafficRule_decode_uper; +per_type_encoder_f Vanetza_ITS2_TrafficRule_encode_uper; +per_type_decoder_f Vanetza_ITS2_TrafficRule_decode_aper; +per_type_encoder_f Vanetza_ITS2_TrafficRule_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TrafficRule_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TrailerData.c b/vanetza/asn1/its/r2/TrailerData.c new file mode 100644 index 000000000..7b7ae3622 --- /dev/null +++ b/vanetza/asn1/its/r2/TrailerData.c @@ -0,0 +1,179 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TrailerData.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_TrailerData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_TrailerData, refPointId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "refPointId" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_TrailerData, hitchPointOffset), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hitchPointOffset" + }, + { ATF_POINTER, 3, offsetof(struct Vanetza_ITS2_TrailerData, frontOverhang), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "frontOverhang" + }, + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_TrailerData, rearOverhang), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StandardLength1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rearOverhang" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_TrailerData, trailerWidth), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VehicleWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailerWidth" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_TrailerData, hitchAngle), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hitchAngle" + }, +}; +static const int asn_MAP_Vanetza_ITS2_TrailerData_oms_1[] = { 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TrailerData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_TrailerData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* refPointId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* hitchPointOffset */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* frontOverhang */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* rearOverhang */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* trailerWidth */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* hitchAngle */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_TrailerData_specs_1 = { + sizeof(struct Vanetza_ITS2_TrailerData), + offsetof(struct Vanetza_ITS2_TrailerData, _asn_ctx), + asn_MAP_Vanetza_ITS2_TrailerData_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_TrailerData_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrailerData = { + "TrailerData", + "TrailerData", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_TrailerData_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TrailerData_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrailerData_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TrailerData_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TrailerData_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrailerData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_TrailerData_1, + 6, /* Elements count */ + &asn_SPC_Vanetza_ITS2_TrailerData_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/TrailerData.h b/vanetza/asn1/its/r2/TrailerData.h new file mode 100644 index 000000000..9dc7f63a3 --- /dev/null +++ b/vanetza/asn1/its/r2/TrailerData.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TrailerData_H_ +#define _Vanetza_ITS2_TrailerData_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier1B.h" +#include "StandardLength1B.h" +#include "VehicleWidth.h" +#include "CartesianAngle.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_TrailerData */ +typedef struct Vanetza_ITS2_TrailerData { + Vanetza_ITS2_Identifier1B_t refPointId; + Vanetza_ITS2_StandardLength1B_t hitchPointOffset; + Vanetza_ITS2_StandardLength1B_t *frontOverhang; /* OPTIONAL */ + Vanetza_ITS2_StandardLength1B_t *rearOverhang; /* OPTIONAL */ + Vanetza_ITS2_VehicleWidth_t *trailerWidth; /* OPTIONAL */ + Vanetza_ITS2_CartesianAngle_t hitchAngle; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_TrailerData_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrailerData; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_TrailerData_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_TrailerData_1[6]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TrailerData_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TrailerDataSet.c b/vanetza/asn1/its/r2/TrailerDataSet.c new file mode 100644 index 000000000..dc723d437 --- /dev/null +++ b/vanetza/asn1/its/r2/TrailerDataSet.c @@ -0,0 +1,109 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-OriginatingStationContainers" + * found in "asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TrailerDataSet.h" + +static int +memb_Vanetza_ITS2_TrailerData_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_Vanetza_ITS2_Member_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_Member_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_TrailerDataSet_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrailerDataSet_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_TrailerDataSet_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_TrailerData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_Member_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_Member_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_TrailerData_constraint_1 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TrailerDataSet_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_TrailerDataSet_specs_1 = { + sizeof(struct Vanetza_ITS2_TrailerDataSet), + offsetof(struct Vanetza_ITS2_TrailerDataSet, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrailerDataSet = { + "TrailerDataSet", + "TrailerDataSet", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_TrailerDataSet_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TrailerDataSet_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrailerDataSet_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TrailerDataSet_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TrailerDataSet_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrailerDataSet_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TrailerDataSet_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TrailerDataSet_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_TrailerDataSet_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_TrailerDataSet_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/TrailerDataSet.h b/vanetza/asn1/its/r2/TrailerDataSet.h new file mode 100644 index 000000000..f9936a53a --- /dev/null +++ b/vanetza/asn1/its/r2/TrailerDataSet.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-OriginatingStationContainers" + * found in "asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TrailerDataSet_H_ +#define _Vanetza_ITS2_TrailerDataSet_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 Vanetza_ITS2_TrailerData; + +/* Vanetza_ITS2_TrailerDataSet */ +typedef struct Vanetza_ITS2_TrailerDataSet { + A_SEQUENCE_OF(struct Vanetza_ITS2_TrailerData) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_TrailerDataSet_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrailerDataSet; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_TrailerDataSet_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_TrailerDataSet_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrailerDataSet_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "TrailerData.h" + +#endif /* _Vanetza_ITS2_TrailerDataSet_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TrailerPresenceInformation.c b/vanetza/asn1/its/r2/TrailerPresenceInformation.c new file mode 100644 index 000000000..9894fa7a5 --- /dev/null +++ b/vanetza/asn1/its/r2/TrailerPresenceInformation.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TrailerPresenceInformation.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_Vanetza_ITS2_TrailerPresenceInformation_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_Vanetza_ITS2_TrailerPresenceInformation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_TrailerPresenceInformation_value2enum_1[] = { + { 0, 16, "noTrailerPresent" }, + { 1, 29, "trailerPresentWithKnownLength" }, + { 2, 31, "trailerPresentWithUnknownLength" }, + { 3, 24, "trailerPresenceIsUnknown" }, + { 4, 11, "unavailable" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_TrailerPresenceInformation_enum2value_1[] = { + 0, /* noTrailerPresent(0) */ + 3, /* trailerPresenceIsUnknown(3) */ + 1, /* trailerPresentWithKnownLength(1) */ + 2, /* trailerPresentWithUnknownLength(2) */ + 4 /* unavailable(4) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_TrailerPresenceInformation_specs_1 = { + asn_MAP_Vanetza_ITS2_TrailerPresenceInformation_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_TrailerPresenceInformation_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* 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_Vanetza_ITS2_TrailerPresenceInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrailerPresenceInformation = { + "TrailerPresenceInformation", + "TrailerPresenceInformation", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_TrailerPresenceInformation_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TrailerPresenceInformation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrailerPresenceInformation_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TrailerPresenceInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TrailerPresenceInformation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrailerPresenceInformation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TrailerPresenceInformation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TrailerPresenceInformation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_TrailerPresenceInformation_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/TrailerPresenceInformation.h b/vanetza/asn1/its/r2/TrailerPresenceInformation.h new file mode 100644 index 000000000..5c1866ba1 --- /dev/null +++ b/vanetza/asn1/its/r2/TrailerPresenceInformation.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TrailerPresenceInformation_H_ +#define _Vanetza_ITS2_TrailerPresenceInformation_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_TrailerPresenceInformation { + Vanetza_ITS2_TrailerPresenceInformation_noTrailerPresent = 0, + Vanetza_ITS2_TrailerPresenceInformation_trailerPresentWithKnownLength = 1, + Vanetza_ITS2_TrailerPresenceInformation_trailerPresentWithUnknownLength = 2, + Vanetza_ITS2_TrailerPresenceInformation_trailerPresenceIsUnknown = 3, + Vanetza_ITS2_TrailerPresenceInformation_unavailable = 4 +} e_Vanetza_ITS2_TrailerPresenceInformation; + +/* Vanetza_ITS2_TrailerPresenceInformation */ +typedef long Vanetza_ITS2_TrailerPresenceInformation_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrailerPresenceInformation_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrailerPresenceInformation; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_TrailerPresenceInformation_specs_1; +asn_struct_free_f Vanetza_ITS2_TrailerPresenceInformation_free; +asn_struct_print_f Vanetza_ITS2_TrailerPresenceInformation_print; +asn_constr_check_f Vanetza_ITS2_TrailerPresenceInformation_constraint; +ber_type_decoder_f Vanetza_ITS2_TrailerPresenceInformation_decode_ber; +der_type_encoder_f Vanetza_ITS2_TrailerPresenceInformation_encode_der; +xer_type_decoder_f Vanetza_ITS2_TrailerPresenceInformation_decode_xer; +xer_type_encoder_f Vanetza_ITS2_TrailerPresenceInformation_encode_xer; +jer_type_encoder_f Vanetza_ITS2_TrailerPresenceInformation_encode_jer; +oer_type_decoder_f Vanetza_ITS2_TrailerPresenceInformation_decode_oer; +oer_type_encoder_f Vanetza_ITS2_TrailerPresenceInformation_encode_oer; +per_type_decoder_f Vanetza_ITS2_TrailerPresenceInformation_decode_uper; +per_type_encoder_f Vanetza_ITS2_TrailerPresenceInformation_encode_uper; +per_type_decoder_f Vanetza_ITS2_TrailerPresenceInformation_decode_aper; +per_type_encoder_f Vanetza_ITS2_TrailerPresenceInformation_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TrailerPresenceInformation_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TrajectoryInterceptionConfidence.c b/vanetza/asn1/its/r2/TrajectoryInterceptionConfidence.c new file mode 100644 index 000000000..d795cd14e --- /dev/null +++ b/vanetza/asn1/its/r2/TrajectoryInterceptionConfidence.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TrajectoryInterceptionConfidence.h" + +int +Vanetza_ITS2_TrajectoryInterceptionConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 3L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_TrajectoryInterceptionConfidence_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..3) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrajectoryInterceptionConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TrajectoryInterceptionConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrajectoryInterceptionConfidence = { + "TrajectoryInterceptionConfidence", + "TrajectoryInterceptionConfidence", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_TrajectoryInterceptionConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TrajectoryInterceptionConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TrajectoryInterceptionConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TrajectoryInterceptionConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_TrajectoryInterceptionConfidence_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/TrajectoryInterceptionConfidence.h b/vanetza/asn1/its/r2/TrajectoryInterceptionConfidence.h new file mode 100644 index 000000000..88bb994e2 --- /dev/null +++ b/vanetza/asn1/its/r2/TrajectoryInterceptionConfidence.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TrajectoryInterceptionConfidence_H_ +#define _Vanetza_ITS2_TrajectoryInterceptionConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_TrajectoryInterceptionConfidence { + Vanetza_ITS2_TrajectoryInterceptionConfidence_lessthan50percent = 0, + Vanetza_ITS2_TrajectoryInterceptionConfidence_between50and70Percent = 1, + Vanetza_ITS2_TrajectoryInterceptionConfidence_between70and90Percent = 2, + Vanetza_ITS2_TrajectoryInterceptionConfidence_above90Percent = 3 +} e_Vanetza_ITS2_TrajectoryInterceptionConfidence; + +/* Vanetza_ITS2_TrajectoryInterceptionConfidence */ +typedef long Vanetza_ITS2_TrajectoryInterceptionConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrajectoryInterceptionConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrajectoryInterceptionConfidence; +asn_struct_free_f Vanetza_ITS2_TrajectoryInterceptionConfidence_free; +asn_struct_print_f Vanetza_ITS2_TrajectoryInterceptionConfidence_print; +asn_constr_check_f Vanetza_ITS2_TrajectoryInterceptionConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_TrajectoryInterceptionConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_TrajectoryInterceptionConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_TrajectoryInterceptionConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_TrajectoryInterceptionConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_TrajectoryInterceptionConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TrajectoryInterceptionConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TrajectoryInterceptionIndication.c b/vanetza/asn1/its/r2/TrajectoryInterceptionIndication.c new file mode 100644 index 000000000..3c3e6af64 --- /dev/null +++ b/vanetza/asn1/its/r2/TrajectoryInterceptionIndication.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TrajectoryInterceptionIndication.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_TrajectoryInterceptionIndication_1[] = { + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_TrajectoryInterceptionIndication, subjectStation), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_StationId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "subjectStation" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_TrajectoryInterceptionIndication, trajectoryInterceptionProbability), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TrajectoryInterceptionProbability, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trajectoryInterceptionProbability" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_TrajectoryInterceptionIndication, trajectoryInterceptionConfidence), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TrajectoryInterceptionConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trajectoryInterceptionConfidence" + }, +}; +static const int asn_MAP_Vanetza_ITS2_TrajectoryInterceptionIndication_oms_1[] = { 0, 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TrajectoryInterceptionIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_TrajectoryInterceptionIndication_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* subjectStation */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* trajectoryInterceptionProbability */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* trajectoryInterceptionConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_TrajectoryInterceptionIndication_specs_1 = { + sizeof(struct Vanetza_ITS2_TrajectoryInterceptionIndication), + offsetof(struct Vanetza_ITS2_TrajectoryInterceptionIndication, _asn_ctx), + asn_MAP_Vanetza_ITS2_TrajectoryInterceptionIndication_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_TrajectoryInterceptionIndication_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrajectoryInterceptionIndication = { + "TrajectoryInterceptionIndication", + "TrajectoryInterceptionIndication", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_TrajectoryInterceptionIndication_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionIndication_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TrajectoryInterceptionIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionIndication_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_TrajectoryInterceptionIndication_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_TrajectoryInterceptionIndication_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/TrajectoryInterceptionIndication.h b/vanetza/asn1/its/r2/TrajectoryInterceptionIndication.h new file mode 100644 index 000000000..c1fa327e7 --- /dev/null +++ b/vanetza/asn1/its/r2/TrajectoryInterceptionIndication.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TrajectoryInterceptionIndication_H_ +#define _Vanetza_ITS2_TrajectoryInterceptionIndication_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "StationId.h" +#include "TrajectoryInterceptionProbability.h" +#include "TrajectoryInterceptionConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_TrajectoryInterceptionIndication */ +typedef struct Vanetza_ITS2_TrajectoryInterceptionIndication { + Vanetza_ITS2_StationId_t *subjectStation; /* OPTIONAL */ + Vanetza_ITS2_TrajectoryInterceptionProbability_t trajectoryInterceptionProbability; + Vanetza_ITS2_TrajectoryInterceptionConfidence_t *trajectoryInterceptionConfidence; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_TrajectoryInterceptionIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrajectoryInterceptionIndication; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_TrajectoryInterceptionIndication_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_TrajectoryInterceptionIndication_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TrajectoryInterceptionIndication_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TrajectoryInterceptionProbability.c b/vanetza/asn1/its/r2/TrajectoryInterceptionProbability.c new file mode 100644 index 000000000..a4d48cd96 --- /dev/null +++ b/vanetza/asn1/its/r2/TrajectoryInterceptionProbability.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TrajectoryInterceptionProbability.h" + +int +Vanetza_ITS2_TrajectoryInterceptionProbability_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(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_Vanetza_ITS2_TrajectoryInterceptionProbability_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_Vanetza_ITS2_TrajectoryInterceptionProbability_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_Vanetza_ITS2_TrajectoryInterceptionProbability_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrajectoryInterceptionProbability = { + "TrajectoryInterceptionProbability", + "TrajectoryInterceptionProbability", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_TrajectoryInterceptionProbability_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionProbability_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionProbability_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TrajectoryInterceptionProbability_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionProbability_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TrajectoryInterceptionProbability_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TrajectoryInterceptionProbability_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TrajectoryInterceptionProbability_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_TrajectoryInterceptionProbability_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/TrajectoryInterceptionProbability.h b/vanetza/asn1/its/r2/TrajectoryInterceptionProbability.h new file mode 100644 index 000000000..6c9f83937 --- /dev/null +++ b/vanetza/asn1/its/r2/TrajectoryInterceptionProbability.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TrajectoryInterceptionProbability_H_ +#define _Vanetza_ITS2_TrajectoryInterceptionProbability_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_TrajectoryInterceptionProbability { + Vanetza_ITS2_TrajectoryInterceptionProbability_unavailable = 63 +} e_Vanetza_ITS2_TrajectoryInterceptionProbability; + +/* Vanetza_ITS2_TrajectoryInterceptionProbability */ +typedef long Vanetza_ITS2_TrajectoryInterceptionProbability_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TrajectoryInterceptionProbability_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TrajectoryInterceptionProbability; +asn_struct_free_f Vanetza_ITS2_TrajectoryInterceptionProbability_free; +asn_struct_print_f Vanetza_ITS2_TrajectoryInterceptionProbability_print; +asn_constr_check_f Vanetza_ITS2_TrajectoryInterceptionProbability_constraint; +ber_type_decoder_f Vanetza_ITS2_TrajectoryInterceptionProbability_decode_ber; +der_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionProbability_encode_der; +xer_type_decoder_f Vanetza_ITS2_TrajectoryInterceptionProbability_decode_xer; +xer_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionProbability_encode_xer; +jer_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionProbability_encode_jer; +oer_type_decoder_f Vanetza_ITS2_TrajectoryInterceptionProbability_decode_oer; +oer_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionProbability_encode_oer; +per_type_decoder_f Vanetza_ITS2_TrajectoryInterceptionProbability_decode_uper; +per_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionProbability_encode_uper; +per_type_decoder_f Vanetza_ITS2_TrajectoryInterceptionProbability_decode_aper; +per_type_encoder_f Vanetza_ITS2_TrajectoryInterceptionProbability_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TrajectoryInterceptionProbability_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TransmissionInterval.c b/vanetza/asn1/its/r2/TransmissionInterval.c new file mode 100644 index 000000000..af0f81be7 --- /dev/null +++ b/vanetza/asn1/its/r2/TransmissionInterval.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TransmissionInterval.h" + +int +Vanetza_ITS2_TransmissionInterval_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 10000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_TransmissionInterval_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..10000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TransmissionInterval_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 1, 10000 } /* (1..10000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TransmissionInterval_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TransmissionInterval = { + "TransmissionInterval", + "TransmissionInterval", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_TransmissionInterval_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TransmissionInterval_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TransmissionInterval_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TransmissionInterval_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TransmissionInterval_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TransmissionInterval_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TransmissionInterval_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TransmissionInterval_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_TransmissionInterval_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/TransmissionInterval.h b/vanetza/asn1/its/r2/TransmissionInterval.h new file mode 100644 index 000000000..5da69a9e6 --- /dev/null +++ b/vanetza/asn1/its/r2/TransmissionInterval.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TransmissionInterval_H_ +#define _Vanetza_ITS2_TransmissionInterval_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_TransmissionInterval */ +typedef long Vanetza_ITS2_TransmissionInterval_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TransmissionInterval; +asn_struct_free_f Vanetza_ITS2_TransmissionInterval_free; +asn_struct_print_f Vanetza_ITS2_TransmissionInterval_print; +asn_constr_check_f Vanetza_ITS2_TransmissionInterval_constraint; +ber_type_decoder_f Vanetza_ITS2_TransmissionInterval_decode_ber; +der_type_encoder_f Vanetza_ITS2_TransmissionInterval_encode_der; +xer_type_decoder_f Vanetza_ITS2_TransmissionInterval_decode_xer; +xer_type_encoder_f Vanetza_ITS2_TransmissionInterval_encode_xer; +jer_type_encoder_f Vanetza_ITS2_TransmissionInterval_encode_jer; +oer_type_decoder_f Vanetza_ITS2_TransmissionInterval_decode_oer; +oer_type_encoder_f Vanetza_ITS2_TransmissionInterval_encode_oer; +per_type_decoder_f Vanetza_ITS2_TransmissionInterval_decode_uper; +per_type_encoder_f Vanetza_ITS2_TransmissionInterval_encode_uper; +per_type_decoder_f Vanetza_ITS2_TransmissionInterval_decode_aper; +per_type_encoder_f Vanetza_ITS2_TransmissionInterval_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TransmissionInterval_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TurningDirection.c b/vanetza/asn1/its/r2/TurningDirection.c new file mode 100644 index 000000000..f356ccce6 --- /dev/null +++ b/vanetza/asn1/its/r2/TurningDirection.c @@ -0,0 +1,71 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TurningDirection.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_Vanetza_ITS2_TurningDirection_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_Vanetza_ITS2_TurningDirection_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_TurningDirection_value2enum_1[] = { + { 0, 4, "left" }, + { 1, 5, "right" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_TurningDirection_enum2value_1[] = { + 0, /* left(0) */ + 1 /* right(1) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_TurningDirection_specs_1 = { + asn_MAP_Vanetza_ITS2_TurningDirection_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_TurningDirection_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TurningDirection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TurningDirection = { + "TurningDirection", + "TurningDirection", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_TurningDirection_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TurningDirection_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TurningDirection_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TurningDirection_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TurningDirection_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TurningDirection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TurningDirection_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TurningDirection_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_TurningDirection_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/TurningDirection.h b/vanetza/asn1/its/r2/TurningDirection.h new file mode 100644 index 000000000..570c44461 --- /dev/null +++ b/vanetza/asn1/its/r2/TurningDirection.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TurningDirection_H_ +#define _Vanetza_ITS2_TurningDirection_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_TurningDirection { + Vanetza_ITS2_TurningDirection_left = 0, + Vanetza_ITS2_TurningDirection_right = 1 +} e_Vanetza_ITS2_TurningDirection; + +/* Vanetza_ITS2_TurningDirection */ +typedef long Vanetza_ITS2_TurningDirection_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TurningDirection_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TurningDirection; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_TurningDirection_specs_1; +asn_struct_free_f Vanetza_ITS2_TurningDirection_free; +asn_struct_print_f Vanetza_ITS2_TurningDirection_print; +asn_constr_check_f Vanetza_ITS2_TurningDirection_constraint; +ber_type_decoder_f Vanetza_ITS2_TurningDirection_decode_ber; +der_type_encoder_f Vanetza_ITS2_TurningDirection_encode_der; +xer_type_decoder_f Vanetza_ITS2_TurningDirection_decode_xer; +xer_type_encoder_f Vanetza_ITS2_TurningDirection_encode_xer; +jer_type_encoder_f Vanetza_ITS2_TurningDirection_encode_jer; +oer_type_decoder_f Vanetza_ITS2_TurningDirection_decode_oer; +oer_type_encoder_f Vanetza_ITS2_TurningDirection_encode_oer; +per_type_decoder_f Vanetza_ITS2_TurningDirection_decode_uper; +per_type_encoder_f Vanetza_ITS2_TurningDirection_encode_uper; +per_type_decoder_f Vanetza_ITS2_TurningDirection_decode_aper; +per_type_encoder_f Vanetza_ITS2_TurningDirection_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TurningDirection_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/TurningRadius.c b/vanetza/asn1/its/r2/TurningRadius.c new file mode 100644 index 000000000..5ad145356 --- /dev/null +++ b/vanetza/asn1/its/r2/TurningRadius.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "TurningRadius.h" + +int +Vanetza_ITS2_TurningRadius_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_TurningRadius_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TurningRadius_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TurningRadius_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TurningRadius = { + "TurningRadius", + "TurningRadius", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_TurningRadius_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_TurningRadius_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TurningRadius_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_TurningRadius_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_TurningRadius_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_TurningRadius_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_TurningRadius_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_TurningRadius_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_TurningRadius_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/TurningRadius.h b/vanetza/asn1/its/r2/TurningRadius.h new file mode 100644 index 000000000..e6c4e30b4 --- /dev/null +++ b/vanetza/asn1/its/r2/TurningRadius.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_TurningRadius_H_ +#define _Vanetza_ITS2_TurningRadius_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_TurningRadius { + Vanetza_ITS2_TurningRadius_outOfRange = 254, + Vanetza_ITS2_TurningRadius_unavailable = 255 +} e_Vanetza_ITS2_TurningRadius; + +/* Vanetza_ITS2_TurningRadius */ +typedef long Vanetza_ITS2_TurningRadius_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TurningRadius_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TurningRadius; +asn_struct_free_f Vanetza_ITS2_TurningRadius_free; +asn_struct_print_f Vanetza_ITS2_TurningRadius_print; +asn_constr_check_f Vanetza_ITS2_TurningRadius_constraint; +ber_type_decoder_f Vanetza_ITS2_TurningRadius_decode_ber; +der_type_encoder_f Vanetza_ITS2_TurningRadius_encode_der; +xer_type_decoder_f Vanetza_ITS2_TurningRadius_decode_xer; +xer_type_encoder_f Vanetza_ITS2_TurningRadius_encode_xer; +jer_type_encoder_f Vanetza_ITS2_TurningRadius_encode_jer; +oer_type_decoder_f Vanetza_ITS2_TurningRadius_decode_oer; +oer_type_encoder_f Vanetza_ITS2_TurningRadius_encode_oer; +per_type_decoder_f Vanetza_ITS2_TurningRadius_decode_uper; +per_type_encoder_f Vanetza_ITS2_TurningRadius_encode_uper; +per_type_decoder_f Vanetza_ITS2_TurningRadius_decode_aper; +per_type_encoder_f Vanetza_ITS2_TurningRadius_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_TurningRadius_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/UsageIndication.c b/vanetza/asn1/its/r2/UsageIndication.c new file mode 100644 index 000000000..a84347f7b --- /dev/null +++ b/vanetza/asn1/its/r2/UsageIndication.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "UsageIndication.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_Vanetza_ITS2_UsageIndication_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_Vanetza_ITS2_UsageIndication_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_UsageIndication_value2enum_1[] = { + { 0, 12, "noIndication" }, + { 1, 10, "specialUse" }, + { 2, 15, "rescueOperation" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Vanetza_ITS2_UsageIndication_enum2value_1[] = { + 0, /* noIndication(0) */ + 2, /* rescueOperation(2) */ + 1 /* specialUse(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_UsageIndication_specs_1 = { + asn_MAP_Vanetza_ITS2_UsageIndication_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_UsageIndication_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_UsageIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_UsageIndication = { + "UsageIndication", + "UsageIndication", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_UsageIndication_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_UsageIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_UsageIndication_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_UsageIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_UsageIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_UsageIndication_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_UsageIndication_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_UsageIndication_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_UsageIndication_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/UsageIndication.h b/vanetza/asn1/its/r2/UsageIndication.h new file mode 100644 index 000000000..b0ebfd9e7 --- /dev/null +++ b/vanetza/asn1/its/r2/UsageIndication.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_UsageIndication_H_ +#define _Vanetza_ITS2_UsageIndication_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_UsageIndication { + Vanetza_ITS2_UsageIndication_noIndication = 0, + Vanetza_ITS2_UsageIndication_specialUse = 1, + Vanetza_ITS2_UsageIndication_rescueOperation = 2 + /* + * Enumeration is extensible + */ +} e_Vanetza_ITS2_UsageIndication; + +/* Vanetza_ITS2_UsageIndication */ +typedef long Vanetza_ITS2_UsageIndication_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_UsageIndication_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_UsageIndication; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_UsageIndication_specs_1; +asn_struct_free_f Vanetza_ITS2_UsageIndication_free; +asn_struct_print_f Vanetza_ITS2_UsageIndication_print; +asn_constr_check_f Vanetza_ITS2_UsageIndication_constraint; +ber_type_decoder_f Vanetza_ITS2_UsageIndication_decode_ber; +der_type_encoder_f Vanetza_ITS2_UsageIndication_encode_der; +xer_type_decoder_f Vanetza_ITS2_UsageIndication_decode_xer; +xer_type_encoder_f Vanetza_ITS2_UsageIndication_encode_xer; +jer_type_encoder_f Vanetza_ITS2_UsageIndication_encode_jer; +oer_type_decoder_f Vanetza_ITS2_UsageIndication_decode_oer; +oer_type_encoder_f Vanetza_ITS2_UsageIndication_encode_oer; +per_type_decoder_f Vanetza_ITS2_UsageIndication_decode_uper; +per_type_encoder_f Vanetza_ITS2_UsageIndication_encode_uper; +per_type_decoder_f Vanetza_ITS2_UsageIndication_decode_aper; +per_type_encoder_f Vanetza_ITS2_UsageIndication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_UsageIndication_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VDS.c b/vanetza/asn1/its/r2/VDS.c new file mode 100644 index 000000000..81702d5bb --- /dev/null +++ b/vanetza/asn1/its/r2/VDS.c @@ -0,0 +1,94 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VDS.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 +Vanetza_ITS2_VDS_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 == 6UL) + && !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_Vanetza_ITS2_VDS_constr_1 CC_NOTUSED = { + { 0, 0 }, + 6 /* (SIZE(6..6)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VDS_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */, + 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_Vanetza_ITS2_VDS_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VDS = { + "VDS", + "VDS", + &asn_OP_IA5String, + asn_DEF_Vanetza_ITS2_VDS_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VDS_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VDS_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VDS_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VDS_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VDS_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VDS_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VDS_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VDS_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VDS.h b/vanetza/asn1/its/r2/VDS.h new file mode 100644 index 000000000..5745dcae4 --- /dev/null +++ b/vanetza/asn1/its/r2/VDS.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VDS_H_ +#define _Vanetza_ITS2_VDS_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_VDS */ +typedef IA5String_t Vanetza_ITS2_VDS_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VDS_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VDS; +asn_struct_free_f Vanetza_ITS2_VDS_free; +asn_struct_print_f Vanetza_ITS2_VDS_print; +asn_constr_check_f Vanetza_ITS2_VDS_constraint; +ber_type_decoder_f Vanetza_ITS2_VDS_decode_ber; +der_type_encoder_f Vanetza_ITS2_VDS_encode_der; +xer_type_decoder_f Vanetza_ITS2_VDS_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VDS_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VDS_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VDS_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VDS_encode_oer; +per_type_decoder_f Vanetza_ITS2_VDS_decode_uper; +per_type_encoder_f Vanetza_ITS2_VDS_encode_uper; +per_type_decoder_f Vanetza_ITS2_VDS_decode_aper; +per_type_encoder_f Vanetza_ITS2_VDS_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VDS_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/ValidityDuration.c b/vanetza/asn1/its/r2/ValidityDuration.c new file mode 100644 index 000000000..5210672e5 --- /dev/null +++ b/vanetza/asn1/its/r2/ValidityDuration.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "ValidityDuration.h" + +int +Vanetza_ITS2_ValidityDuration_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 86400L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_ValidityDuration_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..86400) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_ValidityDuration_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 17, -1, 0, 86400 } /* (0..86400) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_ValidityDuration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ValidityDuration = { + "ValidityDuration", + "ValidityDuration", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_ValidityDuration_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_ValidityDuration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ValidityDuration_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_ValidityDuration_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_ValidityDuration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_ValidityDuration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_ValidityDuration_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_ValidityDuration_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_ValidityDuration_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/ValidityDuration.h b/vanetza/asn1/its/r2/ValidityDuration.h new file mode 100644 index 000000000..580f2ab7e --- /dev/null +++ b/vanetza/asn1/its/r2/ValidityDuration.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_ValidityDuration_H_ +#define _Vanetza_ITS2_ValidityDuration_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_ValidityDuration { + Vanetza_ITS2_ValidityDuration_timeOfDetection = 0, + Vanetza_ITS2_ValidityDuration_oneSecondAfterDetection = 1 +} e_Vanetza_ITS2_ValidityDuration; + +/* Vanetza_ITS2_ValidityDuration */ +typedef long Vanetza_ITS2_ValidityDuration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_ValidityDuration; +asn_struct_free_f Vanetza_ITS2_ValidityDuration_free; +asn_struct_print_f Vanetza_ITS2_ValidityDuration_print; +asn_constr_check_f Vanetza_ITS2_ValidityDuration_constraint; +ber_type_decoder_f Vanetza_ITS2_ValidityDuration_decode_ber; +der_type_encoder_f Vanetza_ITS2_ValidityDuration_encode_der; +xer_type_decoder_f Vanetza_ITS2_ValidityDuration_decode_xer; +xer_type_encoder_f Vanetza_ITS2_ValidityDuration_encode_xer; +jer_type_encoder_f Vanetza_ITS2_ValidityDuration_encode_jer; +oer_type_decoder_f Vanetza_ITS2_ValidityDuration_decode_oer; +oer_type_encoder_f Vanetza_ITS2_ValidityDuration_encode_oer; +per_type_decoder_f Vanetza_ITS2_ValidityDuration_decode_uper; +per_type_encoder_f Vanetza_ITS2_ValidityDuration_encode_uper; +per_type_decoder_f Vanetza_ITS2_ValidityDuration_decode_aper; +per_type_encoder_f Vanetza_ITS2_ValidityDuration_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ValidityDuration_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VarLengthNumber.c b/vanetza/asn1/its/r2/VarLengthNumber.c new file mode 100644 index 000000000..8a5151864 --- /dev/null +++ b/vanetza/asn1/its/r2/VarLengthNumber.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VarLengthNumber.h" + +static int +memb_Vanetza_ITS2_content_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_content_constr_2 CC_NOTUSED = { + { 1, 1 } /* (0..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_content_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VarLengthNumber_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VarLengthNumber_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VarLengthNumber_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VarLengthNumber, choice.content), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_content_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_content_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_content_constraint_1 + }, + 0, 0, /* No default value */ + "content" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VarLengthNumber, choice.extension), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Ext1, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "extension" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_VarLengthNumber_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* content */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* extension */ +}; +static asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_VarLengthNumber_specs_1 = { + sizeof(struct Vanetza_ITS2_VarLengthNumber), + offsetof(struct Vanetza_ITS2_VarLengthNumber, _asn_ctx), + offsetof(struct Vanetza_ITS2_VarLengthNumber, present), + sizeof(((struct Vanetza_ITS2_VarLengthNumber *)0)->present), + asn_MAP_Vanetza_ITS2_VarLengthNumber_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VarLengthNumber = { + "VarLengthNumber", + "VarLengthNumber", + &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_Vanetza_ITS2_VarLengthNumber_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VarLengthNumber_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_VarLengthNumber_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_VarLengthNumber_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VarLengthNumber.h b/vanetza/asn1/its/r2/VarLengthNumber.h new file mode 100644 index 000000000..40fc882db --- /dev/null +++ b/vanetza/asn1/its/r2/VarLengthNumber.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VarLengthNumber_H_ +#define _Vanetza_ITS2_VarLengthNumber_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" +#include "Ext1.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VarLengthNumber_PR { + Vanetza_ITS2_VarLengthNumber_PR_NOTHING, /* No components present */ + Vanetza_ITS2_VarLengthNumber_PR_content, + Vanetza_ITS2_VarLengthNumber_PR_extension +} Vanetza_ITS2_VarLengthNumber_PR; + +/* Vanetza_ITS2_VarLengthNumber */ +typedef struct Vanetza_ITS2_VarLengthNumber { + Vanetza_ITS2_VarLengthNumber_PR present; + union Vanetza_ITS2_VarLengthNumber_u { + long content; + Vanetza_ITS2_Ext1_t extension; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_VarLengthNumber_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VarLengthNumber; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VarLengthNumber_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VehicleBreakdownSubCauseCode.c b/vanetza/asn1/its/r2/VehicleBreakdownSubCauseCode.c new file mode 100644 index 000000000..a3ed94677 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleBreakdownSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VehicleBreakdownSubCauseCode.h" + +int +Vanetza_ITS2_VehicleBreakdownSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VehicleBreakdownSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VehicleBreakdownSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VehicleBreakdownSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleBreakdownSubCauseCode = { + "VehicleBreakdownSubCauseCode", + "VehicleBreakdownSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VehicleBreakdownSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VehicleBreakdownSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleBreakdownSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VehicleBreakdownSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VehicleBreakdownSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleBreakdownSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VehicleBreakdownSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VehicleBreakdownSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VehicleBreakdownSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VehicleBreakdownSubCauseCode.h b/vanetza/asn1/its/r2/VehicleBreakdownSubCauseCode.h new file mode 100644 index 000000000..584036f7a --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleBreakdownSubCauseCode.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VehicleBreakdownSubCauseCode_H_ +#define _Vanetza_ITS2_VehicleBreakdownSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VehicleBreakdownSubCauseCode { + Vanetza_ITS2_VehicleBreakdownSubCauseCode_unavailable = 0, + Vanetza_ITS2_VehicleBreakdownSubCauseCode_lackOfFuel = 1, + Vanetza_ITS2_VehicleBreakdownSubCauseCode_lackOfBatteryPower = 2, + Vanetza_ITS2_VehicleBreakdownSubCauseCode_engineProblem = 3, + Vanetza_ITS2_VehicleBreakdownSubCauseCode_transmissionProblem = 4, + Vanetza_ITS2_VehicleBreakdownSubCauseCode_engineCoolingProblem = 5, + Vanetza_ITS2_VehicleBreakdownSubCauseCode_brakingSystemProblem = 6, + Vanetza_ITS2_VehicleBreakdownSubCauseCode_steeringProblem = 7, + Vanetza_ITS2_VehicleBreakdownSubCauseCode_tyrePuncture = 8, + Vanetza_ITS2_VehicleBreakdownSubCauseCode_tyrePressureProblem = 9, + Vanetza_ITS2_VehicleBreakdownSubCauseCode_vehicleOnFire = 10 +} e_Vanetza_ITS2_VehicleBreakdownSubCauseCode; + +/* Vanetza_ITS2_VehicleBreakdownSubCauseCode */ +typedef long Vanetza_ITS2_VehicleBreakdownSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VehicleBreakdownSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleBreakdownSubCauseCode; +asn_struct_free_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_VehicleBreakdownSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VehicleBreakdownSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VehicleHeight.c b/vanetza/asn1/its/r2/VehicleHeight.c new file mode 100644 index 000000000..2e844f7c5 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleHeight.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VehicleHeight.h" + +int +Vanetza_ITS2_VehicleHeight_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 128L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VehicleHeight_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..128) */, + -1}; +#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_Vanetza_ITS2_VehicleHeight_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 128 } /* (1..128) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VehicleHeight_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleHeight = { + "VehicleHeight", + "VehicleHeight", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VehicleHeight_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VehicleHeight_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleHeight_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VehicleHeight_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VehicleHeight_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleHeight_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VehicleHeight_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VehicleHeight_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VehicleHeight_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VehicleHeight.h b/vanetza/asn1/its/r2/VehicleHeight.h new file mode 100644 index 000000000..113fb8044 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleHeight.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VehicleHeight_H_ +#define _Vanetza_ITS2_VehicleHeight_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VehicleHeight { + Vanetza_ITS2_VehicleHeight_outOfRange = 126, + Vanetza_ITS2_VehicleHeight_unavailable = 127 +} e_Vanetza_ITS2_VehicleHeight; + +/* Vanetza_ITS2_VehicleHeight */ +typedef long Vanetza_ITS2_VehicleHeight_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleHeight; +asn_struct_free_f Vanetza_ITS2_VehicleHeight_free; +asn_struct_print_f Vanetza_ITS2_VehicleHeight_print; +asn_constr_check_f Vanetza_ITS2_VehicleHeight_constraint; +ber_type_decoder_f Vanetza_ITS2_VehicleHeight_decode_ber; +der_type_encoder_f Vanetza_ITS2_VehicleHeight_encode_der; +xer_type_decoder_f Vanetza_ITS2_VehicleHeight_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VehicleHeight_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VehicleHeight_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VehicleHeight_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VehicleHeight_encode_oer; +per_type_decoder_f Vanetza_ITS2_VehicleHeight_decode_uper; +per_type_encoder_f Vanetza_ITS2_VehicleHeight_encode_uper; +per_type_decoder_f Vanetza_ITS2_VehicleHeight_decode_aper; +per_type_encoder_f Vanetza_ITS2_VehicleHeight_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VehicleHeight_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VehicleIdentification.c b/vanetza/asn1/its/r2/VehicleIdentification.c new file mode 100644 index 000000000..b1354d171 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleIdentification.c @@ -0,0 +1,95 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VehicleIdentification.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VehicleIdentification_1[] = { + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_VehicleIdentification, wMInumber), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_WMInumber, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wMInumber" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_VehicleIdentification, vDS), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VDS, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vDS" + }, +}; +static const int asn_MAP_Vanetza_ITS2_VehicleIdentification_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VehicleIdentification_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_VehicleIdentification_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* wMInumber */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* vDS */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VehicleIdentification_specs_1 = { + sizeof(struct Vanetza_ITS2_VehicleIdentification), + offsetof(struct Vanetza_ITS2_VehicleIdentification, _asn_ctx), + asn_MAP_Vanetza_ITS2_VehicleIdentification_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_VehicleIdentification_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleIdentification = { + "VehicleIdentification", + "VehicleIdentification", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_VehicleIdentification_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VehicleIdentification_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleIdentification_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VehicleIdentification_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VehicleIdentification_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleIdentification_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_VehicleIdentification_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_VehicleIdentification_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VehicleIdentification.h b/vanetza/asn1/its/r2/VehicleIdentification.h new file mode 100644 index 000000000..ebb34c927 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleIdentification.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VehicleIdentification_H_ +#define _Vanetza_ITS2_VehicleIdentification_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "WMInumber.h" +#include "VDS.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_VehicleIdentification */ +typedef struct Vanetza_ITS2_VehicleIdentification { + Vanetza_ITS2_WMInumber_t *wMInumber; /* OPTIONAL */ + Vanetza_ITS2_VDS_t *vDS; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_VehicleIdentification_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleIdentification; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VehicleIdentification_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VehicleIdentification_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VehicleIdentification_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VehicleLength.c b/vanetza/asn1/its/r2/VehicleLength.c new file mode 100644 index 000000000..dead7f306 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleLength.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VehicleLength.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VehicleLength_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VehicleLength, vehicleLengthValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VehicleLengthValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleLengthValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VehicleLength, vehicleLengthConfidenceIndication), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VehicleLengthConfidenceIndication, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleLengthConfidenceIndication" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VehicleLength_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_VehicleLength_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleLengthValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* vehicleLengthConfidenceIndication */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VehicleLength_specs_1 = { + sizeof(struct Vanetza_ITS2_VehicleLength), + offsetof(struct Vanetza_ITS2_VehicleLength, _asn_ctx), + asn_MAP_Vanetza_ITS2_VehicleLength_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_Vanetza_ITS2_VehicleLength = { + "VehicleLength", + "VehicleLength", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_VehicleLength_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VehicleLength_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleLength_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VehicleLength_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VehicleLength_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleLength_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_VehicleLength_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_VehicleLength_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VehicleLength.h b/vanetza/asn1/its/r2/VehicleLength.h new file mode 100644 index 000000000..b6caa9b5f --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleLength.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VehicleLength_H_ +#define _Vanetza_ITS2_VehicleLength_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "VehicleLengthValue.h" +#include "VehicleLengthConfidenceIndication.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_VehicleLength */ +typedef struct Vanetza_ITS2_VehicleLength { + Vanetza_ITS2_VehicleLengthValue_t vehicleLengthValue; + Vanetza_ITS2_VehicleLengthConfidenceIndication_t vehicleLengthConfidenceIndication; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_VehicleLength_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleLength; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VehicleLength_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VehicleLength_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VehicleLength_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VehicleLengthConfidenceIndication.c b/vanetza/asn1/its/r2/VehicleLengthConfidenceIndication.c new file mode 100644 index 000000000..e29807919 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleLengthConfidenceIndication.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VehicleLengthConfidenceIndication.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_Vanetza_ITS2_VehicleLengthConfidenceIndication_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_Vanetza_ITS2_VehicleLengthConfidenceIndication_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_VehicleLengthConfidenceIndication_value2enum_1[] = { + { 0, 16, "noTrailerPresent" }, + { 1, 29, "trailerPresentWithKnownLength" }, + { 2, 31, "trailerPresentWithUnknownLength" }, + { 3, 24, "trailerPresenceIsUnknown" }, + { 4, 11, "unavailable" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_VehicleLengthConfidenceIndication_enum2value_1[] = { + 0, /* noTrailerPresent(0) */ + 3, /* trailerPresenceIsUnknown(3) */ + 1, /* trailerPresentWithKnownLength(1) */ + 2, /* trailerPresentWithUnknownLength(2) */ + 4 /* unavailable(4) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_VehicleLengthConfidenceIndication_specs_1 = { + asn_MAP_Vanetza_ITS2_VehicleLengthConfidenceIndication_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_VehicleLengthConfidenceIndication_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* 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_Vanetza_ITS2_VehicleLengthConfidenceIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleLengthConfidenceIndication = { + "VehicleLengthConfidenceIndication", + "VehicleLengthConfidenceIndication", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_VehicleLengthConfidenceIndication_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthConfidenceIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthConfidenceIndication_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VehicleLengthConfidenceIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthConfidenceIndication_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthConfidenceIndication_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VehicleLengthConfidenceIndication_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VehicleLengthConfidenceIndication_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_VehicleLengthConfidenceIndication_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VehicleLengthConfidenceIndication.h b/vanetza/asn1/its/r2/VehicleLengthConfidenceIndication.h new file mode 100644 index 000000000..252d3e654 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleLengthConfidenceIndication.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VehicleLengthConfidenceIndication_H_ +#define _Vanetza_ITS2_VehicleLengthConfidenceIndication_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VehicleLengthConfidenceIndication { + Vanetza_ITS2_VehicleLengthConfidenceIndication_noTrailerPresent = 0, + Vanetza_ITS2_VehicleLengthConfidenceIndication_trailerPresentWithKnownLength = 1, + Vanetza_ITS2_VehicleLengthConfidenceIndication_trailerPresentWithUnknownLength = 2, + Vanetza_ITS2_VehicleLengthConfidenceIndication_trailerPresenceIsUnknown = 3, + Vanetza_ITS2_VehicleLengthConfidenceIndication_unavailable = 4 +} e_Vanetza_ITS2_VehicleLengthConfidenceIndication; + +/* Vanetza_ITS2_VehicleLengthConfidenceIndication */ +typedef long Vanetza_ITS2_VehicleLengthConfidenceIndication_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VehicleLengthConfidenceIndication_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleLengthConfidenceIndication; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_VehicleLengthConfidenceIndication_specs_1; +asn_struct_free_f Vanetza_ITS2_VehicleLengthConfidenceIndication_free; +asn_struct_print_f Vanetza_ITS2_VehicleLengthConfidenceIndication_print; +asn_constr_check_f Vanetza_ITS2_VehicleLengthConfidenceIndication_constraint; +ber_type_decoder_f Vanetza_ITS2_VehicleLengthConfidenceIndication_decode_ber; +der_type_encoder_f Vanetza_ITS2_VehicleLengthConfidenceIndication_encode_der; +xer_type_decoder_f Vanetza_ITS2_VehicleLengthConfidenceIndication_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VehicleLengthConfidenceIndication_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VehicleLengthConfidenceIndication_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VehicleLengthConfidenceIndication_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VehicleLengthConfidenceIndication_encode_oer; +per_type_decoder_f Vanetza_ITS2_VehicleLengthConfidenceIndication_decode_uper; +per_type_encoder_f Vanetza_ITS2_VehicleLengthConfidenceIndication_encode_uper; +per_type_decoder_f Vanetza_ITS2_VehicleLengthConfidenceIndication_decode_aper; +per_type_encoder_f Vanetza_ITS2_VehicleLengthConfidenceIndication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VehicleLengthConfidenceIndication_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VehicleLengthV2.c b/vanetza/asn1/its/r2/VehicleLengthV2.c new file mode 100644 index 000000000..2a2c7ec88 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleLengthV2.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VehicleLengthV2.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VehicleLengthV2_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VehicleLengthV2, vehicleLengthValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VehicleLengthValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleLengthValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VehicleLengthV2, trailerPresenceInformation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_TrailerPresenceInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailerPresenceInformation" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VehicleLengthV2_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_VehicleLengthV2_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleLengthValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* trailerPresenceInformation */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VehicleLengthV2_specs_1 = { + sizeof(struct Vanetza_ITS2_VehicleLengthV2), + offsetof(struct Vanetza_ITS2_VehicleLengthV2, _asn_ctx), + asn_MAP_Vanetza_ITS2_VehicleLengthV2_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_Vanetza_ITS2_VehicleLengthV2 = { + "VehicleLengthV2", + "VehicleLengthV2", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_VehicleLengthV2_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthV2_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthV2_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VehicleLengthV2_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthV2_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthV2_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_VehicleLengthV2_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_VehicleLengthV2_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VehicleLengthV2.h b/vanetza/asn1/its/r2/VehicleLengthV2.h new file mode 100644 index 000000000..41a1d6f20 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleLengthV2.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VehicleLengthV2_H_ +#define _Vanetza_ITS2_VehicleLengthV2_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "VehicleLengthValue.h" +#include "TrailerPresenceInformation.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_VehicleLengthV2 */ +typedef struct Vanetza_ITS2_VehicleLengthV2 { + Vanetza_ITS2_VehicleLengthValue_t vehicleLengthValue; + Vanetza_ITS2_TrailerPresenceInformation_t trailerPresenceInformation; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_VehicleLengthV2_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleLengthV2; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VehicleLengthV2_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VehicleLengthValue.c b/vanetza/asn1/its/r2/VehicleLengthValue.c new file mode 100644 index 000000000..13786f89c --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleLengthValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VehicleLengthValue.h" + +int +Vanetza_ITS2_VehicleLengthValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1023L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VehicleLengthValue_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..1023) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VehicleLengthValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1023 } /* (1..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VehicleLengthValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleLengthValue = { + "VehicleLengthValue", + "VehicleLengthValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VehicleLengthValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VehicleLengthValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleLengthValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VehicleLengthValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VehicleLengthValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VehicleLengthValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VehicleLengthValue.h b/vanetza/asn1/its/r2/VehicleLengthValue.h new file mode 100644 index 000000000..cbd5e5f19 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleLengthValue.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VehicleLengthValue_H_ +#define _Vanetza_ITS2_VehicleLengthValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VehicleLengthValue { + Vanetza_ITS2_VehicleLengthValue_outOfRange = 1022, + Vanetza_ITS2_VehicleLengthValue_unavailable = 1023 +} e_Vanetza_ITS2_VehicleLengthValue; + +/* Vanetza_ITS2_VehicleLengthValue */ +typedef long Vanetza_ITS2_VehicleLengthValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VehicleLengthValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleLengthValue; +asn_struct_free_f Vanetza_ITS2_VehicleLengthValue_free; +asn_struct_print_f Vanetza_ITS2_VehicleLengthValue_print; +asn_constr_check_f Vanetza_ITS2_VehicleLengthValue_constraint; +ber_type_decoder_f Vanetza_ITS2_VehicleLengthValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_VehicleLengthValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_VehicleLengthValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VehicleLengthValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VehicleLengthValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VehicleLengthValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VehicleLengthValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_VehicleLengthValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_VehicleLengthValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_VehicleLengthValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_VehicleLengthValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VehicleLengthValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VehicleMass.c b/vanetza/asn1/its/r2/VehicleMass.c new file mode 100644 index 000000000..645cf92a7 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleMass.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VehicleMass.h" + +int +Vanetza_ITS2_VehicleMass_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1024L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VehicleMass_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..1024) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VehicleMass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (1..1024) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VehicleMass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleMass = { + "VehicleMass", + "VehicleMass", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VehicleMass_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VehicleMass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleMass_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VehicleMass_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VehicleMass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleMass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VehicleMass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VehicleMass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VehicleMass_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VehicleMass.h b/vanetza/asn1/its/r2/VehicleMass.h new file mode 100644 index 000000000..bdf743cde --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleMass.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VehicleMass_H_ +#define _Vanetza_ITS2_VehicleMass_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VehicleMass { + Vanetza_ITS2_VehicleMass_outOfRange = 1023, + Vanetza_ITS2_VehicleMass_unavailable = 1024 +} e_Vanetza_ITS2_VehicleMass; + +/* Vanetza_ITS2_VehicleMass */ +typedef long Vanetza_ITS2_VehicleMass_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VehicleMass_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleMass; +asn_struct_free_f Vanetza_ITS2_VehicleMass_free; +asn_struct_print_f Vanetza_ITS2_VehicleMass_print; +asn_constr_check_f Vanetza_ITS2_VehicleMass_constraint; +ber_type_decoder_f Vanetza_ITS2_VehicleMass_decode_ber; +der_type_encoder_f Vanetza_ITS2_VehicleMass_encode_der; +xer_type_decoder_f Vanetza_ITS2_VehicleMass_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VehicleMass_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VehicleMass_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VehicleMass_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VehicleMass_encode_oer; +per_type_decoder_f Vanetza_ITS2_VehicleMass_decode_uper; +per_type_encoder_f Vanetza_ITS2_VehicleMass_encode_uper; +per_type_decoder_f Vanetza_ITS2_VehicleMass_decode_aper; +per_type_encoder_f Vanetza_ITS2_VehicleMass_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VehicleMass_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VehicleRole.c b/vanetza/asn1/its/r2/VehicleRole.c new file mode 100644 index 000000000..940efd1d0 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleRole.c @@ -0,0 +1,99 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VehicleRole.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_Vanetza_ITS2_VehicleRole_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_Vanetza_ITS2_VehicleRole_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_VehicleRole_value2enum_1[] = { + { 0, 7, "default" }, + { 1, 15, "publicTransport" }, + { 2, 16, "specialTransport" }, + { 3, 14, "dangerousGoods" }, + { 4, 8, "roadWork" }, + { 5, 6, "rescue" }, + { 6, 9, "emergency" }, + { 7, 9, "safetyCar" }, + { 8, 11, "agriculture" }, + { 9, 10, "commercial" }, + { 10, 8, "military" }, + { 11, 12, "roadOperator" }, + { 12, 4, "taxi" }, + { 13, 4, "uvar" }, + { 14, 4, "rfu1" }, + { 15, 4, "rfu2" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_VehicleRole_enum2value_1[] = { + 8, /* agriculture(8) */ + 9, /* commercial(9) */ + 3, /* dangerousGoods(3) */ + 0, /* default(0) */ + 6, /* emergency(6) */ + 10, /* military(10) */ + 1, /* publicTransport(1) */ + 5, /* rescue(5) */ + 14, /* rfu1(14) */ + 15, /* rfu2(15) */ + 11, /* roadOperator(11) */ + 4, /* roadWork(4) */ + 7, /* safetyCar(7) */ + 2, /* specialTransport(2) */ + 12, /* taxi(12) */ + 13 /* uvar(13) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_VehicleRole_specs_1 = { + asn_MAP_Vanetza_ITS2_VehicleRole_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_VehicleRole_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VehicleRole_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleRole = { + "VehicleRole", + "VehicleRole", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_VehicleRole_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VehicleRole_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleRole_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VehicleRole_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VehicleRole_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleRole_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VehicleRole_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VehicleRole_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_VehicleRole_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VehicleRole.h b/vanetza/asn1/its/r2/VehicleRole.h new file mode 100644 index 000000000..0d972eebb --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleRole.h @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VehicleRole_H_ +#define _Vanetza_ITS2_VehicleRole_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VehicleRole { + Vanetza_ITS2_VehicleRole_default = 0, + Vanetza_ITS2_VehicleRole_publicTransport = 1, + Vanetza_ITS2_VehicleRole_specialTransport = 2, + Vanetza_ITS2_VehicleRole_dangerousGoods = 3, + Vanetza_ITS2_VehicleRole_roadWork = 4, + Vanetza_ITS2_VehicleRole_rescue = 5, + Vanetza_ITS2_VehicleRole_emergency = 6, + Vanetza_ITS2_VehicleRole_safetyCar = 7, + Vanetza_ITS2_VehicleRole_agriculture = 8, + Vanetza_ITS2_VehicleRole_commercial = 9, + Vanetza_ITS2_VehicleRole_military = 10, + Vanetza_ITS2_VehicleRole_roadOperator = 11, + Vanetza_ITS2_VehicleRole_taxi = 12, + Vanetza_ITS2_VehicleRole_uvar = 13, + Vanetza_ITS2_VehicleRole_rfu1 = 14, + Vanetza_ITS2_VehicleRole_rfu2 = 15 +} e_Vanetza_ITS2_VehicleRole; + +/* Vanetza_ITS2_VehicleRole */ +typedef long Vanetza_ITS2_VehicleRole_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VehicleRole_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleRole; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_VehicleRole_specs_1; +asn_struct_free_f Vanetza_ITS2_VehicleRole_free; +asn_struct_print_f Vanetza_ITS2_VehicleRole_print; +asn_constr_check_f Vanetza_ITS2_VehicleRole_constraint; +ber_type_decoder_f Vanetza_ITS2_VehicleRole_decode_ber; +der_type_encoder_f Vanetza_ITS2_VehicleRole_encode_der; +xer_type_decoder_f Vanetza_ITS2_VehicleRole_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VehicleRole_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VehicleRole_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VehicleRole_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VehicleRole_encode_oer; +per_type_decoder_f Vanetza_ITS2_VehicleRole_decode_uper; +per_type_encoder_f Vanetza_ITS2_VehicleRole_encode_uper; +per_type_decoder_f Vanetza_ITS2_VehicleRole_decode_aper; +per_type_encoder_f Vanetza_ITS2_VehicleRole_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VehicleRole_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VehicleWidth.c b/vanetza/asn1/its/r2/VehicleWidth.c new file mode 100644 index 000000000..55e5905b8 --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleWidth.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VehicleWidth.h" + +int +Vanetza_ITS2_VehicleWidth_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 62L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VehicleWidth_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..62) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VehicleWidth_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 1, 62 } /* (1..62) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VehicleWidth_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleWidth = { + "VehicleWidth", + "VehicleWidth", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VehicleWidth_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VehicleWidth_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleWidth_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VehicleWidth_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VehicleWidth_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VehicleWidth_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VehicleWidth_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VehicleWidth_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VehicleWidth_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VehicleWidth.h b/vanetza/asn1/its/r2/VehicleWidth.h new file mode 100644 index 000000000..84030f5ed --- /dev/null +++ b/vanetza/asn1/its/r2/VehicleWidth.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VehicleWidth_H_ +#define _Vanetza_ITS2_VehicleWidth_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VehicleWidth { + Vanetza_ITS2_VehicleWidth_outOfRange = 61, + Vanetza_ITS2_VehicleWidth_unavailable = 62 +} e_Vanetza_ITS2_VehicleWidth; + +/* Vanetza_ITS2_VehicleWidth */ +typedef long Vanetza_ITS2_VehicleWidth_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VehicleWidth_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VehicleWidth; +asn_struct_free_f Vanetza_ITS2_VehicleWidth_free; +asn_struct_print_f Vanetza_ITS2_VehicleWidth_print; +asn_constr_check_f Vanetza_ITS2_VehicleWidth_constraint; +ber_type_decoder_f Vanetza_ITS2_VehicleWidth_decode_ber; +der_type_encoder_f Vanetza_ITS2_VehicleWidth_encode_der; +xer_type_decoder_f Vanetza_ITS2_VehicleWidth_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VehicleWidth_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VehicleWidth_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VehicleWidth_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VehicleWidth_encode_oer; +per_type_decoder_f Vanetza_ITS2_VehicleWidth_decode_uper; +per_type_encoder_f Vanetza_ITS2_VehicleWidth_encode_uper; +per_type_decoder_f Vanetza_ITS2_VehicleWidth_decode_aper; +per_type_encoder_f Vanetza_ITS2_VehicleWidth_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VehicleWidth_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Velocity3dWithConfidence.c b/vanetza/asn1/its/r2/Velocity3dWithConfidence.c new file mode 100644 index 000000000..7071640bc --- /dev/null +++ b/vanetza/asn1/its/r2/Velocity3dWithConfidence.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Velocity3dWithConfidence.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Velocity3dWithConfidence_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_Vanetza_ITS2_Velocity3dWithConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Velocity3dWithConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Velocity3dWithConfidence, choice.polarVelocity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VelocityPolarWithZ, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "polarVelocity" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Velocity3dWithConfidence, choice.cartesianVelocity), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VelocityCartesian, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cartesianVelocity" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_Velocity3dWithConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* polarVelocity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cartesianVelocity */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_Velocity3dWithConfidence_specs_1 = { + sizeof(struct Vanetza_ITS2_Velocity3dWithConfidence), + offsetof(struct Vanetza_ITS2_Velocity3dWithConfidence, _asn_ctx), + offsetof(struct Vanetza_ITS2_Velocity3dWithConfidence, present), + sizeof(((struct Vanetza_ITS2_Velocity3dWithConfidence *)0)->present), + asn_MAP_Vanetza_ITS2_Velocity3dWithConfidence_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Velocity3dWithConfidence = { + "Velocity3dWithConfidence", + "Velocity3dWithConfidence", + &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_Vanetza_ITS2_Velocity3dWithConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Velocity3dWithConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_Velocity3dWithConfidence_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_Velocity3dWithConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Velocity3dWithConfidence.h b/vanetza/asn1/its/r2/Velocity3dWithConfidence.h new file mode 100644 index 000000000..8d606e470 --- /dev/null +++ b/vanetza/asn1/its/r2/Velocity3dWithConfidence.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Velocity3dWithConfidence_H_ +#define _Vanetza_ITS2_Velocity3dWithConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "VelocityPolarWithZ.h" +#include "VelocityCartesian.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Velocity3dWithConfidence_PR { + Vanetza_ITS2_Velocity3dWithConfidence_PR_NOTHING, /* No components present */ + Vanetza_ITS2_Velocity3dWithConfidence_PR_polarVelocity, + Vanetza_ITS2_Velocity3dWithConfidence_PR_cartesianVelocity +} Vanetza_ITS2_Velocity3dWithConfidence_PR; + +/* Vanetza_ITS2_Velocity3dWithConfidence */ +typedef struct Vanetza_ITS2_Velocity3dWithConfidence { + Vanetza_ITS2_Velocity3dWithConfidence_PR present; + union Vanetza_ITS2_Velocity3dWithConfidence_u { + Vanetza_ITS2_VelocityPolarWithZ_t polarVelocity; + Vanetza_ITS2_VelocityCartesian_t cartesianVelocity; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Velocity3dWithConfidence_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Velocity3dWithConfidence; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_Velocity3dWithConfidence_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Velocity3dWithConfidence_1[2]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Velocity3dWithConfidence_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Velocity3dWithConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VelocityCartesian.c b/vanetza/asn1/its/r2/VelocityCartesian.c new file mode 100644 index 000000000..af9fcba98 --- /dev/null +++ b/vanetza/asn1/its/r2/VelocityCartesian.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VelocityCartesian.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VelocityCartesian_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VelocityCartesian, xVelocity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VelocityComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "xVelocity" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VelocityCartesian, yVelocity), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VelocityComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yVelocity" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_VelocityCartesian, zVelocity), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VelocityComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zVelocity" + }, +}; +static const int asn_MAP_Vanetza_ITS2_VelocityCartesian_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VelocityCartesian_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_VelocityCartesian_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* xVelocity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* yVelocity */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* zVelocity */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VelocityCartesian_specs_1 = { + sizeof(struct Vanetza_ITS2_VelocityCartesian), + offsetof(struct Vanetza_ITS2_VelocityCartesian, _asn_ctx), + asn_MAP_Vanetza_ITS2_VelocityCartesian_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_VelocityCartesian_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VelocityCartesian = { + "VelocityCartesian", + "VelocityCartesian", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_VelocityCartesian_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VelocityCartesian_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VelocityCartesian_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VelocityCartesian_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VelocityCartesian_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VelocityCartesian_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_VelocityCartesian_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_VelocityCartesian_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VelocityCartesian.h b/vanetza/asn1/its/r2/VelocityCartesian.h new file mode 100644 index 000000000..5809e0089 --- /dev/null +++ b/vanetza/asn1/its/r2/VelocityCartesian.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VelocityCartesian_H_ +#define _Vanetza_ITS2_VelocityCartesian_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "VelocityComponent.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_VelocityComponent; + +/* Vanetza_ITS2_VelocityCartesian */ +typedef struct Vanetza_ITS2_VelocityCartesian { + Vanetza_ITS2_VelocityComponent_t xVelocity; + Vanetza_ITS2_VelocityComponent_t yVelocity; + struct Vanetza_ITS2_VelocityComponent *zVelocity; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_VelocityCartesian_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VelocityCartesian; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VelocityCartesian_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VelocityCartesian_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "VelocityComponent.h" + +#endif /* _Vanetza_ITS2_VelocityCartesian_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VelocityComponent.c b/vanetza/asn1/its/r2/VelocityComponent.c new file mode 100644 index 000000000..3876a1f55 --- /dev/null +++ b/vanetza/asn1/its/r2/VelocityComponent.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VelocityComponent.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VelocityComponent_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VelocityComponent, value), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VelocityComponentValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "value" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VelocityComponent, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_SpeedConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VelocityComponent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_VelocityComponent_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_Vanetza_ITS2_VelocityComponent_specs_1 = { + sizeof(struct Vanetza_ITS2_VelocityComponent), + offsetof(struct Vanetza_ITS2_VelocityComponent, _asn_ctx), + asn_MAP_Vanetza_ITS2_VelocityComponent_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_Vanetza_ITS2_VelocityComponent = { + "VelocityComponent", + "VelocityComponent", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_VelocityComponent_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VelocityComponent_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VelocityComponent_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VelocityComponent_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VelocityComponent_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VelocityComponent_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_VelocityComponent_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_VelocityComponent_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VelocityComponent.h b/vanetza/asn1/its/r2/VelocityComponent.h new file mode 100644 index 000000000..09aa157d4 --- /dev/null +++ b/vanetza/asn1/its/r2/VelocityComponent.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VelocityComponent_H_ +#define _Vanetza_ITS2_VelocityComponent_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "VelocityComponentValue.h" +#include "SpeedConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_VelocityComponent */ +typedef struct Vanetza_ITS2_VelocityComponent { + Vanetza_ITS2_VelocityComponentValue_t value; + Vanetza_ITS2_SpeedConfidence_t confidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_VelocityComponent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VelocityComponent; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VelocityComponent_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VelocityComponent_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VelocityComponent_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VelocityComponentValue.c b/vanetza/asn1/its/r2/VelocityComponentValue.c new file mode 100644 index 000000000..fb14e4681 --- /dev/null +++ b/vanetza/asn1/its/r2/VelocityComponentValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VelocityComponentValue.h" + +int +Vanetza_ITS2_VelocityComponentValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -16383L && value <= 16383L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VelocityComponentValue_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-16383..16383) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VelocityComponentValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, -16383, 16383 } /* (-16383..16383) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VelocityComponentValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VelocityComponentValue = { + "VelocityComponentValue", + "VelocityComponentValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VelocityComponentValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VelocityComponentValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VelocityComponentValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VelocityComponentValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VelocityComponentValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VelocityComponentValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VelocityComponentValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VelocityComponentValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VelocityComponentValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VelocityComponentValue.h b/vanetza/asn1/its/r2/VelocityComponentValue.h new file mode 100644 index 000000000..e581d6c9d --- /dev/null +++ b/vanetza/asn1/its/r2/VelocityComponentValue.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VelocityComponentValue_H_ +#define _Vanetza_ITS2_VelocityComponentValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VelocityComponentValue { + Vanetza_ITS2_VelocityComponentValue_negativeOutOfRange = -16383, + Vanetza_ITS2_VelocityComponentValue_positiveOutOfRange = 16382, + Vanetza_ITS2_VelocityComponentValue_unavailable = 16383 +} e_Vanetza_ITS2_VelocityComponentValue; + +/* Vanetza_ITS2_VelocityComponentValue */ +typedef long Vanetza_ITS2_VelocityComponentValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VelocityComponentValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VelocityComponentValue; +asn_struct_free_f Vanetza_ITS2_VelocityComponentValue_free; +asn_struct_print_f Vanetza_ITS2_VelocityComponentValue_print; +asn_constr_check_f Vanetza_ITS2_VelocityComponentValue_constraint; +ber_type_decoder_f Vanetza_ITS2_VelocityComponentValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_VelocityComponentValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_VelocityComponentValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VelocityComponentValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VelocityComponentValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VelocityComponentValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VelocityComponentValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_VelocityComponentValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_VelocityComponentValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_VelocityComponentValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_VelocityComponentValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VelocityComponentValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VelocityPolarWithZ.c b/vanetza/asn1/its/r2/VelocityPolarWithZ.c new file mode 100644 index 000000000..871504c2e --- /dev/null +++ b/vanetza/asn1/its/r2/VelocityPolarWithZ.c @@ -0,0 +1,116 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VelocityPolarWithZ.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VelocityPolarWithZ_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VelocityPolarWithZ, velocityMagnitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "velocityMagnitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VelocityPolarWithZ, velocityDirection), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CartesianAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "velocityDirection" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_VelocityPolarWithZ, zVelocity), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VelocityComponent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zVelocity" + }, +}; +static const int asn_MAP_Vanetza_ITS2_VelocityPolarWithZ_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VelocityPolarWithZ_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_VelocityPolarWithZ_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* velocityMagnitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* velocityDirection */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* zVelocity */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VelocityPolarWithZ_specs_1 = { + sizeof(struct Vanetza_ITS2_VelocityPolarWithZ), + offsetof(struct Vanetza_ITS2_VelocityPolarWithZ, _asn_ctx), + asn_MAP_Vanetza_ITS2_VelocityPolarWithZ_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_VelocityPolarWithZ_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VelocityPolarWithZ = { + "VelocityPolarWithZ", + "VelocityPolarWithZ", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_VelocityPolarWithZ_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VelocityPolarWithZ_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VelocityPolarWithZ_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VelocityPolarWithZ_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VelocityPolarWithZ_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VelocityPolarWithZ_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_VelocityPolarWithZ_1, + 3, /* Elements count */ + &asn_SPC_Vanetza_ITS2_VelocityPolarWithZ_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VelocityPolarWithZ.h b/vanetza/asn1/its/r2/VelocityPolarWithZ.h new file mode 100644 index 000000000..d59ef17f0 --- /dev/null +++ b/vanetza/asn1/its/r2/VelocityPolarWithZ.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VelocityPolarWithZ_H_ +#define _Vanetza_ITS2_VelocityPolarWithZ_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Speed.h" +#include "CartesianAngle.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_VelocityComponent; + +/* Vanetza_ITS2_VelocityPolarWithZ */ +typedef struct Vanetza_ITS2_VelocityPolarWithZ { + Vanetza_ITS2_Speed_t velocityMagnitude; + Vanetza_ITS2_CartesianAngle_t velocityDirection; + struct Vanetza_ITS2_VelocityComponent *zVelocity; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_VelocityPolarWithZ_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VelocityPolarWithZ; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VelocityPolarWithZ_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VelocityPolarWithZ_1[3]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "VelocityComponent.h" + +#endif /* _Vanetza_ITS2_VelocityPolarWithZ_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VerticalAcceleration.c b/vanetza/asn1/its/r2/VerticalAcceleration.c new file mode 100644 index 000000000..295b236d9 --- /dev/null +++ b/vanetza/asn1/its/r2/VerticalAcceleration.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VerticalAcceleration.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VerticalAcceleration_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VerticalAcceleration, verticalAccelerationValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VerticalAccelerationValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "verticalAccelerationValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VerticalAcceleration, verticalAccelerationConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_AccelerationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "verticalAccelerationConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VerticalAcceleration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_VerticalAcceleration_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* verticalAccelerationValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* verticalAccelerationConfidence */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VerticalAcceleration_specs_1 = { + sizeof(struct Vanetza_ITS2_VerticalAcceleration), + offsetof(struct Vanetza_ITS2_VerticalAcceleration, _asn_ctx), + asn_MAP_Vanetza_ITS2_VerticalAcceleration_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_Vanetza_ITS2_VerticalAcceleration = { + "VerticalAcceleration", + "VerticalAcceleration", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_VerticalAcceleration_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VerticalAcceleration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VerticalAcceleration_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VerticalAcceleration_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VerticalAcceleration_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VerticalAcceleration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_VerticalAcceleration_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_VerticalAcceleration_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VerticalAcceleration.h b/vanetza/asn1/its/r2/VerticalAcceleration.h new file mode 100644 index 000000000..d39d19337 --- /dev/null +++ b/vanetza/asn1/its/r2/VerticalAcceleration.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VerticalAcceleration_H_ +#define _Vanetza_ITS2_VerticalAcceleration_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "VerticalAccelerationValue.h" +#include "AccelerationConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_VerticalAcceleration */ +typedef struct Vanetza_ITS2_VerticalAcceleration { + Vanetza_ITS2_VerticalAccelerationValue_t verticalAccelerationValue; + Vanetza_ITS2_AccelerationConfidence_t verticalAccelerationConfidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_VerticalAcceleration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VerticalAcceleration; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VerticalAcceleration_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VerticalAccelerationValue.c b/vanetza/asn1/its/r2/VerticalAccelerationValue.c new file mode 100644 index 000000000..0bdd2c2c8 --- /dev/null +++ b/vanetza/asn1/its/r2/VerticalAccelerationValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VerticalAccelerationValue.h" + +int +Vanetza_ITS2_VerticalAccelerationValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -160L && value <= 161L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VerticalAccelerationValue_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-160..161) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VerticalAccelerationValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, -160, 161 } /* (-160..161) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VerticalAccelerationValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VerticalAccelerationValue = { + "VerticalAccelerationValue", + "VerticalAccelerationValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VerticalAccelerationValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VerticalAccelerationValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VerticalAccelerationValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VerticalAccelerationValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VerticalAccelerationValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VerticalAccelerationValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VerticalAccelerationValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VerticalAccelerationValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VerticalAccelerationValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VerticalAccelerationValue.h b/vanetza/asn1/its/r2/VerticalAccelerationValue.h new file mode 100644 index 000000000..432e8d83f --- /dev/null +++ b/vanetza/asn1/its/r2/VerticalAccelerationValue.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VerticalAccelerationValue_H_ +#define _Vanetza_ITS2_VerticalAccelerationValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VerticalAccelerationValue { + Vanetza_ITS2_VerticalAccelerationValue_negativeOutOfRange = -160, + Vanetza_ITS2_VerticalAccelerationValue_positiveOutOfRange = 160, + Vanetza_ITS2_VerticalAccelerationValue_unavailable = 161 +} e_Vanetza_ITS2_VerticalAccelerationValue; + +/* Vanetza_ITS2_VerticalAccelerationValue */ +typedef long Vanetza_ITS2_VerticalAccelerationValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VerticalAccelerationValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VerticalAccelerationValue; +asn_struct_free_f Vanetza_ITS2_VerticalAccelerationValue_free; +asn_struct_print_f Vanetza_ITS2_VerticalAccelerationValue_print; +asn_constr_check_f Vanetza_ITS2_VerticalAccelerationValue_constraint; +ber_type_decoder_f Vanetza_ITS2_VerticalAccelerationValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_VerticalAccelerationValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_VerticalAccelerationValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VerticalAccelerationValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VerticalAccelerationValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VerticalAccelerationValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VerticalAccelerationValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_VerticalAccelerationValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_VerticalAccelerationValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_VerticalAccelerationValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_VerticalAccelerationValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VerticalAccelerationValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruClusterInformation.c b/vanetza/asn1/its/r2/VruClusterInformation.c new file mode 100644 index 000000000..a70fa603d --- /dev/null +++ b/vanetza/asn1/its/r2/VruClusterInformation.c @@ -0,0 +1,168 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruClusterInformation.h" + +static int +memb_Vanetza_ITS2_clusterBoundingBoxShape_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_Vanetza_ITS2_clusterBoundingBoxShape_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_Vanetza_ITS2_clusterBoundingBoxShape_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VruClusterInformation_1[] = { + { ATF_POINTER, 2, offsetof(struct Vanetza_ITS2_VruClusterInformation, clusterId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Identifier1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "clusterId" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_VruClusterInformation, clusterBoundingBoxShape), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Shape, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_clusterBoundingBoxShape_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_clusterBoundingBoxShape_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_clusterBoundingBoxShape_constraint_1 + }, + 0, 0, /* No default value */ + "clusterBoundingBoxShape" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VruClusterInformation, clusterCardinalitySize), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CardinalNumber1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "clusterCardinalitySize" + }, + { ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_VruClusterInformation, clusterProfiles), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VruClusterProfiles, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "clusterProfiles" + }, +}; +static const int asn_MAP_Vanetza_ITS2_VruClusterInformation_oms_1[] = { 0, 1, 3 }; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruClusterInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_VruClusterInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* clusterId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* clusterBoundingBoxShape */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* clusterCardinalitySize */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* clusterProfiles */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VruClusterInformation_specs_1 = { + sizeof(struct Vanetza_ITS2_VruClusterInformation), + offsetof(struct Vanetza_ITS2_VruClusterInformation, _asn_ctx), + asn_MAP_Vanetza_ITS2_VruClusterInformation_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Vanetza_ITS2_VruClusterInformation_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruClusterInformation = { + "VruClusterInformation", + "VruClusterInformation", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_VruClusterInformation_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruClusterInformation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruClusterInformation_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruClusterInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruClusterInformation_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruClusterInformation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_VruClusterInformation_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_VruClusterInformation_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VruClusterInformation.h b/vanetza/asn1/its/r2/VruClusterInformation.h new file mode 100644 index 000000000..dac99efa9 --- /dev/null +++ b/vanetza/asn1/its/r2/VruClusterInformation.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruClusterInformation_H_ +#define _Vanetza_ITS2_VruClusterInformation_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Identifier1B.h" +#include "CardinalNumber1B.h" +#include "VruClusterProfiles.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Vanetza_ITS2_Shape; + +/* Vanetza_ITS2_VruClusterInformation */ +typedef struct Vanetza_ITS2_VruClusterInformation { + Vanetza_ITS2_Identifier1B_t *clusterId; /* OPTIONAL */ + struct Vanetza_ITS2_Shape *clusterBoundingBoxShape; /* OPTIONAL */ + Vanetza_ITS2_CardinalNumber1B_t clusterCardinalitySize; + Vanetza_ITS2_VruClusterProfiles_t *clusterProfiles; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_VruClusterInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruClusterInformation; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VruClusterInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VruClusterInformation_1[4]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "Shape.h" + +#endif /* _Vanetza_ITS2_VruClusterInformation_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruClusterProfiles.c b/vanetza/asn1/its/r2/VruClusterProfiles.c new file mode 100644 index 000000000..50d6565f3 --- /dev/null +++ b/vanetza/asn1/its/r2/VruClusterProfiles.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruClusterProfiles.h" + +int +Vanetza_ITS2_VruClusterProfiles_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 4UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VruClusterProfiles_constr_1 CC_NOTUSED = { + { 0, 0 }, + 4 /* (SIZE(4..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruClusterProfiles_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_VruClusterProfiles_constr_1 CC_NOTUSED = { + 4}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruClusterProfiles_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruClusterProfiles = { + "VruClusterProfiles", + "VruClusterProfiles", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_VruClusterProfiles_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruClusterProfiles_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruClusterProfiles_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruClusterProfiles_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruClusterProfiles_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruClusterProfiles_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VruClusterProfiles_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VruClusterProfiles_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_VruClusterProfiles_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VruClusterProfiles_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VruClusterProfiles.h b/vanetza/asn1/its/r2/VruClusterProfiles.h new file mode 100644 index 000000000..55c0fdf5d --- /dev/null +++ b/vanetza/asn1/its/r2/VruClusterProfiles.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruClusterProfiles_H_ +#define _Vanetza_ITS2_VruClusterProfiles_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VruClusterProfiles { + Vanetza_ITS2_VruClusterProfiles_pedestrian = 0, + Vanetza_ITS2_VruClusterProfiles_bicyclist = 1, + Vanetza_ITS2_VruClusterProfiles_motorcyclist = 2, + Vanetza_ITS2_VruClusterProfiles_animal = 3 +} e_Vanetza_ITS2_VruClusterProfiles; + +/* Vanetza_ITS2_VruClusterProfiles */ +typedef BIT_STRING_t Vanetza_ITS2_VruClusterProfiles_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruClusterProfiles_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruClusterProfiles; +asn_struct_free_f Vanetza_ITS2_VruClusterProfiles_free; +asn_struct_print_f Vanetza_ITS2_VruClusterProfiles_print; +asn_constr_check_f Vanetza_ITS2_VruClusterProfiles_constraint; +ber_type_decoder_f Vanetza_ITS2_VruClusterProfiles_decode_ber; +der_type_encoder_f Vanetza_ITS2_VruClusterProfiles_encode_der; +xer_type_decoder_f Vanetza_ITS2_VruClusterProfiles_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VruClusterProfiles_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VruClusterProfiles_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VruClusterProfiles_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VruClusterProfiles_encode_oer; +per_type_decoder_f Vanetza_ITS2_VruClusterProfiles_decode_uper; +per_type_encoder_f Vanetza_ITS2_VruClusterProfiles_encode_uper; +per_type_decoder_f Vanetza_ITS2_VruClusterProfiles_decode_aper; +per_type_encoder_f Vanetza_ITS2_VruClusterProfiles_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruClusterProfiles_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruDeviceUsage.c b/vanetza/asn1/its/r2/VruDeviceUsage.c new file mode 100644 index 000000000..7c4849e5f --- /dev/null +++ b/vanetza/asn1/its/r2/VruDeviceUsage.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruDeviceUsage.h" + +int +Vanetza_ITS2_VruDeviceUsage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VruDeviceUsage_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruDeviceUsage_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruDeviceUsage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruDeviceUsage = { + "VruDeviceUsage", + "VruDeviceUsage", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VruDeviceUsage_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruDeviceUsage_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruDeviceUsage_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruDeviceUsage_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruDeviceUsage_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruDeviceUsage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VruDeviceUsage_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VruDeviceUsage_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VruDeviceUsage_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VruDeviceUsage.h b/vanetza/asn1/its/r2/VruDeviceUsage.h new file mode 100644 index 000000000..ea2fd58c6 --- /dev/null +++ b/vanetza/asn1/its/r2/VruDeviceUsage.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruDeviceUsage_H_ +#define _Vanetza_ITS2_VruDeviceUsage_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VruDeviceUsage { + Vanetza_ITS2_VruDeviceUsage_unavailable = 0, + Vanetza_ITS2_VruDeviceUsage_other = 1, + Vanetza_ITS2_VruDeviceUsage_idle = 2, + Vanetza_ITS2_VruDeviceUsage_listeningToAudio = 3, + Vanetza_ITS2_VruDeviceUsage_typing = 4, + Vanetza_ITS2_VruDeviceUsage_calling = 5, + Vanetza_ITS2_VruDeviceUsage_playingGames = 6, + Vanetza_ITS2_VruDeviceUsage_reading = 7, + Vanetza_ITS2_VruDeviceUsage_viewing = 8 +} e_Vanetza_ITS2_VruDeviceUsage; + +/* Vanetza_ITS2_VruDeviceUsage */ +typedef long Vanetza_ITS2_VruDeviceUsage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruDeviceUsage; +asn_struct_free_f Vanetza_ITS2_VruDeviceUsage_free; +asn_struct_print_f Vanetza_ITS2_VruDeviceUsage_print; +asn_constr_check_f Vanetza_ITS2_VruDeviceUsage_constraint; +ber_type_decoder_f Vanetza_ITS2_VruDeviceUsage_decode_ber; +der_type_encoder_f Vanetza_ITS2_VruDeviceUsage_encode_der; +xer_type_decoder_f Vanetza_ITS2_VruDeviceUsage_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VruDeviceUsage_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VruDeviceUsage_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VruDeviceUsage_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VruDeviceUsage_encode_oer; +per_type_decoder_f Vanetza_ITS2_VruDeviceUsage_decode_uper; +per_type_encoder_f Vanetza_ITS2_VruDeviceUsage_encode_uper; +per_type_decoder_f Vanetza_ITS2_VruDeviceUsage_decode_aper; +per_type_encoder_f Vanetza_ITS2_VruDeviceUsage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruDeviceUsage_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruEnvironment.c b/vanetza/asn1/its/r2/VruEnvironment.c new file mode 100644 index 000000000..8b7a43f45 --- /dev/null +++ b/vanetza/asn1/its/r2/VruEnvironment.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruEnvironment.h" + +int +Vanetza_ITS2_VruEnvironment_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VruEnvironment_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruEnvironment_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruEnvironment_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruEnvironment = { + "VruEnvironment", + "VruEnvironment", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VruEnvironment_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruEnvironment_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruEnvironment_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruEnvironment_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruEnvironment_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruEnvironment_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VruEnvironment_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VruEnvironment_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VruEnvironment_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VruEnvironment.h b/vanetza/asn1/its/r2/VruEnvironment.h new file mode 100644 index 000000000..c8e55af52 --- /dev/null +++ b/vanetza/asn1/its/r2/VruEnvironment.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruEnvironment_H_ +#define _Vanetza_ITS2_VruEnvironment_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VruEnvironment { + Vanetza_ITS2_VruEnvironment_unavailable = 0, + Vanetza_ITS2_VruEnvironment_intersectionCrossing = 1, + Vanetza_ITS2_VruEnvironment_zebraCrossing = 2, + Vanetza_ITS2_VruEnvironment_sidewalk = 3, + Vanetza_ITS2_VruEnvironment_onVehicleRoad = 4, + Vanetza_ITS2_VruEnvironment_protectedGeographicArea = 5 +} e_Vanetza_ITS2_VruEnvironment; + +/* Vanetza_ITS2_VruEnvironment */ +typedef long Vanetza_ITS2_VruEnvironment_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruEnvironment; +asn_struct_free_f Vanetza_ITS2_VruEnvironment_free; +asn_struct_print_f Vanetza_ITS2_VruEnvironment_print; +asn_constr_check_f Vanetza_ITS2_VruEnvironment_constraint; +ber_type_decoder_f Vanetza_ITS2_VruEnvironment_decode_ber; +der_type_encoder_f Vanetza_ITS2_VruEnvironment_encode_der; +xer_type_decoder_f Vanetza_ITS2_VruEnvironment_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VruEnvironment_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VruEnvironment_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VruEnvironment_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VruEnvironment_encode_oer; +per_type_decoder_f Vanetza_ITS2_VruEnvironment_decode_uper; +per_type_encoder_f Vanetza_ITS2_VruEnvironment_encode_uper; +per_type_decoder_f Vanetza_ITS2_VruEnvironment_decode_aper; +per_type_encoder_f Vanetza_ITS2_VruEnvironment_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruEnvironment_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruExteriorLights.c b/vanetza/asn1/its/r2/VruExteriorLights.c new file mode 100644 index 000000000..ca3f71996 --- /dev/null +++ b/vanetza/asn1/its/r2/VruExteriorLights.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruExteriorLights.h" + +static asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VruExteriorLights_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VruExteriorLights, vehicular), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_ExteriorLights, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicular" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VruExteriorLights, vruSpecific), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VruSpecificExteriorLights, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vruSpecific" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruExteriorLights_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_VruExteriorLights_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicular */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* vruSpecific */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_VruExteriorLights_specs_1 = { + sizeof(struct Vanetza_ITS2_VruExteriorLights), + offsetof(struct Vanetza_ITS2_VruExteriorLights, _asn_ctx), + asn_MAP_Vanetza_ITS2_VruExteriorLights_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruExteriorLights = { + "VruExteriorLights", + "VruExteriorLights", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_VruExteriorLights_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruExteriorLights_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruExteriorLights_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruExteriorLights_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruExteriorLights_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruExteriorLights_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_VruExteriorLights_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_VruExteriorLights_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VruExteriorLights.h b/vanetza/asn1/its/r2/VruExteriorLights.h new file mode 100644 index 000000000..b655c96ff --- /dev/null +++ b/vanetza/asn1/its/r2/VruExteriorLights.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruExteriorLights_H_ +#define _Vanetza_ITS2_VruExteriorLights_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "ExteriorLights.h" +#include "VruSpecificExteriorLights.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_VruExteriorLights */ +typedef struct Vanetza_ITS2_VruExteriorLights { + Vanetza_ITS2_ExteriorLights_t vehicular; + Vanetza_ITS2_VruSpecificExteriorLights_t vruSpecific; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_VruExteriorLights_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruExteriorLights; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruExteriorLights_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruMovementControl.c b/vanetza/asn1/its/r2/VruMovementControl.c new file mode 100644 index 000000000..25bab145c --- /dev/null +++ b/vanetza/asn1/its/r2/VruMovementControl.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruMovementControl.h" + +int +Vanetza_ITS2_VruMovementControl_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VruMovementControl_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruMovementControl_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruMovementControl_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruMovementControl = { + "VruMovementControl", + "VruMovementControl", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VruMovementControl_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruMovementControl_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruMovementControl_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruMovementControl_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruMovementControl_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruMovementControl_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VruMovementControl_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VruMovementControl_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VruMovementControl_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VruMovementControl.h b/vanetza/asn1/its/r2/VruMovementControl.h new file mode 100644 index 000000000..fdc1d92b9 --- /dev/null +++ b/vanetza/asn1/its/r2/VruMovementControl.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruMovementControl_H_ +#define _Vanetza_ITS2_VruMovementControl_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VruMovementControl { + Vanetza_ITS2_VruMovementControl_unavailable = 0, + Vanetza_ITS2_VruMovementControl_braking = 1, + Vanetza_ITS2_VruMovementControl_hardBraking = 2, + Vanetza_ITS2_VruMovementControl_stopPedaling = 3, + Vanetza_ITS2_VruMovementControl_brakingAndStopPedaling = 4, + Vanetza_ITS2_VruMovementControl_hardBrakingAndStopPedaling = 5, + Vanetza_ITS2_VruMovementControl_noReaction = 6 +} e_Vanetza_ITS2_VruMovementControl; + +/* Vanetza_ITS2_VruMovementControl */ +typedef long Vanetza_ITS2_VruMovementControl_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruMovementControl; +asn_struct_free_f Vanetza_ITS2_VruMovementControl_free; +asn_struct_print_f Vanetza_ITS2_VruMovementControl_print; +asn_constr_check_f Vanetza_ITS2_VruMovementControl_constraint; +ber_type_decoder_f Vanetza_ITS2_VruMovementControl_decode_ber; +der_type_encoder_f Vanetza_ITS2_VruMovementControl_encode_der; +xer_type_decoder_f Vanetza_ITS2_VruMovementControl_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VruMovementControl_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VruMovementControl_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VruMovementControl_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VruMovementControl_encode_oer; +per_type_decoder_f Vanetza_ITS2_VruMovementControl_decode_uper; +per_type_encoder_f Vanetza_ITS2_VruMovementControl_encode_uper; +per_type_decoder_f Vanetza_ITS2_VruMovementControl_decode_aper; +per_type_encoder_f Vanetza_ITS2_VruMovementControl_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruMovementControl_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruProfileAndSubprofile.c b/vanetza/asn1/its/r2/VruProfileAndSubprofile.c new file mode 100644 index 000000000..056b8630d --- /dev/null +++ b/vanetza/asn1/its/r2/VruProfileAndSubprofile.c @@ -0,0 +1,144 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruProfileAndSubprofile.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VruProfileAndSubprofile_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_Vanetza_ITS2_VruProfileAndSubprofile_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VruProfileAndSubprofile_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VruProfileAndSubprofile, choice.pedestrian), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VruSubProfilePedestrian, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pedestrian" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VruProfileAndSubprofile, choice.bicyclistAndLightVruVehicle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VruSubProfileBicyclist, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "bicyclistAndLightVruVehicle" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VruProfileAndSubprofile, choice.motorcyclist), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VruSubProfileMotorcyclist, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "motorcyclist" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_VruProfileAndSubprofile, choice.animal), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_VruSubProfileAnimal, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "animal" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_VruProfileAndSubprofile_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pedestrian */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* bicyclistAndLightVruVehicle */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* motorcyclist */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* animal */ +}; +asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_VruProfileAndSubprofile_specs_1 = { + sizeof(struct Vanetza_ITS2_VruProfileAndSubprofile), + offsetof(struct Vanetza_ITS2_VruProfileAndSubprofile, _asn_ctx), + offsetof(struct Vanetza_ITS2_VruProfileAndSubprofile, present), + sizeof(((struct Vanetza_ITS2_VruProfileAndSubprofile *)0)->present), + asn_MAP_Vanetza_ITS2_VruProfileAndSubprofile_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, + 4 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruProfileAndSubprofile = { + "VruProfileAndSubprofile", + "VruProfileAndSubprofile", + &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_Vanetza_ITS2_VruProfileAndSubprofile_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VruProfileAndSubprofile_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Vanetza_ITS2_VruProfileAndSubprofile_1, + 4, /* Elements count */ + &asn_SPC_Vanetza_ITS2_VruProfileAndSubprofile_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VruProfileAndSubprofile.h b/vanetza/asn1/its/r2/VruProfileAndSubprofile.h new file mode 100644 index 000000000..2a4b6e0c5 --- /dev/null +++ b/vanetza/asn1/its/r2/VruProfileAndSubprofile.h @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruProfileAndSubprofile_H_ +#define _Vanetza_ITS2_VruProfileAndSubprofile_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "VruSubProfilePedestrian.h" +#include "VruSubProfileBicyclist.h" +#include "VruSubProfileMotorcyclist.h" +#include "VruSubProfileAnimal.h" +#include "constr_CHOICE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VruProfileAndSubprofile_PR { + Vanetza_ITS2_VruProfileAndSubprofile_PR_NOTHING, /* No components present */ + Vanetza_ITS2_VruProfileAndSubprofile_PR_pedestrian, + Vanetza_ITS2_VruProfileAndSubprofile_PR_bicyclistAndLightVruVehicle, + Vanetza_ITS2_VruProfileAndSubprofile_PR_motorcyclist, + Vanetza_ITS2_VruProfileAndSubprofile_PR_animal + /* Extensions may appear below */ + +} Vanetza_ITS2_VruProfileAndSubprofile_PR; + +/* Vanetza_ITS2_VruProfileAndSubprofile */ +typedef struct Vanetza_ITS2_VruProfileAndSubprofile { + Vanetza_ITS2_VruProfileAndSubprofile_PR present; + union Vanetza_ITS2_VruProfileAndSubprofile_u { + Vanetza_ITS2_VruSubProfilePedestrian_t pedestrian; + Vanetza_ITS2_VruSubProfileBicyclist_t bicyclistAndLightVruVehicle; + Vanetza_ITS2_VruSubProfileMotorcyclist_t motorcyclist; + Vanetza_ITS2_VruSubProfileAnimal_t animal; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_VruProfileAndSubprofile_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruProfileAndSubprofile; +extern asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_VruProfileAndSubprofile_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_VruProfileAndSubprofile_1[4]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruProfileAndSubprofile_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruProfileAndSubprofile_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruSizeClass.c b/vanetza/asn1/its/r2/VruSizeClass.c new file mode 100644 index 000000000..bf79bd0d9 --- /dev/null +++ b/vanetza/asn1/its/r2/VruSizeClass.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruSizeClass.h" + +int +Vanetza_ITS2_VruSizeClass_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VruSizeClass_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruSizeClass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruSizeClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSizeClass = { + "VruSizeClass", + "VruSizeClass", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VruSizeClass_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruSizeClass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSizeClass_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruSizeClass_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruSizeClass_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSizeClass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VruSizeClass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VruSizeClass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VruSizeClass_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VruSizeClass.h b/vanetza/asn1/its/r2/VruSizeClass.h new file mode 100644 index 000000000..2cd1edcdd --- /dev/null +++ b/vanetza/asn1/its/r2/VruSizeClass.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruSizeClass_H_ +#define _Vanetza_ITS2_VruSizeClass_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VruSizeClass { + Vanetza_ITS2_VruSizeClass_unavailable = 0, + Vanetza_ITS2_VruSizeClass_low = 1, + Vanetza_ITS2_VruSizeClass_medium = 2, + Vanetza_ITS2_VruSizeClass_high = 3 +} e_Vanetza_ITS2_VruSizeClass; + +/* Vanetza_ITS2_VruSizeClass */ +typedef long Vanetza_ITS2_VruSizeClass_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSizeClass; +asn_struct_free_f Vanetza_ITS2_VruSizeClass_free; +asn_struct_print_f Vanetza_ITS2_VruSizeClass_print; +asn_constr_check_f Vanetza_ITS2_VruSizeClass_constraint; +ber_type_decoder_f Vanetza_ITS2_VruSizeClass_decode_ber; +der_type_encoder_f Vanetza_ITS2_VruSizeClass_encode_der; +xer_type_decoder_f Vanetza_ITS2_VruSizeClass_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VruSizeClass_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VruSizeClass_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VruSizeClass_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VruSizeClass_encode_oer; +per_type_decoder_f Vanetza_ITS2_VruSizeClass_decode_uper; +per_type_encoder_f Vanetza_ITS2_VruSizeClass_encode_uper; +per_type_decoder_f Vanetza_ITS2_VruSizeClass_decode_aper; +per_type_encoder_f Vanetza_ITS2_VruSizeClass_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruSizeClass_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruSpecificExteriorLights.c b/vanetza/asn1/its/r2/VruSpecificExteriorLights.c new file mode 100644 index 000000000..8f8f23888 --- /dev/null +++ b/vanetza/asn1/its/r2/VruSpecificExteriorLights.c @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruSpecificExteriorLights.h" + +int +Vanetza_ITS2_VruSpecificExteriorLights_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VruSpecificExteriorLights_constr_1 CC_NOTUSED = { + { 0, 0 }, + 8 /* (SIZE(8..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruSpecificExteriorLights_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_VruSpecificExteriorLights_constr_1 CC_NOTUSED = { + 8}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruSpecificExteriorLights_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSpecificExteriorLights = { + "VruSpecificExteriorLights", + "VruSpecificExteriorLights", + &asn_OP_BIT_STRING, + asn_DEF_Vanetza_ITS2_VruSpecificExteriorLights_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruSpecificExteriorLights_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSpecificExteriorLights_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruSpecificExteriorLights_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruSpecificExteriorLights_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSpecificExteriorLights_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VruSpecificExteriorLights_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VruSpecificExteriorLights_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_ITS2_VruSpecificExteriorLights_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VruSpecificExteriorLights_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/VruSpecificExteriorLights.h b/vanetza/asn1/its/r2/VruSpecificExteriorLights.h new file mode 100644 index 000000000..a8943d235 --- /dev/null +++ b/vanetza/asn1/its/r2/VruSpecificExteriorLights.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruSpecificExteriorLights_H_ +#define _Vanetza_ITS2_VruSpecificExteriorLights_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "BIT_STRING.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VruSpecificExteriorLights { + Vanetza_ITS2_VruSpecificExteriorLights_unavailable = 0, + Vanetza_ITS2_VruSpecificExteriorLights_backFlashLight = 1, + Vanetza_ITS2_VruSpecificExteriorLights_helmetLight = 2, + Vanetza_ITS2_VruSpecificExteriorLights_armLight = 3, + Vanetza_ITS2_VruSpecificExteriorLights_legLight = 4, + Vanetza_ITS2_VruSpecificExteriorLights_wheelLight = 5 +} e_Vanetza_ITS2_VruSpecificExteriorLights; + +/* Vanetza_ITS2_VruSpecificExteriorLights */ +typedef BIT_STRING_t Vanetza_ITS2_VruSpecificExteriorLights_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruSpecificExteriorLights_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSpecificExteriorLights; +asn_struct_free_f Vanetza_ITS2_VruSpecificExteriorLights_free; +asn_struct_print_f Vanetza_ITS2_VruSpecificExteriorLights_print; +asn_constr_check_f Vanetza_ITS2_VruSpecificExteriorLights_constraint; +ber_type_decoder_f Vanetza_ITS2_VruSpecificExteriorLights_decode_ber; +der_type_encoder_f Vanetza_ITS2_VruSpecificExteriorLights_encode_der; +xer_type_decoder_f Vanetza_ITS2_VruSpecificExteriorLights_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VruSpecificExteriorLights_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VruSpecificExteriorLights_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VruSpecificExteriorLights_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VruSpecificExteriorLights_encode_oer; +per_type_decoder_f Vanetza_ITS2_VruSpecificExteriorLights_decode_uper; +per_type_encoder_f Vanetza_ITS2_VruSpecificExteriorLights_encode_uper; +per_type_decoder_f Vanetza_ITS2_VruSpecificExteriorLights_decode_aper; +per_type_encoder_f Vanetza_ITS2_VruSpecificExteriorLights_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruSpecificExteriorLights_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruSubProfileAnimal.c b/vanetza/asn1/its/r2/VruSubProfileAnimal.c new file mode 100644 index 000000000..1d83ba831 --- /dev/null +++ b/vanetza/asn1/its/r2/VruSubProfileAnimal.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruSubProfileAnimal.h" + +int +Vanetza_ITS2_VruSubProfileAnimal_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VruSubProfileAnimal_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruSubProfileAnimal_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruSubProfileAnimal_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSubProfileAnimal = { + "VruSubProfileAnimal", + "VruSubProfileAnimal", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VruSubProfileAnimal_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileAnimal_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileAnimal_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruSubProfileAnimal_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileAnimal_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileAnimal_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VruSubProfileAnimal_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VruSubProfileAnimal_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VruSubProfileAnimal_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VruSubProfileAnimal.h b/vanetza/asn1/its/r2/VruSubProfileAnimal.h new file mode 100644 index 000000000..3da7a758f --- /dev/null +++ b/vanetza/asn1/its/r2/VruSubProfileAnimal.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruSubProfileAnimal_H_ +#define _Vanetza_ITS2_VruSubProfileAnimal_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VruSubProfileAnimal { + Vanetza_ITS2_VruSubProfileAnimal_unavailable = 0, + Vanetza_ITS2_VruSubProfileAnimal_wild_animal = 1, + Vanetza_ITS2_VruSubProfileAnimal_farm_animal = 2, + Vanetza_ITS2_VruSubProfileAnimal_service_animal = 3 +} e_Vanetza_ITS2_VruSubProfileAnimal; + +/* Vanetza_ITS2_VruSubProfileAnimal */ +typedef long Vanetza_ITS2_VruSubProfileAnimal_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruSubProfileAnimal_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSubProfileAnimal; +asn_struct_free_f Vanetza_ITS2_VruSubProfileAnimal_free; +asn_struct_print_f Vanetza_ITS2_VruSubProfileAnimal_print; +asn_constr_check_f Vanetza_ITS2_VruSubProfileAnimal_constraint; +ber_type_decoder_f Vanetza_ITS2_VruSubProfileAnimal_decode_ber; +der_type_encoder_f Vanetza_ITS2_VruSubProfileAnimal_encode_der; +xer_type_decoder_f Vanetza_ITS2_VruSubProfileAnimal_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VruSubProfileAnimal_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VruSubProfileAnimal_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VruSubProfileAnimal_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VruSubProfileAnimal_encode_oer; +per_type_decoder_f Vanetza_ITS2_VruSubProfileAnimal_decode_uper; +per_type_encoder_f Vanetza_ITS2_VruSubProfileAnimal_encode_uper; +per_type_decoder_f Vanetza_ITS2_VruSubProfileAnimal_decode_aper; +per_type_encoder_f Vanetza_ITS2_VruSubProfileAnimal_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruSubProfileAnimal_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruSubProfileBicyclist.c b/vanetza/asn1/its/r2/VruSubProfileBicyclist.c new file mode 100644 index 000000000..a55e7be86 --- /dev/null +++ b/vanetza/asn1/its/r2/VruSubProfileBicyclist.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruSubProfileBicyclist.h" + +int +Vanetza_ITS2_VruSubProfileBicyclist_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VruSubProfileBicyclist_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruSubProfileBicyclist_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruSubProfileBicyclist_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSubProfileBicyclist = { + "VruSubProfileBicyclist", + "VruSubProfileBicyclist", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VruSubProfileBicyclist_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileBicyclist_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileBicyclist_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruSubProfileBicyclist_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileBicyclist_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileBicyclist_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VruSubProfileBicyclist_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VruSubProfileBicyclist_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VruSubProfileBicyclist_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VruSubProfileBicyclist.h b/vanetza/asn1/its/r2/VruSubProfileBicyclist.h new file mode 100644 index 000000000..4d0bd62ee --- /dev/null +++ b/vanetza/asn1/its/r2/VruSubProfileBicyclist.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruSubProfileBicyclist_H_ +#define _Vanetza_ITS2_VruSubProfileBicyclist_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VruSubProfileBicyclist { + Vanetza_ITS2_VruSubProfileBicyclist_unavailable = 0, + Vanetza_ITS2_VruSubProfileBicyclist_bicyclist = 1, + Vanetza_ITS2_VruSubProfileBicyclist_wheelchair_user = 2, + Vanetza_ITS2_VruSubProfileBicyclist_horse_and_rider = 3, + Vanetza_ITS2_VruSubProfileBicyclist_rollerskater = 4, + Vanetza_ITS2_VruSubProfileBicyclist_e_scooter = 5, + Vanetza_ITS2_VruSubProfileBicyclist_personal_transporter = 6, + Vanetza_ITS2_VruSubProfileBicyclist_pedelec = 7, + Vanetza_ITS2_VruSubProfileBicyclist_speed_pedelec = 8, + Vanetza_ITS2_VruSubProfileBicyclist_roadbike = 9, + Vanetza_ITS2_VruSubProfileBicyclist_childrensbike = 10 +} e_Vanetza_ITS2_VruSubProfileBicyclist; + +/* Vanetza_ITS2_VruSubProfileBicyclist */ +typedef long Vanetza_ITS2_VruSubProfileBicyclist_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruSubProfileBicyclist_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSubProfileBicyclist; +asn_struct_free_f Vanetza_ITS2_VruSubProfileBicyclist_free; +asn_struct_print_f Vanetza_ITS2_VruSubProfileBicyclist_print; +asn_constr_check_f Vanetza_ITS2_VruSubProfileBicyclist_constraint; +ber_type_decoder_f Vanetza_ITS2_VruSubProfileBicyclist_decode_ber; +der_type_encoder_f Vanetza_ITS2_VruSubProfileBicyclist_encode_der; +xer_type_decoder_f Vanetza_ITS2_VruSubProfileBicyclist_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VruSubProfileBicyclist_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VruSubProfileBicyclist_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VruSubProfileBicyclist_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VruSubProfileBicyclist_encode_oer; +per_type_decoder_f Vanetza_ITS2_VruSubProfileBicyclist_decode_uper; +per_type_encoder_f Vanetza_ITS2_VruSubProfileBicyclist_encode_uper; +per_type_decoder_f Vanetza_ITS2_VruSubProfileBicyclist_decode_aper; +per_type_encoder_f Vanetza_ITS2_VruSubProfileBicyclist_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruSubProfileBicyclist_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruSubProfileMotorcyclist.c b/vanetza/asn1/its/r2/VruSubProfileMotorcyclist.c new file mode 100644 index 000000000..3b91084ab --- /dev/null +++ b/vanetza/asn1/its/r2/VruSubProfileMotorcyclist.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruSubProfileMotorcyclist.h" + +int +Vanetza_ITS2_VruSubProfileMotorcyclist_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VruSubProfileMotorcyclist_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruSubProfileMotorcyclist_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruSubProfileMotorcyclist_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSubProfileMotorcyclist = { + "VruSubProfileMotorcyclist", + "VruSubProfileMotorcyclist", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VruSubProfileMotorcyclist_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileMotorcyclist_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileMotorcyclist_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruSubProfileMotorcyclist_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileMotorcyclist_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSubProfileMotorcyclist_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VruSubProfileMotorcyclist_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VruSubProfileMotorcyclist_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VruSubProfileMotorcyclist_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VruSubProfileMotorcyclist.h b/vanetza/asn1/its/r2/VruSubProfileMotorcyclist.h new file mode 100644 index 000000000..1e68f88be --- /dev/null +++ b/vanetza/asn1/its/r2/VruSubProfileMotorcyclist.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruSubProfileMotorcyclist_H_ +#define _Vanetza_ITS2_VruSubProfileMotorcyclist_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VruSubProfileMotorcyclist { + Vanetza_ITS2_VruSubProfileMotorcyclist_unavailable = 0, + Vanetza_ITS2_VruSubProfileMotorcyclist_moped = 1, + Vanetza_ITS2_VruSubProfileMotorcyclist_motorcycle = 2, + Vanetza_ITS2_VruSubProfileMotorcyclist_motorcycle_and_sidecar_right = 3, + Vanetza_ITS2_VruSubProfileMotorcyclist_motorcycle_and_sidecar_left = 4 +} e_Vanetza_ITS2_VruSubProfileMotorcyclist; + +/* Vanetza_ITS2_VruSubProfileMotorcyclist */ +typedef long Vanetza_ITS2_VruSubProfileMotorcyclist_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruSubProfileMotorcyclist_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSubProfileMotorcyclist; +asn_struct_free_f Vanetza_ITS2_VruSubProfileMotorcyclist_free; +asn_struct_print_f Vanetza_ITS2_VruSubProfileMotorcyclist_print; +asn_constr_check_f Vanetza_ITS2_VruSubProfileMotorcyclist_constraint; +ber_type_decoder_f Vanetza_ITS2_VruSubProfileMotorcyclist_decode_ber; +der_type_encoder_f Vanetza_ITS2_VruSubProfileMotorcyclist_encode_der; +xer_type_decoder_f Vanetza_ITS2_VruSubProfileMotorcyclist_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VruSubProfileMotorcyclist_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VruSubProfileMotorcyclist_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VruSubProfileMotorcyclist_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VruSubProfileMotorcyclist_encode_oer; +per_type_decoder_f Vanetza_ITS2_VruSubProfileMotorcyclist_decode_uper; +per_type_encoder_f Vanetza_ITS2_VruSubProfileMotorcyclist_encode_uper; +per_type_decoder_f Vanetza_ITS2_VruSubProfileMotorcyclist_decode_aper; +per_type_encoder_f Vanetza_ITS2_VruSubProfileMotorcyclist_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruSubProfileMotorcyclist_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/VruSubProfilePedestrian.c b/vanetza/asn1/its/r2/VruSubProfilePedestrian.c new file mode 100644 index 000000000..739427f71 --- /dev/null +++ b/vanetza/asn1/its/r2/VruSubProfilePedestrian.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "VruSubProfilePedestrian.h" + +int +Vanetza_ITS2_VruSubProfilePedestrian_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_VruSubProfilePedestrian_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruSubProfilePedestrian_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_VruSubProfilePedestrian_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSubProfilePedestrian = { + "VruSubProfilePedestrian", + "VruSubProfilePedestrian", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_VruSubProfilePedestrian_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_VruSubProfilePedestrian_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSubProfilePedestrian_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_VruSubProfilePedestrian_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_VruSubProfilePedestrian_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_VruSubProfilePedestrian_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_VruSubProfilePedestrian_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_VruSubProfilePedestrian_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_VruSubProfilePedestrian_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/VruSubProfilePedestrian.h b/vanetza/asn1/its/r2/VruSubProfilePedestrian.h new file mode 100644 index 000000000..c5a686f50 --- /dev/null +++ b/vanetza/asn1/its/r2/VruSubProfilePedestrian.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_VruSubProfilePedestrian_H_ +#define _Vanetza_ITS2_VruSubProfilePedestrian_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_VruSubProfilePedestrian { + Vanetza_ITS2_VruSubProfilePedestrian_unavailable = 0, + Vanetza_ITS2_VruSubProfilePedestrian_ordinary_pedestrian = 1, + Vanetza_ITS2_VruSubProfilePedestrian_road_worker = 2, + Vanetza_ITS2_VruSubProfilePedestrian_first_responder = 3 +} e_Vanetza_ITS2_VruSubProfilePedestrian; + +/* Vanetza_ITS2_VruSubProfilePedestrian */ +typedef long Vanetza_ITS2_VruSubProfilePedestrian_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_VruSubProfilePedestrian_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_VruSubProfilePedestrian; +asn_struct_free_f Vanetza_ITS2_VruSubProfilePedestrian_free; +asn_struct_print_f Vanetza_ITS2_VruSubProfilePedestrian_print; +asn_constr_check_f Vanetza_ITS2_VruSubProfilePedestrian_constraint; +ber_type_decoder_f Vanetza_ITS2_VruSubProfilePedestrian_decode_ber; +der_type_encoder_f Vanetza_ITS2_VruSubProfilePedestrian_encode_der; +xer_type_decoder_f Vanetza_ITS2_VruSubProfilePedestrian_decode_xer; +xer_type_encoder_f Vanetza_ITS2_VruSubProfilePedestrian_encode_xer; +jer_type_encoder_f Vanetza_ITS2_VruSubProfilePedestrian_encode_jer; +oer_type_decoder_f Vanetza_ITS2_VruSubProfilePedestrian_decode_oer; +oer_type_encoder_f Vanetza_ITS2_VruSubProfilePedestrian_encode_oer; +per_type_decoder_f Vanetza_ITS2_VruSubProfilePedestrian_decode_uper; +per_type_encoder_f Vanetza_ITS2_VruSubProfilePedestrian_encode_uper; +per_type_decoder_f Vanetza_ITS2_VruSubProfilePedestrian_decode_aper; +per_type_encoder_f Vanetza_ITS2_VruSubProfilePedestrian_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_VruSubProfilePedestrian_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/WMInumber.c b/vanetza/asn1/its/r2/WMInumber.c new file mode 100644 index 000000000..e557f5dde --- /dev/null +++ b/vanetza/asn1/its/r2/WMInumber.c @@ -0,0 +1,94 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "WMInumber.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 +Vanetza_ITS2_WMInumber_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 <= 3UL) + && !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_Vanetza_ITS2_WMInumber_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..3)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_WMInumber_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 2, 2, 1, 3 } /* (SIZE(1..3)) */, + 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_Vanetza_ITS2_WMInumber_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_WMInumber = { + "WMInumber", + "WMInumber", + &asn_OP_IA5String, + asn_DEF_Vanetza_ITS2_WMInumber_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_WMInumber_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_WMInumber_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_WMInumber_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_WMInumber_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_WMInumber_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_WMInumber_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_WMInumber_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_WMInumber_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/WMInumber.h b/vanetza/asn1/its/r2/WMInumber.h new file mode 100644 index 000000000..f3afec0ce --- /dev/null +++ b/vanetza/asn1/its/r2/WMInumber.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_WMInumber_H_ +#define _Vanetza_ITS2_WMInumber_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "IA5String.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_WMInumber */ +typedef IA5String_t Vanetza_ITS2_WMInumber_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_WMInumber_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_WMInumber; +asn_struct_free_f Vanetza_ITS2_WMInumber_free; +asn_struct_print_f Vanetza_ITS2_WMInumber_print; +asn_constr_check_f Vanetza_ITS2_WMInumber_constraint; +ber_type_decoder_f Vanetza_ITS2_WMInumber_decode_ber; +der_type_encoder_f Vanetza_ITS2_WMInumber_encode_der; +xer_type_decoder_f Vanetza_ITS2_WMInumber_decode_xer; +xer_type_encoder_f Vanetza_ITS2_WMInumber_encode_xer; +jer_type_encoder_f Vanetza_ITS2_WMInumber_encode_jer; +oer_type_decoder_f Vanetza_ITS2_WMInumber_decode_oer; +oer_type_encoder_f Vanetza_ITS2_WMInumber_encode_oer; +per_type_decoder_f Vanetza_ITS2_WMInumber_decode_uper; +per_type_encoder_f Vanetza_ITS2_WMInumber_encode_uper; +per_type_decoder_f Vanetza_ITS2_WMInumber_decode_aper; +per_type_encoder_f Vanetza_ITS2_WMInumber_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_WMInumber_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Wgs84Angle.c b/vanetza/asn1/its/r2/Wgs84Angle.c new file mode 100644 index 000000000..bca5ade05 --- /dev/null +++ b/vanetza/asn1/its/r2/Wgs84Angle.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Wgs84Angle.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Wgs84Angle_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Wgs84Angle, value), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Wgs84AngleValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "value" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_Wgs84Angle, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_Wgs84AngleConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Wgs84Angle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_Wgs84Angle_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_Vanetza_ITS2_Wgs84Angle_specs_1 = { + sizeof(struct Vanetza_ITS2_Wgs84Angle), + offsetof(struct Vanetza_ITS2_Wgs84Angle, _asn_ctx), + asn_MAP_Vanetza_ITS2_Wgs84Angle_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_Vanetza_ITS2_Wgs84Angle = { + "Wgs84Angle", + "Wgs84Angle", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_Wgs84Angle_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Wgs84Angle_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Wgs84Angle_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Wgs84Angle_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Wgs84Angle_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Wgs84Angle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_Wgs84Angle_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_Wgs84Angle_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/Wgs84Angle.h b/vanetza/asn1/its/r2/Wgs84Angle.h new file mode 100644 index 000000000..165709e8e --- /dev/null +++ b/vanetza/asn1/its/r2/Wgs84Angle.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Wgs84Angle_H_ +#define _Vanetza_ITS2_Wgs84Angle_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "Wgs84AngleValue.h" +#include "Wgs84AngleConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_Wgs84Angle */ +typedef struct Vanetza_ITS2_Wgs84Angle { + Vanetza_ITS2_Wgs84AngleValue_t value; + Vanetza_ITS2_Wgs84AngleConfidence_t confidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_Wgs84Angle_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Wgs84Angle; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_Wgs84Angle_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_Wgs84Angle_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Wgs84Angle_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Wgs84AngleConfidence.c b/vanetza/asn1/its/r2/Wgs84AngleConfidence.c new file mode 100644 index 000000000..996876a8f --- /dev/null +++ b/vanetza/asn1/its/r2/Wgs84AngleConfidence.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Wgs84AngleConfidence.h" + +int +Vanetza_ITS2_Wgs84AngleConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Wgs84AngleConfidence_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Wgs84AngleConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 127 } /* (1..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Wgs84AngleConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Wgs84AngleConfidence = { + "Wgs84AngleConfidence", + "Wgs84AngleConfidence", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_Wgs84AngleConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Wgs84AngleConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Wgs84AngleConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Wgs84AngleConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Wgs84AngleConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Wgs84AngleConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Wgs84AngleConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Wgs84AngleConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_Wgs84AngleConfidence_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/Wgs84AngleConfidence.h b/vanetza/asn1/its/r2/Wgs84AngleConfidence.h new file mode 100644 index 000000000..25457a39f --- /dev/null +++ b/vanetza/asn1/its/r2/Wgs84AngleConfidence.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Wgs84AngleConfidence_H_ +#define _Vanetza_ITS2_Wgs84AngleConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Wgs84AngleConfidence { + Vanetza_ITS2_Wgs84AngleConfidence_outOfRange = 126, + Vanetza_ITS2_Wgs84AngleConfidence_unavailable = 127 +} e_Vanetza_ITS2_Wgs84AngleConfidence; + +/* Vanetza_ITS2_Wgs84AngleConfidence */ +typedef long Vanetza_ITS2_Wgs84AngleConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Wgs84AngleConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Wgs84AngleConfidence; +asn_struct_free_f Vanetza_ITS2_Wgs84AngleConfidence_free; +asn_struct_print_f Vanetza_ITS2_Wgs84AngleConfidence_print; +asn_constr_check_f Vanetza_ITS2_Wgs84AngleConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_Wgs84AngleConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_Wgs84AngleConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_Wgs84AngleConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Wgs84AngleConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Wgs84AngleConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Wgs84AngleConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Wgs84AngleConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_Wgs84AngleConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_Wgs84AngleConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_Wgs84AngleConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_Wgs84AngleConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Wgs84AngleConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/Wgs84AngleValue.c b/vanetza/asn1/its/r2/Wgs84AngleValue.c new file mode 100644 index 000000000..030ea65e0 --- /dev/null +++ b/vanetza/asn1/its/r2/Wgs84AngleValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "Wgs84AngleValue.h" + +int +Vanetza_ITS2_Wgs84AngleValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 3601L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_Wgs84AngleValue_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..3601) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Wgs84AngleValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 3601 } /* (0..3601) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_Wgs84AngleValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Wgs84AngleValue = { + "Wgs84AngleValue", + "Wgs84AngleValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_Wgs84AngleValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_Wgs84AngleValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Wgs84AngleValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_Wgs84AngleValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_Wgs84AngleValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_Wgs84AngleValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_Wgs84AngleValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_Wgs84AngleValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_Wgs84AngleValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/Wgs84AngleValue.h b/vanetza/asn1/its/r2/Wgs84AngleValue.h new file mode 100644 index 000000000..2a9be1ced --- /dev/null +++ b/vanetza/asn1/its/r2/Wgs84AngleValue.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_Wgs84AngleValue_H_ +#define _Vanetza_ITS2_Wgs84AngleValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_Wgs84AngleValue { + Vanetza_ITS2_Wgs84AngleValue_wgs84North = 0, + Vanetza_ITS2_Wgs84AngleValue_wgs84East = 900, + Vanetza_ITS2_Wgs84AngleValue_wgs84South = 1800, + Vanetza_ITS2_Wgs84AngleValue_wgs84West = 2700, + Vanetza_ITS2_Wgs84AngleValue_doNotUse = 3600, + Vanetza_ITS2_Wgs84AngleValue_unavailable = 3601 +} e_Vanetza_ITS2_Wgs84AngleValue; + +/* Vanetza_ITS2_Wgs84AngleValue */ +typedef long Vanetza_ITS2_Wgs84AngleValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_Wgs84AngleValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_Wgs84AngleValue; +asn_struct_free_f Vanetza_ITS2_Wgs84AngleValue_free; +asn_struct_print_f Vanetza_ITS2_Wgs84AngleValue_print; +asn_constr_check_f Vanetza_ITS2_Wgs84AngleValue_constraint; +ber_type_decoder_f Vanetza_ITS2_Wgs84AngleValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_Wgs84AngleValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_Wgs84AngleValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_Wgs84AngleValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_Wgs84AngleValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_Wgs84AngleValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_Wgs84AngleValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_Wgs84AngleValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_Wgs84AngleValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_Wgs84AngleValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_Wgs84AngleValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_Wgs84AngleValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/WheelBaseVehicle.c b/vanetza/asn1/its/r2/WheelBaseVehicle.c new file mode 100644 index 000000000..12a7e4fe9 --- /dev/null +++ b/vanetza/asn1/its/r2/WheelBaseVehicle.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "WheelBaseVehicle.h" + +int +Vanetza_ITS2_WheelBaseVehicle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_WheelBaseVehicle_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_WheelBaseVehicle_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 127 } /* (1..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_WheelBaseVehicle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_WheelBaseVehicle = { + "WheelBaseVehicle", + "WheelBaseVehicle", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_WheelBaseVehicle_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_WheelBaseVehicle_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_WheelBaseVehicle_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_WheelBaseVehicle_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_WheelBaseVehicle_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_WheelBaseVehicle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_WheelBaseVehicle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_WheelBaseVehicle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_WheelBaseVehicle_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/WheelBaseVehicle.h b/vanetza/asn1/its/r2/WheelBaseVehicle.h new file mode 100644 index 000000000..6ac874984 --- /dev/null +++ b/vanetza/asn1/its/r2/WheelBaseVehicle.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_WheelBaseVehicle_H_ +#define _Vanetza_ITS2_WheelBaseVehicle_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_WheelBaseVehicle { + Vanetza_ITS2_WheelBaseVehicle_outOfRange = 126, + Vanetza_ITS2_WheelBaseVehicle_unavailable = 127 +} e_Vanetza_ITS2_WheelBaseVehicle; + +/* Vanetza_ITS2_WheelBaseVehicle */ +typedef long Vanetza_ITS2_WheelBaseVehicle_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_WheelBaseVehicle_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_WheelBaseVehicle; +asn_struct_free_f Vanetza_ITS2_WheelBaseVehicle_free; +asn_struct_print_f Vanetza_ITS2_WheelBaseVehicle_print; +asn_constr_check_f Vanetza_ITS2_WheelBaseVehicle_constraint; +ber_type_decoder_f Vanetza_ITS2_WheelBaseVehicle_decode_ber; +der_type_encoder_f Vanetza_ITS2_WheelBaseVehicle_encode_der; +xer_type_decoder_f Vanetza_ITS2_WheelBaseVehicle_decode_xer; +xer_type_encoder_f Vanetza_ITS2_WheelBaseVehicle_encode_xer; +jer_type_encoder_f Vanetza_ITS2_WheelBaseVehicle_encode_jer; +oer_type_decoder_f Vanetza_ITS2_WheelBaseVehicle_decode_oer; +oer_type_encoder_f Vanetza_ITS2_WheelBaseVehicle_encode_oer; +per_type_decoder_f Vanetza_ITS2_WheelBaseVehicle_decode_uper; +per_type_encoder_f Vanetza_ITS2_WheelBaseVehicle_encode_uper; +per_type_decoder_f Vanetza_ITS2_WheelBaseVehicle_decode_aper; +per_type_encoder_f Vanetza_ITS2_WheelBaseVehicle_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_WheelBaseVehicle_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/WrappedCpmContainer.c b/vanetza/asn1/its/r2/WrappedCpmContainer.c new file mode 100644 index 000000000..669feb5c9 --- /dev/null +++ b/vanetza/asn1/its/r2/WrappedCpmContainer.c @@ -0,0 +1,353 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "WrappedCpmContainer.h" + +static const long asn_VAL_1_Vanetza_ITS2_originatingVehicleContainer = 1; +static const long asn_VAL_2_Vanetza_ITS2_originatingRsuContainer = 2; +static const long asn_VAL_3_Vanetza_ITS2_sensorInformationContainer = 3; +static const long asn_VAL_4_Vanetza_ITS2_perceptionRegionContainer = 4; +static const long asn_VAL_5_Vanetza_ITS2_perceivedObjectContainer = 5; +static const asn_ioc_cell_t asn_IOS_Vanetza_ITS2_CpmContainers_1_rows[] = { + { "&id", aioc__value, &asn_DEF_Vanetza_ITS2_CpmContainerId, &asn_VAL_1_Vanetza_ITS2_originatingVehicleContainer }, + { "&Type", aioc__type, &asn_DEF_Vanetza_ITS2_OriginatingVehicleContainer }, + { "&id", aioc__value, &asn_DEF_Vanetza_ITS2_CpmContainerId, &asn_VAL_2_Vanetza_ITS2_originatingRsuContainer }, + { "&Type", aioc__type, &asn_DEF_Vanetza_ITS2_OriginatingRsuContainer }, + { "&id", aioc__value, &asn_DEF_Vanetza_ITS2_CpmContainerId, &asn_VAL_3_Vanetza_ITS2_sensorInformationContainer }, + { "&Type", aioc__type, &asn_DEF_Vanetza_ITS2_SensorInformationContainer }, + { "&id", aioc__value, &asn_DEF_Vanetza_ITS2_CpmContainerId, &asn_VAL_4_Vanetza_ITS2_perceptionRegionContainer }, + { "&Type", aioc__type, &asn_DEF_Vanetza_ITS2_PerceptionRegionContainer }, + { "&id", aioc__value, &asn_DEF_Vanetza_ITS2_CpmContainerId, &asn_VAL_5_Vanetza_ITS2_perceivedObjectContainer }, + { "&Type", aioc__type, &asn_DEF_Vanetza_ITS2_PerceivedObjectContainer } +}; +static const asn_ioc_set_t asn_IOS_Vanetza_ITS2_CpmContainers_1[] = { + { 5, 2, asn_IOS_Vanetza_ITS2_CpmContainers_1_rows } +}; +static int +memb_Vanetza_ITS2_containerId_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 16L)) { + /* 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_WrappedCpmContainer_Vanetza_ITS2_containerData_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_Vanetza_ITS2_CpmContainers_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 Vanetza_ITS2_WrappedCpmContainer, containerId)); + + 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_Vanetza_ITS2_containerData_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_Vanetza_ITS2_containerId_constr_2 CC_NOTUSED = { + { 1, 1 } /* (1..16) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Vanetza_ITS2_containerId_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (1..16) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Vanetza_ITS2_containerData_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_Vanetza_ITS2_containerData_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_Vanetza_ITS2_containerData_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_WrappedCpmContainer__containerData, choice.OriginatingVehicleContainer), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_OriginatingVehicleContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "OriginatingVehicleContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_WrappedCpmContainer__containerData, choice.OriginatingRsuContainer), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_OriginatingRsuContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "OriginatingRsuContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_WrappedCpmContainer__containerData, choice.SensorInformationContainer), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_SensorInformationContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "SensorInformationContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_WrappedCpmContainer__containerData, choice.PerceptionRegionContainer), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_PerceptionRegionContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "PerceptionRegionContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_WrappedCpmContainer__containerData, choice.PerceivedObjectContainer), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_PerceivedObjectContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "PerceivedObjectContainer" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_containerData_tag2el_3[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 4 }, /* OriginatingVehicleContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 3 }, /* OriginatingRsuContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 2 }, /* SensorInformationContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 1 }, /* PerceptionRegionContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 0 } /* PerceivedObjectContainer */ +}; +static asn_CHOICE_specifics_t asn_SPC_Vanetza_ITS2_containerData_specs_3 = { + sizeof(struct Vanetza_ITS2_WrappedCpmContainer__containerData), + offsetof(struct Vanetza_ITS2_WrappedCpmContainer__containerData, _asn_ctx), + offsetof(struct Vanetza_ITS2_WrappedCpmContainer__containerData, present), + sizeof(((struct Vanetza_ITS2_WrappedCpmContainer__containerData *)0)->present), + asn_MAP_Vanetza_ITS2_containerData_tag2el_3, + 5, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_containerData_3 = { + "containerData", + "containerData", + &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) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + OPEN_TYPE_constraint + }, + asn_MBR_Vanetza_ITS2_containerData_3, + 5, /* Elements count */ + &asn_SPC_Vanetza_ITS2_containerData_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_WrappedCpmContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_WrappedCpmContainer, containerId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_CpmContainerId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_containerId_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_containerId_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_containerId_constraint_1 + }, + 0, 0, /* No default value */ + "containerId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_WrappedCpmContainer, containerData), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_containerData_3, + select_WrappedCpmContainer_Vanetza_ITS2_containerData_type, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Vanetza_ITS2_containerData_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Vanetza_ITS2_containerData_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + memb_Vanetza_ITS2_containerData_constraint_1 + }, + 0, 0, /* No default value */ + "containerData" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_WrappedCpmContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_WrappedCpmContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* containerId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* containerData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_WrappedCpmContainer_specs_1 = { + sizeof(struct Vanetza_ITS2_WrappedCpmContainer), + offsetof(struct Vanetza_ITS2_WrappedCpmContainer, _asn_ctx), + asn_MAP_Vanetza_ITS2_WrappedCpmContainer_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_Vanetza_ITS2_WrappedCpmContainer = { + "WrappedCpmContainer", + "WrappedCpmContainer", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_WrappedCpmContainer_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_WrappedCpmContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_WrappedCpmContainer_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_WrappedCpmContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_WrappedCpmContainer_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_WrappedCpmContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_WrappedCpmContainer_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_WrappedCpmContainer_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/WrappedCpmContainer.h b/vanetza/asn1/its/r2/WrappedCpmContainer.h new file mode 100644 index 000000000..20cc51f39 --- /dev/null +++ b/vanetza/asn1/its/r2/WrappedCpmContainer.h @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_WrappedCpmContainer_H_ +#define _Vanetza_ITS2_WrappedCpmContainer_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "CpmContainerId.h" +#include "ANY.h" +#include "asn_ioc.h" +#include "OriginatingVehicleContainer.h" +#include "OriginatingRsuContainer.h" +#include "SensorInformationContainer.h" +#include "PerceptionRegionContainer.h" +#include "PerceivedObjectContainer.h" +#include "OPEN_TYPE.h" +#include "constr_CHOICE.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_WrappedCpmContainer__containerData_PR { + Vanetza_ITS2_WrappedCpmContainer__containerData_PR_NOTHING, /* No components present */ + Vanetza_ITS2_WrappedCpmContainer__containerData_PR_OriginatingVehicleContainer, + Vanetza_ITS2_WrappedCpmContainer__containerData_PR_OriginatingRsuContainer, + Vanetza_ITS2_WrappedCpmContainer__containerData_PR_SensorInformationContainer, + Vanetza_ITS2_WrappedCpmContainer__containerData_PR_PerceptionRegionContainer, + Vanetza_ITS2_WrappedCpmContainer__containerData_PR_PerceivedObjectContainer +} Vanetza_ITS2_WrappedCpmContainer__containerData_PR; + +/* Vanetza_ITS2_WrappedCpmContainer */ +typedef struct Vanetza_ITS2_WrappedCpmContainer { + Vanetza_ITS2_CpmContainerId_t containerId; + struct Vanetza_ITS2_WrappedCpmContainer__containerData { + Vanetza_ITS2_WrappedCpmContainer__containerData_PR present; + union Vanetza_ITS2_WrappedCpmContainer__Vanetza_ITS2_containerData_u { + Vanetza_ITS2_OriginatingVehicleContainer_t OriginatingVehicleContainer; + Vanetza_ITS2_OriginatingRsuContainer_t OriginatingRsuContainer; + Vanetza_ITS2_SensorInformationContainer_t SensorInformationContainer; + Vanetza_ITS2_PerceptionRegionContainer_t PerceptionRegionContainer; + Vanetza_ITS2_PerceivedObjectContainer_t PerceivedObjectContainer; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } containerData; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_WrappedCpmContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_WrappedCpmContainer; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_WrappedCpmContainer_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_WrappedCpmContainer_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_WrappedCpmContainer_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/WrappedCpmContainers.c b/vanetza/asn1/its/r2/WrappedCpmContainers.c new file mode 100644 index 000000000..e2a73e62f --- /dev/null +++ b/vanetza/asn1/its/r2/WrappedCpmContainers.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "WrappedCpmContainers.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_WrappedCpmContainers_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_WrappedCpmContainers_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_WrappedCpmContainers_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Vanetza_ITS2_WrappedCpmContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_WrappedCpmContainers_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_WrappedCpmContainers_specs_1 = { + sizeof(struct Vanetza_ITS2_WrappedCpmContainers), + offsetof(struct Vanetza_ITS2_WrappedCpmContainers, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_WrappedCpmContainers = { + "WrappedCpmContainers", + "WrappedCpmContainers", + &asn_OP_SEQUENCE_OF, + asn_DEF_Vanetza_ITS2_WrappedCpmContainers_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_WrappedCpmContainers_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_WrappedCpmContainers_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_WrappedCpmContainers_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_WrappedCpmContainers_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_WrappedCpmContainers_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_WrappedCpmContainers_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_WrappedCpmContainers_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_Vanetza_ITS2_WrappedCpmContainers_1, + 1, /* Single element */ + &asn_SPC_Vanetza_ITS2_WrappedCpmContainers_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/WrappedCpmContainers.h b/vanetza/asn1/its/r2/WrappedCpmContainers.h new file mode 100644 index 000000000..ebe4feb6e --- /dev/null +++ b/vanetza/asn1/its/r2/WrappedCpmContainers.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CPM-PDU-Descriptions" + * found in "asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_WrappedCpmContainers_H_ +#define _Vanetza_ITS2_WrappedCpmContainers_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 Vanetza_ITS2_WrappedCpmContainer; + +/* Vanetza_ITS2_WrappedCpmContainers */ +typedef struct Vanetza_ITS2_WrappedCpmContainers { + A_SEQUENCE_OF(struct Vanetza_ITS2_WrappedCpmContainer) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_WrappedCpmContainers_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_WrappedCpmContainers; +extern asn_SET_OF_specifics_t asn_SPC_Vanetza_ITS2_WrappedCpmContainers_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_WrappedCpmContainers_1[1]; +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_WrappedCpmContainers_constr_1; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "WrappedCpmContainer.h" + +#endif /* _Vanetza_ITS2_WrappedCpmContainers_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/WrongWayDrivingSubCauseCode.c b/vanetza/asn1/its/r2/WrongWayDrivingSubCauseCode.c new file mode 100644 index 000000000..85487501d --- /dev/null +++ b/vanetza/asn1/its/r2/WrongWayDrivingSubCauseCode.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "WrongWayDrivingSubCauseCode.h" + +int +Vanetza_ITS2_WrongWayDrivingSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_WrongWayDrivingSubCauseCode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_WrongWayDrivingSubCauseCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_WrongWayDrivingSubCauseCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_WrongWayDrivingSubCauseCode = { + "WrongWayDrivingSubCauseCode", + "WrongWayDrivingSubCauseCode", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_WrongWayDrivingSubCauseCode_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_WrongWayDrivingSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_WrongWayDrivingSubCauseCode_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_WrongWayDrivingSubCauseCode_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_WrongWayDrivingSubCauseCode_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_WrongWayDrivingSubCauseCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_WrongWayDrivingSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_WrongWayDrivingSubCauseCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_WrongWayDrivingSubCauseCode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/WrongWayDrivingSubCauseCode.h b/vanetza/asn1/its/r2/WrongWayDrivingSubCauseCode.h new file mode 100644 index 000000000..4a0aa77d1 --- /dev/null +++ b/vanetza/asn1/its/r2/WrongWayDrivingSubCauseCode.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_WrongWayDrivingSubCauseCode_H_ +#define _Vanetza_ITS2_WrongWayDrivingSubCauseCode_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_WrongWayDrivingSubCauseCode { + Vanetza_ITS2_WrongWayDrivingSubCauseCode_unavailable = 0, + Vanetza_ITS2_WrongWayDrivingSubCauseCode_wrongLane = 1, + Vanetza_ITS2_WrongWayDrivingSubCauseCode_wrongDirection = 2 +} e_Vanetza_ITS2_WrongWayDrivingSubCauseCode; + +/* Vanetza_ITS2_WrongWayDrivingSubCauseCode */ +typedef long Vanetza_ITS2_WrongWayDrivingSubCauseCode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_WrongWayDrivingSubCauseCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_WrongWayDrivingSubCauseCode; +asn_struct_free_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_free; +asn_struct_print_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_print; +asn_constr_check_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_constraint; +ber_type_decoder_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_decode_ber; +der_type_encoder_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_encode_der; +xer_type_decoder_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_decode_xer; +xer_type_encoder_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_encode_xer; +jer_type_encoder_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_encode_jer; +oer_type_decoder_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_decode_oer; +oer_type_encoder_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_encode_oer; +per_type_decoder_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_decode_uper; +per_type_encoder_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_encode_uper; +per_type_decoder_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_decode_aper; +per_type_encoder_f Vanetza_ITS2_WrongWayDrivingSubCauseCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_WrongWayDrivingSubCauseCode_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/YawRate.c b/vanetza/asn1/its/r2/YawRate.c new file mode 100644 index 000000000..68448b2fe --- /dev/null +++ b/vanetza/asn1/its/r2/YawRate.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "YawRate.h" + +asn_TYPE_member_t asn_MBR_Vanetza_ITS2_YawRate_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_YawRate, yawRateValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_YawRateValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yawRateValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct Vanetza_ITS2_YawRate, yawRateConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Vanetza_ITS2_YawRateConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yawRateConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_YawRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Vanetza_ITS2_YawRate_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* yawRateValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* yawRateConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_YawRate_specs_1 = { + sizeof(struct Vanetza_ITS2_YawRate), + offsetof(struct Vanetza_ITS2_YawRate, _asn_ctx), + asn_MAP_Vanetza_ITS2_YawRate_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_Vanetza_ITS2_YawRate = { + "YawRate", + "YawRate", + &asn_OP_SEQUENCE, + asn_DEF_Vanetza_ITS2_YawRate_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_YawRate_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_YawRate_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_YawRate_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_YawRate_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_YawRate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Vanetza_ITS2_YawRate_1, + 2, /* Elements count */ + &asn_SPC_Vanetza_ITS2_YawRate_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/YawRate.h b/vanetza/asn1/its/r2/YawRate.h new file mode 100644 index 000000000..30bc19615 --- /dev/null +++ b/vanetza/asn1/its/r2/YawRate.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_YawRate_H_ +#define _Vanetza_ITS2_YawRate_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "YawRateValue.h" +#include "YawRateConfidence.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Vanetza_ITS2_YawRate */ +typedef struct Vanetza_ITS2_YawRate { + Vanetza_ITS2_YawRateValue_t yawRateValue; + Vanetza_ITS2_YawRateConfidence_t yawRateConfidence; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Vanetza_ITS2_YawRate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_YawRate; +extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_YawRate_specs_1; +extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_YawRate_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_YawRate_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/YawRateConfidence.c b/vanetza/asn1/its/r2/YawRateConfidence.c new file mode 100644 index 000000000..183ce1059 --- /dev/null +++ b/vanetza/asn1/its/r2/YawRateConfidence.c @@ -0,0 +1,85 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "YawRateConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_YawRateConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_YawRateConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 8 } /* (0..8) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_ITS2_YawRateConfidence_value2enum_1[] = { + { 0, 13, "degSec-000-01" }, + { 1, 13, "degSec-000-05" }, + { 2, 13, "degSec-000-10" }, + { 3, 13, "degSec-001-00" }, + { 4, 13, "degSec-005-00" }, + { 5, 13, "degSec-010-00" }, + { 6, 13, "degSec-100-00" }, + { 7, 10, "outOfRange" }, + { 8, 11, "unavailable" } +}; +static const unsigned int asn_MAP_Vanetza_ITS2_YawRateConfidence_enum2value_1[] = { + 0, /* degSec-000-01(0) */ + 1, /* degSec-000-05(1) */ + 2, /* degSec-000-10(2) */ + 3, /* degSec-001-00(3) */ + 4, /* degSec-005-00(4) */ + 5, /* degSec-010-00(5) */ + 6, /* degSec-100-00(6) */ + 7, /* outOfRange(7) */ + 8 /* unavailable(8) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_YawRateConfidence_specs_1 = { + asn_MAP_Vanetza_ITS2_YawRateConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Vanetza_ITS2_YawRateConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 9, /* 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_Vanetza_ITS2_YawRateConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_YawRateConfidence = { + "YawRateConfidence", + "YawRateConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_Vanetza_ITS2_YawRateConfidence_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_YawRateConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_YawRateConfidence_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_YawRateConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_YawRateConfidence_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_YawRateConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_YawRateConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_YawRateConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Vanetza_ITS2_YawRateConfidence_specs_1 /* Additional specs */ +}; + diff --git a/vanetza/asn1/its/r2/YawRateConfidence.h b/vanetza/asn1/its/r2/YawRateConfidence.h new file mode 100644 index 000000000..7362e258c --- /dev/null +++ b/vanetza/asn1/its/r2/YawRateConfidence.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_YawRateConfidence_H_ +#define _Vanetza_ITS2_YawRateConfidence_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_YawRateConfidence { + Vanetza_ITS2_YawRateConfidence_degSec_000_01 = 0, + Vanetza_ITS2_YawRateConfidence_degSec_000_05 = 1, + Vanetza_ITS2_YawRateConfidence_degSec_000_10 = 2, + Vanetza_ITS2_YawRateConfidence_degSec_001_00 = 3, + Vanetza_ITS2_YawRateConfidence_degSec_005_00 = 4, + Vanetza_ITS2_YawRateConfidence_degSec_010_00 = 5, + Vanetza_ITS2_YawRateConfidence_degSec_100_00 = 6, + Vanetza_ITS2_YawRateConfidence_outOfRange = 7, + Vanetza_ITS2_YawRateConfidence_unavailable = 8 +} e_Vanetza_ITS2_YawRateConfidence; + +/* Vanetza_ITS2_YawRateConfidence */ +typedef long Vanetza_ITS2_YawRateConfidence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_YawRateConfidence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_YawRateConfidence; +extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_YawRateConfidence_specs_1; +asn_struct_free_f Vanetza_ITS2_YawRateConfidence_free; +asn_struct_print_f Vanetza_ITS2_YawRateConfidence_print; +asn_constr_check_f Vanetza_ITS2_YawRateConfidence_constraint; +ber_type_decoder_f Vanetza_ITS2_YawRateConfidence_decode_ber; +der_type_encoder_f Vanetza_ITS2_YawRateConfidence_encode_der; +xer_type_decoder_f Vanetza_ITS2_YawRateConfidence_decode_xer; +xer_type_encoder_f Vanetza_ITS2_YawRateConfidence_encode_xer; +jer_type_encoder_f Vanetza_ITS2_YawRateConfidence_encode_jer; +oer_type_decoder_f Vanetza_ITS2_YawRateConfidence_decode_oer; +oer_type_encoder_f Vanetza_ITS2_YawRateConfidence_encode_oer; +per_type_decoder_f Vanetza_ITS2_YawRateConfidence_decode_uper; +per_type_encoder_f Vanetza_ITS2_YawRateConfidence_encode_uper; +per_type_decoder_f Vanetza_ITS2_YawRateConfidence_decode_aper; +per_type_encoder_f Vanetza_ITS2_YawRateConfidence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_YawRateConfidence_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/YawRateValue.c b/vanetza/asn1/its/r2/YawRateValue.c new file mode 100644 index 000000000..cf6f14b36 --- /dev/null +++ b/vanetza/asn1/its/r2/YawRateValue.c @@ -0,0 +1,79 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#include "YawRateValue.h" + +int +Vanetza_ITS2_YawRateValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32766L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_YawRateValue_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32766..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Vanetza_ITS2_YawRateValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32766, 32767 } /* (-32766..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_YawRateValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_YawRateValue = { + "YawRateValue", + "YawRateValue", + &asn_OP_NativeInteger, + asn_DEF_Vanetza_ITS2_YawRateValue_tags_1, + sizeof(asn_DEF_Vanetza_ITS2_YawRateValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_YawRateValue_tags_1[0]), /* 1 */ + asn_DEF_Vanetza_ITS2_YawRateValue_tags_1, /* Same as above */ + sizeof(asn_DEF_Vanetza_ITS2_YawRateValue_tags_1) + /sizeof(asn_DEF_Vanetza_ITS2_YawRateValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Vanetza_ITS2_YawRateValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Vanetza_ITS2_YawRateValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + Vanetza_ITS2_YawRateValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/vanetza/asn1/its/r2/YawRateValue.h b/vanetza/asn1/its/r2/YawRateValue.h new file mode 100644 index 000000000..d3b1f6329 --- /dev/null +++ b/vanetza/asn1/its/r2/YawRateValue.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ETSI-ITS-CDD" + * found in "asn1/release2/TS102894-2v221-CDD.asn" + * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R` + */ + +#ifndef _Vanetza_ITS2_YawRateValue_H_ +#define _Vanetza_ITS2_YawRateValue_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeInteger.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Vanetza_ITS2_YawRateValue { + Vanetza_ITS2_YawRateValue_negativeOutOfRange = -32766, + Vanetza_ITS2_YawRateValue_positiveOutOfRange = 32766, + Vanetza_ITS2_YawRateValue_unavailable = 32767 +} e_Vanetza_ITS2_YawRateValue; + +/* Vanetza_ITS2_YawRateValue */ +typedef long Vanetza_ITS2_YawRateValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_YawRateValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_YawRateValue; +asn_struct_free_f Vanetza_ITS2_YawRateValue_free; +asn_struct_print_f Vanetza_ITS2_YawRateValue_print; +asn_constr_check_f Vanetza_ITS2_YawRateValue_constraint; +ber_type_decoder_f Vanetza_ITS2_YawRateValue_decode_ber; +der_type_encoder_f Vanetza_ITS2_YawRateValue_encode_der; +xer_type_decoder_f Vanetza_ITS2_YawRateValue_decode_xer; +xer_type_encoder_f Vanetza_ITS2_YawRateValue_encode_xer; +jer_type_encoder_f Vanetza_ITS2_YawRateValue_encode_jer; +oer_type_decoder_f Vanetza_ITS2_YawRateValue_decode_oer; +oer_type_encoder_f Vanetza_ITS2_YawRateValue_encode_oer; +per_type_decoder_f Vanetza_ITS2_YawRateValue_decode_uper; +per_type_encoder_f Vanetza_ITS2_YawRateValue_encode_uper; +per_type_decoder_f Vanetza_ITS2_YawRateValue_decode_aper; +per_type_encoder_f Vanetza_ITS2_YawRateValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_YawRateValue_H_ */ +#include "asn_internal.h" diff --git a/vanetza/asn1/its/r2/asn_constant.h b/vanetza/asn1/its/r2/asn_constant.h new file mode 100644 index 000000000..32481a55a --- /dev/null +++ b/vanetza/asn1/its/r2/asn_constant.h @@ -0,0 +1,299 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + */ + +#ifndef _Vanetza_ITS2_ASN_CONSTANT_H +#define _Vanetza_ITS2_ASN_CONSTANT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define min_val_Vanetza_ITS2_AccelerationConfidence (0) +#define max_val_Vanetza_ITS2_AccelerationConfidence (102) +#define min_val_Vanetza_ITS2_AccelerationMagnitudeValue (0) +#define max_val_Vanetza_ITS2_AccelerationMagnitudeValue (161) +#define min_val_Vanetza_ITS2_AccelerationValue (-160) +#define max_val_Vanetza_ITS2_AccelerationValue (161) +#define min_val_Vanetza_ITS2_AccidentSubCauseCode (0) +#define max_val_Vanetza_ITS2_AccidentSubCauseCode (255) +#define min_val_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode (0) +#define max_val_Vanetza_ITS2_AdverseWeatherCondition_AdhesionSubCauseCode (255) +#define min_val_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode (0) +#define max_val_Vanetza_ITS2_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode (255) +#define min_val_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode (0) +#define max_val_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode (255) +#define min_val_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode (0) +#define max_val_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode (255) +#define min_val_Vanetza_ITS2_AirHumidity (1) +#define max_val_Vanetza_ITS2_AirHumidity (1001) +#define min_val_Vanetza_ITS2_AltitudeValue (-100000) +#define max_val_Vanetza_ITS2_AltitudeValue (800001) +#define min_val_Vanetza_ITS2_AngleConfidence (1) +#define max_val_Vanetza_ITS2_AngleConfidence (127) +#define min_val_Vanetza_ITS2_AxlesCount (2) +#define max_val_Vanetza_ITS2_AxlesCount (1002) +#define min_val_Vanetza_ITS2_BarometricPressure (2999) +#define max_val_Vanetza_ITS2_BarometricPressure (12002) +#define min_val_Vanetza_ITS2_BogiesCount (2) +#define max_val_Vanetza_ITS2_BogiesCount (101) +#define min_val_Vanetza_ITS2_CardinalNumber1B (0) +#define max_val_Vanetza_ITS2_CardinalNumber1B (255) +#define min_val_Vanetza_ITS2_CardinalNumber3b (1) +#define max_val_Vanetza_ITS2_CardinalNumber3b (8) +#define min_val_Vanetza_ITS2_CartesianAngleValue (0) +#define max_val_Vanetza_ITS2_CartesianAngleValue (3601) +#define min_val_Vanetza_ITS2_CartesianAngularAccelerationComponentValue (-255) +#define max_val_Vanetza_ITS2_CartesianAngularAccelerationComponentValue (256) +#define min_val_Vanetza_ITS2_CartesianAngularVelocityComponentValue (-255) +#define max_val_Vanetza_ITS2_CartesianAngularVelocityComponentValue (256) +#define min_val_Vanetza_ITS2_CauseCodeType (0) +#define max_val_Vanetza_ITS2_CauseCodeType (255) +#define min_val_Vanetza_ITS2_CartesianCoordinateSmall (-3094) +#define max_val_Vanetza_ITS2_CartesianCoordinateSmall (1001) +#define min_val_Vanetza_ITS2_CartesianCoordinate (-32768) +#define max_val_Vanetza_ITS2_CartesianCoordinate (32767) +#define min_val_Vanetza_ITS2_CartesianCoordinateLarge (-131072) +#define max_val_Vanetza_ITS2_CartesianCoordinateLarge (131071) +#define min_val_Vanetza_ITS2_ClusterBreakupReason (0) +#define max_val_Vanetza_ITS2_ClusterBreakupReason (15) +#define min_val_Vanetza_ITS2_ClusterLeaveReason (0) +#define max_val_Vanetza_ITS2_ClusterLeaveReason (15) +#define min_val_Vanetza_ITS2_CollisionRiskSubCauseCode (0) +#define max_val_Vanetza_ITS2_CollisionRiskSubCauseCode (255) +#define min_val_Vanetza_ITS2_ConfidenceLevel (1) +#define max_val_Vanetza_ITS2_ConfidenceLevel (101) +#define min_val_Vanetza_ITS2_CoordinateConfidence (1) +#define max_val_Vanetza_ITS2_CoordinateConfidence (4096) +#define min_val_Vanetza_ITS2_CorrelationCellValue (-100) +#define max_val_Vanetza_ITS2_CorrelationCellValue (101) +#define min_val_Vanetza_ITS2_CurvatureValue (-1023) +#define max_val_Vanetza_ITS2_CurvatureValue (1023) +#define min_val_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode (0) +#define max_val_Vanetza_ITS2_DangerousEndOfQueueSubCauseCode (255) +#define min_val_Vanetza_ITS2_DangerousSituationSubCauseCode (0) +#define max_val_Vanetza_ITS2_DangerousSituationSubCauseCode (255) +#define min_val_Vanetza_ITS2_DeltaAltitude (-12700) +#define max_val_Vanetza_ITS2_DeltaAltitude (12800) +#define min_val_Vanetza_ITS2_DeltaLatitude (-131071) +#define max_val_Vanetza_ITS2_DeltaLatitude (131072) +#define min_val_Vanetza_ITS2_DeltaLongitude (-131071) +#define max_val_Vanetza_ITS2_DeltaLongitude (131072) +#define min_val_Vanetza_ITS2_DeltaTimeMilliSecondPositive (1) +#define max_val_Vanetza_ITS2_DeltaTimeMilliSecondPositive (10000) +#define min_val_Vanetza_ITS2_DeltaTimeMilliSecondSigned (-2048) +#define max_val_Vanetza_ITS2_DeltaTimeMilliSecondSigned (2047) +#define min_val_Vanetza_ITS2_DeltaTimeQuarterSecond (1) +#define max_val_Vanetza_ITS2_DeltaTimeQuarterSecond (255) +#define min_val_Vanetza_ITS2_DeltaTimeTenthOfSecond (0) +#define max_val_Vanetza_ITS2_DeltaTimeTenthOfSecond (127) +#define min_val_Vanetza_ITS2_DeltaTimeSecond (0) +#define max_val_Vanetza_ITS2_DeltaTimeSecond (86400) +#define min_val_Vanetza_ITS2_DeltaTimeTenSeconds (0) +#define max_val_Vanetza_ITS2_DeltaTimeTenSeconds (127) +#define min_val_Vanetza_ITS2_Direction (0) +#define max_val_Vanetza_ITS2_Direction (3) +#define min_val_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode (0) +#define max_val_Vanetza_ITS2_EmergencyVehicleApproachingSubCauseCode (255) +#define min_val_Vanetza_ITS2_GenerationDeltaTime (0) +#define max_val_Vanetza_ITS2_GenerationDeltaTime (65535) +#define min_val_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode (0) +#define max_val_Vanetza_ITS2_HazardousLocation_AnimalOnTheRoadSubCauseCode (255) +#define min_val_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode (0) +#define max_val_Vanetza_ITS2_HazardousLocation_DangerousCurveSubCauseCode (255) +#define min_val_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode (0) +#define max_val_Vanetza_ITS2_HazardousLocation_ObstacleOnTheRoadSubCauseCode (255) +#define min_val_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode (0) +#define max_val_Vanetza_ITS2_HazardousLocation_SurfaceConditionSubCauseCode (255) +#define min_val_Vanetza_ITS2_HeadingConfidence (1) +#define max_val_Vanetza_ITS2_HeadingConfidence (127) +#define min_val_Vanetza_ITS2_HeadingValue (0) +#define max_val_Vanetza_ITS2_HeadingValue (3601) +#define min_val_Vanetza_ITS2_HeightLonCarr (1) +#define max_val_Vanetza_ITS2_HeightLonCarr (100) +#define min_val_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode (0) +#define max_val_Vanetza_ITS2_HumanPresenceOnTheRoadSubCauseCode (255) +#define min_val_Vanetza_ITS2_HumanProblemSubCauseCode (0) +#define max_val_Vanetza_ITS2_HumanProblemSubCauseCode (255) +#define min_val_Vanetza_ITS2_Identifier1B (0) +#define max_val_Vanetza_ITS2_Identifier1B (255) +#define min_val_Vanetza_ITS2_Identifier2B (0) +#define max_val_Vanetza_ITS2_Identifier2B (65535) +#define min_val_Vanetza_ITS2_ImpassabilitySubCauseCode (0) +#define max_val_Vanetza_ITS2_ImpassabilitySubCauseCode (255) +#define min_val_Vanetza_ITS2_InformationQuality (0) +#define max_val_Vanetza_ITS2_InformationQuality (7) +#define min_val_Vanetza_ITS2_Iso3833VehicleType (0) +#define max_val_Vanetza_ITS2_Iso3833VehicleType (255) +#define min_val_Vanetza_ITS2_IssuerIdentifier (0) +#define max_val_Vanetza_ITS2_IssuerIdentifier (16383) +#define min_val_Vanetza_ITS2_LanePosition (-1) +#define max_val_Vanetza_ITS2_LanePosition (14) +#define min_val_Vanetza_ITS2_LaneType (0) +#define max_val_Vanetza_ITS2_LaneType (31) +#define min_val_Vanetza_ITS2_LaneWidth (0) +#define max_val_Vanetza_ITS2_LaneWidth (1023) +#define min_val_Vanetza_ITS2_Latitude (-900000000) +#define max_val_Vanetza_ITS2_Latitude (900000001) +#define min_val_Vanetza_ITS2_LateralAccelerationValue (-160) +#define max_val_Vanetza_ITS2_LateralAccelerationValue (161) +#define min_val_Vanetza_ITS2_Longitude (-1800000000) +#define max_val_Vanetza_ITS2_Longitude (1800000001) +#define min_val_Vanetza_ITS2_LongitudinalAccelerationValue (-160) +#define max_val_Vanetza_ITS2_LongitudinalAccelerationValue (161) +#define min_val_Vanetza_ITS2_LongitudinalLanePositionValue (0) +#define max_val_Vanetza_ITS2_LongitudinalLanePositionValue (32767) +#define min_val_Vanetza_ITS2_LongitudinalLanePositionConfidence (0) +#define max_val_Vanetza_ITS2_LongitudinalLanePositionConfidence (1023) +#define min_val_Vanetza_ITS2_MessageId (0) +#define max_val_Vanetza_ITS2_MessageId (255) +#define min_val_Vanetza_ITS2_NumberOfOccupants (0) +#define max_val_Vanetza_ITS2_NumberOfOccupants (127) +#define min_val_Vanetza_ITS2_ObjectPerceptionQuality (0) +#define max_val_Vanetza_ITS2_ObjectPerceptionQuality (15) +#define min_val_Vanetza_ITS2_ObjectDimensionValue (1) +#define max_val_Vanetza_ITS2_ObjectDimensionValue (256) +#define min_val_Vanetza_ITS2_ObjectDimensionConfidence (1) +#define max_val_Vanetza_ITS2_ObjectDimensionConfidence (32) +#define min_val_Vanetza_ITS2_OrdinalNumber1B (0) +#define max_val_Vanetza_ITS2_OrdinalNumber1B (255) +#define min_val_Vanetza_ITS2_OrdinalNumber3b (1) +#define max_val_Vanetza_ITS2_OrdinalNumber3b (8) +#define min_val_Vanetza_ITS2_OtherSubClass (0) +#define max_val_Vanetza_ITS2_OtherSubClass (255) +#define min_val_Vanetza_ITS2_PathId (0) +#define max_val_Vanetza_ITS2_PathId (14) +#define min_val_Vanetza_ITS2_PerformanceClass (0) +#define max_val_Vanetza_ITS2_PerformanceClass (7) +#define min_val_Vanetza_ITS2_PosCentMass (1) +#define max_val_Vanetza_ITS2_PosCentMass (63) +#define min_val_Vanetza_ITS2_PosFrontAx (1) +#define max_val_Vanetza_ITS2_PosFrontAx (20) +#define min_val_Vanetza_ITS2_Position1d (-8190) +#define max_val_Vanetza_ITS2_Position1d (8191) +#define min_val_Vanetza_ITS2_PosLonCarr (1) +#define max_val_Vanetza_ITS2_PosLonCarr (127) +#define min_val_Vanetza_ITS2_PosPillar (1) +#define max_val_Vanetza_ITS2_PosPillar (30) +#define min_val_Vanetza_ITS2_PostCrashSubCauseCode (0) +#define max_val_Vanetza_ITS2_PostCrashSubCauseCode (255) +#define min_val_Vanetza_ITS2_PrecipitationIntensity (1) +#define max_val_Vanetza_ITS2_PrecipitationIntensity (2001) +#define min_val_Vanetza_ITS2_ProtectedZoneId (0) +#define max_val_Vanetza_ITS2_ProtectedZoneId (134217727) +#define min_val_Vanetza_ITS2_PtActivationType (0) +#define max_val_Vanetza_ITS2_PtActivationType (255) +#define min_val_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode (0) +#define max_val_Vanetza_ITS2_RailwayLevelCrossingSubCauseCode (255) +#define min_val_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode (0) +#define max_val_Vanetza_ITS2_RescueAndRecoveryWorkInProgressSubCauseCode (255) +#define min_val_Vanetza_ITS2_RoadworksSubCauseCode (0) +#define max_val_Vanetza_ITS2_RoadworksSubCauseCode (255) +#define min_val_Vanetza_ITS2_SemiAxisLength (0) +#define max_val_Vanetza_ITS2_SemiAxisLength (4095) +#define min_val_Vanetza_ITS2_SensorType (0) +#define max_val_Vanetza_ITS2_SensorType (31) +#define min_val_Vanetza_ITS2_SequenceNumber (0) +#define max_val_Vanetza_ITS2_SequenceNumber (65535) +#define min_val_Vanetza_ITS2_SignalViolationSubCauseCode (0) +#define max_val_Vanetza_ITS2_SignalViolationSubCauseCode (255) +#define min_val_Vanetza_ITS2_SlowVehicleSubCauseCode (0) +#define max_val_Vanetza_ITS2_SlowVehicleSubCauseCode (255) +#define min_val_Vanetza_ITS2_SpeedConfidence (1) +#define max_val_Vanetza_ITS2_SpeedConfidence (127) +#define min_val_Vanetza_ITS2_SpeedLimit (1) +#define max_val_Vanetza_ITS2_SpeedLimit (255) +#define min_val_Vanetza_ITS2_SpeedValue (0) +#define max_val_Vanetza_ITS2_SpeedValue (16383) +#define min_val_Vanetza_ITS2_VelocityComponentValue (-16383) +#define max_val_Vanetza_ITS2_VelocityComponentValue (16383) +#define min_val_Vanetza_ITS2_StabilityLossProbability (0) +#define max_val_Vanetza_ITS2_StabilityLossProbability (63) +#define min_val_Vanetza_ITS2_StandardLength12b (0) +#define max_val_Vanetza_ITS2_StandardLength12b (4095) +#define min_val_Vanetza_ITS2_StandardLength9b (0) +#define max_val_Vanetza_ITS2_StandardLength9b (511) +#define min_val_Vanetza_ITS2_StandardLength1B (0) +#define max_val_Vanetza_ITS2_StandardLength1B (255) +#define min_val_Vanetza_ITS2_StandardLength2B (0) +#define max_val_Vanetza_ITS2_StandardLength2B (65535) +#define min_val_Vanetza_ITS2_StationaryVehicleSubCauseCode (0) +#define max_val_Vanetza_ITS2_StationaryVehicleSubCauseCode (255) +#define min_val_Vanetza_ITS2_StationId (0) +#define max_val_Vanetza_ITS2_StationId (4294967295) +#define min_val_Vanetza_ITS2_StationID (0) +#define max_val_Vanetza_ITS2_StationID (4294967295) +#define min_val_Vanetza_ITS2_StationType (0) +#define max_val_Vanetza_ITS2_StationType (255) +#define min_val_Vanetza_ITS2_SteeringWheelAngleConfidence (1) +#define max_val_Vanetza_ITS2_SteeringWheelAngleConfidence (127) +#define min_val_Vanetza_ITS2_SteeringWheelAngleValue (-511) +#define max_val_Vanetza_ITS2_SteeringWheelAngleValue (512) +#define min_val_Vanetza_ITS2_SubCauseCodeType (0) +#define max_val_Vanetza_ITS2_SubCauseCodeType (255) +#define min_val_Vanetza_ITS2_Temperature (-60) +#define max_val_Vanetza_ITS2_Temperature (67) +#define min_val_Vanetza_ITS2_TimestampIts (0) +#define max_val_Vanetza_ITS2_TimestampIts (4398046511103) +#define min_val_Vanetza_ITS2_TrafficConditionSubCauseCode (0) +#define max_val_Vanetza_ITS2_TrafficConditionSubCauseCode (255) +#define min_val_Vanetza_ITS2_TrafficParticipantType (0) +#define max_val_Vanetza_ITS2_TrafficParticipantType (255) +#define min_val_Vanetza_ITS2_TrajectoryInterceptionProbability (0) +#define max_val_Vanetza_ITS2_TrajectoryInterceptionProbability (63) +#define min_val_Vanetza_ITS2_TrajectoryInterceptionConfidence (0) +#define max_val_Vanetza_ITS2_TrajectoryInterceptionConfidence (3) +#define min_val_Vanetza_ITS2_TransmissionInterval (1) +#define max_val_Vanetza_ITS2_TransmissionInterval (10000) +#define min_val_Vanetza_ITS2_TurningRadius (1) +#define max_val_Vanetza_ITS2_TurningRadius (255) +#define min_val_Vanetza_ITS2_ValidityDuration (0) +#define max_val_Vanetza_ITS2_ValidityDuration (86400) +#define min_val_Vanetza_ITS2_VehicleBreakdownSubCauseCode (0) +#define max_val_Vanetza_ITS2_VehicleBreakdownSubCauseCode (255) +#define min_val_Vanetza_ITS2_VehicleHeight (1) +#define max_val_Vanetza_ITS2_VehicleHeight (128) +#define min_val_Vanetza_ITS2_VehicleLengthValue (1) +#define max_val_Vanetza_ITS2_VehicleLengthValue (1023) +#define min_val_Vanetza_ITS2_VehicleMass (1) +#define max_val_Vanetza_ITS2_VehicleMass (1024) +#define min_val_Vanetza_ITS2_VehicleWidth (1) +#define max_val_Vanetza_ITS2_VehicleWidth (62) +#define min_val_Vanetza_ITS2_VerticalAccelerationValue (-160) +#define max_val_Vanetza_ITS2_VerticalAccelerationValue (161) +#define min_val_Vanetza_ITS2_VruDeviceUsage (0) +#define max_val_Vanetza_ITS2_VruDeviceUsage (15) +#define min_val_Vanetza_ITS2_VruEnvironment (0) +#define max_val_Vanetza_ITS2_VruEnvironment (15) +#define min_val_Vanetza_ITS2_VruMovementControl (0) +#define max_val_Vanetza_ITS2_VruMovementControl (15) +#define min_val_Vanetza_ITS2_VruSubProfilePedestrian (0) +#define max_val_Vanetza_ITS2_VruSubProfilePedestrian (15) +#define min_val_Vanetza_ITS2_VruSubProfileBicyclist (0) +#define max_val_Vanetza_ITS2_VruSubProfileBicyclist (15) +#define min_val_Vanetza_ITS2_VruSubProfileMotorcyclist (0) +#define max_val_Vanetza_ITS2_VruSubProfileMotorcyclist (15) +#define min_val_Vanetza_ITS2_VruSubProfileAnimal (0) +#define max_val_Vanetza_ITS2_VruSubProfileAnimal (15) +#define min_val_Vanetza_ITS2_VruSizeClass (0) +#define max_val_Vanetza_ITS2_VruSizeClass (15) +#define min_val_Vanetza_ITS2_WheelBaseVehicle (1) +#define max_val_Vanetza_ITS2_WheelBaseVehicle (127) +#define min_val_Vanetza_ITS2_Wgs84AngleConfidence (1) +#define max_val_Vanetza_ITS2_Wgs84AngleConfidence (127) +#define min_val_Vanetza_ITS2_Wgs84AngleValue (0) +#define max_val_Vanetza_ITS2_Wgs84AngleValue (3601) +#define min_val_Vanetza_ITS2_WrongWayDrivingSubCauseCode (0) +#define max_val_Vanetza_ITS2_WrongWayDrivingSubCauseCode (255) +#define min_val_Vanetza_ITS2_YawRateValue (-32766) +#define max_val_Vanetza_ITS2_YawRateValue (32767) +#define Vanetza_ITS2_defaultValidity (600) +#define min_val_Vanetza_ITS2_CpmContainerId (1) +#define max_val_Vanetza_ITS2_CpmContainerId (16) + + +#ifdef __cplusplus +} +#endif + +#endif /* _Vanetza_ITS2_ASN_CONSTANT_H */ diff --git a/vanetza/asn1/security/AaEntry.c b/vanetza/asn1/security/AaEntry.c index 3d79eda21..90834563a 100644 --- a/vanetza/asn1/security/AaEntry.c +++ b/vanetza/asn1/security/AaEntry.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_AaEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_AaEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AaEntry = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_AaEntry_1, diff --git a/vanetza/asn1/security/AesCcmCiphertext.c b/vanetza/asn1/security/AesCcmCiphertext.c index e11da1a82..37d72a6b4 100644 --- a/vanetza/asn1/security/AesCcmCiphertext.c +++ b/vanetza/asn1/security/AesCcmCiphertext.c @@ -58,6 +58,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_AesCcmCiphertext_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_nonce_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_nonce_constraint_1 }, 0, 0, /* No default value */ @@ -75,6 +78,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_AesCcmCiphertext_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +119,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AesCcmCiphertext = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_AesCcmCiphertext_1, diff --git a/vanetza/asn1/security/AuthorizationRequestMessage.c b/vanetza/asn1/security/AuthorizationRequestMessage.c index 1716aa1b5..7c1f86f63 100644 --- a/vanetza/asn1/security/AuthorizationRequestMessage.c +++ b/vanetza/asn1/security/AuthorizationRequestMessage.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationRequestMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_AuthorizationRequestMessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_AuthorizationRequestMessage_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/AuthorizationRequestMessageWithPop.c b/vanetza/asn1/security/AuthorizationRequestMessageWithPop.c index d8e9c6905..25c7ab29f 100644 --- a/vanetza/asn1/security/AuthorizationRequestMessageWithPop.c +++ b/vanetza/asn1/security/AuthorizationRequestMessageWithPop.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationRequestMessageWithPo #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_AuthorizationRequestMessageWithPop_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_AuthorizationRequestMessageWithPop_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/AuthorizationResponseCode.c b/vanetza/asn1/security/AuthorizationResponseCode.c index 619435dce..da6650d6b 100644 --- a/vanetza/asn1/security/AuthorizationResponseCode.c +++ b/vanetza/asn1/security/AuthorizationResponseCode.c @@ -112,6 +112,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationResponseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_AuthorizationResponseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/AuthorizationResponseMessage.c b/vanetza/asn1/security/AuthorizationResponseMessage.c index 9fbedd18e..ba2bba16c 100644 --- a/vanetza/asn1/security/AuthorizationResponseMessage.c +++ b/vanetza/asn1/security/AuthorizationResponseMessage.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationResponseMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_AuthorizationResponseMessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_AuthorizationResponseMessage_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/AuthorizationValidationRequest.c b/vanetza/asn1/security/AuthorizationValidationRequest.c index 8475a21a1..ea0be5df9 100644 --- a/vanetza/asn1/security/AuthorizationValidationRequest.c +++ b/vanetza/asn1/security/AuthorizationValidationRequest.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_AuthorizationValidationRequest_1[] = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_AuthorizationValidationRequest_1[] = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationRequest = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_AuthorizationValidationRequest_1, diff --git a/vanetza/asn1/security/AuthorizationValidationRequestMessage.c b/vanetza/asn1/security/AuthorizationValidationRequestMessage.c index 7337beb1e..71973b536 100644 --- a/vanetza/asn1/security/AuthorizationValidationRequestMessage.c +++ b/vanetza/asn1/security/AuthorizationValidationRequestMessage.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationRequestMes #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_AuthorizationValidationRequestMessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_AuthorizationValidationRequestMessage_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/AuthorizationValidationResponse.c b/vanetza/asn1/security/AuthorizationValidationResponse.c index 3c88e9985..b99f77dbb 100644 --- a/vanetza/asn1/security/AuthorizationValidationResponse.c +++ b/vanetza/asn1/security/AuthorizationValidationResponse.c @@ -101,6 +101,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_AuthorizationValidationResponse_1[] = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_requestHash_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_requestHash_constraint_1 }, 0, 0, /* No default value */ @@ -118,6 +121,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_AuthorizationValidationResponse_1[] = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -135,6 +141,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_AuthorizationValidationResponse_1[] = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_confirmedSubjectAttributes_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_confirmedSubjectAttributes_constraint_1 }, 0, 0, /* No default value */ @@ -176,6 +185,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationResponse = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_AuthorizationValidationResponse_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_AuthorizationValidationResponse_1, diff --git a/vanetza/asn1/security/AuthorizationValidationResponseCode.c b/vanetza/asn1/security/AuthorizationValidationResponseCode.c index cab2c9207..ce7185595 100644 --- a/vanetza/asn1/security/AuthorizationValidationResponseCode.c +++ b/vanetza/asn1/security/AuthorizationValidationResponseCode.c @@ -88,6 +88,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationResponseCo #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_AuthorizationValidationResponseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/AuthorizationValidationResponseMessage.c b/vanetza/asn1/security/AuthorizationValidationResponseMessage.c index 5fd773cfc..1c55ab4f2 100644 --- a/vanetza/asn1/security/AuthorizationValidationResponseMessage.c +++ b/vanetza/asn1/security/AuthorizationValidationResponseMessage.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationResponseMe #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_AuthorizationValidationResponseMessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_AuthorizationValidationResponseMessage_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/BasePublicEncryptionKey.c b/vanetza/asn1/security/BasePublicEncryptionKey.c index d7cd56aa3..da7c9942c 100644 --- a/vanetza/asn1/security/BasePublicEncryptionKey.c +++ b/vanetza/asn1/security/BasePublicEncryptionKey.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_BasePublicEncryptionKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_BasePublicEncryptionKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_BasePublicEncryptionKey = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_BasePublicEncryptionKey_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_BasePublicEncryptionKey_1, diff --git a/vanetza/asn1/security/BitmapSsp.c b/vanetza/asn1/security/BitmapSsp.c index 760377505..1cbf46e55 100644 --- a/vanetza/asn1/security/BitmapSsp.c +++ b/vanetza/asn1/security/BitmapSsp.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_BitmapSsp = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_BitmapSsp_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_BitmapSsp_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/BitmapSspRange.c b/vanetza/asn1/security/BitmapSspRange.c index ba395a845..1c18d9759 100644 --- a/vanetza/asn1/security/BitmapSspRange.c +++ b/vanetza/asn1/security/BitmapSspRange.c @@ -96,6 +96,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_BitmapSspRange_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_sspValue_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_sspValue_constraint_1 }, 0, 0, /* No default value */ @@ -113,6 +116,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_BitmapSspRange_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_sspBitmask_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_sspBitmask_constraint_1 }, 0, 0, /* No default value */ @@ -151,6 +157,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_BitmapSspRange = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_BitmapSspRange_1, diff --git a/vanetza/asn1/security/CaCertificateRekeyingMessage.c b/vanetza/asn1/security/CaCertificateRekeyingMessage.c index 8cc875570..e57cef4db 100644 --- a/vanetza/asn1/security/CaCertificateRekeyingMessage.c +++ b/vanetza/asn1/security/CaCertificateRekeyingMessage.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CaCertificateRekeyingMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CaCertificateRekeyingMessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_CaCertificateRekeyingMessage_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/CaCertificateRequest.c b/vanetza/asn1/security/CaCertificateRequest.c index 9bfc92197..7410ede66 100644 --- a/vanetza/asn1/security/CaCertificateRequest.c +++ b/vanetza/asn1/security/CaCertificateRequest.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CaCertificateRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CaCertificateRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CaCertificateRequest = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_CaCertificateRequest_1, diff --git a/vanetza/asn1/security/CaCertificateRequestMessage.c b/vanetza/asn1/security/CaCertificateRequestMessage.c index 62734a4b7..666618481 100644 --- a/vanetza/asn1/security/CaCertificateRequestMessage.c +++ b/vanetza/asn1/security/CaCertificateRequestMessage.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CaCertificateRequestMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CaCertificateRequestMessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_CaCertificateRequestMessage_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/Certificate.c b/vanetza/asn1/security/Certificate.c index 3737a91ec..6a68ebcb1 100644 --- a/vanetza/asn1/security/Certificate.c +++ b/vanetza/asn1/security/Certificate.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Certificate = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Certificate_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Certificate_constraint }, asn_MBR_Vanetza_Security_CertificateBase_1, diff --git a/vanetza/asn1/security/CertificateBase.c b/vanetza/asn1/security/CertificateBase.c index 9733baf91..6853eb1d1 100644 --- a/vanetza/asn1/security/CertificateBase.c +++ b/vanetza/asn1/security/CertificateBase.c @@ -57,6 +57,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateBase_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_version_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_version_constraint_1 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateBase_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -91,6 +97,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateBase_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -108,6 +117,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateBase_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -125,6 +137,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateBase_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -168,6 +183,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateBase = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_CertificateBase_1, diff --git a/vanetza/asn1/security/CertificateFormat.c b/vanetza/asn1/security/CertificateFormat.c index 14ee81d6f..42946af98 100644 --- a/vanetza/asn1/security/CertificateFormat.c +++ b/vanetza/asn1/security/CertificateFormat.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateFormat = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CertificateFormat_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_CertificateFormat_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/CertificateId.c b/vanetza/asn1/security/CertificateId.c index 12247eed7..d0410ba78 100644 --- a/vanetza/asn1/security/CertificateId.c +++ b/vanetza/asn1/security/CertificateId.c @@ -70,6 +70,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateId_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -87,6 +90,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateId_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -104,6 +110,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateId_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_binaryId_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_binaryId_constraint_1 }, 0, 0, /* No default value */ @@ -121,6 +130,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateId_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -158,6 +170,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateId = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CertificateId_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_CertificateId_1, diff --git a/vanetza/asn1/security/CertificateRevocationListMessage.c b/vanetza/asn1/security/CertificateRevocationListMessage.c index 1aa54d399..11bcd5a54 100644 --- a/vanetza/asn1/security/CertificateRevocationListMessage.c +++ b/vanetza/asn1/security/CertificateRevocationListMessage.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateRevocationListMessage #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CertificateRevocationListMessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_CertificateRevocationListMessage_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/CertificateSubjectAttributes.c b/vanetza/asn1/security/CertificateSubjectAttributes.c index 28610cbd0..c5db2beed 100644 --- a/vanetza/asn1/security/CertificateSubjectAttributes.c +++ b/vanetza/asn1/security/CertificateSubjectAttributes.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateSubjectAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateSubjectAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateSubjectAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateSubjectAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateSubjectAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateSubjectAttributes_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -161,6 +179,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateSubjectAttributes = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CertificateSubjectAttributes_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_CertificateSubjectAttributes_1, diff --git a/vanetza/asn1/security/CertificateType.c b/vanetza/asn1/security/CertificateType.c index cac1cc889..12701d7c1 100644 --- a/vanetza/asn1/security/CertificateType.c +++ b/vanetza/asn1/security/CertificateType.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CertificateType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/CircularRegion.c b/vanetza/asn1/security/CircularRegion.c index dd52d1537..3b2576fde 100644 --- a/vanetza/asn1/security/CircularRegion.c +++ b/vanetza/asn1/security/CircularRegion.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CircularRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CircularRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CircularRegion = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_CircularRegion_1, diff --git a/vanetza/asn1/security/Countersignature.c b/vanetza/asn1/security/Countersignature.c index 4ef1da37f..3f4639edd 100644 --- a/vanetza/asn1/security/Countersignature.c +++ b/vanetza/asn1/security/Countersignature.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Countersignature = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Countersignature_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Countersignature_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/CountryAndRegions.c b/vanetza/asn1/security/CountryAndRegions.c index ba63025e0..be95e6567 100644 --- a/vanetza/asn1/security/CountryAndRegions.c +++ b/vanetza/asn1/security/CountryAndRegions.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CountryAndRegions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CountryAndRegions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CountryAndRegions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_CountryAndRegions_1, diff --git a/vanetza/asn1/security/CountryAndSubregions.c b/vanetza/asn1/security/CountryAndSubregions.c index 82f8695e5..3d6765346 100644 --- a/vanetza/asn1/security/CountryAndSubregions.c +++ b/vanetza/asn1/security/CountryAndSubregions.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CountryAndSubregions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CountryAndSubregions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CountryAndSubregions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_CountryAndSubregions_1, diff --git a/vanetza/asn1/security/CountryOnly.c b/vanetza/asn1/security/CountryOnly.c index 473282447..05cbc2afb 100644 --- a/vanetza/asn1/security/CountryOnly.c +++ b/vanetza/asn1/security/CountryOnly.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CountryOnly = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CountryOnly_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_CountryOnly_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/CrlEntry.c b/vanetza/asn1/security/CrlEntry.c index c1193e5b5..343a85338 100644 --- a/vanetza/asn1/security/CrlEntry.c +++ b/vanetza/asn1/security/CrlEntry.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CrlEntry = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CrlEntry_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_CrlEntry_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/CrlSeries.c b/vanetza/asn1/security/CrlSeries.c index 95dbb73d6..ae94ab7b2 100644 --- a/vanetza/asn1/security/CrlSeries.c +++ b/vanetza/asn1/security/CrlSeries.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CrlSeries = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CrlSeries_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_CrlSeries_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/CtlCommand.c b/vanetza/asn1/security/CtlCommand.c index 0db14ed22..73b2ebe3d 100644 --- a/vanetza/asn1/security/CtlCommand.c +++ b/vanetza/asn1/security/CtlCommand.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlCommand_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlCommand_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CtlCommand = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CtlCommand_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_CtlCommand_1, diff --git a/vanetza/asn1/security/CtlDelete.c b/vanetza/asn1/security/CtlDelete.c index 407f40987..41574a1da 100644 --- a/vanetza/asn1/security/CtlDelete.c +++ b/vanetza/asn1/security/CtlDelete.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlDelete_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlDelete_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CtlDelete = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CtlDelete_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_CtlDelete_1, diff --git a/vanetza/asn1/security/CtlEntry.c b/vanetza/asn1/security/CtlEntry.c index b11349f7d..f2bd31e90 100644 --- a/vanetza/asn1/security/CtlEntry.c +++ b/vanetza/asn1/security/CtlEntry.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -138,6 +153,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CtlEntry = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_CtlEntry_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_CtlEntry_1, diff --git a/vanetza/asn1/security/CtlFormat.c b/vanetza/asn1/security/CtlFormat.c index d2ef417bd..de7a7f1e8 100644 --- a/vanetza/asn1/security/CtlFormat.c +++ b/vanetza/asn1/security/CtlFormat.c @@ -57,6 +57,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_ctlCommands_6[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -90,6 +93,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ctlCommands_6 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_ctlCommands_6, @@ -110,6 +116,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlFormat_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -127,6 +136,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlFormat_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -144,6 +156,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlFormat_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -161,6 +176,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlFormat_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_ctlSequence_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_ctlSequence_constraint_1 }, 0, 0, /* No default value */ @@ -178,6 +196,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlFormat_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -219,6 +240,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CtlFormat = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_CtlFormat_1, diff --git a/vanetza/asn1/security/DcDelete.c b/vanetza/asn1/security/DcDelete.c index 2f8030067..ad8cc7c19 100644 --- a/vanetza/asn1/security/DcDelete.c +++ b/vanetza/asn1/security/DcDelete.c @@ -38,6 +38,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_DcDelete = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IA5String_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/DcEntry.c b/vanetza/asn1/security/DcEntry.c index af3906c36..4f1f566e8 100644 --- a/vanetza/asn1/security/DcEntry.c +++ b/vanetza/asn1/security/DcEntry.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_cert_3[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -53,6 +56,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_cert_3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_cert_3, @@ -73,6 +79,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_DcEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -90,6 +99,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_DcEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -128,6 +140,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_DcEntry = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_DcEntry_1, diff --git a/vanetza/asn1/security/DeltaCtl.c b/vanetza/asn1/security/DeltaCtl.c index c874b01c7..45e1148d6 100644 --- a/vanetza/asn1/security/DeltaCtl.c +++ b/vanetza/asn1/security/DeltaCtl.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_DeltaCtl = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_DeltaCtl_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_DeltaCtl_constraint }, asn_MBR_Vanetza_Security_CtlFormat_1, diff --git a/vanetza/asn1/security/Duration.c b/vanetza/asn1/security/Duration.c index 53f7e8ec2..764963f61 100644 --- a/vanetza/asn1/security/Duration.c +++ b/vanetza/asn1/security/Duration.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Duration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Duration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Duration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Duration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Duration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Duration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -134,6 +152,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Duration_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +195,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Duration = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Duration_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_Duration_1, diff --git a/vanetza/asn1/security/EXTERNAL.c b/vanetza/asn1/security/EXTERNAL.c index 88f7e704d..e1c343796 100644 --- a/vanetza/asn1/security/EXTERNAL.c +++ b/vanetza/asn1/security/EXTERNAL.c @@ -1,7 +1,7 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "ASN1C-UsefulInformationObjectClasses" - * found in "/home/rieblr/opt/asn1c/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" + * found in "/home/raphael/opt/asn1c-18e56503/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R` */ @@ -32,6 +32,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_encoding_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_encoding_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_encoding_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -103,6 +112,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_encoding_5 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_encoding_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_encoding_5, @@ -123,6 +135,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_EXTERNAL_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +155,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_EXTERNAL_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -157,6 +175,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_EXTERNAL_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -174,6 +195,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_EXTERNAL_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -219,6 +243,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EXTERNAL = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_EXTERNAL_1, diff --git a/vanetza/asn1/security/EXTERNAL.h b/vanetza/asn1/security/EXTERNAL.h index 92cc924a7..56b860305 100644 --- a/vanetza/asn1/security/EXTERNAL.h +++ b/vanetza/asn1/security/EXTERNAL.h @@ -1,7 +1,7 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "ASN1C-UsefulInformationObjectClasses" - * found in "/home/rieblr/opt/asn1c/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" + * found in "/home/raphael/opt/asn1c-18e56503/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" * `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R` */ diff --git a/vanetza/asn1/security/EaEntry.c b/vanetza/asn1/security/EaEntry.c index 412852461..dba6d696b 100644 --- a/vanetza/asn1/security/EaEntry.c +++ b/vanetza/asn1/security/EaEntry.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EaEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EaEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EaEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EaEntry = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_EaEntry_1, diff --git a/vanetza/asn1/security/EcSignature.c b/vanetza/asn1/security/EcSignature.c index e27f732a0..7085d116a 100644 --- a/vanetza/asn1/security/EcSignature.c +++ b/vanetza/asn1/security/EcSignature.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EcSignature_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EcSignature_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EcSignature = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EcSignature_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_EcSignature_1, diff --git a/vanetza/asn1/security/EccP256CurvePoint.c b/vanetza/asn1/security/EccP256CurvePoint.c index 93ae9e150..a0e41e682 100644 --- a/vanetza/asn1/security/EccP256CurvePoint.c +++ b/vanetza/asn1/security/EccP256CurvePoint.c @@ -222,6 +222,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_uncompressedP256_6[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_x_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_x_constraint_6 }, 0, 0, /* No default value */ @@ -239,6 +242,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_uncompressedP256_6[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_y_constr_8, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_y_constraint_6 }, 0, 0, /* No default value */ @@ -279,6 +285,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_uncompressedP256_6 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_uncompressedP256_6, @@ -299,6 +308,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP256CurvePoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_x_only_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_x_only_constraint_1 }, 0, 0, /* No default value */ @@ -316,6 +328,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP256CurvePoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -333,6 +348,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP256CurvePoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_compressed_y_0_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_compressed_y_0_constraint_1 }, 0, 0, /* No default value */ @@ -350,6 +368,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP256CurvePoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_compressed_y_1_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_compressed_y_1_constraint_1 }, 0, 0, /* No default value */ @@ -367,6 +388,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP256CurvePoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -405,6 +429,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EccP256CurvePoint = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EccP256CurvePoint_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_EccP256CurvePoint_1, diff --git a/vanetza/asn1/security/EccP384CurvePoint.c b/vanetza/asn1/security/EccP384CurvePoint.c index 7d378ff77..6f372c9ab 100644 --- a/vanetza/asn1/security/EccP384CurvePoint.c +++ b/vanetza/asn1/security/EccP384CurvePoint.c @@ -222,6 +222,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_uncompressedP384_6[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_x_constr_7, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_x_constraint_6 }, 0, 0, /* No default value */ @@ -239,6 +242,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_uncompressedP384_6[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_y_constr_8, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_y_constraint_6 }, 0, 0, /* No default value */ @@ -279,6 +285,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_uncompressedP384_6 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_uncompressedP384_6, @@ -299,6 +308,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP384CurvePoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_x_only_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_x_only_constraint_1 }, 0, 0, /* No default value */ @@ -316,6 +328,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP384CurvePoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -333,6 +348,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP384CurvePoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_compressed_y_0_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_compressed_y_0_constraint_1 }, 0, 0, /* No default value */ @@ -350,6 +368,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP384CurvePoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_compressed_y_1_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_compressed_y_1_constraint_1 }, 0, 0, /* No default value */ @@ -367,6 +388,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP384CurvePoint_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -405,6 +429,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EccP384CurvePoint = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EccP384CurvePoint_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_EccP384CurvePoint_1, diff --git a/vanetza/asn1/security/EcdsaP256Signature.c b/vanetza/asn1/security/EcdsaP256Signature.c index 5194e7b65..b6a281400 100644 --- a/vanetza/asn1/security/EcdsaP256Signature.c +++ b/vanetza/asn1/security/EcdsaP256Signature.c @@ -58,6 +58,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EcdsaP256Signature_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +78,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EcdsaP256Signature_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_sSig_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_sSig_constraint_1 }, 0, 0, /* No default value */ @@ -113,6 +119,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EcdsaP256Signature = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_EcdsaP256Signature_1, diff --git a/vanetza/asn1/security/EcdsaP384Signature.c b/vanetza/asn1/security/EcdsaP384Signature.c index 030900b93..f8f663bfd 100644 --- a/vanetza/asn1/security/EcdsaP384Signature.c +++ b/vanetza/asn1/security/EcdsaP384Signature.c @@ -58,6 +58,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EcdsaP384Signature_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +78,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EcdsaP384Signature_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_sSig_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_sSig_constraint_1 }, 0, 0, /* No default value */ @@ -113,6 +119,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EcdsaP384Signature = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_EcdsaP384Signature_1, diff --git a/vanetza/asn1/security/EciesP256EncryptedKey.c b/vanetza/asn1/security/EciesP256EncryptedKey.c index b762204d4..bc93d9173 100644 --- a/vanetza/asn1/security/EciesP256EncryptedKey.c +++ b/vanetza/asn1/security/EciesP256EncryptedKey.c @@ -96,6 +96,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EciesP256EncryptedKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -113,6 +116,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EciesP256EncryptedKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_c_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_c_constraint_1 }, 0, 0, /* No default value */ @@ -130,6 +136,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EciesP256EncryptedKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_t_constr_4, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_t_constraint_1 }, 0, 0, /* No default value */ @@ -169,6 +178,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EciesP256EncryptedKey = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_EciesP256EncryptedKey_1, diff --git a/vanetza/asn1/security/ElevInt.c b/vanetza/asn1/security/ElevInt.c index 8628c026e..e95ee1162 100644 --- a/vanetza/asn1/security/ElevInt.c +++ b/vanetza/asn1/security/ElevInt.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ElevInt = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_ElevInt_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_ElevInt_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/Elevation.c b/vanetza/asn1/security/Elevation.c index 3de106f4e..675d128f8 100644 --- a/vanetza/asn1/security/Elevation.c +++ b/vanetza/asn1/security/Elevation.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Elevation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Elevation_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Elevation_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/EncryptedData.c b/vanetza/asn1/security/EncryptedData.c index 3cb065ed3..f286ab13c 100644 --- a/vanetza/asn1/security/EncryptedData.c +++ b/vanetza/asn1/security/EncryptedData.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EncryptedData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EncryptedData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EncryptedData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_EncryptedData_1, diff --git a/vanetza/asn1/security/EncryptedDataEncryptionKey.c b/vanetza/asn1/security/EncryptedDataEncryptionKey.c index 0fb8ec7cc..8a53cc721 100644 --- a/vanetza/asn1/security/EncryptedDataEncryptionKey.c +++ b/vanetza/asn1/security/EncryptedDataEncryptionKey.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EncryptedDataEncryptionKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EncryptedDataEncryptionKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EncryptedDataEncryptionKey = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EncryptedDataEncryptionKey_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_EncryptedDataEncryptionKey_1, diff --git a/vanetza/asn1/security/EncryptionKey.c b/vanetza/asn1/security/EncryptionKey.c index 1654e854e..7a59bd2fd 100644 --- a/vanetza/asn1/security/EncryptionKey.c +++ b/vanetza/asn1/security/EncryptionKey.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EncryptionKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EncryptionKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EncryptionKey = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EncryptionKey_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_EncryptionKey_1, diff --git a/vanetza/asn1/security/EndEntityType.c b/vanetza/asn1/security/EndEntityType.c index c1971da7d..ab2dec395 100644 --- a/vanetza/asn1/security/EndEntityType.c +++ b/vanetza/asn1/security/EndEntityType.c @@ -54,6 +54,10 @@ asn_per_constraints_t asn_PER_type_Vanetza_Security_EndEntityType_constr_1 CC_NO 0, 0 /* No PER value map */ }; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) +static asn_jer_constraints_t asn_JER_type_Vanetza_Security_EndEntityType_constr_1 CC_NOTUSED = { + 8}; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EndEntityType_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) }; @@ -74,6 +78,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EndEntityType = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EndEntityType_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + &asn_JER_type_Vanetza_Security_EndEntityType_constr_1, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EndEntityType_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/EnrolmentRequestMessage.c b/vanetza/asn1/security/EnrolmentRequestMessage.c index 515af5f25..b0d3f77bd 100644 --- a/vanetza/asn1/security/EnrolmentRequestMessage.c +++ b/vanetza/asn1/security/EnrolmentRequestMessage.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EnrolmentRequestMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EnrolmentRequestMessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EnrolmentRequestMessage_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/EnrolmentResponseCode.c b/vanetza/asn1/security/EnrolmentResponseCode.c index 62b8b25b0..bf7532d38 100644 --- a/vanetza/asn1/security/EnrolmentResponseCode.c +++ b/vanetza/asn1/security/EnrolmentResponseCode.c @@ -86,6 +86,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EnrolmentResponseCode = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EnrolmentResponseCode_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/EnrolmentResponseMessage.c b/vanetza/asn1/security/EnrolmentResponseMessage.c index 43cecae9c..f2e07221c 100644 --- a/vanetza/asn1/security/EnrolmentResponseMessage.c +++ b/vanetza/asn1/security/EnrolmentResponseMessage.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EnrolmentResponseMessage = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EnrolmentResponseMessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EnrolmentResponseMessage_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/EtsiTs102941Data.c b/vanetza/asn1/security/EtsiTs102941Data.c index b8a03e712..6b35b6294 100644 --- a/vanetza/asn1/security/EtsiTs102941Data.c +++ b/vanetza/asn1/security/EtsiTs102941Data.c @@ -57,6 +57,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941Data_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_version_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_version_constraint_1 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941Data_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -112,6 +118,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs102941Data = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_EtsiTs102941Data_1, diff --git a/vanetza/asn1/security/EtsiTs102941DataContent.c b/vanetza/asn1/security/EtsiTs102941DataContent.c index 6a1895d3e..cf4d4be27 100644 --- a/vanetza/asn1/security/EtsiTs102941DataContent.c +++ b/vanetza/asn1/security/EtsiTs102941DataContent.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941DataContent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941DataContent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941DataContent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941DataContent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941DataContent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941DataContent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -134,6 +152,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941DataContent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -151,6 +172,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941DataContent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -168,6 +192,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941DataContent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -185,6 +212,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941DataContent_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -228,6 +258,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs102941DataContent = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs102941DataContent_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_EtsiTs102941DataContent_1, diff --git a/vanetza/asn1/security/EtsiTs103097Certificate.c b/vanetza/asn1/security/EtsiTs103097Certificate.c index 828ee5a8c..98dd872b6 100644 --- a/vanetza/asn1/security/EtsiTs103097Certificate.c +++ b/vanetza/asn1/security/EtsiTs103097Certificate.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Certificate = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs103097Certificate_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EtsiTs103097Certificate_constraint }, asn_MBR_Vanetza_Security_CertificateBase_1, diff --git a/vanetza/asn1/security/EtsiTs103097Data-Encrypted-Unicast.c b/vanetza/asn1/security/EtsiTs103097Data-Encrypted-Unicast.c index abc7fe9db..fd1754ff9 100644 --- a/vanetza/asn1/security/EtsiTs103097Data-Encrypted-Unicast.c +++ b/vanetza/asn1/security/EtsiTs103097Data-Encrypted-Unicast.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data_Encrypted_Unicas #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs103097Data_Encrypted_Unicast_55P0_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EtsiTs103097Data_Encrypted_Unicast_55P0_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/EtsiTs103097Data-Encrypted.c b/vanetza/asn1/security/EtsiTs103097Data-Encrypted.c index ade4eafa0..bd31ab5a8 100644 --- a/vanetza/asn1/security/EtsiTs103097Data-Encrypted.c +++ b/vanetza/asn1/security/EtsiTs103097Data-Encrypted.c @@ -132,6 +132,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data_Encrypted_85P0 = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs103097Data_Encrypted_85P0_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EtsiTs103097Data_Encrypted_85P0_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, @@ -159,6 +162,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data_Encrypted_85P1 = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs103097Data_Encrypted_85P1_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EtsiTs103097Data_Encrypted_85P1_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, @@ -186,6 +192,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data_Encrypted_85P2 = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs103097Data_Encrypted_85P2_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EtsiTs103097Data_Encrypted_85P2_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/EtsiTs103097Data-Signed.c b/vanetza/asn1/security/EtsiTs103097Data-Signed.c index 50cf00f33..beb87bdd0 100644 --- a/vanetza/asn1/security/EtsiTs103097Data-Signed.c +++ b/vanetza/asn1/security/EtsiTs103097Data-Signed.c @@ -132,6 +132,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data_Signed_55P0 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs103097Data_Signed_55P0_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EtsiTs103097Data_Signed_55P0_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, @@ -159,6 +162,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data_Signed_55P1 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs103097Data_Signed_55P1_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EtsiTs103097Data_Signed_55P1_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, @@ -186,6 +192,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data_Signed_55P2 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs103097Data_Signed_55P2_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EtsiTs103097Data_Signed_55P2_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/EtsiTs103097Data-SignedAndEncrypted-Unicast.c b/vanetza/asn1/security/EtsiTs103097Data-SignedAndEncrypted-Unicast.c index 97fbf8557..11d6ae73b 100644 --- a/vanetza/asn1/security/EtsiTs103097Data-SignedAndEncrypted-Unicast.c +++ b/vanetza/asn1/security/EtsiTs103097Data-SignedAndEncrypted-Unicast.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data_SignedAndEncrypt #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_64P0_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_64P0_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/EtsiTs103097Data-SignedExternalPayload.c b/vanetza/asn1/security/EtsiTs103097Data-SignedExternalPayload.c index a4115c052..f483bbf4d 100644 --- a/vanetza/asn1/security/EtsiTs103097Data-SignedExternalPayload.c +++ b/vanetza/asn1/security/EtsiTs103097Data-SignedExternalPayload.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data_SignedExternalPa #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/EtsiTs103097Data.c b/vanetza/asn1/security/EtsiTs103097Data.c index b402c3e7a..4b293ab3c 100644 --- a/vanetza/asn1/security/EtsiTs103097Data.c +++ b/vanetza/asn1/security/EtsiTs103097Data.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_EtsiTs103097Data_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_EtsiTs103097Data_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/ExplicitCertificate.c b/vanetza/asn1/security/ExplicitCertificate.c index cadb8384e..eb39dc5ad 100644 --- a/vanetza/asn1/security/ExplicitCertificate.c +++ b/vanetza/asn1/security/ExplicitCertificate.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ExplicitCertificate = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_ExplicitCertificate_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_ExplicitCertificate_constraint }, asn_MBR_Vanetza_Security_CertificateBase_1, diff --git a/vanetza/asn1/security/FullCtl.c b/vanetza/asn1/security/FullCtl.c index 5ee99124b..df432e41b 100644 --- a/vanetza/asn1/security/FullCtl.c +++ b/vanetza/asn1/security/FullCtl.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_FullCtl = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_FullCtl_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_FullCtl_constraint }, asn_MBR_Vanetza_Security_CtlFormat_1, diff --git a/vanetza/asn1/security/GeographicRegion.c b/vanetza/asn1/security/GeographicRegion.c index 8f26027a9..ab0ff70c8 100644 --- a/vanetza/asn1/security/GeographicRegion.c +++ b/vanetza/asn1/security/GeographicRegion.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_GeographicRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_GeographicRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_GeographicRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_GeographicRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -120,6 +132,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_GeographicRegion = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_GeographicRegion_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_GeographicRegion_1, diff --git a/vanetza/asn1/security/GroupLinkageValue.c b/vanetza/asn1/security/GroupLinkageValue.c index 212001a6c..790f811d4 100644 --- a/vanetza/asn1/security/GroupLinkageValue.c +++ b/vanetza/asn1/security/GroupLinkageValue.c @@ -96,6 +96,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_GroupLinkageValue_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_jValue_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_jValue_constraint_1 }, 0, 0, /* No default value */ @@ -113,6 +116,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_GroupLinkageValue_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_value_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_value_constraint_1 }, 0, 0, /* No default value */ @@ -151,6 +157,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_GroupLinkageValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_GroupLinkageValue_1, diff --git a/vanetza/asn1/security/HashAlgorithm.c b/vanetza/asn1/security/HashAlgorithm.c index a748a1093..c9aaded7e 100644 --- a/vanetza/asn1/security/HashAlgorithm.c +++ b/vanetza/asn1/security/HashAlgorithm.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_HashAlgorithm = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_HashAlgorithm_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/HashedData.c b/vanetza/asn1/security/HashedData.c index b3e4b8adc..350e8752b 100644 --- a/vanetza/asn1/security/HashedData.c +++ b/vanetza/asn1/security/HashedData.c @@ -70,6 +70,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_HashedData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_sha256HashedData_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_sha256HashedData_constraint_1 }, 0, 0, /* No default value */ @@ -104,6 +107,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_HashedData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_HashedData_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_HashedData_1, diff --git a/vanetza/asn1/security/HashedId10.c b/vanetza/asn1/security/HashedId10.c index 4f5353079..c5bb5abe5 100644 --- a/vanetza/asn1/security/HashedId10.c +++ b/vanetza/asn1/security/HashedId10.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_HashedId10 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_HashedId10_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_HashedId10_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/HashedId3.c b/vanetza/asn1/security/HashedId3.c index aca3d6f58..eda807604 100644 --- a/vanetza/asn1/security/HashedId3.c +++ b/vanetza/asn1/security/HashedId3.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_HashedId3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_HashedId3_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_HashedId3_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/HashedId8.c b/vanetza/asn1/security/HashedId8.c index d401b33b5..259ff1034 100644 --- a/vanetza/asn1/security/HashedId8.c +++ b/vanetza/asn1/security/HashedId8.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_HashedId8 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_HashedId8_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_HashedId8_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/HeaderInfo.c b/vanetza/asn1/security/HeaderInfo.c index 835b297f8..347abb64a 100644 --- a/vanetza/asn1/security/HeaderInfo.c +++ b/vanetza/asn1/security/HeaderInfo.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_HeaderInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_HeaderInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_HeaderInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_HeaderInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -88,6 +100,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_HeaderInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -105,6 +120,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_HeaderInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -122,6 +140,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_HeaderInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -139,6 +160,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_HeaderInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -156,6 +180,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_HeaderInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -203,6 +230,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_HeaderInfo = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_HeaderInfo_1, diff --git a/vanetza/asn1/security/Hostname.c b/vanetza/asn1/security/Hostname.c index f06aeb362..dfe28e34f 100644 --- a/vanetza/asn1/security/Hostname.c +++ b/vanetza/asn1/security/Hostname.c @@ -75,6 +75,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Hostname = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Hostname_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Hostname_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/IValue.c b/vanetza/asn1/security/IValue.c index ae670646d..d43981f84 100644 --- a/vanetza/asn1/security/IValue.c +++ b/vanetza/asn1/security/IValue.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_IValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_IValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_IValue_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/IdentifiedRegion.c b/vanetza/asn1/security/IdentifiedRegion.c index 2eb62f73c..b47cbbe40 100644 --- a/vanetza/asn1/security/IdentifiedRegion.c +++ b/vanetza/asn1/security/IdentifiedRegion.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_IdentifiedRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_IdentifiedRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_IdentifiedRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -102,6 +111,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_IdentifiedRegion = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_IdentifiedRegion_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_IdentifiedRegion_1, diff --git a/vanetza/asn1/security/Ieee1609Dot2Content.c b/vanetza/asn1/security/Ieee1609Dot2Content.c index 65e49ab45..9950b6551 100644 --- a/vanetza/asn1/security/Ieee1609Dot2Content.c +++ b/vanetza/asn1/security/Ieee1609Dot2Content.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Ieee1609Dot2Content_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Ieee1609Dot2Content_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Ieee1609Dot2Content_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Ieee1609Dot2Content_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -120,6 +132,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Ieee1609Dot2Content = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Ieee1609Dot2Content_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Content_1, diff --git a/vanetza/asn1/security/Ieee1609Dot2Data.c b/vanetza/asn1/security/Ieee1609Dot2Data.c index d3e90fe97..6a389334f 100644 --- a/vanetza/asn1/security/Ieee1609Dot2Data.c +++ b/vanetza/asn1/security/Ieee1609Dot2Data.c @@ -57,6 +57,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_protocolVersion_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_protocolVersion_constraint_1 }, 0, 0, /* No default value */ @@ -74,6 +77,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -112,6 +118,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Ieee1609Dot2Data = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/ImplicitCertificate.c b/vanetza/asn1/security/ImplicitCertificate.c index 7a40c5560..3b34f10b4 100644 --- a/vanetza/asn1/security/ImplicitCertificate.c +++ b/vanetza/asn1/security/ImplicitCertificate.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ImplicitCertificate = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_ImplicitCertificate_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_ImplicitCertificate_constraint }, asn_MBR_Vanetza_Security_CertificateBase_1, diff --git a/vanetza/asn1/security/InnerAtRequest.c b/vanetza/asn1/security/InnerAtRequest.c index 6c1957d59..6edd5ff6f 100644 --- a/vanetza/asn1/security/InnerAtRequest.c +++ b/vanetza/asn1/security/InnerAtRequest.c @@ -58,6 +58,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerAtRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +78,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerAtRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_hmacKey_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_hmacKey_constraint_1 }, 0, 0, /* No default value */ @@ -92,6 +98,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerAtRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -109,6 +118,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerAtRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -149,6 +161,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_InnerAtRequest = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_InnerAtRequest_1, diff --git a/vanetza/asn1/security/InnerAtResponse.c b/vanetza/asn1/security/InnerAtResponse.c index 89605f0c3..409dcb51e 100644 --- a/vanetza/asn1/security/InnerAtResponse.c +++ b/vanetza/asn1/security/InnerAtResponse.c @@ -70,6 +70,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerAtResponse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_requestHash_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_requestHash_constraint_1 }, 0, 0, /* No default value */ @@ -87,6 +90,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerAtResponse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -104,6 +110,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerAtResponse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -145,6 +154,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_InnerAtResponse = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_InnerAtResponse_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_InnerAtResponse_1, diff --git a/vanetza/asn1/security/InnerEcRequest.c b/vanetza/asn1/security/InnerEcRequest.c index 72cd8bafd..920575f22 100644 --- a/vanetza/asn1/security/InnerEcRequest.c +++ b/vanetza/asn1/security/InnerEcRequest.c @@ -51,6 +51,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerEcRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -68,6 +71,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerEcRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -85,6 +91,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerEcRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -102,6 +111,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerEcRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_requestedSubjectAttributes_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_requestedSubjectAttributes_constraint_1 }, 0, 0, /* No default value */ @@ -142,6 +154,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_InnerEcRequest = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_InnerEcRequest_1, diff --git a/vanetza/asn1/security/InnerEcRequestSignedForPop.c b/vanetza/asn1/security/InnerEcRequestSignedForPop.c index e7804112d..d98132cb7 100644 --- a/vanetza/asn1/security/InnerEcRequestSignedForPop.c +++ b/vanetza/asn1/security/InnerEcRequestSignedForPop.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_InnerEcRequestSignedForPop = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_InnerEcRequestSignedForPop_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_InnerEcRequestSignedForPop_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/InnerEcResponse.c b/vanetza/asn1/security/InnerEcResponse.c index 369176007..91dc569db 100644 --- a/vanetza/asn1/security/InnerEcResponse.c +++ b/vanetza/asn1/security/InnerEcResponse.c @@ -70,6 +70,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerEcResponse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_requestHash_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_requestHash_constraint_1 }, 0, 0, /* No default value */ @@ -87,6 +90,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerEcResponse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -104,6 +110,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_InnerEcResponse_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -145,6 +154,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_InnerEcResponse = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_InnerEcResponse_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_InnerEcResponse_1, diff --git a/vanetza/asn1/security/IssuerIdentifier.c b/vanetza/asn1/security/IssuerIdentifier.c index f84ec23f9..e338213f5 100644 --- a/vanetza/asn1/security/IssuerIdentifier.c +++ b/vanetza/asn1/security/IssuerIdentifier.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_IssuerIdentifier_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_IssuerIdentifier_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_IssuerIdentifier_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -102,6 +111,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_IssuerIdentifier = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_IssuerIdentifier_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_IssuerIdentifier_1, diff --git a/vanetza/asn1/security/KnownLatitude.c b/vanetza/asn1/security/KnownLatitude.c index 6c0691701..13dcd5993 100644 --- a/vanetza/asn1/security/KnownLatitude.c +++ b/vanetza/asn1/security/KnownLatitude.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_KnownLatitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_KnownLatitude_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_KnownLatitude_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/KnownLongitude.c b/vanetza/asn1/security/KnownLongitude.c index e4da24eb4..82abe3f24 100644 --- a/vanetza/asn1/security/KnownLongitude.c +++ b/vanetza/asn1/security/KnownLongitude.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_KnownLongitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_KnownLongitude_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_KnownLongitude_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/LaId.c b/vanetza/asn1/security/LaId.c index 9d87c6f63..ebe64921e 100644 --- a/vanetza/asn1/security/LaId.c +++ b/vanetza/asn1/security/LaId.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_LaId = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_LaId_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_LaId_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/Latitude.c b/vanetza/asn1/security/Latitude.c index fc0e2a93f..151be4095 100644 --- a/vanetza/asn1/security/Latitude.c +++ b/vanetza/asn1/security/Latitude.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Latitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Latitude_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Latitude_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/LinkageData.c b/vanetza/asn1/security/LinkageData.c index 2a0719078..eab33d0a4 100644 --- a/vanetza/asn1/security/LinkageData.c +++ b/vanetza/asn1/security/LinkageData.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_LinkageData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_LinkageData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_LinkageData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_LinkageData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_LinkageData_1, diff --git a/vanetza/asn1/security/LinkageSeed.c b/vanetza/asn1/security/LinkageSeed.c index 57c34ffa4..b32d01cfb 100644 --- a/vanetza/asn1/security/LinkageSeed.c +++ b/vanetza/asn1/security/LinkageSeed.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_LinkageSeed = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_LinkageSeed_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_LinkageSeed_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/LinkageValue.c b/vanetza/asn1/security/LinkageValue.c index d4ba26131..98bc2005b 100644 --- a/vanetza/asn1/security/LinkageValue.c +++ b/vanetza/asn1/security/LinkageValue.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_LinkageValue = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_LinkageValue_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_LinkageValue_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/Longitude.c b/vanetza/asn1/security/Longitude.c index eb436c743..b07f1a09e 100644 --- a/vanetza/asn1/security/Longitude.c +++ b/vanetza/asn1/security/Longitude.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Longitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Longitude_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Longitude_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/MissingCrlIdentifier.c b/vanetza/asn1/security/MissingCrlIdentifier.c index b4ef0b21f..3544de7d3 100644 --- a/vanetza/asn1/security/MissingCrlIdentifier.c +++ b/vanetza/asn1/security/MissingCrlIdentifier.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_MissingCrlIdentifier_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_MissingCrlIdentifier_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_MissingCrlIdentifier = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_MissingCrlIdentifier_1, diff --git a/vanetza/asn1/security/NinetyDegreeInt.c b/vanetza/asn1/security/NinetyDegreeInt.c index 82c29abba..8aa6880cc 100644 --- a/vanetza/asn1/security/NinetyDegreeInt.c +++ b/vanetza/asn1/security/NinetyDegreeInt.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_NinetyDegreeInt = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_NinetyDegreeInt_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_NinetyDegreeInt_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/OneEightyDegreeInt.c b/vanetza/asn1/security/OneEightyDegreeInt.c index 34cfda0c8..e10a03066 100644 --- a/vanetza/asn1/security/OneEightyDegreeInt.c +++ b/vanetza/asn1/security/OneEightyDegreeInt.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_OneEightyDegreeInt = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_OneEightyDegreeInt_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_OneEightyDegreeInt_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/Opaque.c b/vanetza/asn1/security/Opaque.c index 348bcf9cf..501791461 100644 --- a/vanetza/asn1/security/Opaque.c +++ b/vanetza/asn1/security/Opaque.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Opaque = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OCTET_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/PKRecipientInfo.c b/vanetza/asn1/security/PKRecipientInfo.c index 031fac40d..d76403969 100644 --- a/vanetza/asn1/security/PKRecipientInfo.c +++ b/vanetza/asn1/security/PKRecipientInfo.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PKRecipientInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PKRecipientInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_PKRecipientInfo = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_PKRecipientInfo_1, diff --git a/vanetza/asn1/security/PolygonalRegion.c b/vanetza/asn1/security/PolygonalRegion.c index 5c696a257..11d62884f 100644 --- a/vanetza/asn1/security/PolygonalRegion.c +++ b/vanetza/asn1/security/PolygonalRegion.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PolygonalRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -63,6 +66,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_PolygonalRegion = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_PolygonalRegion_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_PolygonalRegion_1, diff --git a/vanetza/asn1/security/PreSharedKeyRecipientInfo.c b/vanetza/asn1/security/PreSharedKeyRecipientInfo.c index 7b8fafa96..c648ae9a2 100644 --- a/vanetza/asn1/security/PreSharedKeyRecipientInfo.c +++ b/vanetza/asn1/security/PreSharedKeyRecipientInfo.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_PreSharedKeyRecipientInfo = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_PreSharedKeyRecipientInfo_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_PreSharedKeyRecipientInfo_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/Psid.c b/vanetza/asn1/security/Psid.c index 70c2d1c08..79e512e20 100644 --- a/vanetza/asn1/security/Psid.c +++ b/vanetza/asn1/security/Psid.c @@ -70,6 +70,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Psid = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Psid_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Psid_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/PsidGroupPermissions.c b/vanetza/asn1/security/PsidGroupPermissions.c index ec690ec26..4b280cfbd 100644 --- a/vanetza/asn1/security/PsidGroupPermissions.c +++ b/vanetza/asn1/security/PsidGroupPermissions.c @@ -97,6 +97,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PsidGroupPermissions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -114,6 +117,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PsidGroupPermissions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_3_cmp_1, /* Compare DEFAULT 1 */ @@ -132,6 +138,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PsidGroupPermissions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_4_cmp_0, /* Compare DEFAULT 0 */ @@ -150,6 +159,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PsidGroupPermissions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, &asn_DFL_5_cmp, /* Compare DEFAULT "" */ @@ -193,6 +205,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_PsidGroupPermissions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_PsidGroupPermissions_1, diff --git a/vanetza/asn1/security/PsidSsp.c b/vanetza/asn1/security/PsidSsp.c index fbe0226cf..9cdb376b0 100644 --- a/vanetza/asn1/security/PsidSsp.c +++ b/vanetza/asn1/security/PsidSsp.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PsidSsp_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PsidSsp_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_PsidSsp = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_PsidSsp_1, diff --git a/vanetza/asn1/security/PsidSspRange.c b/vanetza/asn1/security/PsidSspRange.c index 5f5b19345..61072b6af 100644 --- a/vanetza/asn1/security/PsidSspRange.c +++ b/vanetza/asn1/security/PsidSspRange.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PsidSspRange_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PsidSspRange_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_PsidSspRange = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_PsidSspRange_1, diff --git a/vanetza/asn1/security/PublicEncryptionKey.c b/vanetza/asn1/security/PublicEncryptionKey.c index 8a21715ae..c7038b75a 100644 --- a/vanetza/asn1/security/PublicEncryptionKey.c +++ b/vanetza/asn1/security/PublicEncryptionKey.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PublicEncryptionKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PublicEncryptionKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_PublicEncryptionKey = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_PublicEncryptionKey_1, diff --git a/vanetza/asn1/security/PublicKeys.c b/vanetza/asn1/security/PublicKeys.c index a4da6e7b2..6f3f6689a 100644 --- a/vanetza/asn1/security/PublicKeys.c +++ b/vanetza/asn1/security/PublicKeys.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PublicKeys_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PublicKeys_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_PublicKeys = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_PublicKeys_1, diff --git a/vanetza/asn1/security/PublicVerificationKey.c b/vanetza/asn1/security/PublicVerificationKey.c index 6b073ece3..2ff4a4045 100644 --- a/vanetza/asn1/security/PublicVerificationKey.c +++ b/vanetza/asn1/security/PublicVerificationKey.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PublicVerificationKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PublicVerificationKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_PublicVerificationKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -102,6 +111,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_PublicVerificationKey = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_PublicVerificationKey_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_PublicVerificationKey_1, diff --git a/vanetza/asn1/security/RcaCertificateTrustListMessage.c b/vanetza/asn1/security/RcaCertificateTrustListMessage.c index 078ce4209..f4b06bbf2 100644 --- a/vanetza/asn1/security/RcaCertificateTrustListMessage.c +++ b/vanetza/asn1/security/RcaCertificateTrustListMessage.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_RcaCertificateTrustListMessage = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_RcaCertificateTrustListMessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_RcaCertificateTrustListMessage_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/RecipientInfo.c b/vanetza/asn1/security/RecipientInfo.c index 1784f9e5e..a073ba475 100644 --- a/vanetza/asn1/security/RecipientInfo.c +++ b/vanetza/asn1/security/RecipientInfo.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_RecipientInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_RecipientInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_RecipientInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_RecipientInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_RecipientInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -138,6 +153,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_RecipientInfo = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_RecipientInfo_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_RecipientInfo_1, diff --git a/vanetza/asn1/security/RectangularRegion.c b/vanetza/asn1/security/RectangularRegion.c index b4f0b2c12..e7efeb9be 100644 --- a/vanetza/asn1/security/RectangularRegion.c +++ b/vanetza/asn1/security/RectangularRegion.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_RectangularRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_RectangularRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_RectangularRegion = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_RectangularRegion_1, diff --git a/vanetza/asn1/security/RegionAndSubregions.c b/vanetza/asn1/security/RegionAndSubregions.c index 176ec5c8a..83a90243d 100644 --- a/vanetza/asn1/security/RegionAndSubregions.c +++ b/vanetza/asn1/security/RegionAndSubregions.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_RegionAndSubregions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_RegionAndSubregions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_RegionAndSubregions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_RegionAndSubregions_1, diff --git a/vanetza/asn1/security/RootCaEntry.c b/vanetza/asn1/security/RootCaEntry.c index 978e33841..5d93a06cd 100644 --- a/vanetza/asn1/security/RootCaEntry.c +++ b/vanetza/asn1/security/RootCaEntry.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_RootCaEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_RootCaEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -77,6 +83,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_RootCaEntry = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_RootCaEntry_1, diff --git a/vanetza/asn1/security/SequenceOfCertificate.c b/vanetza/asn1/security/SequenceOfCertificate.c index 3406dfac6..e8c4bd3f4 100644 --- a/vanetza/asn1/security/SequenceOfCertificate.c +++ b/vanetza/asn1/security/SequenceOfCertificate.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfCertificate = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfCertificate_1, diff --git a/vanetza/asn1/security/SequenceOfHashedId3.c b/vanetza/asn1/security/SequenceOfHashedId3.c index d3de73265..8219dafc9 100644 --- a/vanetza/asn1/security/SequenceOfHashedId3.c +++ b/vanetza/asn1/security/SequenceOfHashedId3.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfHashedId3_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfHashedId3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfHashedId3_1, diff --git a/vanetza/asn1/security/SequenceOfIdentifiedRegion.c b/vanetza/asn1/security/SequenceOfIdentifiedRegion.c index 3d2b7b95f..dbb6a5c7d 100644 --- a/vanetza/asn1/security/SequenceOfIdentifiedRegion.c +++ b/vanetza/asn1/security/SequenceOfIdentifiedRegion.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfIdentifiedRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfIdentifiedRegion = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfIdentifiedRegion_1, diff --git a/vanetza/asn1/security/SequenceOfOctetString.c b/vanetza/asn1/security/SequenceOfOctetString.c index 34149ae8a..b1d6efbd5 100644 --- a/vanetza/asn1/security/SequenceOfOctetString.c +++ b/vanetza/asn1/security/SequenceOfOctetString.c @@ -65,6 +65,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfOctetString_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_Member_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_OCTET_STRING_constraint_1 }, 0, 0, /* No default value */ @@ -96,6 +99,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfOctetString = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_SequenceOfOctetString_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfOctetString_1, diff --git a/vanetza/asn1/security/SequenceOfPsid.c b/vanetza/asn1/security/SequenceOfPsid.c index 774f9f95d..87a6fd42e 100644 --- a/vanetza/asn1/security/SequenceOfPsid.c +++ b/vanetza/asn1/security/SequenceOfPsid.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfPsid_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfPsid = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfPsid_1, diff --git a/vanetza/asn1/security/SequenceOfPsidGroupPermissions.c b/vanetza/asn1/security/SequenceOfPsidGroupPermissions.c index b9c2407a1..07efe4007 100644 --- a/vanetza/asn1/security/SequenceOfPsidGroupPermissions.c +++ b/vanetza/asn1/security/SequenceOfPsidGroupPermissions.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfPsidGroupPermissions_1[] = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfPsidGroupPermissions = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfPsidGroupPermissions_1, diff --git a/vanetza/asn1/security/SequenceOfPsidSsp.c b/vanetza/asn1/security/SequenceOfPsidSsp.c index 2c4478c88..d098c4501 100644 --- a/vanetza/asn1/security/SequenceOfPsidSsp.c +++ b/vanetza/asn1/security/SequenceOfPsidSsp.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfPsidSsp_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfPsidSsp = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfPsidSsp_1, diff --git a/vanetza/asn1/security/SequenceOfPsidSspRange.c b/vanetza/asn1/security/SequenceOfPsidSspRange.c index aae984f4b..0a9e0599f 100644 --- a/vanetza/asn1/security/SequenceOfPsidSspRange.c +++ b/vanetza/asn1/security/SequenceOfPsidSspRange.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfPsidSspRange_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfPsidSspRange = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfPsidSspRange_1, diff --git a/vanetza/asn1/security/SequenceOfRecipientInfo.c b/vanetza/asn1/security/SequenceOfRecipientInfo.c index 7cf906a54..b586c26fb 100644 --- a/vanetza/asn1/security/SequenceOfRecipientInfo.c +++ b/vanetza/asn1/security/SequenceOfRecipientInfo.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfRecipientInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfRecipientInfo = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfRecipientInfo_1, diff --git a/vanetza/asn1/security/SequenceOfRectangularRegion.c b/vanetza/asn1/security/SequenceOfRectangularRegion.c index d7bd28910..293ae378c 100644 --- a/vanetza/asn1/security/SequenceOfRectangularRegion.c +++ b/vanetza/asn1/security/SequenceOfRectangularRegion.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfRectangularRegion_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfRectangularRegion = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfRectangularRegion_1, diff --git a/vanetza/asn1/security/SequenceOfRegionAndSubregions.c b/vanetza/asn1/security/SequenceOfRegionAndSubregions.c index 19cc35120..278e4f8e0 100644 --- a/vanetza/asn1/security/SequenceOfRegionAndSubregions.c +++ b/vanetza/asn1/security/SequenceOfRegionAndSubregions.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfRegionAndSubregions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfRegionAndSubregions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfRegionAndSubregions_1, diff --git a/vanetza/asn1/security/SequenceOfUint16.c b/vanetza/asn1/security/SequenceOfUint16.c index 939aee388..fff9e51c8 100644 --- a/vanetza/asn1/security/SequenceOfUint16.c +++ b/vanetza/asn1/security/SequenceOfUint16.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfUint16_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfUint16 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfUint16_1, diff --git a/vanetza/asn1/security/SequenceOfUint8.c b/vanetza/asn1/security/SequenceOfUint8.c index 6999f8685..d5597fd4f 100644 --- a/vanetza/asn1/security/SequenceOfUint8.c +++ b/vanetza/asn1/security/SequenceOfUint8.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SequenceOfUint8_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -51,6 +54,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SequenceOfUint8 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_SequenceOfUint8_1, diff --git a/vanetza/asn1/security/ServiceSpecificPermissions.c b/vanetza/asn1/security/ServiceSpecificPermissions.c index 8d7c5d625..ad7e6b3cb 100644 --- a/vanetza/asn1/security/ServiceSpecificPermissions.c +++ b/vanetza/asn1/security/ServiceSpecificPermissions.c @@ -65,6 +65,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ServiceSpecificPermissions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_opaque_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_opaque_constraint_1 }, 0, 0, /* No default value */ @@ -82,6 +85,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ServiceSpecificPermissions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +123,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ServiceSpecificPermissions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_ServiceSpecificPermissions_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_ServiceSpecificPermissions_1, diff --git a/vanetza/asn1/security/SharedAtRequest.c b/vanetza/asn1/security/SharedAtRequest.c index e2bb72707..c01df52d7 100644 --- a/vanetza/asn1/security/SharedAtRequest.c +++ b/vanetza/asn1/security/SharedAtRequest.c @@ -89,6 +89,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SharedAtRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -106,6 +109,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SharedAtRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_keyTag_constr_3, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_keyTag_constraint_1 }, 0, 0, /* No default value */ @@ -123,6 +129,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SharedAtRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -140,6 +149,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SharedAtRequest_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_requestedSubjectAttributes_constr_5, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_requestedSubjectAttributes_constraint_1 }, 0, 0, /* No default value */ @@ -180,6 +192,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SharedAtRequest = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_SharedAtRequest_1, diff --git a/vanetza/asn1/security/Signature.c b/vanetza/asn1/security/Signature.c index 1c277e2ef..ada38b38a 100644 --- a/vanetza/asn1/security/Signature.c +++ b/vanetza/asn1/security/Signature.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Signature_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Signature_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_Signature_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -102,6 +111,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Signature = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Signature_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_Signature_1, diff --git a/vanetza/asn1/security/SignedData.c b/vanetza/asn1/security/SignedData.c index aceb18567..9269b0784 100644 --- a/vanetza/asn1/security/SignedData.c +++ b/vanetza/asn1/security/SignedData.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SignedData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SignedData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SignedData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -71,6 +80,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SignedData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -111,6 +123,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SignedData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_SignedData_1, diff --git a/vanetza/asn1/security/SignedDataPayload.c b/vanetza/asn1/security/SignedDataPayload.c index 6dcbd7c44..8c9db5eb8 100644 --- a/vanetza/asn1/security/SignedDataPayload.c +++ b/vanetza/asn1/security/SignedDataPayload.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SignedDataPayload_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SignedDataPayload_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -89,6 +95,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SignedDataPayload = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_SignedDataPayload_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_SignedDataPayload_1, diff --git a/vanetza/asn1/security/SignerIdentifier.c b/vanetza/asn1/security/SignerIdentifier.c index bb5cedf38..e33d559f9 100644 --- a/vanetza/asn1/security/SignerIdentifier.c +++ b/vanetza/asn1/security/SignerIdentifier.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SignerIdentifier_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SignerIdentifier_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SignerIdentifier_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -102,6 +111,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SignerIdentifier = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_SignerIdentifier_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_SignerIdentifier_1, diff --git a/vanetza/asn1/security/SingleEtsiTs103097Certificate.c b/vanetza/asn1/security/SingleEtsiTs103097Certificate.c index fcc349160..42d340ef5 100644 --- a/vanetza/asn1/security/SingleEtsiTs103097Certificate.c +++ b/vanetza/asn1/security/SingleEtsiTs103097Certificate.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_SingleEtsiTs103097Certificate_ #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -57,6 +60,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SingleEtsiTs103097Certificate = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_SingleEtsiTs103097Certificate_1, diff --git a/vanetza/asn1/security/SspRange.c b/vanetza/asn1/security/SspRange.c index 874737a2f..68a814cde 100644 --- a/vanetza/asn1/security/SspRange.c +++ b/vanetza/asn1/security/SspRange.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SspRange_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SspRange_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SspRange_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -102,6 +111,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SspRange = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_SspRange_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_SspRange_1, diff --git a/vanetza/asn1/security/SubjectAssurance.c b/vanetza/asn1/security/SubjectAssurance.c index 5c237ff6b..c7a85e9fa 100644 --- a/vanetza/asn1/security/SubjectAssurance.c +++ b/vanetza/asn1/security/SubjectAssurance.c @@ -69,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SubjectAssurance = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_SubjectAssurance_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_SubjectAssurance_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/SubjectPermissions.c b/vanetza/asn1/security/SubjectPermissions.c index 43236046d..caf2827c9 100644 --- a/vanetza/asn1/security/SubjectPermissions.c +++ b/vanetza/asn1/security/SubjectPermissions.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SubjectPermissions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SubjectPermissions_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SubjectPermissions = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_SubjectPermissions_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_SubjectPermissions_1, diff --git a/vanetza/asn1/security/SymmAlgorithm.c b/vanetza/asn1/security/SymmAlgorithm.c index 514f82275..a854b6f0b 100644 --- a/vanetza/asn1/security/SymmAlgorithm.c +++ b/vanetza/asn1/security/SymmAlgorithm.c @@ -60,6 +60,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SymmAlgorithm = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_SymmAlgorithm_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/SymmRecipientInfo.c b/vanetza/asn1/security/SymmRecipientInfo.c index d07b57c22..1560164d8 100644 --- a/vanetza/asn1/security/SymmRecipientInfo.c +++ b/vanetza/asn1/security/SymmRecipientInfo.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SymmRecipientInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SymmRecipientInfo_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SymmRecipientInfo = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_SymmRecipientInfo_1, diff --git a/vanetza/asn1/security/SymmetricCiphertext.c b/vanetza/asn1/security/SymmetricCiphertext.c index 60c303858..f016d6b48 100644 --- a/vanetza/asn1/security/SymmetricCiphertext.c +++ b/vanetza/asn1/security/SymmetricCiphertext.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SymmetricCiphertext_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +69,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SymmetricCiphertext = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_SymmetricCiphertext_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_SymmetricCiphertext_1, diff --git a/vanetza/asn1/security/SymmetricEncryptionKey.c b/vanetza/asn1/security/SymmetricEncryptionKey.c index 7111429ed..cc37036e8 100644 --- a/vanetza/asn1/security/SymmetricEncryptionKey.c +++ b/vanetza/asn1/security/SymmetricEncryptionKey.c @@ -70,6 +70,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_SymmetricEncryptionKey_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_memb_Vanetza_Security_aes128Ccm_constr_2, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ memb_Vanetza_Security_aes128Ccm_constraint_1 }, 0, 0, /* No default value */ @@ -104,6 +107,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_SymmetricEncryptionKey = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_SymmetricEncryptionKey_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_SymmetricEncryptionKey_1, diff --git a/vanetza/asn1/security/ThreeDLocation.c b/vanetza/asn1/security/ThreeDLocation.c index c7c050f53..37ba58389 100644 --- a/vanetza/asn1/security/ThreeDLocation.c +++ b/vanetza/asn1/security/ThreeDLocation.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ThreeDLocation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ThreeDLocation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ThreeDLocation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -93,6 +102,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ThreeDLocation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_ThreeDLocation_1, diff --git a/vanetza/asn1/security/Time32.c b/vanetza/asn1/security/Time32.c index d3fadefa8..7eb07ae0c 100644 --- a/vanetza/asn1/security/Time32.c +++ b/vanetza/asn1/security/Time32.c @@ -59,6 +59,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Time32 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Time32_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Time32_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/Time64.c b/vanetza/asn1/security/Time64.c index 76c8cb3e6..f3ed8a0af 100644 --- a/vanetza/asn1/security/Time64.c +++ b/vanetza/asn1/security/Time64.c @@ -79,6 +79,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Time64 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Time64_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Time64_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/TlmCertificateTrustListMessage.c b/vanetza/asn1/security/TlmCertificateTrustListMessage.c index ab574fb15..9e06f1484 100644 --- a/vanetza/asn1/security/TlmCertificateTrustListMessage.c +++ b/vanetza/asn1/security/TlmCertificateTrustListMessage.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_TlmCertificateTrustListMessage = #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_TlmCertificateTrustListMessage_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_TlmCertificateTrustListMessage_constraint }, asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1, diff --git a/vanetza/asn1/security/TlmEntry.c b/vanetza/asn1/security/TlmEntry.c index 7c06777cb..bcea710e5 100644 --- a/vanetza/asn1/security/TlmEntry.c +++ b/vanetza/asn1/security/TlmEntry.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_TlmEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_TlmEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -54,6 +60,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_TlmEntry_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -95,6 +104,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_TlmEntry = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_TlmEntry_1, diff --git a/vanetza/asn1/security/ToBeSignedCertificate.c b/vanetza/asn1/security/ToBeSignedCertificate.c index e1e20963e..b4656a14d 100644 --- a/vanetza/asn1/security/ToBeSignedCertificate.c +++ b/vanetza/asn1/security/ToBeSignedCertificate.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -66,6 +72,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -83,6 +92,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -100,6 +112,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -117,6 +132,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -134,6 +152,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -151,6 +172,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -168,6 +192,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -185,6 +212,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -202,6 +232,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -219,6 +252,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCertificate_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -269,6 +305,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ToBeSignedCertificate = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_ToBeSignedCertificate_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_ToBeSignedCertificate_1, diff --git a/vanetza/asn1/security/ToBeSignedCrl.c b/vanetza/asn1/security/ToBeSignedCrl.c index 86d5c845e..3809eb3e8 100644 --- a/vanetza/asn1/security/ToBeSignedCrl.c +++ b/vanetza/asn1/security/ToBeSignedCrl.c @@ -20,6 +20,9 @@ static asn_TYPE_member_t asn_MBR_Vanetza_Security_entries_5[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -53,6 +56,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_entries_5 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_OF_constraint }, asn_MBR_Vanetza_Security_entries_5, @@ -73,6 +79,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCrl_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -90,6 +99,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCrl_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -107,6 +119,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCrl_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -124,6 +139,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedCrl_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -164,6 +182,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ToBeSignedCrl = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_ToBeSignedCrl_1, diff --git a/vanetza/asn1/security/ToBeSignedData.c b/vanetza/asn1/security/ToBeSignedData.c index 73179f337..701e80ca9 100644 --- a/vanetza/asn1/security/ToBeSignedData.c +++ b/vanetza/asn1/security/ToBeSignedData.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ToBeSignedData_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ToBeSignedData = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_ToBeSignedData_1, diff --git a/vanetza/asn1/security/ToBeSignedRcaCtl.c b/vanetza/asn1/security/ToBeSignedRcaCtl.c index b1619773a..6f444ce00 100644 --- a/vanetza/asn1/security/ToBeSignedRcaCtl.c +++ b/vanetza/asn1/security/ToBeSignedRcaCtl.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ToBeSignedRcaCtl = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_ToBeSignedRcaCtl_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_ToBeSignedRcaCtl_constraint }, asn_MBR_Vanetza_Security_CtlFormat_1, diff --git a/vanetza/asn1/security/ToBeSignedTlmCtl.c b/vanetza/asn1/security/ToBeSignedTlmCtl.c index f3c1e0947..e4b769563 100644 --- a/vanetza/asn1/security/ToBeSignedTlmCtl.c +++ b/vanetza/asn1/security/ToBeSignedTlmCtl.c @@ -62,6 +62,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ToBeSignedTlmCtl = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_ToBeSignedTlmCtl_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_ToBeSignedTlmCtl_constraint }, asn_MBR_Vanetza_Security_CtlFormat_1, diff --git a/vanetza/asn1/security/TwoDLocation.c b/vanetza/asn1/security/TwoDLocation.c index defffede3..0133533d0 100644 --- a/vanetza/asn1/security/TwoDLocation.c +++ b/vanetza/asn1/security/TwoDLocation.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_TwoDLocation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_TwoDLocation_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_TwoDLocation = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_TwoDLocation_1, diff --git a/vanetza/asn1/security/Uint16.c b/vanetza/asn1/security/Uint16.c index 90ee9376a..a1e22af03 100644 --- a/vanetza/asn1/security/Uint16.c +++ b/vanetza/asn1/security/Uint16.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Uint16 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Uint16_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Uint16_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/Uint3.c b/vanetza/asn1/security/Uint3.c index 0cdf3108c..ffa7921db 100644 --- a/vanetza/asn1/security/Uint3.c +++ b/vanetza/asn1/security/Uint3.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Uint3 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Uint3_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Uint3_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/Uint32.c b/vanetza/asn1/security/Uint32.c index 70218a4d6..48aaacc77 100644 --- a/vanetza/asn1/security/Uint32.c +++ b/vanetza/asn1/security/Uint32.c @@ -64,6 +64,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Uint32 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Uint32_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Uint32_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/Uint64.c b/vanetza/asn1/security/Uint64.c index 03821e7b9..03dcc181d 100644 --- a/vanetza/asn1/security/Uint64.c +++ b/vanetza/asn1/security/Uint64.c @@ -79,6 +79,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Uint64 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Uint64_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Uint64_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/Uint8.c b/vanetza/asn1/security/Uint8.c index bdd7d8ded..c277e8439 100644 --- a/vanetza/asn1/security/Uint8.c +++ b/vanetza/asn1/security/Uint8.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Uint8 = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Uint8_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_Uint8_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/UnknownLatitude.c b/vanetza/asn1/security/UnknownLatitude.c index e945e49d0..567aff872 100644 --- a/vanetza/asn1/security/UnknownLatitude.c +++ b/vanetza/asn1/security/UnknownLatitude.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_UnknownLatitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_UnknownLatitude_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_UnknownLatitude_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/UnknownLongitude.c b/vanetza/asn1/security/UnknownLongitude.c index ec71037de..ba2a6bb47 100644 --- a/vanetza/asn1/security/UnknownLongitude.c +++ b/vanetza/asn1/security/UnknownLongitude.c @@ -68,6 +68,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_UnknownLongitude = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_UnknownLongitude_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ Vanetza_Security_UnknownLongitude_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/security/Url.c b/vanetza/asn1/security/Url.c index 459bdb35d..c891c4a3e 100644 --- a/vanetza/asn1/security/Url.c +++ b/vanetza/asn1/security/Url.c @@ -38,6 +38,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Url = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_Url_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IA5String_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/security/ValidityPeriod.c b/vanetza/asn1/security/ValidityPeriod.c index 0f5cf92ec..b9e62ac90 100644 --- a/vanetza/asn1/security/ValidityPeriod.c +++ b/vanetza/asn1/security/ValidityPeriod.c @@ -20,6 +20,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ValidityPeriod_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -37,6 +40,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_ValidityPeriod_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -75,6 +81,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ValidityPeriod = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ SEQUENCE_constraint }, asn_MBR_Vanetza_Security_ValidityPeriod_1, diff --git a/vanetza/asn1/security/VerificationKeyIndicator.c b/vanetza/asn1/security/VerificationKeyIndicator.c index def856907..166c9457e 100644 --- a/vanetza/asn1/security/VerificationKeyIndicator.c +++ b/vanetza/asn1/security/VerificationKeyIndicator.c @@ -32,6 +32,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_VerificationKeyIndicator_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -49,6 +52,9 @@ asn_TYPE_member_t asn_MBR_Vanetza_Security_VerificationKeyIndicator_1[] = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ 0 }, 0, 0, /* No default value */ @@ -84,6 +90,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_VerificationKeyIndicator = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_PER_type_Vanetza_Security_VerificationKeyIndicator_constr_1, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ CHOICE_constraint }, asn_MBR_Vanetza_Security_VerificationKeyIndicator_1, diff --git a/vanetza/asn1/security/Version.c b/vanetza/asn1/security/Version.c index f86878b03..b5115378e 100644 --- a/vanetza/asn1/security/Version.c +++ b/vanetza/asn1/security/Version.c @@ -31,6 +31,9 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Version = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NativeInteger_constraint }, 0, 0, /* Defined elsewhere */ diff --git a/vanetza/asn1/support/ANY.c b/vanetza/asn1/support/ANY.c index f189068f4..6440d72ce 100644 --- a/vanetza/asn1/support/ANY.c +++ b/vanetza/asn1/support/ANY.c @@ -76,6 +76,9 @@ asn_TYPE_descriptor_t asn_DEF_ANY = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_no_constraint }, /* No constraints */ 0, 0, /* No members */ diff --git a/vanetza/asn1/support/ANY_jer.c b/vanetza/asn1/support/ANY_jer.c index 93bd4b628..87feeeaa5 100644 --- a/vanetza/asn1/support/ANY_jer.c +++ b/vanetza/asn1/support/ANY_jer.c @@ -7,11 +7,12 @@ #include "ANY.h" asn_enc_rval_t -ANY_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, +ANY_encode_jer(const asn_TYPE_descriptor_t *td, const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { ASN__ENCODE_FAILED; /* Dump as binary */ - return OCTET_STRING_encode_jer(td, sptr, ilevel, flags, cb, app_key); + return OCTET_STRING_encode_jer(td, constraints, sptr, ilevel, flags, cb, app_key); } diff --git a/vanetza/asn1/support/BIT_STRING.c b/vanetza/asn1/support/BIT_STRING.c index a5e8826de..8469c0c61 100644 --- a/vanetza/asn1/support/BIT_STRING.c +++ b/vanetza/asn1/support/BIT_STRING.c @@ -40,7 +40,7 @@ asn_TYPE_operation_t asn_OP_BIT_STRING = { 0, #endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ #if !defined(ASN_DISABLE_JER_SUPPORT) - OCTET_STRING_decode_jer_hex, + BIT_STRING_decode_jer, BIT_STRING_encode_jer, #else 0, @@ -91,6 +91,9 @@ asn_TYPE_descriptor_t asn_DEF_BIT_STRING = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ BIT_STRING_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/BIT_STRING.h b/vanetza/asn1/support/BIT_STRING.h index 9d699abcc..208557581 100644 --- a/vanetza/asn1/support/BIT_STRING.h +++ b/vanetza/asn1/support/BIT_STRING.h @@ -46,7 +46,7 @@ xer_type_encoder_f BIT_STRING_encode_xer; #endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ #if !defined(ASN_DISABLE_JER_SUPPORT) -#define BIT_STRING_decode_jer OCTET_STRING_decode_jer_binary +jer_type_decoder_f BIT_STRING_decode_jer; jer_type_encoder_f BIT_STRING_encode_jer; #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ diff --git a/vanetza/asn1/support/BIT_STRING_jer.c b/vanetza/asn1/support/BIT_STRING_jer.c index 975a085ae..9597ea6e0 100644 --- a/vanetza/asn1/support/BIT_STRING_jer.c +++ b/vanetza/asn1/support/BIT_STRING_jer.c @@ -3,24 +3,32 @@ * All rights reserved. * Redistribution and modifications are permitted subject to BSD license. */ +#include "asn_application.h" #include "asn_internal.h" #include "BIT_STRING.h" +#include "INTEGER.h" asn_enc_rval_t -BIT_STRING_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +BIT_STRING_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, + enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { asn_enc_rval_t er = {0, 0, 0}; const char * const h2c = "0123456789ABCDEF"; char scratch[16 * 3 + 4]; char *p = scratch; const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + const asn_jer_constraints_t* cts = constraints ? + constraints : td->encoding_constraints.jer_constraints; uint8_t *buf; uint8_t *end; (void)ilevel; (void)flags; + int jmin = flags & JER_F_MINIFIED; + if(!st || !st->buf) ASN__ENCODE_FAILED; @@ -32,31 +40,256 @@ BIT_STRING_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, /* * Hex dump */ - *p++ = '"'; - for(int i = 0; buf < end; buf++, i++) { - if(!(i % 16) && (i || st->size > 16)) { - ASN__CALLBACK(scratch, p-scratch); - p = scratch; + if(cts->size != -1) { /* Fixed size */ + *p++ = '"'; + for(int i = 0; buf < end; buf++, i++) { + if(!(i % 16) && (i || st->size > 16)) { + ASN__CALLBACK(scratch, p-scratch); + p = scratch; + } + *p++ = h2c[*buf >> 4]; + *p++ = h2c[*buf & 0x0F]; } - *p++ = h2c[*buf >> 4]; - *p++ = h2c[*buf & 0x0F]; - } - ASN__CALLBACK(scratch, p - scratch); - p = scratch; + ASN__CALLBACK(scratch, p - scratch); + p = scratch; + + if(buf == end) { + int ubits = st->bits_unused; + uint8_t v = *buf & (0xff << ubits); + *p++ = h2c[v >> 4]; + *p++ = h2c[v & 0x0F]; + ASN__CALLBACK(scratch, p - scratch); + p = scratch; + } + *p++ = '"'; + ASN__CALLBACK(scratch, p - scratch); + } else { /* Variable size */ + ASN__CALLBACK("{", 1); + if(!jmin) { + ASN__TEXT_INDENT(1, ilevel + 1); + ASN__CALLBACK("\"value\": ", 9); + } else { + ASN__CALLBACK("\"value\":", 8); + } + *p++ = '"'; + for(int i = 0; buf < end; buf++, i++) { + if(!(i % 16) && (i || st->size > 16)) { + ASN__CALLBACK(scratch, p-scratch); + p = scratch; + } + *p++ = h2c[*buf >> 4]; + *p++ = h2c[*buf & 0x0F]; + } - if(buf == end) { - int ubits = st->bits_unused; - uint8_t v = *buf & (0xff << ubits); - *p++ = h2c[v >> 4]; - *p++ = h2c[v & 0x0F]; ASN__CALLBACK(scratch, p - scratch); p = scratch; + + if(buf == end) { + int ubits = st->bits_unused; + uint8_t v = *buf & (0xff << ubits); + *p++ = h2c[v >> 4]; + *p++ = h2c[v & 0x0F]; + ASN__CALLBACK(scratch, p - scratch); + p = scratch; + } + *p++ = '"'; + ASN__CALLBACK(scratch, p - scratch); + + ASN__CALLBACK(",", 1); + if (!jmin) { + ASN__TEXT_INDENT(1, ilevel + 1); + } + + if(!jmin) { + ASN__CALLBACK("\"length\": ", 10); + } else { + ASN__CALLBACK("\"length\":", 9); + } + int wr = snprintf(scratch, sizeof(scratch), "%lu", + st->size * 8 - (st->bits_unused)); + if(wr < 0 || wr >= sizeof(scratch)) { + ASN__ENCODE_FAILED; + } + ASN__CALLBACK(scratch, wr); + if (!jmin) { + ASN__TEXT_INDENT(1, ilevel); + } + ASN__CALLBACK("}", 1); } - *p++ = '"'; - ASN__CALLBACK(scratch, p - scratch); ASN__ENCODED_OK(er); cb_failed: ASN__ENCODE_FAILED; } + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) \ + do { \ + rval.code = _code; \ + rval.consumed = consumed_myself; \ + return rval; \ + } while(0) + +#define SKIPCHAR(_c) \ + do { \ + int found = 0; \ + for (; p < pend; ++p) { \ + if (*p == _c) { \ + found = 1; ++p; \ + break; \ + } \ + } \ + if(!found) RETURN(RC_WMORE); \ + } while(0) + +asn_dec_rval_t +BIT_STRING_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **sptr, + const void *buf_ptr, size_t size) { + BIT_STRING_t *st = (BIT_STRING_t *)*sptr; + const asn_jer_constraints_t *cts = constraints ? + constraints : td->encoding_constraints.jer_constraints; + asn_dec_rval_t rval; /* Return value from the decoder */ + ssize_t consumed_myself = 0; /* Consumed bytes from buf_ptr */ + + /* + * Create the string if does not exist. + */ + if(!st) { + st = (BIT_STRING_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + const char *p = (const char*)buf_ptr; + const char *pend = p + size; + + if(cts->size == -1) { + SKIPCHAR('{'); + SKIPCHAR('"'); + if(pend-p < 5) RETURN(RC_WMORE); + if(0 != memcmp(p, "value", 5)) RETURN(RC_FAIL); + p += 5; + SKIPCHAR('"'); + SKIPCHAR(':'); + } + + /* bitstring value */ + SKIPCHAR('"'); + + /* calculate size */ + const char* p0 = p; + SKIPCHAR('"'); + const char* p1 = p - 1; + p = p0; + + void *nptr = REALLOC(st->buf, (p1-p0 + 1) / 2 + 1); + if(!nptr) RETURN(RC_FAIL); + st->buf = (uint8_t *)nptr; + uint8_t *buf = st->buf; + unsigned int clv = 0; + int half = 0; + + for(; p < p1; p++) { + int ch = *(const unsigned char *)p; + switch(ch) { + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: /*01234*/ + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: /*56789*/ + clv = (clv << 4) + (ch - 0x30); + break; + case 0x41: case 0x42: case 0x43: /* ABC */ + case 0x44: case 0x45: case 0x46: /* DEF */ + clv = (clv << 4) + (ch - 0x41 + 10); + break; + case 0x61: case 0x62: case 0x63: /* abc */ + case 0x64: case 0x65: case 0x66: /* def */ + clv = (clv << 4) + (ch - 0x61 + 10); + break; + default: + *buf = 0; /* JIC */ + RETURN(RC_FAIL); + } + if(half++) { + half = 0; + *buf++ = clv; + } + } + + /* + * Check partial decoding. + */ + if(half) { + RETURN(RC_FAIL); + } + + st->size = buf - st->buf; /* Adjust the buffer size */ + st->buf[st->size] = 0; /* Courtesy termination */ + + SKIPCHAR('"'); + + if(cts->size == -1) { + SKIPCHAR(','); + SKIPCHAR('"'); + if(pend-p < 6) RETURN(RC_WMORE); + if(0 != memcmp(p, "length", 6)) RETURN(RC_FAIL); + p += 6; + SKIPCHAR('"'); + SKIPCHAR(':'); + p0 = p; + /* Skip whitespace, numbers, for length calc for INTEGER dec + * Stop on first non-whitespace/non-number */ + int numbered = 0; + for (; p < pend; ++p) { + switch (*p) { + case 0x09: case 0x0a: case 0x0c: case 0x0d: + case 0x20: + if(!numbered) continue; + else break; + /* Ignore whitespace */ + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: /*01234*/ + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: /*56789*/ + case 0x2d: /*-*/ + numbered = 1; + continue; + } + if(numbered) break; + } + if(!numbered) RETURN(RC_FAIL); + + unsigned long length; + + INTEGER_t integer = { 0 }; + void *integer_ptr = (void *)&integer; + memset(&integer, 0, sizeof(integer)); + + asn_dec_rval_t dec = + INTEGER_decode_jer(NULL, &asn_DEF_INTEGER, NULL, &integer_ptr, p0, p-p0); + if(dec.code == RC_OK) { + if(asn_INTEGER2ulong(&integer, (unsigned long *)&length)) { + RETURN(RC_FAIL); + } + } else { + RETURN(RC_FAIL); + } + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &integer); + + if(dec.code != RC_OK) RETURN(RC_FAIL); + st->bits_unused = (st->size * 8) - length; + + SKIPCHAR('}'); + } else { + if(st->size * 8 < cts->size) { + RETURN(RC_FAIL); + } + st->bits_unused = (st->size * 8) - cts->size; + } + + consumed_myself = (const char *)p - (const char *)buf_ptr; + RETURN(RC_OK); +} + diff --git a/vanetza/asn1/support/BMPString.c b/vanetza/asn1/support/BMPString.c index 0db15c388..a61a83461 100644 --- a/vanetza/asn1/support/BMPString.c +++ b/vanetza/asn1/support/BMPString.c @@ -99,6 +99,9 @@ asn_TYPE_descriptor_t asn_DEF_BMPString = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_DEF_BMPString_per_constraints, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ BMPString_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/BMPString_jer.c b/vanetza/asn1/support/BMPString_jer.c index 93c394fdf..a5aa11261 100644 --- a/vanetza/asn1/support/BMPString_jer.c +++ b/vanetza/asn1/support/BMPString_jer.c @@ -9,11 +9,12 @@ asn_dec_rval_t BMPString_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, void **sptr, const void *buf_ptr, size_t size) { asn_dec_rval_t rc; - rc = OCTET_STRING_decode_jer_utf8(opt_codec_ctx, td, sptr, buf_ptr, size); + rc = OCTET_STRING_decode_jer_utf8(opt_codec_ctx, td, constraints, sptr, buf_ptr, size); if(rc.code == RC_OK) { /* * Now we have a whole string in UTF-8 format. @@ -73,8 +74,10 @@ BMPString_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } asn_enc_rval_t -BMPString_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +BMPString_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t* constraints, + const void *sptr, int ilevel, + enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { const BMPString_t *st = (const BMPString_t *)sptr; asn_enc_rval_t er = {0,0,0}; diff --git a/vanetza/asn1/support/BOOLEAN.c b/vanetza/asn1/support/BOOLEAN.c index 655f13f7a..1fbd4e6db 100644 --- a/vanetza/asn1/support/BOOLEAN.c +++ b/vanetza/asn1/support/BOOLEAN.c @@ -84,6 +84,9 @@ asn_TYPE_descriptor_t asn_DEF_BOOLEAN = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_no_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/BOOLEAN_jer.c b/vanetza/asn1/support/BOOLEAN_jer.c index 0355688b5..d161b604a 100644 --- a/vanetza/asn1/support/BOOLEAN_jer.c +++ b/vanetza/asn1/support/BOOLEAN_jer.c @@ -34,8 +34,9 @@ BOOLEAN__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, asn_dec_rval_t BOOLEAN_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t* constraints, + void **sptr, const void *buf_ptr, size_t size) { return jer_decode_primitive(opt_codec_ctx, td, sptr, sizeof(BOOLEAN_t), buf_ptr, size, BOOLEAN__jer_body_decode); @@ -43,8 +44,9 @@ BOOLEAN_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, asn_enc_rval_t -BOOLEAN_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +BOOLEAN_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; asn_enc_rval_t er = {0, 0, 0}; diff --git a/vanetza/asn1/support/ENUMERATED.c b/vanetza/asn1/support/ENUMERATED.c index 799392c5b..c4eaaa895 100644 --- a/vanetza/asn1/support/ENUMERATED.c +++ b/vanetza/asn1/support/ENUMERATED.c @@ -85,6 +85,9 @@ asn_TYPE_descriptor_t asn_DEF_ENUMERATED = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_no_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/ENUMERATED_jer.c b/vanetza/asn1/support/ENUMERATED_jer.c index 1b33ca76e..97915b632 100644 --- a/vanetza/asn1/support/ENUMERATED_jer.c +++ b/vanetza/asn1/support/ENUMERATED_jer.c @@ -81,7 +81,7 @@ ENUMERATED__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, int decoded = 0; for (lp = lstart; lp < lstop; ++lp) { - if (*lp == 0x22 /* '"' */) { + if (*lp == 0x22 /* '"' */) { const asn_INTEGER_enum_map_t *el; el = ENUMERATED_jer_map_enum2value( (const asn_INTEGER_specifics_t *) @@ -117,8 +117,9 @@ ENUMERATED__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, asn_dec_rval_t ENUMERATED_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **sptr, const void *buf_ptr, size_t size) { return jer_decode_primitive(opt_codec_ctx, td, sptr, sizeof(INTEGER_t), buf_ptr, size, ENUMERATED__jer_body_decode); diff --git a/vanetza/asn1/support/GeneralString.c b/vanetza/asn1/support/GeneralString.c index d1b43aa0f..72c63dbc1 100644 --- a/vanetza/asn1/support/GeneralString.c +++ b/vanetza/asn1/support/GeneralString.c @@ -87,6 +87,9 @@ asn_TYPE_descriptor_t asn_DEF_GeneralString = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_unknown_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/GeneralizedTime.c b/vanetza/asn1/support/GeneralizedTime.c index 2b89af87c..b7e24b273 100644 --- a/vanetza/asn1/support/GeneralizedTime.c +++ b/vanetza/asn1/support/GeneralizedTime.c @@ -251,6 +251,9 @@ asn_TYPE_descriptor_t asn_DEF_GeneralizedTime = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_DEF_GeneralizedTime_per_constraints, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ GeneralizedTime_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/GeneralizedTime_jer.c b/vanetza/asn1/support/GeneralizedTime_jer.c index fe6c8bf19..84ee54cd8 100644 --- a/vanetza/asn1/support/GeneralizedTime_jer.c +++ b/vanetza/asn1/support/GeneralizedTime_jer.c @@ -16,8 +16,10 @@ #if !defined(ASN___INTERNAL_TEST_MODE) asn_enc_rval_t -GeneralizedTime_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +GeneralizedTime_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, + enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { GeneralizedTime_t *gt; asn_enc_rval_t rv; @@ -33,7 +35,7 @@ GeneralizedTime_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, gt = asn_time2GT_frac(0, &tm, fv, fd, 1); if(!gt) ASN__ENCODE_FAILED; - rv = OCTET_STRING_encode_jer_utf8(td, sptr, ilevel, flags, + rv = OCTET_STRING_encode_jer_utf8(td, constraints, sptr, ilevel, flags, cb, app_key); ASN_STRUCT_FREE(asn_DEF_GeneralizedTime, gt); return rv; diff --git a/vanetza/asn1/support/GraphicString.c b/vanetza/asn1/support/GraphicString.c index e2444c6fd..cd27ee294 100644 --- a/vanetza/asn1/support/GraphicString.c +++ b/vanetza/asn1/support/GraphicString.c @@ -87,6 +87,9 @@ asn_TYPE_descriptor_t asn_DEF_GraphicString = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_unknown_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/IA5String.c b/vanetza/asn1/support/IA5String.c index 1582e78c3..6553427e2 100644 --- a/vanetza/asn1/support/IA5String.c +++ b/vanetza/asn1/support/IA5String.c @@ -94,6 +94,9 @@ asn_TYPE_descriptor_t asn_DEF_IA5String = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_DEF_IA5String_per_constraints, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ IA5String_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/INTEGER.c b/vanetza/asn1/support/INTEGER.c index 66c8fd338..2fab5eb5a 100644 --- a/vanetza/asn1/support/INTEGER.c +++ b/vanetza/asn1/support/INTEGER.c @@ -87,6 +87,9 @@ asn_TYPE_descriptor_t asn_DEF_INTEGER = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_no_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/INTEGER_jer.c b/vanetza/asn1/support/INTEGER_jer.c index 0ebfbabf3..2606cebc8 100644 --- a/vanetza/asn1/support/INTEGER_jer.c +++ b/vanetza/asn1/support/INTEGER_jer.c @@ -181,8 +181,9 @@ INTEGER__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, asn_dec_rval_t INTEGER_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **sptr, const void *buf_ptr, size_t size) { return jer_decode_primitive(opt_codec_ctx, td, sptr, sizeof(INTEGER_t), buf_ptr, size, INTEGER__jer_body_decode); @@ -190,8 +191,9 @@ INTEGER_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, asn_enc_rval_t -INTEGER_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +INTEGER_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { const INTEGER_t *st = (const INTEGER_t *)sptr; asn_enc_rval_t er = {0,0,0}; diff --git a/vanetza/asn1/support/ISO646String.c b/vanetza/asn1/support/ISO646String.c index 49f7b8f82..7e9088070 100644 --- a/vanetza/asn1/support/ISO646String.c +++ b/vanetza/asn1/support/ISO646String.c @@ -94,6 +94,9 @@ asn_TYPE_descriptor_t asn_DEF_ISO646String = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_DEF_ISO646String_per_constraints, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ ISO646String_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/NULL.c b/vanetza/asn1/support/NULL.c index 0a74f6283..ddf037bc3 100644 --- a/vanetza/asn1/support/NULL.c +++ b/vanetza/asn1/support/NULL.c @@ -84,6 +84,9 @@ asn_TYPE_descriptor_t asn_DEF_NULL = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_no_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/NULL_jer.c b/vanetza/asn1/support/NULL_jer.c index d45e080f4..0434e236e 100644 --- a/vanetza/asn1/support/NULL_jer.c +++ b/vanetza/asn1/support/NULL_jer.c @@ -8,8 +8,10 @@ #include "NULL.h" asn_enc_rval_t -NULL_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, +NULL_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, const void *sptr, + int ilevel, enum jer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { asn_enc_rval_t er = {0,0,0}; @@ -27,8 +29,8 @@ NULL_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, static enum jer_pbd_rval -NULL__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, - const void *chunk_buf, size_t chunk_size) { +NULL__jer_body_decode(const asn_TYPE_descriptor_t *td, + void *sptr, const void *chunk_buf, size_t chunk_size) { (void)td; (void)sptr; @@ -44,8 +46,9 @@ NULL__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, asn_dec_rval_t NULL_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **sptr, const void *buf_ptr, size_t size) { return jer_decode_primitive(opt_codec_ctx, td, sptr, sizeof(NULL_t), buf_ptr, size, NULL__jer_body_decode); diff --git a/vanetza/asn1/support/NativeEnumerated.c b/vanetza/asn1/support/NativeEnumerated.c index 999480300..0192c3b00 100644 --- a/vanetza/asn1/support/NativeEnumerated.c +++ b/vanetza/asn1/support/NativeEnumerated.c @@ -91,6 +91,9 @@ asn_TYPE_descriptor_t asn_DEF_NativeEnumerated = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_no_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/NativeEnumerated_jer.c b/vanetza/asn1/support/NativeEnumerated_jer.c index 03d1d7577..23b4338ae 100644 --- a/vanetza/asn1/support/NativeEnumerated_jer.c +++ b/vanetza/asn1/support/NativeEnumerated_jer.c @@ -11,7 +11,8 @@ */ asn_dec_rval_t NativeEnumerated_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, void **sptr, const void *buf_ptr, size_t size) { const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; @@ -26,7 +27,7 @@ NativeEnumerated_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } memset(&st, 0, sizeof(st)); - rval = ENUMERATED_decode_jer(opt_codec_ctx, td, &st_ptr, buf_ptr, size); + rval = ENUMERATED_decode_jer(opt_codec_ctx, td, constraints, &st_ptr, buf_ptr, size); if(rval.code == RC_OK) { long l; if((specs&&specs->field_unsigned) @@ -50,8 +51,9 @@ NativeEnumerated_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } asn_enc_rval_t -NativeEnumerated_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +NativeEnumerated_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; diff --git a/vanetza/asn1/support/NativeInteger.c b/vanetza/asn1/support/NativeInteger.c index 585daf7bb..9920a20d6 100644 --- a/vanetza/asn1/support/NativeInteger.c +++ b/vanetza/asn1/support/NativeInteger.c @@ -92,6 +92,9 @@ asn_TYPE_descriptor_t asn_DEF_NativeInteger = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_no_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/NativeInteger_jer.c b/vanetza/asn1/support/NativeInteger_jer.c index 17abfa641..999b93e0d 100644 --- a/vanetza/asn1/support/NativeInteger_jer.c +++ b/vanetza/asn1/support/NativeInteger_jer.c @@ -11,8 +11,9 @@ */ asn_dec_rval_t NativeInteger_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t* constraints, + void **sptr, const void *buf_ptr, size_t size) { const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; @@ -27,7 +28,7 @@ NativeInteger_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } memset(&st, 0, sizeof(st)); - rval = INTEGER_decode_jer(opt_codec_ctx, td, &st_ptr, buf_ptr, size); + rval = INTEGER_decode_jer(opt_codec_ctx, td, constraints, &st_ptr, buf_ptr, size); if(rval.code == RC_OK) { long l; if((specs&&specs->field_unsigned) @@ -51,8 +52,10 @@ NativeInteger_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } asn_enc_rval_t -NativeInteger_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +NativeInteger_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t* constraints, + const void *sptr, int ilevel, + enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; diff --git a/vanetza/asn1/support/NativeReal.c b/vanetza/asn1/support/NativeReal.c index d526277fc..8775d6aa8 100644 --- a/vanetza/asn1/support/NativeReal.c +++ b/vanetza/asn1/support/NativeReal.c @@ -111,6 +111,9 @@ asn_TYPE_descriptor_t asn_DEF_NativeReal = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_no_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/NativeReal_jer.c b/vanetza/asn1/support/NativeReal_jer.c index 9124ba282..942a55d1c 100644 --- a/vanetza/asn1/support/NativeReal_jer.c +++ b/vanetza/asn1/support/NativeReal_jer.c @@ -12,13 +12,14 @@ */ asn_dec_rval_t NativeReal_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **sptr, const void *buf_ptr, size_t size) { asn_dec_rval_t rval; REAL_t st = { 0, 0 }; REAL_t *stp = &st; - rval = REAL_decode_jer(opt_codec_ctx, td, (void **)&stp, buf_ptr, size); + rval = REAL_decode_jer(opt_codec_ctx, td, constraints, (void **)&stp, buf_ptr, size); if(rval.code == RC_OK) { double d; if(asn_REAL2double(&st, &d) || NativeReal__set(td, sptr, d) < 0) { @@ -34,11 +35,13 @@ NativeReal_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } asn_enc_rval_t - NativeReal_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { + NativeReal_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, + enum jer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { asn_enc_rval_t er = {0,0,0}; - double native; + double native; REAL_t tmpreal; (void)ilevel; @@ -48,7 +51,7 @@ asn_enc_rval_t if(asn_double2REAL(&tmpreal, native)) ASN__ENCODE_FAILED; - er = REAL_encode_jer(td, &tmpreal, ilevel, flags, cb, app_key); + er = REAL_encode_jer(td, constraints, &tmpreal, ilevel, flags, cb, app_key); ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmpreal); return er; } diff --git a/vanetza/asn1/support/NumericString.c b/vanetza/asn1/support/NumericString.c index d87745b25..f4225fdee 100644 --- a/vanetza/asn1/support/NumericString.c +++ b/vanetza/asn1/support/NumericString.c @@ -114,6 +114,9 @@ asn_TYPE_descriptor_t asn_DEF_NumericString = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_DEF_NumericString_per_constraints, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ NumericString_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/OBJECT_IDENTIFIER.c b/vanetza/asn1/support/OBJECT_IDENTIFIER.c index 06644c524..0660e9426 100644 --- a/vanetza/asn1/support/OBJECT_IDENTIFIER.c +++ b/vanetza/asn1/support/OBJECT_IDENTIFIER.c @@ -92,6 +92,9 @@ asn_TYPE_descriptor_t asn_DEF_OBJECT_IDENTIFIER = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ OBJECT_IDENTIFIER_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/OBJECT_IDENTIFIER_jer.c b/vanetza/asn1/support/OBJECT_IDENTIFIER_jer.c index e12cb55bc..2b6ed6f48 100644 --- a/vanetza/asn1/support/OBJECT_IDENTIFIER_jer.c +++ b/vanetza/asn1/support/OBJECT_IDENTIFIER_jer.c @@ -31,10 +31,10 @@ OBJECT_IDENTIFIER__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, } --chunk_end; for (; chunk_end >= p; --chunk_end) { - if (*chunk_end == CQUOTE) + if (*chunk_end == CQUOTE) break; } - if (chunk_end - p < 0) + if (chunk_end - p < 0) return JPBD_BROKEN_ENCODING; chunk_size = chunk_end - p; chunk_buf = p; @@ -71,8 +71,9 @@ OBJECT_IDENTIFIER__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, asn_dec_rval_t OBJECT_IDENTIFIER_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **sptr, const void *buf_ptr, size_t size) { return jer_decode_primitive(opt_codec_ctx, td, sptr, sizeof(OBJECT_IDENTIFIER_t), @@ -80,8 +81,10 @@ OBJECT_IDENTIFIER_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } asn_enc_rval_t -OBJECT_IDENTIFIER_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +OBJECT_IDENTIFIER_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, + enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { const OBJECT_IDENTIFIER_t *st = (const OBJECT_IDENTIFIER_t *)sptr; asn_enc_rval_t er = {0,0,0}; diff --git a/vanetza/asn1/support/OCTET_STRING.c b/vanetza/asn1/support/OCTET_STRING.c index da7fd0df8..0fcdbf9d5 100644 --- a/vanetza/asn1/support/OCTET_STRING.c +++ b/vanetza/asn1/support/OCTET_STRING.c @@ -93,6 +93,9 @@ asn_TYPE_descriptor_t asn_DEF_OCTET_STRING = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_no_constraint }, 0, 0, /* No members */ @@ -253,7 +256,7 @@ OCTET_STRING_compare(const asn_TYPE_descriptor_t *td, const void *aptr, int OCTET_STRING_copy(const asn_TYPE_descriptor_t *td, void **aptr, const void *bptr) { - const asn_OCTET_STRING_specifics_t *specs = + const asn_OCTET_STRING_specifics_t *specs = td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics : &asn_SPC_OCTET_STRING_specs; OCTET_STRING_t *a = *aptr; diff --git a/vanetza/asn1/support/OCTET_STRING_aper.c b/vanetza/asn1/support/OCTET_STRING_aper.c index aad493a98..738069634 100644 --- a/vanetza/asn1/support/OCTET_STRING_aper.c +++ b/vanetza/asn1/support/OCTET_STRING_aper.c @@ -59,35 +59,51 @@ OCTET_STRING_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, } switch(specs->subvariant) { - default: -/* - case ASN_OSUBV_ANY: - ASN_DEBUG("Unrecognized subvariant %d", specs->subvariant); - RETURN(RC_FAIL); -*/ - case ASN_OSUBV_BIT: - canonical_unit_bits = unit_bits = 1; - bpc = OS__BPC_BIT; - break; case ASN_OSUBV_ANY: case ASN_OSUBV_STR: canonical_unit_bits = unit_bits = 8; - if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; + if(cval->flags & APC_CONSTRAINED) { + /* follow power of 2 rule */ + if (cval->range_bits <= 2) { + unit_bits = 2; + } else { + if (cval->range_bits <= 4) { + unit_bits = 4; + /* otherwise, unit_bits = 8; */ + } + } + /* unit_bits = cval->range_bits; */ + ASN_DEBUG("APER decoding ASN_OSUBV_STR range_bits = %d unit_bits = %d\n", + cval->range_bits, unit_bits); + } bpc = OS__BPC_CHAR; break; case ASN_OSUBV_U16: canonical_unit_bits = unit_bits = 16; - if(cval->flags & APC_CONSTRAINED) + if(cval->flags & APC_CONSTRAINED) { unit_bits = cval->range_bits; + ASN_DEBUG("APER decoding ASN_OSUBV_U16 range_bits = %d\n", cval->range_bits); + } bpc = OS__BPC_U16; break; case ASN_OSUBV_U32: canonical_unit_bits = unit_bits = 32; - if(cval->flags & APC_CONSTRAINED) + if(cval->flags & APC_CONSTRAINED) { unit_bits = cval->range_bits; + ASN_DEBUG("APER decoding ASN_OSUBV_U32 range_bits = %d\n", cval->range_bits); + } bpc = OS__BPC_U32; break; +/* + case ASN_OSUBV_ANY: + ASN_DEBUG("Unrecognized subvariant %d", specs->subvariant); + RETURN(RC_FAIL); +*/ + case ASN_OSUBV_BIT: + default: + canonical_unit_bits = unit_bits = 1; + bpc = OS__BPC_BIT; + break; } /* @@ -266,42 +282,54 @@ OCTET_STRING_encode_aper(const asn_TYPE_descriptor_t *td, ct_extensible = csiz->flags & APC_EXTENSIBLE; switch(specs->subvariant) { - default: -/* - case ASN_OSUBV_ANY: - ASN__ENCODE_FAILED; -*/ - case ASN_OSUBV_BIT: - canonical_unit_bits = unit_bits = 1; - bpc = OS__BPC_BIT; - sizeinunits = st->size * 8 - (st->bits_unused & 0x07); - ASN_DEBUG("BIT STRING of %d bytes", - sizeinunits); - break; - case ASN_OSUBV_ANY: + case ASN_OSUBV_ANY: case ASN_OSUBV_STR: canonical_unit_bits = unit_bits = 8; -/* - if(cval->flags & APC_CONSTRAINED) - unit_bits = 8; -*/ + if(cval->flags & APC_CONSTRAINED) { + /* follow power of 2 rule */ + if (cval->range_bits <= 2) { + unit_bits = 2; + } else { + if (cval->range_bits <= 4) + unit_bits = 4; + /* otherwise, unit_bits = 8; */ + } + /* unit_bits = cval->range_bits; */ + ASN_DEBUG("APER encoding ASN_OSUBV_STR range_bits = %d unit_bits = %d\n", + cval->range_bits, unit_bits); + } bpc = OS__BPC_CHAR; sizeinunits = st->size; break; case ASN_OSUBV_U16: canonical_unit_bits = unit_bits = 16; - if(cval->flags & APC_CONSTRAINED) + if(cval->flags & APC_CONSTRAINED) { unit_bits = cval->range_bits; + ASN_DEBUG("APER encoding ASN_OSUBV_U16 range_bits = %d\n", cval->range_bits); + } bpc = OS__BPC_U16; sizeinunits = st->size / 2; break; case ASN_OSUBV_U32: canonical_unit_bits = unit_bits = 32; - if(cval->flags & APC_CONSTRAINED) + if(cval->flags & APC_CONSTRAINED) { unit_bits = cval->range_bits; + ASN_DEBUG("APER encoding ASN_OSUBV_U32 range_bits = %d\n", cval->range_bits); + } bpc = OS__BPC_U32; sizeinunits = st->size / 4; break; +/* + case ASN_OSUBV_ANY: + ASN__ENCODE_FAILED; +*/ + case ASN_OSUBV_BIT: + default: + canonical_unit_bits = unit_bits = 1; + bpc = OS__BPC_BIT; + sizeinunits = st->size * 8 - (st->bits_unused & 0x07); + ASN_DEBUG("BIT STRING of %d bytes", sizeinunits); + break; } ASN_DEBUG("Encoding %s into %d units of %d bits" diff --git a/vanetza/asn1/support/OCTET_STRING_jer.c b/vanetza/asn1/support/OCTET_STRING_jer.c index 2ffa87203..a2b80c91d 100644 --- a/vanetza/asn1/support/OCTET_STRING_jer.c +++ b/vanetza/asn1/support/OCTET_STRING_jer.c @@ -8,8 +8,10 @@ #include "BIT_STRING.h" /* for .bits_unused member */ asn_enc_rval_t -OCTET_STRING_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +OCTET_STRING_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, + enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { const char * const h2c = "0123456789ABCDEF"; const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; @@ -155,8 +157,10 @@ OCTET_STRING__handle_control_chars(void *struct_ptr, const void *chunk_buf, size } asn_enc_rval_t -OCTET_STRING_encode_jer_utf8(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +OCTET_STRING_encode_jer_utf8(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, + enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; asn_enc_rval_t er = { 0, 0, 0 }; @@ -227,7 +231,7 @@ static ssize_t OCTET_STRING__convert_hexadecimal(void *sptr, const void *chunk_b } --pend; for (; pend >= p; --pend) { - if (*pend == CQUOTE) + if (*pend == CQUOTE) break; } if (pend - p < 0) return -1; @@ -248,9 +252,8 @@ static ssize_t OCTET_STRING__convert_hexadecimal(void *sptr, const void *chunk_b for(; p < pend; p++) { int ch = *(const unsigned char *)p; switch(ch) { - case 0x09: case 0x0a: case 0x0c: case 0x0d: - case 0x20: - /* Ignore whitespace */ + /* allow LF, FF, CR, space */ + case 0x0a: case 0x0c: case 0x0d: case 0x20: continue; case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: /*01234*/ case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: /*56789*/ @@ -358,10 +361,10 @@ OCTET_STRING__convert_entrefs(void *sptr, const void *chunk_buf, } --pend; for(; pend >= p; --pend) { - if (*pend == CQUOTE) + if (*pend == CQUOTE) break; } - if(pend - p < 0) + if(pend - p < 0) return -1; /* Reallocate buffer */ @@ -532,7 +535,7 @@ OCTET_STRING__decode_jer( } } } - + /* Restore parsing context */ ctx = (asn_struct_ctx_t *)(((char *)*sptr) + specs->ctx_offset); @@ -554,7 +557,9 @@ OCTET_STRING__decode_jer( */ asn_dec_rval_t OCTET_STRING_decode_jer_hex(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **sptr, const void *buf_ptr, size_t size) { return OCTET_STRING__decode_jer(opt_codec_ctx, td, sptr, buf_ptr, size, 0, @@ -566,8 +571,9 @@ OCTET_STRING_decode_jer_hex(const asn_codec_ctx_t *opt_codec_ctx, */ asn_dec_rval_t OCTET_STRING_decode_jer_utf8(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **sptr, const void *buf_ptr, size_t size) { return OCTET_STRING__decode_jer(opt_codec_ctx, td, sptr, buf_ptr, size, OCTET_STRING__handle_control_chars, diff --git a/vanetza/asn1/support/OPEN_TYPE_jer.c b/vanetza/asn1/support/OPEN_TYPE_jer.c index e081b3eb6..d209e2de1 100644 --- a/vanetza/asn1/support/OPEN_TYPE_jer.c +++ b/vanetza/asn1/support/OPEN_TYPE_jer.c @@ -9,8 +9,9 @@ asn_dec_rval_t OPEN_TYPE_jer_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void *sptr, - const asn_TYPE_member_t *elm, const void *ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + void *sptr, const asn_TYPE_member_t *elm, const void *ptr, + size_t size) { size_t consumed_myself = 0; asn_type_selector_result_t selected; void *memb_ptr; /* Pointer to the member */ @@ -103,7 +104,8 @@ OPEN_TYPE_jer_get(const asn_codec_ctx_t *opt_codec_ctx, + elm->type->elements[selected.presence_index - 1].memb_offset; rv = selected.type_descriptor->op->jer_decoder( - opt_codec_ctx, selected.type_descriptor, &inner_value, ptr, size); + opt_codec_ctx, selected.type_descriptor, selected.type_descriptor->encoding_constraints.jer_constraints, + &inner_value, ptr, size); ADVANCE(rv.consumed); rv.consumed = 0; switch(rv.code) { diff --git a/vanetza/asn1/support/OPEN_TYPE_oer.c b/vanetza/asn1/support/OPEN_TYPE_oer.c index 0a98befa8..440ed7c24 100644 --- a/vanetza/asn1/support/OPEN_TYPE_oer.c +++ b/vanetza/asn1/support/OPEN_TYPE_oer.c @@ -94,7 +94,7 @@ asn_enc_rval_t OPEN_TYPE_encode_oer(const asn_TYPE_descriptor_t *td, const asn_oer_constraints_t *constraints, const void *sptr, asn_app_consume_bytes_f *cb, void *app_key) { - asn_TYPE_member_t *elm; + asn_TYPE_member_t *elm; unsigned present; const void *memb_ptr; ssize_t encoded; diff --git a/vanetza/asn1/support/ObjectDescriptor.c b/vanetza/asn1/support/ObjectDescriptor.c index d0b0e77a0..7a73bf586 100644 --- a/vanetza/asn1/support/ObjectDescriptor.c +++ b/vanetza/asn1/support/ObjectDescriptor.c @@ -87,6 +87,9 @@ asn_TYPE_descriptor_t asn_DEF_ObjectDescriptor = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_unknown_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/PrintableString.c b/vanetza/asn1/support/PrintableString.c index 96fadcd83..76b8b817f 100644 --- a/vanetza/asn1/support/PrintableString.c +++ b/vanetza/asn1/support/PrintableString.c @@ -124,6 +124,9 @@ asn_TYPE_descriptor_t asn_DEF_PrintableString = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_DEF_PrintableString_per_constraints, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ PrintableString_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/REAL.c b/vanetza/asn1/support/REAL.c index b0f799b0f..5ac876bf0 100644 --- a/vanetza/asn1/support/REAL.c +++ b/vanetza/asn1/support/REAL.c @@ -127,6 +127,9 @@ asn_TYPE_descriptor_t asn_DEF_REAL = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_no_constraint }, 0, 0, /* No members */ @@ -377,7 +380,7 @@ REAL_copy(const asn_TYPE_descriptor_t *td, void **aptr, *aptr = 0; } return 0; - } + } if(!a) { a = *aptr = CALLOC(1, sizeof(*a)); @@ -392,7 +395,7 @@ REAL_copy(const asn_TYPE_descriptor_t *td, void **aptr, FREEMEM(a->buf); a->buf = buf; a->size = b->size; - } + } return 0; } diff --git a/vanetza/asn1/support/REAL_jer.c b/vanetza/asn1/support/REAL_jer.c index e592e90ca..13aecabda 100644 --- a/vanetza/asn1/support/REAL_jer.c +++ b/vanetza/asn1/support/REAL_jer.c @@ -233,7 +233,9 @@ REAL__jer_dump(double d, int canonical, asn_app_consume_bytes_f *cb, void *app_k } asn_enc_rval_t -REAL_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, +REAL_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { const REAL_t *st = (const REAL_t *)sptr; @@ -255,8 +257,8 @@ REAL_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, * Decode the chunk of JSON text encoding REAL. */ static enum jer_pbd_rval -REAL__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, - const void *chunk_buf, size_t chunk_size) { +REAL__jer_body_decode(const asn_TYPE_descriptor_t *td, + void *sptr, const void *chunk_buf, size_t chunk_size) { REAL_t *st = (REAL_t *)sptr; double value; const char *jerdata = (const char *)chunk_buf; @@ -322,8 +324,9 @@ REAL__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, asn_dec_rval_t REAL_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **sptr, const void *buf_ptr, size_t size) { return jer_decode_primitive(opt_codec_ctx, td, sptr, sizeof(REAL_t), buf_ptr, size, REAL__jer_body_decode); } diff --git a/vanetza/asn1/support/RELATIVE-OID.c b/vanetza/asn1/support/RELATIVE-OID.c index 906aacc8b..5a8551a90 100644 --- a/vanetza/asn1/support/RELATIVE-OID.c +++ b/vanetza/asn1/support/RELATIVE-OID.c @@ -89,6 +89,9 @@ asn_TYPE_descriptor_t asn_DEF_RELATIVE_OID = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_no_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/RELATIVE-OID_jer.c b/vanetza/asn1/support/RELATIVE-OID_jer.c index 408790533..3791026f3 100644 --- a/vanetza/asn1/support/RELATIVE-OID_jer.c +++ b/vanetza/asn1/support/RELATIVE-OID_jer.c @@ -9,8 +9,9 @@ #define CQUOTE 0x22 static enum jer_pbd_rval -RELATIVE_OID__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, - const void *chunk_buf, size_t chunk_size) { +RELATIVE_OID__jer_body_decode(const asn_TYPE_descriptor_t *td, + void *sptr, const void *chunk_buf, + size_t chunk_size) { RELATIVE_OID_t *st = (RELATIVE_OID_t *)sptr; const char *chunk_end = (const char *)chunk_buf + chunk_size; const char* p = (const char*)chunk_buf; @@ -31,10 +32,10 @@ RELATIVE_OID__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, } --chunk_end; for (; chunk_end >= p; --chunk_end) { - if (*chunk_end == CQUOTE) + if (*chunk_end == CQUOTE) break; } - if (chunk_end - p < 0) + if (chunk_end - p < 0) return JPBD_BROKEN_ENCODING; chunk_size = chunk_end - p; chunk_buf = p; @@ -71,16 +72,19 @@ RELATIVE_OID__jer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, asn_dec_rval_t RELATIVE_OID_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **sptr, const void *buf_ptr, size_t size) { return jer_decode_primitive(opt_codec_ctx, td, sptr, sizeof(RELATIVE_OID_t), buf_ptr, size, RELATIVE_OID__jer_body_decode); } asn_enc_rval_t -RELATIVE_OID_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +RELATIVE_OID_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, + enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { const RELATIVE_OID_t *st = (const RELATIVE_OID_t *)sptr; asn_enc_rval_t er = {0,0,0}; diff --git a/vanetza/asn1/support/T61String.c b/vanetza/asn1/support/T61String.c index b2f65cae4..45572128b 100644 --- a/vanetza/asn1/support/T61String.c +++ b/vanetza/asn1/support/T61String.c @@ -87,6 +87,9 @@ asn_TYPE_descriptor_t asn_DEF_T61String = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_unknown_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/TeletexString.c b/vanetza/asn1/support/TeletexString.c index eb04feb5f..ba02caf53 100644 --- a/vanetza/asn1/support/TeletexString.c +++ b/vanetza/asn1/support/TeletexString.c @@ -87,6 +87,9 @@ asn_TYPE_descriptor_t asn_DEF_TeletexString = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_unknown_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/UTCTime.c b/vanetza/asn1/support/UTCTime.c index 5d274ffa1..9ad20773d 100644 --- a/vanetza/asn1/support/UTCTime.c +++ b/vanetza/asn1/support/UTCTime.c @@ -105,6 +105,9 @@ asn_TYPE_descriptor_t asn_DEF_UTCTime = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_DEF_UTCTime_constraints, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ UTCTime_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/UTCTime_jer.c b/vanetza/asn1/support/UTCTime_jer.c index 41daa91a3..04b563f6a 100644 --- a/vanetza/asn1/support/UTCTime_jer.c +++ b/vanetza/asn1/support/UTCTime_jer.c @@ -16,8 +16,9 @@ #if !defined(ASN___INTERNAL_TEST_MODE) asn_enc_rval_t -UTCTime_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +UTCTime_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { asn_enc_rval_t rv; UTCTime_t *ut; @@ -32,7 +33,7 @@ UTCTime_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, ut = asn_time2UT(0, &tm, 1); if(!ut) ASN__ENCODE_FAILED; - rv = OCTET_STRING_encode_jer_utf8(td, sptr, ilevel, flags, + rv = OCTET_STRING_encode_jer_utf8(td, constraints, sptr, ilevel, flags, cb, app_key); OCTET_STRING_free(&asn_DEF_UTCTime, ut, 0); return rv; diff --git a/vanetza/asn1/support/UTF8String.c b/vanetza/asn1/support/UTF8String.c index 1788e6b71..37760250e 100644 --- a/vanetza/asn1/support/UTF8String.c +++ b/vanetza/asn1/support/UTF8String.c @@ -88,6 +88,9 @@ asn_TYPE_descriptor_t asn_DEF_UTF8String = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ UTF8String_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/UniversalString.c b/vanetza/asn1/support/UniversalString.c index cf326c83a..afe6a08e9 100644 --- a/vanetza/asn1/support/UniversalString.c +++ b/vanetza/asn1/support/UniversalString.c @@ -99,6 +99,9 @@ asn_TYPE_descriptor_t asn_DEF_UniversalString = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_DEF_UniversalString_per_constraints, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ UniversalString_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/UniversalString_jer.c b/vanetza/asn1/support/UniversalString_jer.c index 476ff64a0..ef63cdcf9 100644 --- a/vanetza/asn1/support/UniversalString_jer.c +++ b/vanetza/asn1/support/UniversalString_jer.c @@ -9,11 +9,12 @@ asn_dec_rval_t UniversalString_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **sptr, const void *buf_ptr, size_t size) { asn_dec_rval_t rc; - rc = OCTET_STRING_decode_jer_utf8(opt_codec_ctx, td, sptr, buf_ptr, size); + rc = OCTET_STRING_decode_jer_utf8(opt_codec_ctx, td, constraints, sptr, buf_ptr, size); if(rc.code == RC_OK) { /* * Now we have a whole string in UTF-8 format. @@ -64,8 +65,10 @@ UniversalString_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } asn_enc_rval_t -UniversalString_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +UniversalString_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, + enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { const UniversalString_t *st = (const UniversalString_t *)sptr; asn_enc_rval_t er = {0,0,0}; diff --git a/vanetza/asn1/support/VideotexString.c b/vanetza/asn1/support/VideotexString.c index 0098c7334..7b7c3d99e 100644 --- a/vanetza/asn1/support/VideotexString.c +++ b/vanetza/asn1/support/VideotexString.c @@ -87,6 +87,9 @@ asn_TYPE_descriptor_t asn_DEF_VideotexString = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) 0, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_generic_unknown_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/VisibleString.c b/vanetza/asn1/support/VisibleString.c index 307cbf84b..ad2288393 100644 --- a/vanetza/asn1/support/VisibleString.c +++ b/vanetza/asn1/support/VisibleString.c @@ -94,6 +94,9 @@ asn_TYPE_descriptor_t asn_DEF_VisibleString = { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) &asn_DEF_VisibleString_constraints, #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ VisibleString_constraint }, 0, 0, /* No members */ diff --git a/vanetza/asn1/support/aper_support.c b/vanetza/asn1/support/aper_support.c index e24d5e629..50e926297 100644 --- a/vanetza/asn1/support/aper_support.c +++ b/vanetza/asn1/support/aper_support.c @@ -140,7 +140,7 @@ aper_get_constrained_whole_number(asn_per_data_t *pd, long lb, long ub) { /* X.691 2002 10.5.7.2 - The one-octet case. */ if (range == 256) { - if (aper_get_align(pd)) + if (aper_get_align(pd) < 0) return -1; value = per_get_few_bits(pd, 8); if (value < 0 || value >= range) @@ -150,7 +150,7 @@ aper_get_constrained_whole_number(asn_per_data_t *pd, long lb, long ub) { /* X.691 2002 10.5.7.3 - The two-octet case. */ if (range <= 65536) { - if (aper_get_align(pd)) + if (aper_get_align(pd) < 0) return -1; value = per_get_few_bits(pd, 16); if (value < 0 || value >= range) @@ -174,7 +174,7 @@ aper_get_constrained_whole_number(asn_per_data_t *pd, long lb, long ub) { ASN_DEBUG("todo: aper_get_constrained_whole_number: value_len > 4"); return -1; } - if (aper_get_align(pd)) + if (aper_get_align(pd) < 0) return -1; value = per_get_few_bits(pd, value_len * 8); if (value < 0 || value >= range) diff --git a/vanetza/asn1/support/constr_CHOICE_jer.c b/vanetza/asn1/support/constr_CHOICE_jer.c index bcf97d98d..f65216277 100644 --- a/vanetza/asn1/support/constr_CHOICE_jer.c +++ b/vanetza/asn1/support/constr_CHOICE_jer.c @@ -31,8 +31,9 @@ */ asn_dec_rval_t CHOICE_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const void *buf_ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **struct_ptr, const void *buf_ptr, size_t size) { /* * Bring closer parts of structure description. */ @@ -98,7 +99,9 @@ CHOICE_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, /* Start/Continue decoding the inner member */ tmprval = elm->type->op->jer_decoder(opt_codec_ctx, - elm->type, memb_ptr2, + elm->type, + elm->encoding_constraints.jer_constraints, + memb_ptr2, buf_ptr, size); JER_ADVANCE(tmprval.consumed); ASN_DEBUG("JER/CHOICE: itdf: [%s] code=%d", @@ -133,7 +136,7 @@ CHOICE_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, continue; case PJER_DLM: - case PJER_VALUE: + case PJER_VALUE: case PJER_KEY: break; /* Check the rest down there */ } @@ -263,9 +266,9 @@ CHOICE_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } asn_enc_rval_t -CHOICE_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, - void *app_key) { +CHOICE_encode_jer(const asn_TYPE_descriptor_t *td, const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, enum jer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; asn_enc_rval_t er = {0,0,0}; @@ -307,7 +310,9 @@ CHOICE_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, ASN__CALLBACK3("\"", 1, mname, mlen, "\":", 2); } - tmper = elm->type->op->jer_encoder(elm->type, memb_ptr, + tmper = elm->type->op->jer_encoder(elm->type, + elm->encoding_constraints.jer_constraints, + memb_ptr, ilevel + 1, flags, cb, app_key); if(tmper.encoded == -1) return tmper; er.encoded += tmper.encoded; diff --git a/vanetza/asn1/support/constr_SEQUENCE.c b/vanetza/asn1/support/constr_SEQUENCE.c index 991d69b3d..d7c5401a5 100644 --- a/vanetza/asn1/support/constr_SEQUENCE.c +++ b/vanetza/asn1/support/constr_SEQUENCE.c @@ -69,7 +69,7 @@ void SEQUENCE_free(const asn_TYPE_descriptor_t *td, void *sptr, enum asn_struct_free_method method) { size_t edx; - const asn_SEQUENCE_specifics_t *specs; + const asn_SEQUENCE_specifics_t *specs; asn_struct_ctx_t *ctx; /* Decoder context */ if(!td || !sptr) @@ -205,7 +205,7 @@ SEQUENCE_copy(const asn_TYPE_descriptor_t *td, void **aptr, const void *bptr) { if(!td) return -1; - const asn_SEQUENCE_specifics_t *specs = + const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; size_t edx; void *st = *aptr; /* Target structure */ diff --git a/vanetza/asn1/support/constr_SEQUENCE_OF_jer.c b/vanetza/asn1/support/constr_SEQUENCE_OF_jer.c index 1820e3892..abb52fbc7 100644 --- a/vanetza/asn1/support/constr_SEQUENCE_OF_jer.c +++ b/vanetza/asn1/support/constr_SEQUENCE_OF_jer.c @@ -8,8 +8,8 @@ #include "asn_SEQUENCE_OF.h" asn_enc_rval_t -SEQUENCE_OF_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum jer_encoder_flags_e flags, +SEQUENCE_OF_encode_jer(const asn_TYPE_descriptor_t *td, const asn_jer_constraints_t *constraints, + const void *sptr, int ilevel, enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { asn_enc_rval_t er = {0,0,0}; const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; @@ -29,7 +29,9 @@ SEQUENCE_OF_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, if(!memb_ptr) continue; if(!jmin) ASN__TEXT_INDENT(1, ilevel + 1); - tmper = elm->type->op->jer_encoder(elm->type, memb_ptr, ilevel + 1, + tmper = elm->type->op->jer_encoder(elm->type, + elm->encoding_constraints.jer_constraints, + memb_ptr, ilevel + 1, flags, cb, app_key); if(tmper.encoded == -1) return tmper; er.encoded += tmper.encoded; diff --git a/vanetza/asn1/support/constr_SEQUENCE_jer.c b/vanetza/asn1/support/constr_SEQUENCE_jer.c index c176265b2..d35f06b1e 100644 --- a/vanetza/asn1/support/constr_SEQUENCE_jer.c +++ b/vanetza/asn1/support/constr_SEQUENCE_jer.c @@ -39,8 +39,9 @@ */ asn_dec_rval_t SEQUENCE_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const void *ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **struct_ptr, const void *ptr, size_t size) { /* * Bring closer parts of structure description. */ @@ -108,7 +109,9 @@ SEQUENCE_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } else { /* Invoke the inner type decoder, m.b. multiple times */ tmprval = elm->type->op->jer_decoder(opt_codec_ctx, - elm->type, memb_ptr2, + elm->type, + elm->encoding_constraints.jer_constraints, + memb_ptr2, ptr, size); } JER_ADVANCE(tmprval.consumed); @@ -179,7 +182,7 @@ SEQUENCE_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, /* All extensions are optional */ IN_EXTENSION_GROUP(specs, edx)) { JER_ADVANCE(ch_size); - JER_ADVANCE(jer_whitespace_span(ptr, size)); + JER_ADVANCE(jer_whitespace_span(ptr, size)); ctx->phase = 4; /* Phase out */ RETURN(RC_OK); } else { @@ -239,7 +242,7 @@ SEQUENCE_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, switch(ch_type) { case PJER_WMORE: RETURN(RC_WMORE); - case PJER_TEXT: + case PJER_TEXT: JER_ADVANCE(ch_size); break; default: @@ -255,7 +258,7 @@ SEQUENCE_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } break; } - if(n != edx_end) + if(n != edx_end) continue; } else { ASN_DEBUG("Out of defined members: %" ASN_PRI_SIZE "/%u", @@ -294,7 +297,8 @@ SEQUENCE_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } -asn_enc_rval_t SEQUENCE_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, +asn_enc_rval_t SEQUENCE_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t* constraints, const void *sptr, int ilevel, enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key) { asn_enc_rval_t er = {0,0,0}; @@ -352,8 +356,10 @@ asn_enc_rval_t SEQUENCE_encode_jer(const asn_TYPE_descriptor_t *td, const void * } /* Print the member itself */ - tmper = elm->type->op->jer_encoder(elm->type, memb_ptr, ilevel + 1, - flags, cb, app_key); + tmper = elm->type->op->jer_encoder(elm->type, + elm->encoding_constraints.jer_constraints, + memb_ptr, + ilevel + 1, flags, cb, app_key); if(tmp_def_val) { ASN_STRUCT_FREE(*tmp_def_val_td, tmp_def_val); tmp_def_val = 0; diff --git a/vanetza/asn1/support/constr_SET.c b/vanetza/asn1/support/constr_SET.c index f2f7f43e5..7d0446079 100644 --- a/vanetza/asn1/support/constr_SET.c +++ b/vanetza/asn1/support/constr_SET.c @@ -223,7 +223,7 @@ SET_copy(const asn_TYPE_descriptor_t *td, void **aptr, const void *bptr) { if(!td) return -1; - const asn_SET_specifics_t *specs = + const asn_SET_specifics_t *specs = (const asn_SET_specifics_t *)td->specifics; size_t edx; void *st = *aptr; /* Target structure */ diff --git a/vanetza/asn1/support/constr_SET_OF_jer.c b/vanetza/asn1/support/constr_SET_OF_jer.c index 9d3c3a063..44a0d27da 100644 --- a/vanetza/asn1/support/constr_SET_OF_jer.c +++ b/vanetza/asn1/support/constr_SET_OF_jer.c @@ -31,8 +31,9 @@ */ asn_dec_rval_t SET_OF_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const void *buf_ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **struct_ptr, const void *buf_ptr, size_t size) { /* * Bring closer parts of structure description. */ @@ -83,6 +84,7 @@ SET_OF_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, (*element->name) ? element->name : element->type->xml_tag); tmprval = element->type->op->jer_decoder(opt_codec_ctx, element->type, + element->encoding_constraints.jer_constraints, &ctx->ptr, buf_ptr, size); if(tmprval.code == RC_OK) { @@ -172,9 +174,10 @@ SET_OF_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, } asn_enc_rval_t -SET_OF_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, - void *app_key) { +SET_OF_encode_jer(const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t* constraints, const void *sptr, + int ilevel, enum jer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { asn_enc_rval_t er = {0,0,0}; const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; const asn_TYPE_member_t *elm = td->elements; @@ -194,7 +197,9 @@ SET_OF_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, if(!memb_ptr) continue; if(!jmin) ASN__TEXT_INDENT(1, ilevel + 1); - tmper = elm->type->op->jer_encoder(elm->type, memb_ptr, + tmper = elm->type->op->jer_encoder(elm->type, + elm->encoding_constraints.jer_constraints, + memb_ptr, ilevel + (specs->as_XMLValueList != 2), flags, cb, app_key); if(tmper.encoded == -1) return tmper; diff --git a/vanetza/asn1/support/constr_SET_jer.c b/vanetza/asn1/support/constr_SET_jer.c index e985dfe05..49b8fc4d5 100644 --- a/vanetza/asn1/support/constr_SET_jer.c +++ b/vanetza/asn1/support/constr_SET_jer.c @@ -38,8 +38,9 @@ */ asn_dec_rval_t SET_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const void *ptr, size_t size) { + const asn_TYPE_descriptor_t *td, + const asn_jer_constraints_t *constraints, + void **struct_ptr, const void *ptr, size_t size) { /* * Bring closer parts of structure description. */ @@ -112,7 +113,9 @@ SET_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, /* Invoke the inner type decoder, m.b. multiple times */ tmprval = elm->type->op->jer_decoder(opt_codec_ctx, - elm->type, memb_ptr2, + elm->type, + elm->encoding_constraints.jer_constraints, + memb_ptr2, ptr, size); JER_ADVANCE(tmprval.consumed); if(tmprval.code != RC_OK) diff --git a/vanetza/asn1/support/constr_TYPE.h b/vanetza/asn1/support/constr_TYPE.h index 38e3cb191..e0d28fdd4 100644 --- a/vanetza/asn1/support/constr_TYPE.h +++ b/vanetza/asn1/support/constr_TYPE.h @@ -212,6 +212,9 @@ typedef struct asn_encoding_constraints_s { #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) const struct asn_per_constraints_s *per_constraints; #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + const struct asn_jer_constraints_s *jer_constraints; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ asn_constr_check_f *general_constraints; } asn_encoding_constraints_t; diff --git a/vanetza/asn1/support/jer_decoder.c b/vanetza/asn1/support/jer_decoder.c index 90b02ead6..020591b89 100644 --- a/vanetza/asn1/support/jer_decoder.c +++ b/vanetza/asn1/support/jer_decoder.c @@ -35,7 +35,7 @@ jer_decode(const asn_codec_ctx_t *opt_codec_ctx, /* * Invoke type-specific decoder. */ - return td->op->jer_decoder(opt_codec_ctx, td, struct_ptr, buffer, size); + return td->op->jer_decoder(opt_codec_ctx, td, 0, struct_ptr, buffer, size); } diff --git a/vanetza/asn1/support/jer_decoder.h b/vanetza/asn1/support/jer_decoder.h index 6da438e61..d0f620c23 100644 --- a/vanetza/asn1/support/jer_decoder.h +++ b/vanetza/asn1/support/jer_decoder.h @@ -6,6 +6,7 @@ #define _JER_DECODER_H_ #include "asn_application.h" +#include "jer_support.h" #ifdef __cplusplus extern "C" { @@ -30,7 +31,9 @@ asn_dec_rval_t jer_decode( */ typedef asn_dec_rval_t(jer_type_decoder_f)( const asn_codec_ctx_t *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr, + const struct asn_TYPE_descriptor_s *type_descriptor, + const asn_jer_constraints_t *constraints, + void **struct_ptr, const void *buf_ptr, size_t size); /******************************* diff --git a/vanetza/asn1/support/jer_encoder.c b/vanetza/asn1/support/jer_encoder.c index 78c21db45..0d9d6202d 100644 --- a/vanetza/asn1/support/jer_encoder.c +++ b/vanetza/asn1/support/jer_encoder.c @@ -11,14 +11,14 @@ */ asn_enc_rval_t jer_encode(const asn_TYPE_descriptor_t *td, const void *sptr, - enum jer_encoder_flags_e jer_flags, asn_app_consume_bytes_f *cb, - void *app_key) { + enum jer_encoder_flags_e jer_flags, + asn_app_consume_bytes_f *cb, void *app_key) { asn_enc_rval_t er = {0, 0, 0}; asn_enc_rval_t tmper; if(!td || !sptr) goto cb_failed; - tmper = td->op->jer_encoder(td, sptr, 0, jer_flags, cb, app_key); + tmper = td->op->jer_encoder(td, 0, sptr, 0, jer_flags, cb, app_key); if(tmper.encoded == -1) return tmper; er.encoded += tmper.encoded; diff --git a/vanetza/asn1/support/jer_encoder.h b/vanetza/asn1/support/jer_encoder.h index d684d63c8..deabdb0a6 100644 --- a/vanetza/asn1/support/jer_encoder.h +++ b/vanetza/asn1/support/jer_encoder.h @@ -6,6 +6,7 @@ #define _JER_ENCODER_H_ #include "asn_application.h" +#include "jer_support.h" #ifdef __cplusplus extern "C" { @@ -71,6 +72,7 @@ enum jer_equivalence_e jer_equivalent( */ typedef asn_enc_rval_t(jer_type_encoder_f)( const struct asn_TYPE_descriptor_s *type_descriptor, + const asn_jer_constraints_t *constraints, const void *struct_ptr, /* Structure to be encoded */ int ilevel, /* Level of indentation */ enum jer_encoder_flags_e jer_flags, diff --git a/vanetza/asn1/support/jer_support.h b/vanetza/asn1/support/jer_support.h index 0b60197c6..3dc93c92b 100644 --- a/vanetza/asn1/support/jer_support.h +++ b/vanetza/asn1/support/jer_support.h @@ -12,6 +12,13 @@ extern "C" { #endif +/* + * Pre-computed JER constraints + */ +typedef struct asn_jer_constraints_s { + ssize_t size; /* -1 (no constraint) or >= 0 */ +} asn_jer_constraints_t; + /* * Types of data transferred to the application. */ diff --git a/vanetza/facilities/cam_functions.cpp b/vanetza/facilities/cam_functions.cpp index 7baf4c9c3..5d0bd3ee3 100644 --- a/vanetza/facilities/cam_functions.cpp +++ b/vanetza/facilities/cam_functions.cpp @@ -1,16 +1,10 @@ #include #include -#include -#include #include -#include #include #include #include #include -#include -#include -#undef min namespace vanetza { @@ -20,67 +14,7 @@ namespace facilities using vanetza::units::Angle; static const auto microdegree = units::degree * units::si::micro; - -// TODO: C2C-CC BSP allows up to 500m history for CAMs, we provide just minimal required history -void copy(const facilities::PathHistory& ph, BasicVehicleContainerLowFrequency& container) -{ - static const std::size_t scMaxPathPoints = 23; - static const boost::posix_time::time_duration scMaxDeltaTime = boost::posix_time::millisec(655350); - static const auto scMicrodegree = microdegree; - - const auto& concise_points = ph.getConcisePoints(); - const facilities::PathPoint& ref = ph.getReferencePoint(); - std::size_t path_points = 0; - - for (const PathPoint& point : concise_points) { - auto delta_time = ref.time - point.time; // positive: point is in past - auto delta_latitude = point.latitude - ref.latitude; // positive: point is north - auto delta_longitude = point.longitude - ref.longitude; // positive: point is east - - while (!delta_time.is_negative() && path_points < scMaxPathPoints) { - ::PathPoint* path_point = asn1::allocate<::PathPoint>(); - path_point->pathDeltaTime = asn1::allocate(); - *(path_point->pathDeltaTime) = std::min(delta_time, scMaxDeltaTime).total_milliseconds() / - 10 * PathDeltaTime::PathDeltaTime_tenMilliSecondsInPast; - path_point->pathPosition.deltaLatitude = (delta_latitude / scMicrodegree).value() * - DeltaLatitude::DeltaLatitude_oneMicrodegreeNorth; - path_point->pathPosition.deltaLongitude = (delta_longitude / scMicrodegree).value() * - DeltaLongitude::DeltaLongitude_oneMicrodegreeEast; - path_point->pathPosition.deltaAltitude = DeltaAltitude::DeltaAltitude_unavailable; - - ASN_SEQUENCE_ADD(&container.pathHistory, path_point); - - delta_time -= scMaxDeltaTime; - ++path_points; - } - } -} - -bool similar_heading(const Heading& a, const Heading& b, Angle limit) -{ - // HeadingValues are tenth of degree (900 equals 90 degree east) - static_assert(HeadingValue_wgs84East == 900, "HeadingValue interpretation fails"); - - bool result = false; - if (is_available(a) && is_available(b)) { - using vanetza::units::degree; - const Angle angle_a { a.headingValue / 10.0 * degree }; - const Angle angle_b { b.headingValue / 10.0 * degree }; - result = similar_heading(angle_a, angle_b, limit); - } - - return result; -} - -bool similar_heading(const Heading& a, Angle b, Angle limit) -{ - bool result = false; - if (is_available(a)) { - using vanetza::units::degree; - result = similar_heading(Angle { a.headingValue / 10.0 * degree}, b, limit); - } - return result; -} +static const auto tenth_microdegree = units::si::deci * microdegree; bool similar_heading(Angle a, Angle b, Angle limit) { @@ -92,54 +26,6 @@ bool similar_heading(Angle a, Angle b, Angle limit) return abs_diff <= limit || abs_diff >= full_circle - limit; } -units::Length distance(const ReferencePosition_t& a, const ReferencePosition_t& b) -{ - using geonet::GeodeticPosition; - using units::GeoAngle; - - auto length = units::Length::from_value(std::numeric_limits::quiet_NaN()); - if (is_available(a) && is_available(b)) { - GeodeticPosition geo_a { - GeoAngle { a.latitude / Latitude_oneMicrodegreeNorth * microdegree }, - GeoAngle { a.longitude / Longitude_oneMicrodegreeEast * microdegree } - }; - GeodeticPosition geo_b { - GeoAngle { b.latitude / Latitude_oneMicrodegreeNorth * microdegree }, - GeoAngle { b.longitude / Longitude_oneMicrodegreeEast * microdegree } - }; - length = geonet::distance(geo_a, geo_b); - } - return length; -} - -units::Length distance(const ReferencePosition_t& a, units::GeoAngle lat, units::GeoAngle lon) -{ - using geonet::GeodeticPosition; - using units::GeoAngle; - - auto length = units::Length::from_value(std::numeric_limits::quiet_NaN()); - if (is_available(a)) { - GeodeticPosition geo_a { - GeoAngle { a.latitude / Latitude_oneMicrodegreeNorth * microdegree }, - GeoAngle { a.longitude / Longitude_oneMicrodegreeEast * microdegree } - }; - GeodeticPosition geo_b { lat, lon }; - length = geonet::distance(geo_a, geo_b); - } - return length; -} - -bool is_available(const Heading& hd) -{ - return hd.headingValue != HeadingValue_unavailable; -} - -bool is_available(const ReferencePosition& pos) -{ - return pos.latitude != Latitude_unavailable && pos.longitude != Longitude_unavailable; -} - - template long round(const boost::units::quantity& q, const U& u) { @@ -147,21 +33,6 @@ long round(const boost::units::quantity& q, const U& u) return std::round(v.value()); } -void copy(const PositionFix& position, ReferencePosition& reference_position) { - reference_position.longitude = round(position.longitude, microdegree) * Longitude_oneMicrodegreeEast; - reference_position.latitude = round(position.latitude, microdegree) * Latitude_oneMicrodegreeNorth; - reference_position.positionConfidenceEllipse.semiMajorOrientation = HeadingValue_unavailable; - reference_position.positionConfidenceEllipse.semiMajorConfidence = SemiAxisLength_unavailable; - reference_position.positionConfidenceEllipse.semiMinorConfidence = SemiAxisLength_unavailable; - if (position.altitude) { - reference_position.altitude.altitudeValue = to_altitude_value(position.altitude->value()); - reference_position.altitude.altitudeConfidence = to_altitude_confidence(position.altitude->confidence()); - } else { - reference_position.altitude.altitudeValue = AltitudeValue_unavailable; - reference_position.altitude.altitudeConfidence = AltitudeConfidence_unavailable; - } -} - AltitudeConfidence_t to_altitude_confidence(units::Length confidence) { const double alt_con = confidence / units::si::meter; @@ -204,318 +75,59 @@ AltitudeConfidence_t to_altitude_confidence(units::Length confidence) AltitudeValue_t to_altitude_value(units::Length alt) { using boost::units::isnan; + static_assert(AltitudeValue_oneCentimeter == 1, "AltitudeValue encodes an integer number of centimeters"); if (!isnan(alt)) { alt = boost::algorithm::clamp(alt, -1000.0 * units::si::meter, 8000.0 * units::si::meter); - return AltitudeValue_oneCentimeter * 100.0 * (alt / units::si::meter); + return round(alt, units::si::centi * units::si::meter); } else { return AltitudeValue_unavailable; } } -bool check_service_specific_permissions(const asn1::Cam& cam, security::CamPermissions ssp) -{ - using security::CamPermission; - using security::CamPermissions; - - CamPermissions required_permissions; - const CamParameters_t& params = cam->cam.camParameters; - - if (params.highFrequencyContainer.present == HighFrequencyContainer_PR_rsuContainerHighFrequency) { - const RSUContainerHighFrequency_t& rsu = params.highFrequencyContainer.choice.rsuContainerHighFrequency; - if (rsu.protectedCommunicationZonesRSU) { - required_permissions.add(CamPermission::CEN_DSRC_Tolling_Zone); - } - } - - if (const SpecialVehicleContainer_t* special = params.specialVehicleContainer) { - const EmergencyContainer_t* emergency = nullptr; - const SafetyCarContainer_t* safety = nullptr; - const RoadWorksContainerBasic_t* roadworks = nullptr; - - switch (special->present) { - case SpecialVehicleContainer_PR_publicTransportContainer: - required_permissions.add(CamPermission::Public_Transport); - break; - case SpecialVehicleContainer_PR_specialTransportContainer: - required_permissions.add(CamPermission::Special_Transport); - break; - case SpecialVehicleContainer_PR_dangerousGoodsContainer: - required_permissions.add(CamPermission::Dangerous_Goods); - break; - case SpecialVehicleContainer_PR_roadWorksContainerBasic: - required_permissions.add(CamPermission::Roadwork); - roadworks = &special->choice.roadWorksContainerBasic; - break; - case SpecialVehicleContainer_PR_rescueContainer: - required_permissions.add(CamPermission::Rescue); - break; - case SpecialVehicleContainer_PR_emergencyContainer: - required_permissions.add(CamPermission::Emergency); - emergency = &special->choice.emergencyContainer; - break; - case SpecialVehicleContainer_PR_safetyCarContainer: - required_permissions.add(CamPermission::Safety_Car); - safety = &special->choice.safetyCarContainer; - break; - case SpecialVehicleContainer_PR_NOTHING: - default: - break; - } +} // namespace facilities +} // namespace vanetza - if (emergency && emergency->emergencyPriority && emergency->emergencyPriority->size == 1) { - // testing bit strings from asn1c is such a mess... - assert(emergency->emergencyPriority->buf); - uint8_t bits = *emergency->emergencyPriority->buf; - if (bits & (1 << (7 - EmergencyPriority_requestForRightOfWay))) { - required_permissions.add(CamPermission::Request_For_Right_Of_Way); - } - if (bits & (1 << (7 - EmergencyPriority_requestForFreeCrossingAtATrafficLight))) { - required_permissions.add(CamPermission::Request_For_Free_Crossing_At_Traffic_Light); - } - } +#define ASN1_PREFIX ASN1_RELEASE1_PREFIX +#define ITS_RELEASE 1 +#include "detail/cam.ipp" +#include "detail/heading.ipp" +#include "detail/path_history.ipp" +#include "detail/reference_position.ipp" - if (roadworks && roadworks->closedLanes) { - required_permissions.add(CamPermission::Closed_Lanes); - } +#undef ASN1_PREFIX +#undef ITS_RELEASE - if (safety && safety->trafficRule) { - switch (*safety->trafficRule) { - case TrafficRule_noPassing: - required_permissions.add(CamPermission::No_Passing); - break; - case TrafficRule_noPassingForTrucks: - required_permissions.add(CamPermission::No_Passing_For_Trucks); - break; - default: - break; - } - } +#define ASN1_PREFIX ASN1_RELEASE2_PREFIX +#define ITS_RELEASE 2 +#include "detail/cam.ipp" +#include "detail/heading.ipp" +#include "detail/path_history.ipp" +#include "detail/reference_position.ipp" - if (safety && safety->speedLimit) { - required_permissions.add(CamPermission::Speed_Limit); - } - } +namespace vanetza +{ +namespace facilities +{ - return ssp.has(required_permissions); +bool check_service_specific_permissions(const asn1::r1::Cam& cam, security::CamPermissions ssp) +{ + return check_service_specific_permissions(cam->cam.camParameters, ssp); } -void print_indented(std::ostream& os, const asn1::Cam& message, const std::string& indent, unsigned level) +bool check_service_specific_permissions(const asn1::r2::Cam& cam, security::CamPermissions ssp) { - auto prefix = [&](const char* field) -> std::ostream& { - for (unsigned i = 0; i < level; ++i) { - os << indent; - } - os << field << ": "; - return os; - }; - - const ItsPduHeader_t& header = message->header; - prefix("ITS PDU Header") << "\n"; - ++level; - prefix("Protocol Version") << header.protocolVersion << "\n"; - prefix("Message ID") << header.messageID << "\n"; - prefix("Station ID") << header.stationID << "\n"; - --level; - - const CoopAwareness_t& cam = message->cam; - prefix("CoopAwarensess") << "\n"; - ++level; - prefix("Generation Delta Time") << cam.generationDeltaTime << "\n"; - - prefix("Basic Container") << "\n"; - ++level; - const BasicContainer_t& basic = cam.camParameters.basicContainer; - prefix("Station Type") << basic.stationType << "\n"; - prefix("Reference Position") << "\n"; - ++level; - prefix("Longitude") << basic.referencePosition.longitude << "\n"; - prefix("Latitude") << basic.referencePosition.latitude << "\n"; - prefix("Semi Major Orientation") << basic.referencePosition.positionConfidenceEllipse.semiMajorOrientation << "\n"; - prefix("Semi Major Confidence") << basic.referencePosition.positionConfidenceEllipse.semiMajorConfidence << "\n"; - prefix("Semi Minor Confidence") << basic.referencePosition.positionConfidenceEllipse.semiMinorConfidence << "\n"; - prefix("Altitude [Confidence]") << basic.referencePosition.altitude.altitudeValue - << " [" << basic.referencePosition.altitude.altitudeConfidence << "]\n"; - --level; - --level; - - if (cam.camParameters.highFrequencyContainer.present == HighFrequencyContainer_PR_basicVehicleContainerHighFrequency) { - prefix("High Frequency Container [Basic Vehicle]") << "\n"; - ++level; - const BasicVehicleContainerHighFrequency& bvc = - cam.camParameters.highFrequencyContainer.choice.basicVehicleContainerHighFrequency; - prefix("Heading [Confidence]") << bvc.heading.headingValue - << " [" << bvc.heading.headingConfidence << "]\n"; - prefix("Speed [Confidence]") << bvc.speed.speedValue - << " [" << bvc.speed.speedConfidence << "]\n"; - prefix("Drive Direction") << bvc.driveDirection << "\n"; - prefix("Longitudinal Acceleration [Confidence]") << bvc.longitudinalAcceleration.longitudinalAccelerationValue - << " [" << bvc.longitudinalAcceleration.longitudinalAccelerationConfidence << "]\n"; - prefix("Vehicle Length [Confidence Indication]") << bvc.vehicleLength.vehicleLengthValue - << " [" << bvc.vehicleLength.vehicleLengthConfidenceIndication << "]\n"; - prefix("Vehicle Width") << bvc.vehicleWidth << "\n"; - prefix("Curvature [Confidence]") << bvc.curvature.curvatureValue - << " [" << bvc.curvature.curvatureConfidence << "]\n"; - prefix("Curvature Calculation Mode") << bvc.curvatureCalculationMode << "\n"; - prefix("Yaw Rate [Confidence]") << bvc.yawRate.yawRateValue - << " [" << bvc.yawRate.yawRateConfidence << "]\n"; - --level; - } else if (cam.camParameters.highFrequencyContainer.present == HighFrequencyContainer_PR_rsuContainerHighFrequency) { - prefix("High Frequency Container [RSU]") << "\n"; - const RSUContainerHighFrequency_t& rsu = cam.camParameters.highFrequencyContainer.choice.rsuContainerHighFrequency; - if (nullptr != rsu.protectedCommunicationZonesRSU && nullptr != rsu.protectedCommunicationZonesRSU->list.array) { - ++level; - int size = rsu.protectedCommunicationZonesRSU->list.count; - for (int i = 0; i < size; i++) - { - prefix("Protected Zone") << "\n"; - ++level; - prefix("Type") << rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneType << "\n"; - if (rsu.protectedCommunicationZonesRSU->list.array[i]->expiryTime - && nullptr != rsu.protectedCommunicationZonesRSU->list.array[i]->expiryTime->buf - && rsu.protectedCommunicationZonesRSU->list.array[i]->expiryTime->size > 0) - prefix("Expiry Time") << (unsigned) rsu.protectedCommunicationZonesRSU->list.array[i]->expiryTime->buf[0] << "\n"; - prefix("Latitude") << rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneLatitude << "\n"; - prefix("Longitude") << rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneLongitude << "\n"; - if (nullptr != rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneRadius) - prefix("Radius") << *(rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneRadius) << "\n"; - if (nullptr != rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneRadius) - prefix("ID") << *(rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneID) << "\n"; - --level; - } - --level; - } - } else { - prefix("High Frequency Container") << "empty\n"; - } - - if (nullptr != cam.camParameters.lowFrequencyContainer) { - if (cam.camParameters.lowFrequencyContainer->present == LowFrequencyContainer_PR_basicVehicleContainerLowFrequency) { - prefix("Low Frequency Container") << "\n"; - const BasicVehicleContainerLowFrequency_t& lfc = - cam.camParameters.lowFrequencyContainer->choice.basicVehicleContainerLowFrequency; - ++level; - prefix("Vehicle Role") << (lfc.vehicleRole) << "\n"; - - if (nullptr != lfc.exteriorLights.buf && lfc.exteriorLights.size > 0) - prefix("Exterior Lights") << unsigned(*(lfc.exteriorLights.buf)) << "\n"; - if (nullptr != lfc.pathHistory.list.array) { - int size = lfc.pathHistory.list.count; - for (int i = 0; i < size; i++) - { - prefix("Path history point") << "\n"; - ++level; - prefix("Latitude") << (lfc.pathHistory.list.array[i]->pathPosition.deltaLatitude) << "\n"; - prefix("Longitude") << (lfc.pathHistory.list.array[i]->pathPosition.deltaLongitude) << "\n"; - prefix("Altitude") << (lfc.pathHistory.list.array[i]->pathPosition.deltaAltitude) << "\n"; - if (lfc.pathHistory.list.array[i]->pathDeltaTime) - prefix("Delta time") << *(lfc.pathHistory.list.array[i]->pathDeltaTime) << "\n"; - --level; - } - } - --level; - } - else // LowFrequencyContainer_PR_NOTHING - prefix("Low Frequency Container") << "present but empty" << "\n"; - } - else - prefix("Low Frequency Container") << "not present" << "\n"; + return check_service_specific_permissions(cam->cam.camParameters, ssp); +} - if (nullptr != cam.camParameters.specialVehicleContainer) { - if (cam.camParameters.specialVehicleContainer->present == SpecialVehicleContainer_PR_publicTransportContainer) { - prefix("Special Vehicle Container [Public Transport]") << "\n"; - PublicTransportContainer_t& ptc = cam.camParameters.specialVehicleContainer->choice.publicTransportContainer; - ++level; - prefix("Embarkation Status") << ptc.embarkationStatus << "\n"; - if (ptc.ptActivation) { - prefix("PT Activation Type") << ptc.ptActivation->ptActivationType << "\n"; - if (0 != ptc.ptActivation->ptActivationData.size) { - int size = ptc.ptActivation->ptActivationData.size; - for (int i = 0; i < ptc.ptActivation->ptActivationData.size; i++) - prefix("PT Activation Data") << (unsigned) ptc.ptActivation->ptActivationData.buf[i] << "\n"; - } - } - --level; - } else if (cam.camParameters.specialVehicleContainer->present == SpecialVehicleContainer_PR_specialTransportContainer) { - prefix("Special Vehicle Container [Special Transport]") << "\n"; - SpecialTransportContainer_t& stc = cam.camParameters.specialVehicleContainer->choice.specialTransportContainer; - ++level; - if (nullptr != stc.specialTransportType.buf && stc.specialTransportType.size > 0) - prefix("Type") << (unsigned) stc.specialTransportType.buf[0] << "\n"; - if (nullptr != stc.lightBarSirenInUse.buf && stc.lightBarSirenInUse.size > 0) - prefix("Light Bar Siren in Use") << (unsigned) stc.lightBarSirenInUse.buf[0] << "\n"; - --level; - } else if (cam.camParameters.specialVehicleContainer->present == SpecialVehicleContainer_PR_dangerousGoodsContainer) { - prefix("Special Vehicle Container [Dangerous Goods]") << "\n"; - DangerousGoodsContainer_t& dgc = cam.camParameters.specialVehicleContainer->choice.dangerousGoodsContainer; - ++level; - prefix("Dangerous Goods Basic Type") << (unsigned)dgc.dangerousGoodsBasic << "\n"; - --level; - } else if (cam.camParameters.specialVehicleContainer->present == SpecialVehicleContainer_PR_roadWorksContainerBasic) { - prefix("Special Vehicle Container [Road Works]") << "\n"; - RoadWorksContainerBasic_t& rwc = cam.camParameters.specialVehicleContainer->choice.roadWorksContainerBasic; - ++level; - if (nullptr != rwc.roadworksSubCauseCode) - prefix("Sub Cause Code") << *(rwc.roadworksSubCauseCode) << "\n"; - if (nullptr != rwc.lightBarSirenInUse.buf && rwc.lightBarSirenInUse.size > 0) - prefix("Light Bar Siren in Use") << (unsigned) rwc.lightBarSirenInUse.buf[0] << "\n"; - if (nullptr != rwc.closedLanes) { - if (rwc.closedLanes->innerhardShoulderStatus) - prefix("Inner Hard Shoulder Status") << *(rwc.closedLanes->innerhardShoulderStatus) << "\n"; - if (rwc.closedLanes->outerhardShoulderStatus) - prefix("Outer Hard Shoulder Status") << *(rwc.closedLanes->outerhardShoulderStatus) << "\n"; - if (rwc.closedLanes->drivingLaneStatus && nullptr != rwc.closedLanes->drivingLaneStatus->buf - && rwc.closedLanes->drivingLaneStatus->size > 0) - prefix("Driving Lane Status") << (unsigned) rwc.closedLanes->drivingLaneStatus->buf[0] << "\n"; - } - --level; - } else if (cam.camParameters.specialVehicleContainer->present == SpecialVehicleContainer_PR_rescueContainer) { - prefix("Special Vehicle Container [Rescue]") << "\n"; - RescueContainer_t& rc = cam.camParameters.specialVehicleContainer->choice.rescueContainer; - ++level; - if (nullptr != rc.lightBarSirenInUse.buf && rc.lightBarSirenInUse.size > 0) - prefix("Light Bar Siren in Use") << (unsigned) rc.lightBarSirenInUse.buf[0] << "\n"; - --level; - } else if (cam.camParameters.specialVehicleContainer->present == SpecialVehicleContainer_PR_emergencyContainer) { - prefix("Special Vehicle Container [Emergency]") << "\n"; - EmergencyContainer_t& ec = cam.camParameters.specialVehicleContainer->choice.emergencyContainer; - ++level; - if (nullptr != ec.lightBarSirenInUse.buf && ec.lightBarSirenInUse.size > 0) - prefix("Light Bar Siren in Use") << (unsigned) ec.lightBarSirenInUse.buf[0] << "\n"; - if (nullptr != ec.incidentIndication) { - prefix("Incident Indication Cause Code") << ec.incidentIndication->causeCode << "\n"; - prefix("Incident Indication Sub Cause Code") << ec.incidentIndication->subCauseCode << "\n"; - } - if (nullptr != ec.emergencyPriority && nullptr != ec.emergencyPriority->buf - && ec.emergencyPriority->size > 0) { - prefix("Emergency Priority") << (unsigned) ec.emergencyPriority->buf[0] << "\n"; - } - --level; - } else if (cam.camParameters.specialVehicleContainer->present == SpecialVehicleContainer_PR_safetyCarContainer) { - prefix("Special Vehicle Container [Safety Car]") << "\n"; - SafetyCarContainer_t& sc = cam.camParameters.specialVehicleContainer->choice.safetyCarContainer; - ++level; - if (nullptr != sc.lightBarSirenInUse.buf && sc.lightBarSirenInUse.size > 0) - prefix("Light Bar Siren in Use") << (unsigned) sc.lightBarSirenInUse.buf[0] << "\n"; - if (nullptr != sc.incidentIndication) { - prefix("Incident Indication Cause Code") << sc.incidentIndication->causeCode << "\n"; - prefix("Incident Indication Sub Cause Code") << sc.incidentIndication->subCauseCode << "\n"; - } - if (nullptr != sc.trafficRule) { - prefix("Traffic Rule") << *(sc.trafficRule) << "\n"; - } - if (nullptr != sc.speedLimit) { - prefix("Speed Limit") << *(sc.speedLimit) << "\n"; - } - --level; - } - else // SpecialVehicleContainer_PR_NOTHING - prefix("Special Vehicle Container") << ("present but empty") << "\n"; - } - else - prefix("Special Vehicle Container") << "not present" << "\n"; +void print_indented(std::ostream& os, const asn1::r1::Cam& cam, const std::string& indent, unsigned start) +{ + print_indented(os, cam.content(), indent, start); +} - --level; +void print_indented(std::ostream& os, const asn1::r2::Cam& cam, const std::string& indent, unsigned start) +{ + print_indented(os, cam.content(), indent, start); } } // namespace facilities diff --git a/vanetza/facilities/cam_functions.hpp b/vanetza/facilities/cam_functions.hpp index 8c765fead..f25e21124 100644 --- a/vanetza/facilities/cam_functions.hpp +++ b/vanetza/facilities/cam_functions.hpp @@ -3,8 +3,6 @@ #include #include -#include -#include #include #include #include @@ -12,12 +10,23 @@ // forward declaration of asn1c generated struct struct BasicVehicleContainerLowFrequency; +struct Heading; +struct PathHistory; +struct ReferencePosition; +struct Vanetza_ITS2_BasicVehicleContainerLowFrequency; +struct Vanetza_ITS2_Heading; +struct Vanetza_ITS2_Path; +struct Vanetza_ITS2_PathHistory; +struct Vanetza_ITS2_ReferencePosition; namespace vanetza { -// forward declaration of CAM message wrapper -namespace asn1 { class Cam; } +// forward declaration of CAM message wrappers +namespace asn1 { + namespace r1 { class Cam; } + namespace r2 { class Cam; } +} namespace facilities { @@ -26,10 +35,22 @@ class PathHistory; /** * Copy PathHistory into BasicVehicleContainerLowFrequency's pathHistory element + * \deprecated use function with PathHistory destination instead * \param Facilities' path history object (source) * \param ASN.1 CAM container (destination) */ void copy(const PathHistory&, BasicVehicleContainerLowFrequency&); +void copy(const PathHistory&, Vanetza_ITS2_BasicVehicleContainerLowFrequency&); + +/** + * Copy facilities::PathHistory into an ASN.1 PathHistory structure + * + * \param src source path history + * \param dest destination path history + */ +void copy(const PathHistory& src, ::PathHistory&); +void copy(const PathHistory& src, Vanetza_ITS2_PathHistory&); +void copy(const PathHistory& src, Vanetza_ITS2_Path&); /** * Check if difference of two given heading values is within a limit @@ -40,6 +61,8 @@ void copy(const PathHistory&, BasicVehicleContainerLowFrequency&); */ bool similar_heading(const Heading& a, const Heading& b, units::Angle limit); bool similar_heading(const Heading& a, units::Angle b, units::Angle limit); +bool similar_heading(const Vanetza_ITS2_Heading& a, const Vanetza_ITS2_Heading&b, units::Angle limit); +bool similar_heading(const Vanetza_ITS2_Heading& a, units::Angle b, units::Angle limit); bool similar_heading(units::Angle a, units::Angle b, units::Angle limit); /** @@ -48,28 +71,37 @@ bool similar_heading(units::Angle a, units::Angle b, units::Angle limit); * \param b another position * \return distance between given positions (or NaN if some position is unavailable) */ -units::Length distance(const ReferencePosition_t& a, const ReferencePosition_t& b); -units::Length distance(const ReferencePosition_t& a, units::GeoAngle lat, units::GeoAngle lon); +units::Length distance(const ReferencePosition& a, const ReferencePosition& b); +units::Length distance(const ReferencePosition& a, units::GeoAngle lat, units::GeoAngle lon); +units::Length distance(const Vanetza_ITS2_ReferencePosition& a, const Vanetza_ITS2_ReferencePosition& b); +units::Length distance(const Vanetza_ITS2_ReferencePosition& a, units::GeoAngle lat, units::GeoAngle lon); /** * Check if ASN.1 data element indicates unavailable value * \return true if value is available */ bool is_available(const Heading&); -bool is_available(const ReferencePosition_t&); +bool is_available(const Vanetza_ITS2_Heading&); +bool is_available(const ReferencePosition&); +bool is_available(const Vanetza_ITS2_ReferencePosition&); /** * Copy position information into a ReferencePosition structure from CDD */ void copy(const PositionFix&, ReferencePosition&); +void copy(const PositionFix&, Vanetza_ITS2_ReferencePosition&); /** * Convert altitude to AltitudeValue from CDD + * + * It is safe to cast AltitudeValue_t to Vanetza_ITS2_AltitudeValue_t. */ AltitudeValue_t to_altitude_value(units::Length); /** * Convert altitude confidence to AltitudeConfidence from CDD + * + * It is safe to cast AltitudeConfidence_t to Vanetza_ITS2_AltitudeConfidence_t. */ AltitudeConfidence_t to_altitude_confidence(units::Length); @@ -79,7 +111,8 @@ AltitudeConfidence_t to_altitude_confidence(units::Length); * \param ssp CA service specific permissions * \return true if no forbidden data elements are included */ -bool check_service_specific_permissions(const asn1::Cam& cam, security::CamPermissions ssp); +bool check_service_specific_permissions(const asn1::r1::Cam& cam, security::CamPermissions ssp); +bool check_service_specific_permissions(const asn1::r2::Cam& cam, security::CamPermissions ssp); /** * Print CAM content with indentation of nested fields @@ -91,7 +124,8 @@ bool check_service_specific_permissions(const asn1::Cam& cam, security::CamPermi * This function is an idea of Erik de Britto e Silva (erikbritto@github) * from University of Antwerp - erik.debrittoesilva@uantwerpen.be */ -void print_indented(std::ostream& os, const asn1::Cam& cam, const std::string& indent = "\t", unsigned start = 0); +void print_indented(std::ostream& os, const asn1::r1::Cam& cam, const std::string& indent = "\t", unsigned start = 0); +void print_indented(std::ostream& os, const asn1::r2::Cam& cam, const std::string& indent = "\t", unsigned start = 0); } // namespace facilities } // namespace vanetza diff --git a/vanetza/facilities/detail/cam.ipp b/vanetza/facilities/detail/cam.ipp new file mode 100644 index 000000000..3a6d13307 --- /dev/null +++ b/vanetza/facilities/detail/cam.ipp @@ -0,0 +1,376 @@ +#include +#include +#include +#include + +ASSERT_EQUAL_TYPE(AltitudeConfidence_t); +ASSERT_EQUAL_ENUM(AltitudeConfidence_alt_000_01); +ASSERT_EQUAL_ENUM(AltitudeConfidence_alt_200_00); +ASSERT_EQUAL_ENUM(AltitudeConfidence_outOfRange); +ASSERT_EQUAL_ENUM(AltitudeConfidence_unavailable); + +ASSERT_EQUAL_TYPE(AltitudeValue_t); +ASSERT_EQUAL_ENUM(AltitudeValue_unavailable); + +ASSERT_EQUAL_TYPE(DeltaAltitude_t); +ASSERT_EQUAL_ENUM(DeltaAltitude_unavailable); + +ASSERT_EQUAL_TYPE(DeltaLatitude_t); +ASSERT_EQUAL_ENUM(DeltaLatitude_unavailable); + +ASSERT_EQUAL_TYPE(DeltaLongitude_t); +ASSERT_EQUAL_ENUM(DeltaLongitude_unavailable); + +ASSERT_EQUAL_TYPE(Latitude_t); +ASSERT_EQUAL_ENUM(Latitude_unavailable); + +ASSERT_EQUAL_TYPE(Longitude_t); +ASSERT_EQUAL_ENUM(Longitude_unavailable); + +ASSERT_EQUAL_TYPE(PathDeltaTime_t); + +namespace vanetza +{ +namespace facilities +{ + +bool check_service_specific_permissions(const ASN1_PREFIXED(CamParameters_t)& params, security::CamPermissions ssp) +{ + using security::CamPermission; + using security::CamPermissions; + + CamPermissions required_permissions; + + if (params.highFrequencyContainer.present == ASN1_PREFIXED(HighFrequencyContainer_PR_rsuContainerHighFrequency)) { + const ASN1_PREFIXED(RSUContainerHighFrequency_t)& rsu = params.highFrequencyContainer.choice.rsuContainerHighFrequency; + if (rsu.protectedCommunicationZonesRSU) { + required_permissions.add(CamPermission::CEN_DSRC_Tolling_Zone); + } + } + + if (const ASN1_PREFIXED(SpecialVehicleContainer_t)* special = params.specialVehicleContainer) { + const ASN1_PREFIXED(EmergencyContainer_t)* emergency = nullptr; + const ASN1_PREFIXED(SafetyCarContainer_t)* safety = nullptr; + const ASN1_PREFIXED(RoadWorksContainerBasic_t)* roadworks = nullptr; + + switch (special->present) { + case ASN1_PREFIXED(SpecialVehicleContainer_PR_publicTransportContainer): + required_permissions.add(CamPermission::Public_Transport); + break; + case ASN1_PREFIXED(SpecialVehicleContainer_PR_specialTransportContainer): + required_permissions.add(CamPermission::Special_Transport); + break; + case ASN1_PREFIXED(SpecialVehicleContainer_PR_dangerousGoodsContainer): + required_permissions.add(CamPermission::Dangerous_Goods); + break; + case ASN1_PREFIXED(SpecialVehicleContainer_PR_roadWorksContainerBasic): + required_permissions.add(CamPermission::Roadwork); + roadworks = &special->choice.roadWorksContainerBasic; + break; + case ASN1_PREFIXED(SpecialVehicleContainer_PR_rescueContainer): + required_permissions.add(CamPermission::Rescue); + break; + case ASN1_PREFIXED(SpecialVehicleContainer_PR_emergencyContainer): + required_permissions.add(CamPermission::Emergency); + emergency = &special->choice.emergencyContainer; + break; + case ASN1_PREFIXED(SpecialVehicleContainer_PR_safetyCarContainer): + required_permissions.add(CamPermission::Safety_Car); + safety = &special->choice.safetyCarContainer; + break; + default: + break; + } + + if (emergency && emergency->emergencyPriority && emergency->emergencyPriority->size == 1) { + // testing bit strings from asn1c is such a mess... + assert(emergency->emergencyPriority->buf); + uint8_t bits = *emergency->emergencyPriority->buf; + if (bits & (1 << (7 - ASN1_PREFIXED(EmergencyPriority_requestForRightOfWay)))) { + required_permissions.add(CamPermission::Request_For_Right_Of_Way); + } + if (bits & (1 << (7 - ASN1_PREFIXED(EmergencyPriority_requestForFreeCrossingAtATrafficLight)))) { + required_permissions.add(CamPermission::Request_For_Free_Crossing_At_Traffic_Light); + } + } + + if (roadworks && roadworks->closedLanes) { + required_permissions.add(CamPermission::Closed_Lanes); + } + + if (safety && safety->trafficRule) { + switch (*safety->trafficRule) { + case ASN1_PREFIXED(TrafficRule_noPassing): + required_permissions.add(CamPermission::No_Passing); + break; + case ASN1_PREFIXED(TrafficRule_noPassingForTrucks): + required_permissions.add(CamPermission::No_Passing_For_Trucks); + break; + default: + break; + } + } + + if (safety && safety->speedLimit) { + required_permissions.add(CamPermission::Speed_Limit); + } + } + + return ssp.has(required_permissions); +} + +void print_indented(std::ostream& os, const ASN1_PREFIXED(CAM_t)* message, const std::string& indent, unsigned level) +{ + auto prefix = [&](const char* field) -> std::ostream& { + for (unsigned i = 0; i < level; ++i) { + os << indent; + } + os << field << ": "; + return os; + }; + + const ASN1_PREFIXED(ItsPduHeader_t)& header = message->header; + prefix("ITS PDU Header") << "\n"; + ++level; + prefix("Protocol Version") << header.protocolVersion << "\n"; + #if ITS_RELEASE == 1 + prefix("Message ID") << header.messageID << "\n"; + prefix("Station ID") << header.stationID << "\n"; + #else + prefix("Message ID") << header.messageId << "\n"; + prefix("Station ID") << header.stationId << "\n"; + #endif + --level; + + #if ITS_RELEASE == 1 + const ASN1_PREFIXED(CoopAwareness_t)& cam = message->cam; + #else + const ASN1_PREFIXED(CamPayload_t)& cam = message->cam; + #endif + prefix("CoopAwareness") << "\n"; + ++level; + prefix("Generation Delta Time") << cam.generationDeltaTime << "\n"; + + prefix("Basic Container") << "\n"; + ++level; + const ASN1_PREFIXED(BasicContainer_t)& basic = cam.camParameters.basicContainer; + prefix("Station Type") << basic.stationType << "\n"; + prefix("Reference Position") << "\n"; + ++level; + prefix("Longitude") << basic.referencePosition.longitude << "\n"; + prefix("Latitude") << basic.referencePosition.latitude << "\n"; + #if ITS_RELEASE == 1 + prefix("Semi Major Orientation") << basic.referencePosition.positionConfidenceEllipse.semiMajorOrientation << "\n"; + prefix("Semi Major Confidence") << basic.referencePosition.positionConfidenceEllipse.semiMajorConfidence << "\n"; + prefix("Semi Minor Confidence") << basic.referencePosition.positionConfidenceEllipse.semiMinorConfidence << "\n"; + #else + prefix("Semi Major Axis Orientation") << basic.referencePosition.positionConfidenceEllipse.semiMajorAxisOrientation << "\n"; + prefix("Semi Major Axis Length") << basic.referencePosition.positionConfidenceEllipse.semiMajorAxisLength << "\n"; + prefix("Semi Minor Axis Length") << basic.referencePosition.positionConfidenceEllipse.semiMinorAxisLength << "\n"; + #endif + + prefix("Altitude [Confidence]") << basic.referencePosition.altitude.altitudeValue + << " [" << basic.referencePosition.altitude.altitudeConfidence << "]\n"; + --level; + --level; + + if (cam.camParameters.highFrequencyContainer.present == ASN1_PREFIXED(HighFrequencyContainer_PR_basicVehicleContainerHighFrequency)) { + prefix("High Frequency Container [Basic Vehicle]") << "\n"; + ++level; + const ASN1_PREFIXED(BasicVehicleContainerHighFrequency)& bvc = + cam.camParameters.highFrequencyContainer.choice.basicVehicleContainerHighFrequency; + prefix("Heading [Confidence]") << bvc.heading.headingValue + << " [" << bvc.heading.headingConfidence << "]\n"; + prefix("Speed [Confidence]") << bvc.speed.speedValue + << " [" << bvc.speed.speedConfidence << "]\n"; + prefix("Drive Direction") << bvc.driveDirection << "\n"; + #if ITS_RELEASE == 1 + prefix("Longitudinal Acceleration [Confidence]") << bvc.longitudinalAcceleration.longitudinalAccelerationValue + << " [" << bvc.longitudinalAcceleration.longitudinalAccelerationConfidence << "]\n"; + #else + prefix("Longitudinal Acceleration [Confidence]") << bvc.longitudinalAcceleration.value + << " [" << bvc.longitudinalAcceleration.confidence << "]\n"; + #endif + prefix("Vehicle Length [Confidence Indication]") << bvc.vehicleLength.vehicleLengthValue + << " [" << bvc.vehicleLength.vehicleLengthConfidenceIndication << "]\n"; + prefix("Vehicle Width") << bvc.vehicleWidth << "\n"; + prefix("Curvature [Confidence]") << bvc.curvature.curvatureValue + << " [" << bvc.curvature.curvatureConfidence << "]\n"; + prefix("Curvature Calculation Mode") << bvc.curvatureCalculationMode << "\n"; + prefix("Yaw Rate [Confidence]") << bvc.yawRate.yawRateValue + << " [" << bvc.yawRate.yawRateConfidence << "]\n"; + --level; + } else if (cam.camParameters.highFrequencyContainer.present == ASN1_PREFIXED(HighFrequencyContainer_PR_rsuContainerHighFrequency)) { + prefix("High Frequency Container [RSU]") << "\n"; + const ASN1_PREFIXED(RSUContainerHighFrequency_t)& rsu = cam.camParameters.highFrequencyContainer.choice.rsuContainerHighFrequency; + if (nullptr != rsu.protectedCommunicationZonesRSU && nullptr != rsu.protectedCommunicationZonesRSU->list.array) { + ++level; + int size = rsu.protectedCommunicationZonesRSU->list.count; + for (int i = 0; i < size; i++) + { + prefix("Protected Zone") << "\n"; + ++level; + prefix("Type") << rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneType << "\n"; + if (rsu.protectedCommunicationZonesRSU->list.array[i]->expiryTime + && nullptr != rsu.protectedCommunicationZonesRSU->list.array[i]->expiryTime->buf + && rsu.protectedCommunicationZonesRSU->list.array[i]->expiryTime->size > 0) + prefix("Expiry Time") << (unsigned) rsu.protectedCommunicationZonesRSU->list.array[i]->expiryTime->buf[0] << "\n"; + prefix("Latitude") << rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneLatitude << "\n"; + prefix("Longitude") << rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneLongitude << "\n"; + if (nullptr != rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneRadius) + prefix("Radius") << *(rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneRadius) << "\n"; + if (nullptr != rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneRadius) + #if ITS_RELEASE == 1 + prefix("ID") << *(rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneID) << "\n"; + #else + prefix("ID") << *(rsu.protectedCommunicationZonesRSU->list.array[i]->protectedZoneId) << "\n"; + #endif + --level; + } + --level; + } + } else { + prefix("High Frequency Container") << "empty\n"; + } + + if (nullptr != cam.camParameters.lowFrequencyContainer) { + if (cam.camParameters.lowFrequencyContainer->present == ASN1_PREFIXED(LowFrequencyContainer_PR_basicVehicleContainerLowFrequency)) { + prefix("Low Frequency Container") << "\n"; + const ASN1_PREFIXED(BasicVehicleContainerLowFrequency_t)& lfc = + cam.camParameters.lowFrequencyContainer->choice.basicVehicleContainerLowFrequency; + ++level; + prefix("Vehicle Role") << (lfc.vehicleRole) << "\n"; + + if (nullptr != lfc.exteriorLights.buf && lfc.exteriorLights.size > 0) + prefix("Exterior Lights") << unsigned(*(lfc.exteriorLights.buf)) << "\n"; + if (nullptr != lfc.pathHistory.list.array) { + int size = lfc.pathHistory.list.count; + for (int i = 0; i < size; i++) + { + prefix("Path history point") << "\n"; + ++level; + prefix("Latitude") << (lfc.pathHistory.list.array[i]->pathPosition.deltaLatitude) << "\n"; + prefix("Longitude") << (lfc.pathHistory.list.array[i]->pathPosition.deltaLongitude) << "\n"; + prefix("Altitude") << (lfc.pathHistory.list.array[i]->pathPosition.deltaAltitude) << "\n"; + if (lfc.pathHistory.list.array[i]->pathDeltaTime) + prefix("Delta time") << *(lfc.pathHistory.list.array[i]->pathDeltaTime) << "\n"; + --level; + } + } + --level; + } + else // LowFrequencyContainer_PR_NOTHING + prefix("Low Frequency Container") << "present but empty" << "\n"; + } + else + prefix("Low Frequency Container") << "not present" << "\n"; + + if (nullptr != cam.camParameters.specialVehicleContainer) { + if (cam.camParameters.specialVehicleContainer->present == ASN1_PREFIXED(SpecialVehicleContainer_PR_publicTransportContainer)) { + prefix("Special Vehicle Container [Public Transport]") << "\n"; + ASN1_PREFIXED(PublicTransportContainer_t)& ptc = cam.camParameters.specialVehicleContainer->choice.publicTransportContainer; + ++level; + prefix("Embarkation Status") << ptc.embarkationStatus << "\n"; + if (ptc.ptActivation) { + prefix("PT Activation Type") << ptc.ptActivation->ptActivationType << "\n"; + if (0 != ptc.ptActivation->ptActivationData.size) { + int size = ptc.ptActivation->ptActivationData.size; + for (int i = 0; i < ptc.ptActivation->ptActivationData.size; i++) + prefix("PT Activation Data") << (unsigned) ptc.ptActivation->ptActivationData.buf[i] << "\n"; + } + } + --level; + } else if (cam.camParameters.specialVehicleContainer->present == ASN1_PREFIXED(SpecialVehicleContainer_PR_specialTransportContainer)) { + prefix("Special Vehicle Container [Special Transport]") << "\n"; + ASN1_PREFIXED(SpecialTransportContainer_t)& stc = cam.camParameters.specialVehicleContainer->choice.specialTransportContainer; + ++level; + if (nullptr != stc.specialTransportType.buf && stc.specialTransportType.size > 0) + prefix("Type") << (unsigned) stc.specialTransportType.buf[0] << "\n"; + if (nullptr != stc.lightBarSirenInUse.buf && stc.lightBarSirenInUse.size > 0) + prefix("Light Bar Siren in Use") << (unsigned) stc.lightBarSirenInUse.buf[0] << "\n"; + --level; + } else if (cam.camParameters.specialVehicleContainer->present == ASN1_PREFIXED(SpecialVehicleContainer_PR_dangerousGoodsContainer)) { + prefix("Special Vehicle Container [Dangerous Goods]") << "\n"; + ASN1_PREFIXED(DangerousGoodsContainer_t)& dgc = cam.camParameters.specialVehicleContainer->choice.dangerousGoodsContainer; + ++level; + prefix("Dangerous Goods Basic Type") << (unsigned)dgc.dangerousGoodsBasic << "\n"; + --level; + } else if (cam.camParameters.specialVehicleContainer->present == ASN1_PREFIXED(SpecialVehicleContainer_PR_roadWorksContainerBasic)) { + prefix("Special Vehicle Container [Road Works]") << "\n"; + ASN1_PREFIXED(RoadWorksContainerBasic_t)& rwc = cam.camParameters.specialVehicleContainer->choice.roadWorksContainerBasic; + ++level; + if (nullptr != rwc.roadworksSubCauseCode) + prefix("Sub Cause Code") << *(rwc.roadworksSubCauseCode) << "\n"; + if (nullptr != rwc.lightBarSirenInUse.buf && rwc.lightBarSirenInUse.size > 0) + prefix("Light Bar Siren in Use") << (unsigned) rwc.lightBarSirenInUse.buf[0] << "\n"; + if (nullptr != rwc.closedLanes) { + if (rwc.closedLanes->innerhardShoulderStatus) + prefix("Inner Hard Shoulder Status") << *(rwc.closedLanes->innerhardShoulderStatus) << "\n"; + if (rwc.closedLanes->outerhardShoulderStatus) + prefix("Outer Hard Shoulder Status") << *(rwc.closedLanes->outerhardShoulderStatus) << "\n"; + if (rwc.closedLanes->drivingLaneStatus && nullptr != rwc.closedLanes->drivingLaneStatus->buf + && rwc.closedLanes->drivingLaneStatus->size > 0) + prefix("Driving Lane Status") << (unsigned) rwc.closedLanes->drivingLaneStatus->buf[0] << "\n"; + } + --level; + } else if (cam.camParameters.specialVehicleContainer->present == ASN1_PREFIXED(SpecialVehicleContainer_PR_rescueContainer)) { + prefix("Special Vehicle Container [Rescue]") << "\n"; + ASN1_PREFIXED(RescueContainer_t)& rc = cam.camParameters.specialVehicleContainer->choice.rescueContainer; + ++level; + if (nullptr != rc.lightBarSirenInUse.buf && rc.lightBarSirenInUse.size > 0) + prefix("Light Bar Siren in Use") << (unsigned) rc.lightBarSirenInUse.buf[0] << "\n"; + --level; + } else if (cam.camParameters.specialVehicleContainer->present == ASN1_PREFIXED(SpecialVehicleContainer_PR_emergencyContainer)) { + prefix("Special Vehicle Container [Emergency]") << "\n"; + ASN1_PREFIXED(EmergencyContainer_t)& ec = cam.camParameters.specialVehicleContainer->choice.emergencyContainer; + ++level; + if (nullptr != ec.lightBarSirenInUse.buf && ec.lightBarSirenInUse.size > 0) + prefix("Light Bar Siren in Use") << (unsigned) ec.lightBarSirenInUse.buf[0] << "\n"; + if (nullptr != ec.incidentIndication) { + #if ITS_RELEASE == 1 + prefix("Incident Indication Cause Code") << ec.incidentIndication->causeCode << "\n"; + prefix("Incident Indication Sub Cause Code") << ec.incidentIndication->subCauseCode << "\n"; + #else + prefix("Incident Indication Cause Code V2") << ec.incidentIndication->ccAndScc.present << "\n"; + prefix("Incident Indication Sub Cause Code V2") << ec.incidentIndication->ccAndScc.choice.reserved0 << "\n"; + #endif + } + if (nullptr != ec.emergencyPriority && nullptr != ec.emergencyPriority->buf + && ec.emergencyPriority->size > 0) { + prefix("Emergency Priority") << (unsigned) ec.emergencyPriority->buf[0] << "\n"; + } + --level; + } else if (cam.camParameters.specialVehicleContainer->present == ASN1_PREFIXED(SpecialVehicleContainer_PR_safetyCarContainer)) { + prefix("Special Vehicle Container [Safety Car]") << "\n"; + ASN1_PREFIXED(SafetyCarContainer_t)& sc = cam.camParameters.specialVehicleContainer->choice.safetyCarContainer; + ++level; + if (nullptr != sc.lightBarSirenInUse.buf && sc.lightBarSirenInUse.size > 0) + prefix("Light Bar Siren in Use") << (unsigned) sc.lightBarSirenInUse.buf[0] << "\n"; + if (nullptr != sc.incidentIndication) { + #if ITS_RELEASE == 1 + prefix("Incident Indication Cause Code") << sc.incidentIndication->causeCode << "\n"; + prefix("Incident Indication Sub Cause Code") << sc.incidentIndication->subCauseCode << "\n"; + #else + prefix("Incident Indication Cause Code V2") << sc.incidentIndication->ccAndScc.present << "\n"; + prefix("Incident Indication Sub Cause Code V2") << sc.incidentIndication->ccAndScc.choice.reserved0 << "\n"; + #endif + } + if (nullptr != sc.trafficRule) { + prefix("Traffic Rule") << *(sc.trafficRule) << "\n"; + } + if (nullptr != sc.speedLimit) { + prefix("Speed Limit") << *(sc.speedLimit) << "\n"; + } + --level; + } + else // SpecialVehicleContainer_PR_NOTHING + prefix("Special Vehicle Container") << ("present but empty") << "\n"; + } + else + prefix("Special Vehicle Container") << "not present" << "\n"; + + --level; +} + +} // namespace facilities +} // namespace vanetza diff --git a/vanetza/facilities/detail/heading.ipp b/vanetza/facilities/detail/heading.ipp new file mode 100644 index 000000000..8a9a8deac --- /dev/null +++ b/vanetza/facilities/detail/heading.ipp @@ -0,0 +1,49 @@ +#include +#include +#include +#include + +ASSERT_EQUAL_ENUM(HeadingValue_wgs84North); +ASSERT_EQUAL_ENUM(HeadingValue_wgs84East); +ASSERT_EQUAL_ENUM(HeadingValue_wgs84South); +ASSERT_EQUAL_ENUM(HeadingValue_wgs84West); +ASSERT_EQUAL_ENUM(HeadingValue_unavailable); + +namespace vanetza +{ +namespace facilities +{ + +bool is_available(const ASN1_PREFIXED(Heading)& hd) +{ + return hd.headingValue != ASN1_PREFIXED(HeadingValue_unavailable); +} + +bool similar_heading(const ASN1_PREFIXED(Heading)& a, const ASN1_PREFIXED(Heading)& b, Angle limit) +{ + // HeadingValues are tenth of degree (900 equals 90 degree east) + static_assert(ASN1_PREFIXED(HeadingValue_wgs84East) == 900, "HeadingValue interpretation fails"); + + bool result = false; + if (is_available(a) && is_available(b)) { + using vanetza::units::degree; + const Angle angle_a { a.headingValue / 10.0 * degree }; + const Angle angle_b { b.headingValue / 10.0 * degree }; + result = similar_heading(angle_a, angle_b, limit); + } + + return result; +} + +bool similar_heading(const ASN1_PREFIXED(Heading)& a, Angle b, Angle limit) +{ + bool result = false; + if (is_available(a)) { + using vanetza::units::degree; + result = similar_heading(Angle { a.headingValue / 10.0 * degree}, b, limit); + } + return result; +} + +} // namespace facilities +} // namespace vanetza diff --git a/vanetza/facilities/detail/macros.ipp b/vanetza/facilities/detail/macros.ipp new file mode 100644 index 000000000..368594b9b --- /dev/null +++ b/vanetza/facilities/detail/macros.ipp @@ -0,0 +1,29 @@ +#pragma once + +#define ASN1_RELEASE2_PREFIX Vanetza_ITS2_ +#define ASN1_RELEASE1_PREFIX + +#define ASN1_CONCAT(x, y) ASN1_CONCAT_AGAIN(x, y) +#define ASN1_CONCAT_AGAIN(x, y) x ## y + +#define ASN1_RELEASE1_NAME(name) ASN1_CONCAT(ASN1_RELEASE1_PREFIX, name) +#define ASN1_RELEASE2_NAME(name) ASN1_CONCAT(ASN1_RELEASE2_PREFIX, name) + +/** + * Prepend code generation prefix to an ASN.1 name or type. + */ +#define ASN1_PREFIXED(name) ASN1_CONCAT(ASN1_PREFIX, name) + +/** + * Check that enum name has equal value in both releases. + */ +#define ASSERT_EQUAL_ENUM(name) \ + static_assert(int(ASN1_RELEASE1_NAME(name)) == int(ASN1_RELEASE2_NAME(name)), \ + #name " mismatch between release 1 and 2"); + +/** + * Check that types are equal in both releases + */ +#define ASSERT_EQUAL_TYPE(name) \ + static_assert(std::is_same::value, \ + #name " type mismatch between release 1 and 2"); diff --git a/vanetza/facilities/detail/path_history.ipp b/vanetza/facilities/detail/path_history.ipp new file mode 100644 index 000000000..50befe8c2 --- /dev/null +++ b/vanetza/facilities/detail/path_history.ipp @@ -0,0 +1,38 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +namespace vanetza +{ +namespace facilities +{ + +static_assert(DeltaLongitude_oneMicrodegreeEast == 10, "DeltaLongitude is an integer number of tenth microdegrees"); +static_assert(DeltaLatitude_oneMicrodegreeNorth == 10, "DeltaLatitude is an integer number of tenth microdegrees"); +static_assert(PathDeltaTime_tenMilliSecondsInPast == 1, "PathDeltaTime encodes 10ms steps"); + +void copy(const facilities::PathHistory& src, ASN1_PREFIXED(PathHistory_t)& dest) +{ + copy(src, dest); +} + +#if ITS_RELEASE != 1 +// no Path_t in ITS Release 1 ASN.1 +void copy(const facilities::PathHistory& src, ASN1_PREFIXED(Path_t)& dest) +{ + copy(src, dest); +} +#endif + +void copy(const facilities::PathHistory& ph, ASN1_PREFIXED(BasicVehicleContainerLowFrequency)& container) +{ + copy(ph, container.pathHistory); +} + +} // namespace facilities +} // namespace vanetza diff --git a/vanetza/facilities/detail/path_history.tpp b/vanetza/facilities/detail/path_history.tpp new file mode 100644 index 000000000..88f6c04ba --- /dev/null +++ b/vanetza/facilities/detail/path_history.tpp @@ -0,0 +1,56 @@ +#pragma once +#include +#include +#include +#include + +namespace vanetza +{ +namespace facilities +{ + +template +void copy(const facilities::PathHistory& src, SomePathSequence& dest) +{ + using SomePathDeltaTime = typename std::remove_pointer::type; + + // TODO: C2C-CC BSP allows up to 500m history for CAMs, we provide just minimal required history + static const std::size_t scMaxPathPoints = 23; + static const auto scDeltaTimeStepLength = boost::posix_time::milliseconds(10); + static const auto scMaxDeltaTime = scDeltaTimeStepLength * 65535; + + const auto& concise_points = src.getConcisePoints(); + const facilities::PathPoint& ref = src.getReferencePoint(); + std::size_t path_points = 0; + + for (const PathPoint& point : concise_points) { + auto delta_time = ref.time - point.time; // positive: point is in past + auto delta_latitude = round(point.latitude - ref.latitude, tenth_microdegree); // positive: point is north + auto delta_longitude = round(point.longitude - ref.longitude, tenth_microdegree); // positive: point is east + + if (path_points >= scMaxPathPoints) { + // enough path points have been copied + break; + } else if (delta_latitude < -131071 || delta_latitude > 131071) { + // delta latitude value cannot be encoded, skip this point + continue; + } else if (delta_longitude < -131071 || delta_longitude > 131071) { + // delta longitude value cannot be encoded, skip this point + continue; + } else if (delta_time >= scDeltaTimeStepLength && delta_time <= scMaxDeltaTime) { + SomePathPoint* path_point = asn1::allocate(); + path_point->pathPosition.deltaLatitude = delta_latitude; + path_point->pathPosition.deltaLongitude = delta_longitude; + path_point->pathPosition.deltaAltitude = DeltaAltitude::DeltaAltitude_unavailable; + + path_point->pathDeltaTime = asn1::allocate(); + *(path_point->pathDeltaTime) = delta_time.total_milliseconds() / scDeltaTimeStepLength.total_milliseconds(); + + ASN_SEQUENCE_ADD(&dest, path_point); + ++path_points; + } + } +} + +} // namespace facilities +} // namespace vanetza diff --git a/vanetza/facilities/detail/reference_position.ipp b/vanetza/facilities/detail/reference_position.ipp new file mode 100644 index 000000000..0b669cc02 --- /dev/null +++ b/vanetza/facilities/detail/reference_position.ipp @@ -0,0 +1,96 @@ +#include +#include +#include +#include +#include +#include + +namespace vanetza +{ +namespace facilities +{ + +static_assert(Longitude_oneMicrodegreeEast == 10, "Longitude is an integer number of tenth microdegrees"); +static_assert(Latitude_oneMicrodegreeNorth == 10, "Latitude is an integer number of tenth microdegrees"); + +units::Length distance(const ASN1_PREFIXED(ReferencePosition_t)& a, const ASN1_PREFIXED(ReferencePosition_t)& b) +{ + using geonet::GeodeticPosition; + using units::GeoAngle; + + auto length = units::Length::from_value(std::numeric_limits::quiet_NaN()); + if (is_available(a) && is_available(b)) { + GeodeticPosition geo_a { + GeoAngle { a.latitude * tenth_microdegree }, + GeoAngle { a.longitude * tenth_microdegree } + }; + GeodeticPosition geo_b { + GeoAngle { b.latitude * tenth_microdegree }, + GeoAngle { b.longitude * tenth_microdegree } + }; + length = geonet::distance(geo_a, geo_b); + } + return length; +} + +units::Length distance(const ASN1_PREFIXED(ReferencePosition_t)& a, units::GeoAngle lat, units::GeoAngle lon) +{ + using geonet::GeodeticPosition; + using units::GeoAngle; + + auto length = units::Length::from_value(std::numeric_limits::quiet_NaN()); + if (is_available(a)) { + GeodeticPosition geo_a { + GeoAngle { a.latitude * tenth_microdegree }, + GeoAngle { a.longitude * tenth_microdegree } + }; + GeodeticPosition geo_b { lat, lon }; + length = geonet::distance(geo_a, geo_b); + } + return length; +} + +bool is_available(const ASN1_PREFIXED(ReferencePosition)& pos) +{ + return pos.latitude != ASN1_PREFIXED(Latitude_unavailable) && pos.longitude != ASN1_PREFIXED(Longitude_unavailable); +} + +void copy(const PositionFix& position, ASN1_PREFIXED(ReferencePosition)& reference_position) +{ + reference_position.longitude = round(position.longitude, tenth_microdegree); + reference_position.latitude = round(position.latitude, tenth_microdegree); + if (std::isfinite(position.confidence.semi_major.value()) + && std::isfinite(position.confidence.semi_minor.value())) + { + if ((position.confidence.semi_major.value() * 100 < ASN1_PREFIXED(SemiAxisLength_outOfRange)) + && (position.confidence.semi_minor.value() * 100 < ASN1_PREFIXED(SemiAxisLength_outOfRange)) + && (position.confidence.orientation.value() * 10 < ASN1_PREFIXED(HeadingValue_unavailable))) + { + reference_position.positionConfidenceEllipse.semiMajorConfidence = position.confidence.semi_major.value() * 100; // Value in centimeters + reference_position.positionConfidenceEllipse.semiMinorConfidence = position.confidence.semi_minor.value() * 100; + reference_position.positionConfidenceEllipse.semiMajorOrientation = (position.confidence.orientation.value()) * 10; // Value from 0 to 3600 + } + else + { + reference_position.positionConfidenceEllipse.semiMajorConfidence = ASN1_PREFIXED(SemiAxisLength_outOfRange); + reference_position.positionConfidenceEllipse.semiMinorConfidence = ASN1_PREFIXED(SemiAxisLength_outOfRange); + reference_position.positionConfidenceEllipse.semiMajorOrientation = ASN1_PREFIXED(HeadingValue_unavailable); + } + } + else + { + reference_position.positionConfidenceEllipse.semiMajorConfidence = ASN1_PREFIXED(SemiAxisLength_unavailable); + reference_position.positionConfidenceEllipse.semiMinorConfidence = ASN1_PREFIXED(SemiAxisLength_unavailable); + reference_position.positionConfidenceEllipse.semiMajorOrientation = ASN1_PREFIXED(HeadingValue_unavailable); + } + if (position.altitude) { + reference_position.altitude.altitudeValue = to_altitude_value(position.altitude->value()); + reference_position.altitude.altitudeConfidence = to_altitude_confidence(position.altitude->confidence()); + } else { + reference_position.altitude.altitudeValue = ASN1_PREFIXED(AltitudeValue_unavailable); + reference_position.altitude.altitudeConfidence = ASN1_PREFIXED(AltitudeConfidence_unavailable); + } +} + +} // namespace facilities +} // namespace vanetza diff --git a/vanetza/facilities/tests/cam_functions.cpp b/vanetza/facilities/tests/cam_functions.cpp index 65bead042..e5c9ad010 100644 --- a/vanetza/facilities/tests/cam_functions.cpp +++ b/vanetza/facilities/tests/cam_functions.cpp @@ -1,4 +1,11 @@ #include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -24,7 +31,14 @@ ::testing::AssertionResult NearDistance(const Length& a, const Length& b, Length } } -TEST(CamFunctions, similar_heading) +using HeadingTypes = ::testing::Types; +template +class CamFunctionsHeading : public ::testing::Test +{ +}; +TYPED_TEST_SUITE(CamFunctionsHeading, HeadingTypes); + +TEST(CamFunctionsHeading, similar_heading) { Angle a = 3 * si::radian; Angle b = 2 * si::radian; @@ -50,9 +64,11 @@ TEST(CamFunctions, similar_heading) EXPECT_FALSE(similar_heading(a, a, limit)); } -TEST(CamFunctions, similar_heading_unavailable1) +TYPED_TEST(CamFunctionsHeading, similar_heading_unavailable1) { - Heading a; + using SomeHeading = TypeParam; + + SomeHeading a; a.headingValue = HeadingValue_unavailable; Angle b = 2.0 * si::radian; Angle limit = 10 * si::radian; @@ -71,11 +87,13 @@ TEST(CamFunctions, similar_heading_unavailable1) EXPECT_TRUE(similar_heading(a, b, limit)); } -TEST(CamFunctions, similar_heading_unavailable2) +TYPED_TEST(CamFunctionsHeading, similar_heading_unavailable2) { - Heading a; + using SomeHeading = TypeParam; + + SomeHeading a; a.headingValue = HeadingValue_unavailable; - Heading b; + SomeHeading b; b.headingValue = HeadingValue_unavailable; Angle limit = 10 * si::radian; EXPECT_FALSE(is_available(a)); @@ -93,44 +111,55 @@ TEST(CamFunctions, similar_heading_unavailable2) EXPECT_TRUE(similar_heading(b, a, limit)); } -TEST(CamFunctions, distance_reference_positions) +using ReferencePositionTypes = ::testing::Types; +template +class CamFunctionsReferencePosition : public ::testing::Test { - ReferencePosition_t pos1; +}; +TYPED_TEST_SUITE(CamFunctionsReferencePosition, ReferencePositionTypes); + +TYPED_TEST(CamFunctionsReferencePosition, distance_reference_positions) +{ + using SomeReferencePosition = TypeParam; + + SomeReferencePosition pos1; pos1.latitude = microdegree(6, 21.23) * Latitude_oneMicrodegreeSouth; pos1.longitude = microdegree(33, 22.12) * Longitude_oneMicrodegreeWest; - ReferencePosition_t pos2; + SomeReferencePosition pos2; pos2.latitude = microdegree(6, 22.48) * Latitude_oneMicrodegreeSouth; pos2.longitude = microdegree(33, 22.55) * Longitude_oneMicrodegreeWest; EXPECT_TRUE(NearDistance(distance(pos1, pos2), 2440.0 * si::meter , 10.0 * si::meter)); - ReferencePosition_t pos3; + SomeReferencePosition pos3; pos3.latitude = microdegree(37, 17.3) * Latitude_oneMicrodegreeNorth; pos3.longitude = microdegree(0, 13.14) * Longitude_oneMicrodegreeWest; - ReferencePosition_t pos4; + SomeReferencePosition pos4; pos4.latitude = microdegree(37, 17.19) * Latitude_oneMicrodegreeNorth; pos4.longitude = microdegree(0, 9.45) * Longitude_oneMicrodegreeEast; EXPECT_TRUE(NearDistance(distance(pos3, pos4), 33390.0 * si::meter , 10.0 * si::meter)); - ReferencePosition_t pos5; + SomeReferencePosition pos5; pos5.latitude = microdegree(0, 19.24) * Latitude_oneMicrodegreeSouth; pos5.longitude = microdegree(83, 37.32) * Longitude_oneMicrodegreeEast; - ReferencePosition_t pos6; + SomeReferencePosition pos6; pos6.latitude = microdegree(0, 27.15) * Latitude_oneMicrodegreeNorth; pos6.longitude = microdegree(83, 04.45) * Longitude_oneMicrodegreeEast; EXPECT_TRUE(NearDistance(distance(pos5, pos6), 105010.0 * si::meter , 10.0 * si::meter)); - ReferencePosition_t pos7; + SomeReferencePosition pos7; pos7.latitude = microdegree(48, 45.56) * Latitude_oneMicrodegreeNorth; pos7.longitude = microdegree(11, 26.01) * Longitude_oneMicrodegreeEast; - ReferencePosition_t pos8; + SomeReferencePosition pos8; pos8.latitude = microdegree(48, 45.566) * Latitude_oneMicrodegreeNorth; pos8.longitude = microdegree(11, 26.04) * Longitude_oneMicrodegreeEast; EXPECT_TRUE(NearDistance(distance(pos7, pos8), 38.0 * si::meter , 0.5 * si::meter)); } -TEST(CamFunctions, distance_refpos_latlon) +TYPED_TEST(CamFunctionsReferencePosition, distance_refpos_latlon) { - ReferencePosition_t refpos; + using SomeReferencePosition = TypeParam; + + SomeReferencePosition refpos; refpos.latitude = microdegree(6, 21.23) * Latitude_oneMicrodegreeSouth; refpos.longitude = microdegree(33, 22.12) * Longitude_oneMicrodegreeWest; GeoAngle lat = -(6 + (22.48 / 60.0)) * degree; @@ -138,10 +167,12 @@ TEST(CamFunctions, distance_refpos_latlon) EXPECT_TRUE(NearDistance(distance(refpos, lat, lon), 2440.0 * si::meter , 10.0 * si::meter)); } -TEST(CamFunctions, distance_unavailable) +TYPED_TEST(CamFunctionsReferencePosition, distance_unavailable) { - ReferencePosition_t pos1 {}; - ReferencePosition_t pos2 {}; + using SomeReferencePosition = TypeParam; + + SomeReferencePosition pos1 {}; + SomeReferencePosition pos2 {}; EXPECT_TRUE(is_available(pos1)); EXPECT_TRUE(is_available(pos2)); EXPECT_FALSE(std::isnan(distance(pos1, pos2).value())); @@ -157,3 +188,73 @@ TEST(CamFunctions, distance_unavailable) EXPECT_TRUE(std::isnan(distance(pos1, pos2).value())); EXPECT_TRUE(std::isnan(distance(pos2, pos1).value())); } + +TYPED_TEST(CamFunctionsReferencePosition, copy) +{ + using SomeReferencePosition = TypeParam; + + PositionFix src; + src.latitude = 1.23 * vanetza::units::degree; + src.longitude = 4.56 * vanetza::units::degree; + src.confidence.orientation = vanetza::units::TrueNorth::from_value(10.0); + src.confidence.semi_major = 20 * vanetza::units::si::meter; + src.confidence.semi_minor = 15 * vanetza::units::si::meter; + + SomeReferencePosition dest; + copy(src, dest); + + EXPECT_EQ(dest.latitude, 123 * 100000); + EXPECT_EQ(dest.longitude, 456 * 100000); + EXPECT_EQ(dest.positionConfidenceEllipse.semiMajorConfidence, 20 * 100); + EXPECT_EQ(dest.positionConfidenceEllipse.semiMinorConfidence, 15 * 100); + EXPECT_EQ(dest.positionConfidenceEllipse.semiMajorOrientation, 10 * 10); + EXPECT_EQ(dest.altitude.altitudeValue, AltitudeValue_unavailable); + EXPECT_EQ(dest.altitude.altitudeConfidence, AltitudeConfidence_unavailable); +} + +using PathHistoryTypes = ::testing::Types<::PathHistory, Vanetza_ITS2_PathHistory>; +template +class CamFunctionsPathHistory : public ::testing::Test +{ +protected: + vanetza::facilities::PathHistory path_history; + + void add_sample(double lat, double lon, const std::string& time) + { + vanetza::facilities::PathPoint path_point; + path_point.latitude = lat * degree; + path_point.longitude = lon * degree; + path_point.time = boost::posix_time::from_iso_string(time); + path_history.addSample(path_point); + } +}; +TYPED_TEST_SUITE(CamFunctionsPathHistory, PathHistoryTypes); + +TYPED_TEST(CamFunctionsPathHistory, copy_path_history) +{ + using SomePathHistory = TypeParam; + + this->add_sample(40.906, 29.155, "20241027T031000"); + this->add_sample(40.907, 29.156, "20241027T031010"); + this->add_sample(40.908, 29.157, "20241027T031020"); + + SomePathHistory dest_path_history = {}; // zero-initialize struct + copy(this->path_history, dest_path_history); + + int size = dest_path_history.list.count; + EXPECT_EQ(size, 2); + for (int i = 0; i < size; i++) { + auto current_path_point = dest_path_history.list.array[i]; + ASSERT_NE(current_path_point->pathDeltaTime, nullptr); + + // check ASN.1 constraints + EXPECT_GE(*current_path_point->pathDeltaTime, 1); + EXPECT_LE(*current_path_point->pathDeltaTime, 65535); + EXPECT_GE(current_path_point->pathPosition.deltaLatitude, -131071); + EXPECT_LE(current_path_point->pathPosition.deltaLatitude, 131072); + EXPECT_GE(current_path_point->pathPosition.deltaLongitude, -131071); + EXPECT_LE(current_path_point->pathPosition.deltaLongitude, 131072); + EXPECT_GE(current_path_point->pathPosition.deltaAltitude, -12700); + EXPECT_LE(current_path_point->pathPosition.deltaAltitude, 12800); + } +} diff --git a/vanetza/geonet/data_indication.hpp b/vanetza/geonet/data_indication.hpp index bb939a664..109721bf6 100644 --- a/vanetza/geonet/data_indication.hpp +++ b/vanetza/geonet/data_indication.hpp @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include namespace vanetza @@ -14,6 +14,10 @@ namespace vanetza namespace geonet { +/** + * \brief GN-DATA.indication + * \see EN 302 636-4-1 V1.4.1, section J.4 + */ struct DataIndication { UpperProtocol upper_protocol; diff --git a/vanetza/geonet/data_request.hpp b/vanetza/geonet/data_request.hpp index ad362db9c..f5f66bed1 100644 --- a/vanetza/geonet/data_request.hpp +++ b/vanetza/geonet/data_request.hpp @@ -1,6 +1,7 @@ #ifndef DATA_REQUEST_HPP_3JYISVXB #define DATA_REQUEST_HPP_3JYISVXB +#include #include #include #include @@ -41,6 +42,7 @@ struct DataRequest UpperProtocol upper_protocol; CommunicationProfile communication_profile; ItsAid its_aid; + ByteBuffer permissions; Lifetime maximum_lifetime; boost::optional repetition; unsigned max_hop_limit; diff --git a/vanetza/geonet/router.cpp b/vanetza/geonet/router.cpp index 1d0169909..bf7392c58 100644 --- a/vanetza/geonet/router.cpp +++ b/vanetza/geonet/router.cpp @@ -39,12 +39,15 @@ namespace struct ControlInfo { - ControlInfo(const DataRequest request) : + ControlInfo(const DataRequest& request) : communication_profile(request.communication_profile), - its_aid(request.its_aid) {} + its_aid(request.its_aid), + permissions(request.permissions) + {} const CommunicationProfile communication_profile; const ItsAid its_aid; + const ByteBuffer permissions; }; template @@ -246,7 +249,11 @@ DataConfirm Router::request(const ShbDataRequest& request, DownPacketPtr payload // step 2: encapsulate packet by security if (m_mib.itsGnSecurity) { - payload = encap_packet(ctrl.its_aid, *pdu, std::move(payload)); + payload = encap_packet(ctrl.its_aid, ctrl.permissions, *pdu, std::move(payload)); + if (!payload) { + // stop because encapsulation failed + return; + } } // step 5: execute media-dependent procedures @@ -311,7 +318,11 @@ DataConfirm Router::request(const GbcDataRequest& request, DownPacketPtr payload // step 5: apply security if (m_mib.itsGnSecurity) { assert(pdu->basic().next_header == NextHeaderBasic::Secured); - payload = encap_packet(ctrl.its_aid, *pdu, std::move(payload)); + payload = encap_packet(ctrl.its_aid, ctrl.permissions, *pdu, std::move(payload)); + if (!payload) { + // stop because encapsulation failed + return; + } } // step 6: repetition is already set-up before @@ -398,11 +409,10 @@ void Router::indicate_basic(IndicationContextBasic& ctx) indication.remaining_hop_limit = basic->hop_limit; if (basic->next_header == NextHeaderBasic::Secured) { - indication.security_report = security::DecapReport::Incompatible_Protocol; indicate_secured(ctx, *basic); } else if (basic->next_header == NextHeaderBasic::Common) { if (!m_mib.itsGnSecurity || SecurityDecapHandling::Non_Strict == m_mib.itsGnSnDecapResultHandling) { - indication.security_report = security::DecapReport::Unsigned_Message, + indication.security_report = boost::blank {}; /*< not secured at all*/ indicate_common(ctx, *basic); } else { packet_dropped(PacketDropReason::Decap_Unsuccessful_Strict); @@ -493,31 +503,16 @@ void Router::indicate_secured(IndicationContextBasic& ctx, const BasicHeader& ba secured_payload_visitor visitor(*this, ctx, basic); // check whether the received packet is valid - if (DecapReport::Success == decap_confirm.report) { + if (is_successful(decap_confirm.report)) { boost::apply_visitor(visitor, decap_confirm.plaintext_payload); } else if (SecurityDecapHandling::Non_Strict == m_mib.itsGnSnDecapResultHandling) { - // according to ETSI EN 302 636-4-1 v1.2.1 section 9.3.3 Note 2 - // handle the packet anyway, when itsGnDecapResultHandling is set to NON-Strict (1) - switch (decap_confirm.report) { - case DecapReport::False_Signature: - case DecapReport::Invalid_Certificate: - case DecapReport::Revoked_Certificate: - case DecapReport::Inconsistant_Chain: - case DecapReport::Invalid_Timestamp: - case DecapReport::Invalid_Mobility_Data: - case DecapReport::Unsigned_Message: - case DecapReport::Signer_Certificate_Not_Found: - case DecapReport::Unsupported_Signer_Identifier_Type: - case DecapReport::Unencrypted_Message: - // ok, continue - boost::apply_visitor(visitor, decap_confirm.plaintext_payload); - break; - case DecapReport::Duplicate_Message: - case DecapReport::Incompatible_Protocol: - case DecapReport::Decryption_Error: - default: - packet_dropped(PacketDropReason::Decap_Unsuccessful_Non_Strict); - break; + // Any packet is passed up with NON-STRICT decapsulation handling + // -> see ETSI EN 302 636-4-1 v1.4.1 Section 10.3.3 Note 3 + if (!decap_confirm.plaintext_payload.empty()) { + boost::apply_visitor(visitor, decap_confirm.plaintext_payload); + } else { + // no payload extracted from secured message to pass up + packet_dropped(PacketDropReason::Decap_Unsuccessful_Non_Strict); } } else { // discard packet @@ -724,7 +719,11 @@ void Router::on_beacon_timer_expired() if (m_mib.itsGnSecurity) { pdu->basic().next_header = NextHeaderBasic::Secured; - payload = encap_packet(aid::GN_MGMT, *pdu, std::move(payload)); + payload = encap_packet(aid::GN_MGMT, ByteBuffer {}, *pdu, std::move(payload)); + if (!payload) { + // stop because encapsulation failed + return; + } } else { pdu->basic().next_header = NextHeaderBasic::Common; } @@ -1338,26 +1337,50 @@ std::unique_ptr Router::create_gbc_pdu(const GbcDataRequest& request) return pdu; } -Router::DownPacketPtr Router::encap_packet(ItsAid its_aid, Pdu& pdu, DownPacketPtr packet) +Router::DownPacketPtr Router::encap_packet(ItsAid its_aid, ByteBuffer ssp, Pdu& pdu, DownPacketPtr packet) { - security::EncapRequest encap_request; + if (m_security_entity) { + DownPacket sec_payload; + sec_payload[OsiLayer::Network] = SecuredPdu(pdu); + sec_payload.merge(*packet, OsiLayer::Transport, max_osi_layer()); - DownPacket sec_payload; - sec_payload[OsiLayer::Network] = SecuredPdu(pdu); - sec_payload.merge(*packet, OsiLayer::Transport, max_osi_layer()); - encap_request.plaintext_payload = std::move(sec_payload); - encap_request.its_aid = its_aid; + security::SignRequest sign_request; + sign_request.plain_message = std::move(sec_payload); + sign_request.its_aid = its_aid; + sign_request.permissions = std::move(ssp); - if (m_security_entity) { - security::EncapConfirm confirm = m_security_entity->encapsulate_packet(std::move(encap_request)); - pdu.secured(std::move(confirm.sec_packet)); + security::EncapConfirm confirm = m_security_entity->encapsulate_packet(std::move(sign_request)); + + struct Visitor : boost::static_visitor + { + Visitor(DownPacketPtr packet, Pdu& pdu) : m_packet(std::move(packet)), m_pdu(pdu) + { + assert(size(*m_packet, OsiLayer::Transport, max_osi_layer()) == 0); + assert(m_pdu.basic().next_header == NextHeaderBasic::Secured); + } + + DownPacketPtr operator() (security::SecuredMessage& msg) + { + m_pdu.secured(std::move(msg)); + return std::move(m_packet); + } + + DownPacketPtr operator() (security::SignConfirmError signing_error) + { + // SN-SIGN encapsulation failed + return nullptr; + } + + DownPacketPtr m_packet; + Pdu& m_pdu; + }; + + Visitor visitor(std::move(packet), pdu); + return boost::apply_visitor(visitor, confirm); } else { - throw std::runtime_error("security entity unavailable"); + // security entity is not available + return nullptr; } - - assert(size(*packet, OsiLayer::Transport, max_osi_layer()) == 0); - assert(pdu.basic().next_header == NextHeaderBasic::Secured); - return packet; } std::string stringify(Router::PacketDropReason pdr) diff --git a/vanetza/geonet/router.hpp b/vanetza/geonet/router.hpp index d446acef8..ebf5d1a00 100644 --- a/vanetza/geonet/router.hpp +++ b/vanetza/geonet/router.hpp @@ -516,10 +516,11 @@ class Router * \brief Encaspulate a packet according to security profile * * \param aid ITS-AID + * \param ssp Service Specific Permissions * \param pdu PDU * \param packet Packet with payload */ - DownPacketPtr encap_packet(ItsAid aid, Pdu& pdu, DownPacketPtr packet); + DownPacketPtr encap_packet(ItsAid aid, ByteBuffer ssp, Pdu& pdu, DownPacketPtr packet); /** * \brief Create an initialized Single-Hop-Broadcast PDU diff --git a/vanetza/geonet/tests/CMakeLists.txt b/vanetza/geonet/tests/CMakeLists.txt index ec6bbe823..407af131f 100644 --- a/vanetza/geonet/tests/CMakeLists.txt +++ b/vanetza/geonet/tests/CMakeLists.txt @@ -22,7 +22,8 @@ add_gtest(PositionUpdater position_updater.cpp) add_gtest(PositionVector position_vector.cpp) add_gtest(Repeater repeater.cpp) add_gtest(Router router.cpp) -add_gtest(RouterIndicate router_indicate.cpp) +add_gtest(RouterIndicate router_indicate.cpp + INCLUDE_DIRECTORIES ${PROJECT_SOURCE_DIR}/vanetza/security/tests) add_gtest(SequenceNumber sequence_number.cpp) add_gtest(Timestamp timestamp.cpp) add_gtest(TrafficClass traffic_class.cpp) diff --git a/vanetza/geonet/tests/router_indicate.cpp b/vanetza/geonet/tests/router_indicate.cpp index e144e6dba..21b825e15 100644 --- a/vanetza/geonet/tests/router_indicate.cpp +++ b/vanetza/geonet/tests/router_indicate.cpp @@ -6,18 +6,21 @@ #include #include +#include "decap_report_printer.hpp" + using namespace vanetza; class RouterIndicate : public ::testing::Test { public: RouterIndicate() : - runtime(Clock::at("2010-12-23 18:29")), security(runtime), router(runtime, mib), packet_drop_occurred(false) {} + // AT certificate is valid at this time + runtime(Clock::at("2019-11-21 14:27:53")), security(runtime), router(runtime, mib), packet_drop_occurred(false) {} protected: virtual void SetUp() override { - runtime.trigger(Clock::at("2010-12-23 18:30")); + runtime.trigger(Clock::at("2019-11-21 14:27:54")); geonet::Address gn_addr; gn_addr.mid(MacAddress { 0, 0, 0, 0, 0, 1}); router.set_address(gn_addr); @@ -405,7 +408,7 @@ TEST_F(RouterIndicate, shb_secured_v3_message_digest) router.set_transport_handler(geonet::UpperProtocol::IPv6, nullptr); // set time so that message is not expired - runtime.trigger(Clock::at("2019-11-21 13:28")); + runtime.reset(Clock::at("2019-11-21 13:28")); // message with digest will not be accepted because its certificate is unknown EXPECT_EQ(security.certificate_cache_v3().size(), 0); @@ -446,7 +449,7 @@ TEST_F(RouterIndicate, shb_secured_v3_message_digest) // assure that packet has been passed to transport layer ASSERT_TRUE(ind_ifc.m_last_indication); EXPECT_EQ(ind_ifc.m_last_indication->upper_protocol, geonet::UpperProtocol::BTP_B); - EXPECT_EQ(ind_ifc.m_last_indication->security_report, security::DecapReport::Success); + EXPECT_EQ(ind_ifc.m_last_indication->security_report, security::VerificationReport::Success); EXPECT_EQ(ind_ifc.m_last_indication->its_aid, aid::CA); ASSERT_TRUE(ind_ifc.m_last_packet); @@ -504,7 +507,7 @@ TEST_F(RouterIndicate, shb_secured_v3_message_certificate) router.set_transport_handler(geonet::UpperProtocol::IPv6, nullptr); // set time so that message is not expired - runtime.trigger(Clock::at("2019-11-21 13:28:02")); + runtime.reset(Clock::at("2019-11-21 13:28:02")); router.indicate(get_up_packet(gn_buffer), mac_address_sender, mac_address_destination); @@ -514,7 +517,7 @@ TEST_F(RouterIndicate, shb_secured_v3_message_certificate) // assure that packet has been passed to transport layer ASSERT_TRUE(ind_ifc.m_last_indication); EXPECT_EQ(ind_ifc.m_last_indication->upper_protocol, geonet::UpperProtocol::BTP_B); - EXPECT_EQ(ind_ifc.m_last_indication->security_report, security::DecapReport::Success); + EXPECT_EQ(ind_ifc.m_last_indication->security_report, security::VerificationReport::Success); EXPECT_EQ(ind_ifc.m_last_indication->its_aid, aid::CA); ASSERT_TRUE(ind_ifc.m_last_packet); diff --git a/vanetza/geonet/tests/security_context.hpp b/vanetza/geonet/tests/security_context.hpp index 8870f1887..cb9cd6289 100644 --- a/vanetza/geonet/tests/security_context.hpp +++ b/vanetza/geonet/tests/security_context.hpp @@ -12,7 +12,9 @@ #include #include #include -#include +#include +#include +#include namespace vanetza { @@ -22,16 +24,22 @@ class SecurityContext public: SecurityContext(Runtime& rt) : backend(security::create_backend("default")), - certificate_provider(new security::v2::NaiveCertificateProvider(rt)), + certificate_provider(rt), cert_cache(rt), - certificate_validator(new security::v2::DefaultCertificateValidator(*backend, cert_cache, trust_store)), + certificate_validator(*backend, cert_cache, trust_store), sign_header_policy(rt, position_provider), + certificate_provider_v3(rt), + sign_header_policy_v3(rt, position_provider, certificate_provider_v3), security(build_sign_service(), build_verify_service(rt)) { - trust_store.insert(certificate_provider->root_certificate()); - for (auto cert : certificate_provider->own_chain()) { + trust_store.insert(certificate_provider.root_certificate()); + for (auto cert : certificate_provider.own_chain()) { cert_cache.insert(cert); } + + // wire up v3 certificate validator + certificate_validator_v3.use_runtime(&rt); + certificate_validator_v3.use_position_provider(&position_provider); } security::SecurityEntity& entity() @@ -52,7 +60,7 @@ class SecurityContext security::v3::CertificateCache& certificate_cache_v3() { - return cert_cache_v3; + return certificate_provider_v3.cache(); } private: @@ -62,29 +70,37 @@ class SecurityContext new security::StraightVerifyService(rt, *backend, position_provider) }; service->use_certificate_cache(&cert_cache); - service->use_certificate_provider(certificate_provider.get()); - service->use_certitifcate_validator(certificate_validator.get()); + service->use_certificate_provider(&certificate_provider); + service->use_certificate_validator(&certificate_validator); service->use_sign_header_policy(&sign_header_policy); - service->use_certificate_cache(&cert_cache_v3); + + service->use_certificate_provider(&certificate_provider_v3); + service->use_certificate_validator(&certificate_validator_v3); + service->use_sign_header_policy(&sign_header_policy_v3); return service; } std::unique_ptr build_sign_service() { return std::unique_ptr { - new security::v2::StraightSignService(*certificate_provider, *backend, sign_header_policy) + new security::v2::StraightSignService(certificate_provider, *backend, sign_header_policy) }; } StoredPositionProvider position_provider; std::unique_ptr backend; - std::unique_ptr certificate_provider; + + security::v2::NaiveCertificateProvider certificate_provider; std::vector roots; security::v2::TrustStore trust_store; security::v2::CertificateCache cert_cache; - std::unique_ptr certificate_validator; + security::v2::DefaultCertificateValidator certificate_validator; security::v2::DefaultSignHeaderPolicy sign_header_policy; - security::v3::CertificateCache cert_cache_v3; + + security::v3::NaiveCertificateProvider certificate_provider_v3; + security::v3::DefaultSignHeaderPolicy sign_header_policy_v3; + security::v3::DefaultCertificateValidator certificate_validator_v3; + security::DelegatingSecurityEntity security; }; diff --git a/vanetza/security/CMakeLists.txt b/vanetza/security/CMakeLists.txt index b47ee91c5..c78312ea0 100644 --- a/vanetza/security/CMakeLists.txt +++ b/vanetza/security/CMakeLists.txt @@ -2,14 +2,17 @@ add_vanetza_component(security backend.cpp backend_null.cpp cam_ssp.cpp + decap_service.cpp delegating_security_entity.cpp ecc_point.cpp ecdsa256.cpp + encap_service.cpp hashed_id.cpp hmac.cpp + key_type.cpp + peer_request_tracker.cpp secured_message.cpp sha.cpp - sign_service.cpp signature.cpp straight_verify_service.cpp verify_service.cpp @@ -47,7 +50,9 @@ add_vanetza_component(security v3/basic_elements.cpp v3/certificate.cpp v3/certificate_cache.cpp - v3/default_certificate_validator.cpp + v3/certificate_validator.cpp + v3/distance.cpp + v3/hash.cpp v3/secured_message.cpp v3/sign_service.cpp v3/naive_certificate_provider.cpp @@ -87,3 +92,4 @@ if(TARGET OpenSSL::Crypto) endif() add_test_subdirectory(tests) +add_test_subdirectory(v3/tests) diff --git a/vanetza/security/backend.hpp b/vanetza/security/backend.hpp index 6eb03620f..4cf9aa12c 100644 --- a/vanetza/security/backend.hpp +++ b/vanetza/security/backend.hpp @@ -5,6 +5,8 @@ #include #include #include +#include +#include #include #include #include @@ -31,6 +33,15 @@ class Backend */ virtual EcdsaSignature sign_data(const ecdsa256::PrivateKey& private_key, const ByteBuffer& data) = 0; + /** + * \brief calculate signature for given digest and private key + * + * \param private_key secret private key + * \param digest hash value of data + * \return calculated signature + */ + virtual Signature sign_digest(const PrivateKey&, const ByteBuffer& digest) = 0; + /** * \brief try to verify data using public key and signature * @@ -59,7 +70,14 @@ class Backend */ virtual boost::optional decompress_point(const EccPoint& ecc_point) = 0; - virtual ByteBuffer calculate_hash(KeyType, const ByteBuffer&) = 0; + /** + * \brief calculate hash value of data + * + * \param algo hash algorithm + * \param data buffer with data + * \return buffer containing calculated hash value + */ + virtual ByteBuffer calculate_hash(HashAlgorithm algo, const ByteBuffer& data) = 0; virtual ~Backend() = default; }; diff --git a/vanetza/security/backend_cryptopp.cpp b/vanetza/security/backend_cryptopp.cpp index 6af6a5635..1f7c2a639 100644 --- a/vanetza/security/backend_cryptopp.cpp +++ b/vanetza/security/backend_cryptopp.cpp @@ -64,6 +64,7 @@ ByteBuffer encode_public_key(const PublicKey& pub_key) } using InternalPublicKey = CryptoPP::DL_PublicKey_EC; +using InternalPrivateKey = CryptoPP::DL_PrivateKey_EC; /** * Convert our PublicKey type to a Crypto++ EC public key @@ -86,6 +87,19 @@ boost::optional convert_public_key(const PublicKey& pub_key) return out; } +/** + * Convert our PrivateKey type to a Crypto++ EC private key + * \param priv_key our private key + * \return private key as Crypto++ type + */ +InternalPrivateKey convert_private_key(const PrivateKey& priv_key) +{ + InternalPrivateKey out; + out.AccessGroupParameters().Initialize(get_oid(priv_key.type)); + out.SetPrivateExponent(CryptoPP::Integer(priv_key.key.data(), priv_key.key.size())); + return out; +} + /** * Specialized Crypto++ Verifier for C-ITS messages */ @@ -125,19 +139,53 @@ class Verifier : public ECDSA::Verifier } }; +template +class IdentityHash : public CryptoPP::HashTransformation +{ +public: + CRYPTOPP_CONSTANT(DIGESTSIZE = N); + + static const char* StaticAlgorithmName() + { + return "IdentityHash"; + } + + void Update(const uint8_t* input, size_t length) override + { + std::copy_n(input, std::min(length, m_hash.size()), m_hash.begin());; + } + + void TruncatedFinal(uint8_t* output, size_t len) override + { + if (output != nullptr) { + std::copy_n(m_hash.begin(), std::min(len, m_hash.size()), output); + } + m_hash.fill(0); + } + + unsigned int DigestSize() const override + { + return m_hash.size(); + } + +private: + std::array m_hash; +}; + +template +using DigestEcdsa = CryptoPP::ECDSA>; + } // namespace using std::placeholders::_1; -BackendCryptoPP::BackendCryptoPP() : - m_private_cache(std::bind(&BackendCryptoPP::internal_private_key, this, _1), 8), - m_public_cache(std::bind(&BackendCryptoPP::internal_public_key, this, _1), 2048) +BackendCryptoPP::BackendCryptoPP() { } EcdsaSignature BackendCryptoPP::sign_data(const ecdsa256::PrivateKey& generic_key, const ByteBuffer& data) { - return sign_data(m_private_cache[generic_key], data); + return sign_data(internal_private_key(generic_key), data); } EcdsaSignature BackendCryptoPP::sign_data(const Ecdsa256::PrivateKey& private_key, const ByteBuffer& data) @@ -163,10 +211,58 @@ EcdsaSignature BackendCryptoPP::sign_data(const Ecdsa256::PrivateKey& private_ke return ecdsa_signature; } +Signature BackendCryptoPP::sign_digest(const PrivateKey& private_key, const ByteBuffer& digest) +{ + static const Signature dummy = {}; + + CryptoPP::DL_Keys_ECDSA::PrivateKey key; + CryptoPP::Integer integer { private_key.key.data(), private_key.key.size() }; + + if (private_key.type == KeyType::NistP256) { + CryptoPP::Integer integer { private_key.key.data(), private_key.key.size() }; + key.Initialize(CryptoPP::ASN1::secp256r1(), integer); + } else if (private_key.type == KeyType::BrainpoolP256r1) { + CryptoPP::Integer integer { private_key.key.data(), private_key.key.size() }; + key.Initialize(CryptoPP::ASN1::brainpoolP256r1(), integer); + } else if (private_key.type == KeyType::BrainpoolP384r1) { + CryptoPP::Integer integer { private_key.key.data(), private_key.key.size() }; + key.Initialize(CryptoPP::ASN1::brainpoolP384r1(), integer); + } else { + return dummy; + } + + auto calculate_signature = [&](CryptoPP::PK_Signer* signer) -> Signature + { + // calculate signature + ByteBuffer signature(signer->MaxSignatureLength(), 0x00); + auto signature_length = signer->SignMessage(m_prng, digest.data(), digest.size(), signature.data()); + signature.resize(signature_length); + + auto signature_delimiter = signature.begin(); + std::advance(signature_delimiter, signer->MaxSignatureLength() / 2); + + Signature ecdsa_signature; + ecdsa_signature.type = private_key.type; + ecdsa_signature.r = ByteBuffer(signature.begin(), signature_delimiter); + ecdsa_signature.s = ByteBuffer(signature_delimiter, signature.end()); + return ecdsa_signature; + }; + + if (digest.size() == 32) { + DigestEcdsa<32>::Signer signer(key); + return calculate_signature(&signer); + } else if (digest.size() == 48) { + DigestEcdsa<48>::Signer signer(key); + return calculate_signature(&signer); + } else { + return dummy; + } +} + bool BackendCryptoPP::verify_data(const ecdsa256::PublicKey& generic_key, const ByteBuffer& msg, const EcdsaSignature& sig) { const ByteBuffer sigbuf = extract_signature_buffer(sig); - return verify_data(m_public_cache[generic_key], msg, sigbuf); + return verify_data(internal_public_key(generic_key), msg, sigbuf); } bool BackendCryptoPP::verify_digest(const PublicKey& public_key, const ByteBuffer& digest, const Signature& sig) @@ -253,27 +349,18 @@ boost::optional BackendCryptoPP::decompress_point(const EccPoint& } } -ByteBuffer BackendCryptoPP::calculate_hash(KeyType key, const ByteBuffer& buffer) +ByteBuffer BackendCryptoPP::calculate_hash(HashAlgorithm algo_id, const ByteBuffer& buffer) { ByteBuffer hash; - switch (key) { - case KeyType::NistP256: - case KeyType::BrainpoolP256r1: { - CryptoPP::SHA256 algo; - hash.resize(algo.DigestSize()); - algo.CalculateDigest(hash.data(), buffer.data(), buffer.size()); - break; - } - case KeyType::BrainpoolP384r1: { - CryptoPP::SHA384 algo; - hash.resize(algo.DigestSize()); - algo.CalculateDigest(hash.data(), buffer.data(), buffer.size()); - break; - } - default: - break; + if (algo_id == HashAlgorithm::SHA256) { + CryptoPP::SHA256 algo; + hash.resize(algo.DigestSize()); + algo.CalculateDigest(hash.data(), buffer.data(), buffer.size()); + } else if (algo_id == HashAlgorithm::SHA384) { + CryptoPP::SHA384 algo; + hash.resize(algo.DigestSize()); + algo.CalculateDigest(hash.data(), buffer.data(), buffer.size()); } - return hash; } diff --git a/vanetza/security/backend_cryptopp.hpp b/vanetza/security/backend_cryptopp.hpp index 7bfdcfdd6..7a24ce336 100644 --- a/vanetza/security/backend_cryptopp.hpp +++ b/vanetza/security/backend_cryptopp.hpp @@ -1,7 +1,6 @@ #ifndef BACKEND_CRYPTOPP_HPP_JQWA9MLZ #define BACKEND_CRYPTOPP_HPP_JQWA9MLZ -#include #include #include #include @@ -25,6 +24,9 @@ class BackendCryptoPP : public Backend /// \see Backend::sign_data EcdsaSignature sign_data(const ecdsa256::PrivateKey& private_key, const ByteBuffer& data_buffer) override; + /// \see Backend::sign_digest + Signature sign_digest(const PrivateKey&, const ByteBuffer& digest) override; + /// \see Backend::verify_data bool verify_data(const ecdsa256::PublicKey& public_key, const ByteBuffer& data, const EcdsaSignature& sig) override; @@ -35,7 +37,7 @@ class BackendCryptoPP : public Backend boost::optional decompress_point(const EccPoint& ecc_point) override; /// \see Backend::calculate_hash - ByteBuffer calculate_hash(KeyType, const ByteBuffer&) override; + ByteBuffer calculate_hash(HashAlgorithm, const ByteBuffer&) override; /** * \brief generate a private key and the corresponding public key @@ -63,8 +65,6 @@ class BackendCryptoPP : public Backend Ecdsa256::PrivateKey internal_private_key(const ecdsa256::PrivateKey&); CryptoPP::AutoSeededRandomPool m_prng; - LruCache m_private_cache; - LruCache m_public_cache; }; } // namespace security diff --git a/vanetza/security/backend_null.cpp b/vanetza/security/backend_null.cpp index 59ab83506..6f8510404 100644 --- a/vanetza/security/backend_null.cpp +++ b/vanetza/security/backend_null.cpp @@ -14,6 +14,12 @@ EcdsaSignature BackendNull::sign_data(const ecdsa256::PrivateKey&, const ByteBuf return fake; } +Signature BackendNull::sign_digest(const PrivateKey&, const ByteBuffer&) +{ + static const Signature empty {}; + return empty; +} + bool BackendNull::verify_data(const ecdsa256::PublicKey&, const ByteBuffer&, const EcdsaSignature&) { // accept everything @@ -43,15 +49,14 @@ EcdsaSignature BackendNull::fake_signature() const return signature; } -ByteBuffer BackendNull::calculate_hash(KeyType key, const ByteBuffer& buffer) +ByteBuffer BackendNull::calculate_hash(HashAlgorithm algo, const ByteBuffer& buffer) { ByteBuffer hash; - switch (key) { - case KeyType::NistP256: - case KeyType::BrainpoolP256r1: + switch (algo) { + case HashAlgorithm::SHA256: hash.resize(32); break; - case KeyType::BrainpoolP384r1: + case HashAlgorithm::SHA384: hash.resize(48); break; default: diff --git a/vanetza/security/backend_null.hpp b/vanetza/security/backend_null.hpp index 190286ab1..3ee0df733 100644 --- a/vanetza/security/backend_null.hpp +++ b/vanetza/security/backend_null.hpp @@ -22,6 +22,9 @@ class BackendNull : public Backend /// \see Backend::sign_data EcdsaSignature sign_data(const ecdsa256::PrivateKey& private_key, const ByteBuffer& data_buffer) override; + /// \see Backend::sign_digest + Signature sign_digest(const PrivateKey&, const ByteBuffer&) override; + /// \see Backend::verify_data bool verify_data(const ecdsa256::PublicKey& public_key, const ByteBuffer& data, const EcdsaSignature& sig) override; @@ -32,7 +35,7 @@ class BackendNull : public Backend boost::optional decompress_point(const EccPoint& ecc_point) override; /// \see Backend::calculate_hash - ByteBuffer calculate_hash(KeyType, const ByteBuffer&) override; + ByteBuffer calculate_hash(HashAlgorithm, const ByteBuffer&) override; private: EcdsaSignature fake_signature() const; diff --git a/vanetza/security/backend_openssl.cpp b/vanetza/security/backend_openssl.cpp index b37e8cf06..f1f94610b 100644 --- a/vanetza/security/backend_openssl.cpp +++ b/vanetza/security/backend_openssl.cpp @@ -88,6 +88,42 @@ EcdsaSignature BackendOpenSsl::sign_data(const ecdsa256::PrivateKey& key, const return ecdsa_signature; } +Signature BackendOpenSsl::sign_digest(const PrivateKey& key, const ByteBuffer& digest) +{ + // sign message data represented by the digest + auto priv_key = internal_private_key(key); + openssl::Signature signature { ECDSA_do_sign(digest.data(), digest.size(), priv_key) }; +#if OPENSSL_API_COMPAT < 0x10100000L + const BIGNUM* sig_r = signature->r; + const BIGNUM* sig_s = signature->s; +#else + const BIGNUM* sig_r = nullptr; + const BIGNUM* sig_s = nullptr; + ECDSA_SIG_get0(signature, &sig_r, &sig_s); +#endif + + Signature ecdsa_signature; + ecdsa_signature.type = key.type; + + if (sig_r && sig_s) { + const size_t len = key_length(key.type); + + const auto num_bytes_s = BN_num_bytes(sig_s); + assert(len >= static_cast(num_bytes_s)); + ecdsa_signature.s.resize(len, 0x00); + BN_bn2bin(sig_s, ecdsa_signature.s.data() + len - num_bytes_s); + + const auto num_bytes_r = BN_num_bytes(sig_r); + assert(len >= static_cast(num_bytes_r)); + ecdsa_signature.r.resize(len, 0x00); + BN_bn2bin(sig_r, ecdsa_signature.r.data() + len - num_bytes_r); + } else { + throw openssl::Exception(); + } + + return ecdsa_signature; +} + bool BackendOpenSsl::verify_data(const ecdsa256::PublicKey& key, const ByteBuffer& data, const EcdsaSignature& sig) { auto digest = calculate_sha256_digest(data); @@ -172,24 +208,15 @@ boost::optional BackendOpenSsl::decompress_point(const EccPoint& e } } -ByteBuffer BackendOpenSsl::calculate_hash(KeyType key, const ByteBuffer& data) +ByteBuffer BackendOpenSsl::calculate_hash(HashAlgorithm algo, const ByteBuffer& data) { ByteBuffer result; - switch (key) - { - case KeyType::NistP256: - case KeyType::BrainpoolP256r1: { - auto digest = calculate_sha256_digest(data); - result.assign(digest.begin(), digest.end()); - break; - } - case KeyType::BrainpoolP384r1: { - auto digest = calculate_sha384_digest(data); - result.assign(digest.begin(), digest.end()); - break; - } - default: - break; + if (algo == HashAlgorithm::SHA256) { + auto digest = calculate_sha256_digest(data); + result.assign(digest.begin(), digest.end()); + } else if (algo == HashAlgorithm::SHA384) { + auto digest = calculate_sha384_digest(data); + result.assign(digest.begin(), digest.end()); } return result; } @@ -232,6 +259,23 @@ openssl::Key BackendOpenSsl::internal_private_key(const ecdsa256::PrivateKey& ge return key; } +openssl::Key BackendOpenSsl::internal_private_key(const PrivateKey& generic) const +{ + openssl::Key key(openssl_nid(generic.type)); + openssl::BigNumber prv(generic.key); + EC_KEY_set_private_key(key, prv); + + // OpenSSL requires public key, so we recreate it from private key + openssl::BigNumberContext ctx; + const EC_GROUP* group = EC_KEY_get0_group(key); + openssl::Point pub(group); + openssl::check(EC_POINT_mul(group, pub, prv, nullptr, nullptr, ctx)); + EC_KEY_set_public_key(key, pub); + + openssl::check(EC_KEY_check_key(key)); + return key; +} + openssl::Key BackendOpenSsl::internal_public_key(const ecdsa256::PublicKey& generic) const { openssl::Key key(NID_X9_62_prime256v1); diff --git a/vanetza/security/backend_openssl.hpp b/vanetza/security/backend_openssl.hpp index ead318543..109f2f130 100644 --- a/vanetza/security/backend_openssl.hpp +++ b/vanetza/security/backend_openssl.hpp @@ -32,13 +32,16 @@ class BackendOpenSsl : public Backend /// \see Backend::sign_data EcdsaSignature sign_data(const ecdsa256::PrivateKey& private_key, const ByteBuffer& data_buffer) override; + /// \see Backend::sign_digest + Signature sign_digest(const PrivateKey&, const ByteBuffer& digest) override; + /// \see Backend::verify_data bool verify_data(const ecdsa256::PublicKey& public_key, const ByteBuffer& data, const EcdsaSignature& sig) override; /// \see Backend::verify_digest bool verify_digest(const PublicKey&, const ByteBuffer& digest, const Signature&) override; - ByteBuffer calculate_hash(KeyType, const ByteBuffer&) override; + ByteBuffer calculate_hash(HashAlgorithm, const ByteBuffer&) override; /// \see Backend::decompress_point boost::optional decompress_point(const EccPoint& ecc_point) override; @@ -52,6 +55,7 @@ class BackendOpenSsl : public Backend /// convert to internal format of private key openssl::Key internal_private_key(const ecdsa256::PrivateKey&) const; + openssl::Key internal_private_key(const PrivateKey&) const; /// convert to internal format of public key openssl::Key internal_public_key(const ecdsa256::PublicKey&) const; diff --git a/vanetza/security/decap_confirm.hpp b/vanetza/security/decap_confirm.hpp deleted file mode 100644 index 9a0ed506f..000000000 --- a/vanetza/security/decap_confirm.hpp +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef DECAP_CONFIRM_HPP -#define DECAP_CONFIRM_HPP - -#include -#include -#include -#include -#include -#include - -namespace vanetza -{ -namespace security -{ - -/** - * SN-DECAP.confirm report codes - * \see TS 102 723-8 v1.1.1 table 27 - */ -enum class DecapReport -{ - Success, - False_Signature, - Invalid_Certificate, - Revoked_Certificate, - Inconsistant_Chain, - Invalid_Timestamp, - Duplicate_Message, - Invalid_Mobility_Data, - Unsigned_Message, - Signer_Certificate_Not_Found, - Unsupported_Signer_Identifier_Type, - Incompatible_Protocol, - Unencrypted_Message, - Decryption_Error, -}; - -/** \brief contains output of the verify process -* described in -* TS 102 723-8 v1.0.0 (2013-07) -* TS 102 636-4-1 v1.2.3 (2015-01) -*/ -struct DecapConfirm -{ - // plaintext_packet_length is gathered via ByteBuffer::size(); valid range 0 ... 2^16-1; mandatory - PacketVariant plaintext_payload; // mandatory - DecapReport report; // mandatory - CertificateValidity certificate_validity; // non-standard extension - boost::optional certificate_id; // optional - ItsAid its_aid; // mandatory - ByteBuffer permissions; // mandatory -}; - -} // namespace security -} // namespace vanetza - -#endif // DECAP_CONFIRM_HPP diff --git a/vanetza/security/decap_request.hpp b/vanetza/security/decap_request.hpp deleted file mode 100644 index 78af9e9f6..000000000 --- a/vanetza/security/decap_request.hpp +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef DECAP_REQUEST_HPP_WH8O09MB -#define DECAP_REQUEST_HPP_WH8O09MB - -#include - -namespace vanetza -{ -namespace security -{ - -/** \brief contains input for verify process -* described in -* TS 102 723-8 v1.0.0 (2013-07) -* TS 102 636-4-1 v1.2.3 (2015-01) -*/ -struct DecapRequest -{ - DecapRequest(SecuredMessageView sec_msg_view) : sec_packet(sec_msg_view) {} - SecuredMessageView sec_packet; -}; - -} // namespace security -} // namespace vanetza - -#endif // DECAP_REQUEST_HPP_WH8O09MB diff --git a/vanetza/security/decap_service.cpp b/vanetza/security/decap_service.cpp new file mode 100644 index 000000000..5a9b3aea2 --- /dev/null +++ b/vanetza/security/decap_service.cpp @@ -0,0 +1,53 @@ +#include +#include + +namespace vanetza +{ +namespace security +{ + +bool is_successful(const DecapReport& report) +{ + return report == VerificationReport::Success; +} + +bool operator==(const DecapReport& decap, VerificationReport verification) +{ + struct Visitor : public boost::static_visitor + { + Visitor(VerificationReport report) : expected(report) {} + + bool operator()(VerificationReport report) const + { + return report == expected; + } + + bool operator()(boost::blank) const + { + return false; + } + + VerificationReport expected; + }; + + return boost::apply_visitor(Visitor(verification), decap); +} + +bool operator==(VerificationReport verification, const DecapReport& decap) +{ + return (decap == verification); +} + +DecapConfirm DecapConfirm::from(VerifyConfirm&& verify, const SecuredMessageView& msg_view) +{ + DecapConfirm decap; + decap.plaintext_payload = get_payload_copy(msg_view); + decap.report = verify.report; + decap.certificate_validity = verify.certificate_validity; + decap.its_aid = verify.its_aid; + decap.permissions = verify.permissions; + return decap; +} + +} // namespace security +} // namespace vanetza diff --git a/vanetza/security/decap_service.hpp b/vanetza/security/decap_service.hpp new file mode 100644 index 000000000..b9aaad93c --- /dev/null +++ b/vanetza/security/decap_service.hpp @@ -0,0 +1,91 @@ +#ifndef F815BB22_3075_4A9D_9385_07876D800765 +#define F815BB22_3075_4A9D_9385_07876D800765 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace vanetza +{ +namespace security +{ + +/** + * \brief Input data for decapsulating a secured message. + * + * The structure is equivalent to VerifyRequest, however, decapsulation may + * also deal with decryption in future versions. + * + * \see TS 102 723-8 v1.1.1 SN-DECAP.request + */ +struct DecapRequest +{ + DecapRequest(SecuredMessageView sec_msg_view) : sec_packet(sec_msg_view) {} + SecuredMessageView sec_packet; +}; + +/** + * \brief SN-DECAP.confirm report codes + * \see TS 102 723-8 v1.1.1 table 27 (report field) + * + * Instead of duplicating VerificationReport values and the linked burden keeping + * these values consistent, DecapReport is a variant incorporating VerificationReport. + * When decryption is implemented, a DecryptionReport may be added to the variant. + * + * The boost::blank entry indicates that the SecuredMessage was neither signed nor encrypted. + */ +using DecapReport = boost::variant; + +/** + * \brief Check if report indicates a successful decapsulation. + * + * Either verification or decryption needs to be successful. + * An unsecured message cannot lead to a succesful decapsulation result. + * + * \param report to check + * \return true if either verification or decryption was successful + */ +bool is_successful(const DecapReport& report); + +/** + * \brief Check if decapsulation report matches a particular verification report. + * + * \param decap decapsulation report + * \param verification verification report + * \return true if decapsulation matches verification + */ +bool operator==(const DecapReport& decap, VerificationReport verification); +bool operator==(VerificationReport verification, const DecapReport& decap); + +/** + * \brief SN-DECAP.confirm + * \see TS 102 723-8 v1.1.1 table 27 + */ +struct DecapConfirm +{ + /** + * Build DecapConfirm from verify outcome and secured message. + * + * \param verify_confirm outcome of verification + * \param msg_view view of secured message + * \return decapsulation confirmation + */ + static DecapConfirm from(VerifyConfirm&& verify_confirm, const SecuredMessageView& msg_view); + + PacketVariant plaintext_payload; // mandatory (plaintext_packet_length also covered by data type) + DecapReport report; // mandatory + CertificateValidity certificate_validity; // non-standard extension + boost::optional certificate_id; // optional + ItsAid its_aid; // mandatory (its_ait_lenth also covered by data type) + ByteBuffer permissions; // mandatory +}; + +} // namespace security +} // namespace vanetza + +#endif /* F815BB22_3075_4A9D_9385_07876D800765 */ diff --git a/vanetza/security/delegating_security_entity.cpp b/vanetza/security/delegating_security_entity.cpp index c7c64b24e..ae4e9288c 100644 --- a/vanetza/security/delegating_security_entity.cpp +++ b/vanetza/security/delegating_security_entity.cpp @@ -20,28 +20,14 @@ DelegatingSecurityEntity::DelegatingSecurityEntity(std::unique_ptr EncapConfirm DelegatingSecurityEntity::encapsulate_packet(EncapRequest&& encap_request) { - SignRequest sign_request; - sign_request.plain_message = std::move(encap_request.plaintext_payload); - sign_request.its_aid = encap_request.its_aid; - - SignConfirm sign_confirm = m_sign_service->sign(std::move(sign_request)); - EncapConfirm encap_confirm; - encap_confirm.sec_packet = std::move(sign_confirm.secured_message); - return encap_confirm; + return dispatch(std::move(encap_request), m_sign_service.get()); } DecapConfirm DelegatingSecurityEntity::decapsulate_packet(DecapRequest&& decap_request) { - DecapConfirm decap_confirm; - - VerifyConfirm verify_confirm = m_verify_service->verify(VerifyRequest { decap_request.sec_packet }); - decap_confirm.plaintext_payload = get_payload_copy(decap_request.sec_packet); - decap_confirm.report = static_cast(verify_confirm.report); - decap_confirm.certificate_validity = verify_confirm.certificate_validity; - decap_confirm.its_aid = verify_confirm.its_aid; - decap_confirm.permissions = verify_confirm.permissions; - - return decap_confirm; + SecuredMessageView msg_view { decap_request.sec_packet }; + auto verify_confirm = m_verify_service->verify(VerifyRequest { msg_view }); + return DecapConfirm::from(std::move(verify_confirm), msg_view); } } // namespace security diff --git a/vanetza/security/encap_confirm.hpp b/vanetza/security/encap_confirm.hpp deleted file mode 100644 index 8dead7d19..000000000 --- a/vanetza/security/encap_confirm.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef ENCAP_CONFIRM_HPP -#define ENCAP_CONFIRM_HPP - -#include -#include - -namespace vanetza -{ -namespace security -{ - -/** \brief contains output of the signing process -* described in -* TS 102 636-4-1 v1.2.3 (2015-01) -*/ -struct EncapConfirm { - SecuredMessage sec_packet; // mandatory -}; - -} // namespace security -} // namespace vanetza -#endif // ENCAP_CONFIRM_HPP diff --git a/vanetza/security/encap_request.hpp b/vanetza/security/encap_request.hpp deleted file mode 100644 index 391295fbc..000000000 --- a/vanetza/security/encap_request.hpp +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef ENCAP_REQUEST_HPP_OX8CLPLW -#define ENCAP_REQUEST_HPP_OX8CLPLW - -#include -#include - -namespace vanetza -{ -namespace security -{ - -/** - * Input data for encapsulating a packet in a secured message - * \see TS 102 723-8 for SN-ENCAP.request - */ -struct EncapRequest { - DownPacket plaintext_payload; // mandatory - ItsAid its_aid; // mandatory -}; - -} // namespace security -} // namespace vanetza - -#endif // ENCAP_REQUEST_HPP_OX8CLPLW diff --git a/vanetza/security/encap_service.cpp b/vanetza/security/encap_service.cpp new file mode 100644 index 000000000..682f47fde --- /dev/null +++ b/vanetza/security/encap_service.cpp @@ -0,0 +1,50 @@ +#include + +namespace vanetza +{ +namespace security +{ + +EncapConfirm EncapConfirm::from(SignConfirm&& sign_confirm) +{ + if (sign_confirm.secured_message) { + return EncapConfirm { std::move(*sign_confirm.secured_message) }; + } else { + return EncapConfirm { sign_confirm.error }; + } +} + +const SecuredMessage* EncapConfirm::secured_message() const +{ + return boost::get(this); +} + +SecuredMessage* EncapConfirm::secured_message() +{ + return boost::get(this); +} + +EncapConfirm dispatch(EncapRequest&& encap_request, SignService* sign_service) +{ + struct Dispatcher : boost::static_visitor + { + Dispatcher(SignService* sign_service) : m_sign_service(sign_service) {} + + EncapConfirm operator()(SignRequest& request) + { + if (m_sign_service) { + return EncapConfirm::from(m_sign_service->sign(std::move(request))); + } else { + return EncapConfirm::from(SignConfirm::failure(SignConfirmError::No_Service)); + } + } + + SignService* m_sign_service; + }; + + Dispatcher dispatcher(sign_service); + return boost::apply_visitor(dispatcher, encap_request); +} + +} // namespace security +} // namespace vanetza diff --git a/vanetza/security/encap_service.hpp b/vanetza/security/encap_service.hpp new file mode 100644 index 000000000..6e31b92bd --- /dev/null +++ b/vanetza/security/encap_service.hpp @@ -0,0 +1,54 @@ +#ifndef FD3D1A69_8B8D_4DC1_8975_9FEB7A791B56 +#define FD3D1A69_8B8D_4DC1_8975_9FEB7A791B56 + +#include +#include +#include + +namespace vanetza +{ +namespace security +{ + +/** + * Input data for encapsulating a packet in a secured message. + * + * According to TS 102 723-8 V1.1.1, SN-ENCAP.request offers the very same + * functionality as SN-SIGN.request and SN-ENCRYPT.request. + * + * Since encryption is not yet implemented, so only SignRequest is included. + */ +using EncapRequest = boost::variant; + +/** + * Confirmation of the encapsulation process (SN-ENCAP.confirm). + * + * TS 102 723-8 V1.1.1 includes only sec_packet but cannot report any errors. + * Instead of throwing exceptions, the variant may convey an error code instead + * of a SecuredMessage. + */ +struct EncapConfirm : public boost::variant +{ +public: + static EncapConfirm from(SignConfirm&&); + + const SecuredMessage* secured_message() const; + SecuredMessage* secured_message(); + +private: + using variant::variant; +}; + +/** + * Dispatch an encapsulation request to the responsible service. + * + * \param encap_request SN-ENCAP.request data + * \param sign_service service handling signing requests + * \return SN-ENCAP.confirm + */ +EncapConfirm dispatch(EncapRequest&& encap_request, SignService* sign_service); + +} // namespace security +} // namespace vanetza + +#endif /* FD3D1A69_8B8D_4DC1_8975_9FEB7A791B56 */ diff --git a/vanetza/security/hash_algorithm.hpp b/vanetza/security/hash_algorithm.hpp new file mode 100644 index 000000000..f106a8c32 --- /dev/null +++ b/vanetza/security/hash_algorithm.hpp @@ -0,0 +1,19 @@ +#ifndef AE32B993_652E_4D59_A9A9_AF3C20995F46 +#define AE32B993_652E_4D59_A9A9_AF3C20995F46 + +namespace vanetza +{ +namespace security +{ + +enum class HashAlgorithm +{ + Unspecified, + SHA256, + SHA384, +}; + +} // namespace security +} // namespace vanetza + +#endif /* AE32B993_652E_4D59_A9A9_AF3C20995F46 */ diff --git a/vanetza/security/hashed_id.cpp b/vanetza/security/hashed_id.cpp index a40290293..6ed843e32 100644 --- a/vanetza/security/hashed_id.cpp +++ b/vanetza/security/hashed_id.cpp @@ -32,6 +32,17 @@ HashedId8 create_hashed_id8(const Sha384Digest& digest) return hashed; } +std::string to_string(const vanetza::security::HashedId3& digest) +{ + std::stringstream ss; + ss << std::hex << std::setfill('0'); + for (uint8_t octet : digest) + { + ss << std::setw(2) << static_cast(octet); + } + return ss.str(); +} + std::string to_string(const vanetza::security::HashedId8& digest) { std::stringstream ss; @@ -49,6 +60,15 @@ std::string to_string(const vanetza::security::HashedId8& digest) namespace std { +size_t hash::operator()(const vanetza::security::HashedId3& hid3) const +{ + size_t seed = 0; + for (uint8_t octet : hid3) { + boost::hash_combine(seed, octet); + } + return seed; +} + size_t hash::operator()(const vanetza::security::HashedId8& hid8) const { size_t seed = 0; diff --git a/vanetza/security/hashed_id.hpp b/vanetza/security/hashed_id.hpp index 0b8abb06f..22b4dd475 100644 --- a/vanetza/security/hashed_id.hpp +++ b/vanetza/security/hashed_id.hpp @@ -20,6 +20,7 @@ HashedId3 truncate(const HashedId8&); HashedId8 create_hashed_id8(const Sha256Digest&); HashedId8 create_hashed_id8(const Sha384Digest&); +std::string to_string(const vanetza::security::HashedId3&); std::string to_string(const vanetza::security::HashedId8&); } // namespace security @@ -27,6 +28,12 @@ std::string to_string(const vanetza::security::HashedId8&); namespace std { +// std::hash specialization for HashedId3 +template<> struct hash +{ + size_t operator()(const vanetza::security::HashedId3&) const; +}; + /// std::hash specialization for HashedId8 template<> struct hash { diff --git a/vanetza/security/key_type.cpp b/vanetza/security/key_type.cpp new file mode 100644 index 000000000..b1cab85f6 --- /dev/null +++ b/vanetza/security/key_type.cpp @@ -0,0 +1,23 @@ +#include + +namespace vanetza +{ +namespace security +{ + +std::size_t key_length(KeyType key_type) +{ + switch (key_type) + { + case KeyType::NistP256: + case KeyType::BrainpoolP256r1: + return 32; + case KeyType::BrainpoolP384r1: + return 48; + default: + return 0; + } +} + +} // namespace security +} // namespace vanetza diff --git a/vanetza/security/key_type.hpp b/vanetza/security/key_type.hpp index 0962dc743..24b6f637d 100644 --- a/vanetza/security/key_type.hpp +++ b/vanetza/security/key_type.hpp @@ -1,4 +1,5 @@ #pragma once +#include namespace vanetza { @@ -7,10 +8,18 @@ namespace security enum class KeyType { + Unspecified, NistP256, // also known as prime256v1 BrainpoolP256r1, BrainpoolP384r1 }; +/** + * Length of private key in bytes + * \param type key type + * \param length in bytes + */ +std::size_t key_length(KeyType type); + } // namespace security } // namespace vanetza diff --git a/vanetza/security/peer_request_tracker.cpp b/vanetza/security/peer_request_tracker.cpp new file mode 100644 index 000000000..a682a3360 --- /dev/null +++ b/vanetza/security/peer_request_tracker.cpp @@ -0,0 +1,86 @@ +#include +#include + +namespace vanetza +{ +namespace security +{ + +PeerRequestTracker::PeerRequestTracker(std::size_t limit) : m_limit(limit) +{ +} + +void PeerRequestTracker::add_request(const HashedId3& id) +{ + if (!is_pending(id)) { + // drop tail item when queue becomes full + if (m_fifo.size() >= m_limit && !m_fifo.empty()) { + m_lookup.erase(m_fifo.front()); + m_fifo.pop_front(); + } + + auto inserted = m_fifo.insert(m_fifo.end(), id); + m_lookup.emplace(id, inserted); + } + + assert(m_fifo.size() == m_lookup.size()); +} + +void PeerRequestTracker::discard_request(const HashedId3& id) +{ + auto found = m_lookup.find(id); + if (found != m_lookup.end()) { + m_fifo.erase(found->second); + m_lookup.erase(found); + } + + assert(m_fifo.size() == m_lookup.size()); +} + +bool PeerRequestTracker::is_pending(const HashedId3& id) const +{ + return m_lookup.find(id) != m_lookup.end(); +} + +boost::optional PeerRequestTracker::next_one() +{ + boost::optional next; + if (!m_fifo.empty()) { + next = m_fifo.front(); + m_fifo.pop_front(); + m_lookup.erase(*next); + } + + assert(m_fifo.size() == m_lookup.size()); + return next; +} + +std::list PeerRequestTracker::next_n(std::size_t max) +{ + if (max >= m_fifo.size()) { + return all(); + } else { + std::list next; + auto from = m_fifo.begin(); + auto to = std::next(from, max); + next.splice(next.begin(), m_fifo, from, to); + + for (const HashedId3& id : next) { + m_lookup.erase(id); + } + + assert(m_fifo.size() == m_lookup.size()); + return next; + } +} + +std::list PeerRequestTracker::all() +{ + m_lookup.clear(); + std::list all; + all.splice(all.begin(), m_fifo, m_fifo.begin(), m_fifo.end()); + return all; +} + +} // namespace security +} // namespace vanetza diff --git a/vanetza/security/peer_request_tracker.hpp b/vanetza/security/peer_request_tracker.hpp new file mode 100644 index 000000000..f942bfa1f --- /dev/null +++ b/vanetza/security/peer_request_tracker.hpp @@ -0,0 +1,74 @@ +#ifndef A5037FF9_14E0_4DA9_8027_6C0692B1462B +#define A5037FF9_14E0_4DA9_8027_6C0692B1462B + +#include +#include +#include +#include + +namespace vanetza +{ +namespace security +{ + +class PeerRequestTracker +{ +public: + explicit PeerRequestTracker(std::size_t limit = 16); + + /** + * Add a certificate request to the tracker. + * + * \param id hash of requested certificate + */ + void add_request(const HashedId3&); + + /** + * Discard a pending certificate request. + * + * \param id hash of certificate + */ + void discard_request(const HashedId3&); + + /** + * Check if a certificate request is pending. + * + * \param id hash of certificate + * \return true if request of this certificate is pending + */ + bool is_pending(const HashedId3&) const; + + /** + * Determine which request shall be handled next and remove it from the queue. + * + * \return hash of requested certificate if any + */ + boost::optional next_one(); + + /** + * Retrieve next n pending requests from tracker. + * + * \return list of up to n certificate hashes + */ + std::list next_n(std::size_t max); + + /** + * Retrieve all pending requests from tracker. + * + * \return list of all pending certificate hashes + */ + std::list all(); + +private: + using FifoQueue = std::list; + using LookupMap = std::unordered_map; + + std::size_t m_limit; + FifoQueue m_fifo; + LookupMap m_lookup; +}; + +} // namespace security +} // namespace vanetza + +#endif /* A5037FF9_14E0_4DA9_8027_6C0692B1462B */ diff --git a/vanetza/security/private_key.hpp b/vanetza/security/private_key.hpp new file mode 100644 index 000000000..095b1e317 --- /dev/null +++ b/vanetza/security/private_key.hpp @@ -0,0 +1,18 @@ +#pragma once +#include +#include +#include + +namespace vanetza +{ +namespace security +{ + +struct PrivateKey +{ + KeyType type; + ByteBuffer key; +}; + +} // namespace security +} // namespace vanetza diff --git a/vanetza/security/security_entity.hpp b/vanetza/security/security_entity.hpp index eb4554674..35b236438 100644 --- a/vanetza/security/security_entity.hpp +++ b/vanetza/security/security_entity.hpp @@ -1,10 +1,8 @@ #ifndef SECURITY_ENTITY_HPP #define SECURITY_ENTITY_HPP -#include -#include -#include -#include +#include +#include namespace vanetza { diff --git a/vanetza/security/sign_service.cpp b/vanetza/security/sign_service.cpp deleted file mode 100644 index 9dea42665..000000000 --- a/vanetza/security/sign_service.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include - -namespace vanetza -{ -namespace security -{ - -} // namespace security -} // namespace vanetza diff --git a/vanetza/security/sign_service.hpp b/vanetza/security/sign_service.hpp index c31481559..5c0f6533b 100644 --- a/vanetza/security/sign_service.hpp +++ b/vanetza/security/sign_service.hpp @@ -5,8 +5,11 @@ #include #include #include +#include +#include #include #include +#include #include namespace vanetza @@ -27,10 +30,30 @@ struct SignRequest bool external_payload = false; }; +enum class SignConfirmError +{ + Unspecified, + No_Certificate, + No_Service, +}; + // mandatory SN-SIGN.confirm parameters struct SignConfirm { - SecuredMessage secured_message; + SignConfirm() = delete; + + static SignConfirm success(SecuredMessage&& message) + { + return { SignConfirmError::Unspecified, std::move(message) }; + } + + static SignConfirm failure(SignConfirmError error) + { + return { error, boost::none }; + } + + SignConfirmError error; + boost::optional secured_message; }; /** diff --git a/vanetza/security/straight_verify_service.cpp b/vanetza/security/straight_verify_service.cpp index ad9604d1e..058f73a17 100644 --- a/vanetza/security/straight_verify_service.cpp +++ b/vanetza/security/straight_verify_service.cpp @@ -15,10 +15,14 @@ #include #include #include +#include #include #include #include +// asn1c quirk +struct Vanetza_Security_Certificate : public Vanetza_Security_CertificateBase {}; + namespace vanetza { namespace security @@ -66,7 +70,7 @@ void StraightVerifyService::use_certificate_provider(v2::CertificateProvider* pr m_context_v2.m_cert_provider = provider; } -void StraightVerifyService::use_certitifcate_validator(v2::CertificateValidator* validator) +void StraightVerifyService::use_certificate_validator(v2::CertificateValidator* validator) { m_context_v2.m_cert_validator = validator; } @@ -76,11 +80,6 @@ void StraightVerifyService::use_sign_header_policy(v2::SignHeaderPolicy* policy) m_context_v2.m_sign_policy = policy; } -void StraightVerifyService::use_certificate_cache(v3::CertificateCache* cache) -{ - m_context_v3.m_cert_cache = cache; -} - void StraightVerifyService::use_certificate_provider(v3::CertificateProvider* provider) { m_context_v3.m_cert_provider = provider; @@ -399,41 +398,8 @@ VerifyConfirm StraightVerifyService::verify(const v3::SecuredMessage& msg) return confirm; } - v3::CertificateProvider* cert_provider = m_context_v3.m_cert_provider; - v3::CertificateCache* cert_cache = m_context_v3.m_cert_cache; - v3::CertificateValidator* cert_validator = m_context_v3.m_cert_validator; - v3::SignHeaderPolicy* sign_policy = m_context_v3.m_sign_policy; - - // Check for P2PCD requests - // TODO: test this - if (cert_provider && sign_policy) { - std::list requested_certs = msg.get_inline_p2pcd_request(); - if (!requested_certs.empty()) { - // Calculate IDs of own certificates and certificate chain - auto own_cert_id = truncate(*cert_provider->own_certificate().calculate_digest()); - auto own_chain = cert_provider->own_chain(); - std::vector own_chain_ids(own_chain.size()); - std::transform(own_chain.begin(), own_chain.end(), own_chain_ids.begin(), - [](const v3::Certificate& cert) { - return truncate(*cert.calculate_digest()); - }); - - // Check if any of the requested certificates are available - for (const auto& requested_cert : requested_certs) { - if (own_cert_id == requested_cert) { - sign_policy->request_certificate(); - continue; - } - - const auto it = std::find(own_chain_ids.begin(), own_chain_ids.end(), requested_cert); - if (it != own_chain_ids.end()) { - sign_policy->request_certificate_chain(); - } - } - } - } - - if (!v3::check_generation_time(msg, m_runtime.now())) { + auto gen_time = msg.generation_time(); + if (!gen_time) { confirm.report = VerificationReport::Invalid_Timestamp; return confirm; } @@ -446,7 +412,8 @@ VerifyConfirm StraightVerifyService::verify(const v3::SecuredMessage& msg) } struct certificate_lookup_visitor : public boost::static_visitor { - certificate_lookup_visitor(v3::CertificateCache* cache) : m_cache(cache) + certificate_lookup_visitor(v3::CertificateProvider* provider) : + m_cache(provider != nullptr ? &provider->cache() : nullptr) { } @@ -467,98 +434,112 @@ VerifyConfirm StraightVerifyService::verify(const v3::SecuredMessage& msg) } v3::CertificateCache* m_cache; - } certificate_lookup_visitor(cert_cache); + } certificate_lookup_visitor(m_context_v3.m_cert_provider); auto signer_identifier = msg.signer_identifier(); // track "known" stations auto maybe_digest = v3::get_certificate_id(signer_identifier); - if (cert_cache && maybe_digest) { - bool was_unknown_station = cert_cache->announce(*maybe_digest); - if (was_unknown_station && msg.its_aid() == aid::CA && sign_policy) { + if (m_context_v3.m_cert_provider && maybe_digest) { + bool was_unknown_station = m_context_v3.m_cert_provider->cache().announce(*maybe_digest); + if (was_unknown_station && msg.its_aid() == aid::CA && m_context_v3.m_sign_policy) { // CAM from unknown station received, add our certificate to next outgoing message - sign_policy->request_certificate(); + m_context_v3.m_sign_policy->request_certificate(); } } - const v3::asn1::Certificate* certificate = boost::apply_visitor(certificate_lookup_visitor, signer_identifier); - if (!certificate && maybe_digest) { - if (sign_policy) { - sign_policy->request_unrecognized_certificate(*maybe_digest); + // check if a ITS-AID 36 (CAM) with inline cert request shall be handled by us + if (msg.its_aid() == aid::CA && m_context_v3.m_sign_policy && m_context_v3.m_cert_provider) { + Vanetza_Security_SequenceOfHashedId3* requests = msg->content->choice.signedData->tbsData->headerInfo.inlineP2pcdRequest; + if (requests) { + for (int i = 0; i < requests->list.count; ++i) + { + const Vanetza_Security_HashedId3_t* req_digest = requests->list.array[i]; + const HashedId3 hid3 = create_hashed_id3(*req_digest); + m_context_v3.m_sign_policy->enqueue_p2p_request(hid3); + } } - confirm.report = VerificationReport::Signer_Certificate_Not_Found; - return confirm; - } - auto public_key = v3::get_public_key(*certificate); - if (!public_key) { - confirm.report = VerificationReport::Invalid_Certificate; - confirm.certificate_validity = CertificateInvalidReason::Missing_Public_Key; - return confirm; + Vanetza_Security_Certificate* included_cert = msg->content->choice.signedData->tbsData->headerInfo.requestedCertificate; + if (included_cert) { + auto maybe_digest = v3::calculate_digest(*included_cert); + if (maybe_digest) { + m_context_v3.m_sign_policy->discard_p2p_request(truncate(*maybe_digest)); + } + } } - ByteBuffer encoded_cert; - try { - encoded_cert = asn1::encode_oer(asn_DEF_Vanetza_Security_CertificateBase, certificate); - } catch (...) { - confirm.report = VerificationReport::Invalid_Certificate; + const v3::asn1::Certificate* certificate = boost::apply_visitor(certificate_lookup_visitor, signer_identifier); + if (!certificate && maybe_digest) { + if (msg.its_aid() == aid::CA && m_context_v3.m_sign_policy) { + // for received CAMs (having digest as signer identifier) with unknown AT we request the full AT certificate + m_context_v3.m_sign_policy->request_unrecognized_certificate(*maybe_digest); + } + confirm.report = VerificationReport::Signer_Certificate_Not_Found; return confirm; } - v3::Certificate cert; - cert.decode(encoded_cert); - if (cert_validator) { - CertificateValidity validity = cert_validator->check_certificate(cert); - if (!validity) { + // check AT certificate's validity + if (certificate && m_context_v3.m_cert_validator) { + auto verdict = m_context_v3.m_cert_validator->valid_for_signing(v3::CertificateView { certificate }, msg.its_aid()); + if (verdict != v3::CertificateValidator::Verdict::Valid) { confirm.report = VerificationReport::Invalid_Certificate; - confirm.certificate_validity = validity; return confirm; } } - // Check certificate time validity - if (!v3::check_certificate_time(cert, m_runtime.now())) { - confirm.report = VerificationReport::Invalid_Certificate; - confirm.certificate_validity = CertificateInvalidReason::Off_Time_Period; - return confirm; + boost::optional aa_digest; + switch (certificate->issuer.present) + { + case Vanetza_Security_IssuerIdentifier_PR_sha256AndDigest: + aa_digest = v3::convert(certificate->issuer.choice.sha256AndDigest); + break; + case Vanetza_Security_IssuerIdentifier_PR_sha384AndDigest: + aa_digest = v3::convert(certificate->issuer.choice.sha384AndDigest); + break; + default: + break; + } + + if (aa_digest && m_context_v3.m_cert_provider) { + if (!m_context_v3.m_cert_provider->cache().is_known(*aa_digest)) { + if (m_context_v3.m_sign_policy) { + // request unknown AA certificate for any received message signed with AT issued by this AA + m_context_v3.m_sign_policy->request_unrecognized_certificate(*aa_digest); + } + } + // TODO: if AA is validated and fails, announce it in cache } - // Check certificate region validity - if (!v3::check_certificate_region(cert, m_position_provider.position_fix())) { + auto public_key = v3::get_public_key(*certificate); + if (!public_key) { confirm.report = VerificationReport::Invalid_Certificate; - confirm.certificate_validity = CertificateInvalidReason::Off_Region; + confirm.certificate_validity = CertificateInvalidReason::Missing_Public_Key; return confirm; } - ByteBuffer data_hash = m_backend.calculate_hash(public_key->type, msg.signing_payload()); - ByteBuffer cert_hash = m_backend.calculate_hash(public_key->type, encoded_cert); - ByteBuffer concat_hash = data_hash; - concat_hash.insert(concat_hash.end(), cert_hash.begin(), cert_hash.end()); - ByteBuffer msg_hash = m_backend.calculate_hash(public_key->type, concat_hash); - + ByteBuffer msg_hash = v3::calculate_message_hash(m_backend, msg.hash_id(), + msg.signing_payload(), v3::CertificateView { certificate }); if (!m_backend.verify_digest(*public_key, msg_hash, *signature)) { confirm.report = VerificationReport::False_Signature; return confirm; } - if (cert_cache) { - cert_cache->store(cert); - } - confirm.its_aid = msg.its_aid(); confirm.permissions = v3::get_app_permissions(*certificate, confirm.its_aid); confirm.certificate_id = maybe_digest; confirm.report = VerificationReport::Success; - if (cert_cache && confirm.certificate_id) { - bool already_cached = cert_cache->lookup(*confirm.certificate_id) != nullptr; - if (!already_cached && confirm.its_aid == aid::CA && sign_policy) { + if (m_context_v3.m_cert_provider && confirm.certificate_id) { + v3::CertificateCache& cache = m_context_v3.m_cert_provider->cache(); + bool already_cached = cache.lookup(*confirm.certificate_id) != nullptr; + if (!already_cached && confirm.its_aid == aid::CA && m_context_v3.m_sign_policy) { // CAM from unknown station received, add our certificate to next outgoing message - sign_policy->request_certificate(); + m_context_v3.m_sign_policy->request_certificate(); } // update certificate cache with received certificate if (certificate && v3::contains_certificate(signer_identifier)) { - cert_cache->store(v3::Certificate { *certificate }); + cache.store(v3::Certificate { *certificate }); } } diff --git a/vanetza/security/straight_verify_service.hpp b/vanetza/security/straight_verify_service.hpp index 4433eaeaa..414a8eea0 100644 --- a/vanetza/security/straight_verify_service.hpp +++ b/vanetza/security/straight_verify_service.hpp @@ -46,7 +46,7 @@ class StraightVerifyService : public VerifyService void use_certificate_cache(v2::CertificateCache*); void use_certificate_provider(v2::CertificateProvider*); - void use_certitifcate_validator(v2::CertificateValidator*); + void use_certificate_validator(v2::CertificateValidator*); void use_sign_header_policy(v2::SignHeaderPolicy*); void use_certificate_provider(v3::CertificateProvider*); diff --git a/vanetza/security/tests/CMakeLists.txt b/vanetza/security/tests/CMakeLists.txt index 7a50d9ca5..ccd4e553b 100644 --- a/vanetza/security/tests/CMakeLists.txt +++ b/vanetza/security/tests/CMakeLists.txt @@ -34,6 +34,7 @@ add_gtest(IntX int_x.cpp) add_gtest(LengthEncoding length_encoding.cpp) add_gtest(NaiveCertificateProvider naive_certificate_provider.cpp) add_gtest(Payload payload.cpp) +add_gtest(PeerRequestTracker peer_request_tracker.cpp) add_gtest(PublicKey public_key.cpp) add_gtest(RecipientInfo recipient_info.cpp) add_gtest(Region region.cpp) diff --git a/vanetza/security/tests/backend.cpp b/vanetza/security/tests/backend.cpp index aea1157f8..233f5354f 100644 --- a/vanetza/security/tests/backend.cpp +++ b/vanetza/security/tests/backend.cpp @@ -31,14 +31,122 @@ TEST_P(BackendTest, sha256sum) { const ByteBuffer input = buffer_from_string("All your ITS stations are belong to us"); const ByteBuffer expected = buffer_from_hexstring("dcb61edffc5f536aeb80c7e61fc943239a28b16edad52f4a0bc6e83f2df0fdc8"); - EXPECT_EQ(backend->calculate_hash(KeyType::BrainpoolP256r1, input), expected); + EXPECT_EQ(backend->calculate_hash(HashAlgorithm::SHA256, input), expected); } TEST_P(BackendTest, sha384sum) { const ByteBuffer input = buffer_from_string("All your ITS stations are belong to us"); const ByteBuffer expected = buffer_from_hexstring("4dfdccefa8612f3285aa4e909c644eb841e0347132465a733cbc99b46437d9ea0886c96a25fd9d51389585431b069651"); - EXPECT_EQ(backend->calculate_hash(KeyType::BrainpoolP384r1, input), expected); + EXPECT_EQ(backend->calculate_hash(HashAlgorithm::SHA384, input), expected); +} + +TEST_P(BackendTest, sign_and_verify_nistp256) +{ + const ByteBuffer digest = buffer_from_hexstring("33e57499804cebc409407d6bf4ade70b49b58d0d4bae9ca57d507b260a676685"); + PrivateKey private_key; + private_key.type = KeyType::NistP256; + private_key.key = buffer_from_hexstring("f4ce0e4b48829aae85abd2124a2574dba44388eea94ebd373f9203ad39719a30"); + PublicKey public_key; + public_key.type = KeyType::NistP256; + public_key.compression = KeyCompression::NoCompression; + public_key.x = buffer_from_hexstring("8e65e0ab7d4cd66860be693e29bf747fe796ebfe3942416b1f9c7ecf7fdb5797"); + public_key.y = buffer_from_hexstring("49ce27c4acfc53c34867420a35b999e7deb3aeabec388f0d08d7fe0edf54ba62"); + Signature sig = backend->sign_digest(private_key, digest); + EXPECT_TRUE(backend->verify_digest(public_key, digest, sig)); +} + +TEST_P(BackendTest, sign_and_verify_brainpoolp256r1) +{ + const ByteBuffer digest = buffer_from_hexstring("33e57499804cebc409407d6bf4ade70b49b58d0d4bae9ca57d507b260a676685"); + PrivateKey private_key; + private_key.type = KeyType::BrainpoolP256r1; + private_key.key = buffer_from_hexstring("38f72493269d99c77b6e6488de05aea60bc707a35b464b0286665463ecc2883d"); + PublicKey public_key; + public_key.type = KeyType::BrainpoolP256r1; + public_key.compression = KeyCompression::NoCompression; + public_key.x = buffer_from_hexstring("2cdb98f1053bb69fb4879101946d0a49aba965c8c4ffad5ef64356b0cff0bcf8"); + public_key.y = buffer_from_hexstring("17828cc0e33f68cbf9cb1d5419597464aef62efea8503676403177a9074cf86e"); + Signature sig = backend->sign_digest(private_key, digest); + EXPECT_TRUE(backend->verify_digest(public_key, digest, sig)); +} + +TEST_P(BackendTest, sign_and_verify_brainpoolp384r1) +{ + const ByteBuffer digest = buffer_from_hexstring("33e57499804cebc409407d6bf4ade70b49b58d0d4bae9ca57d507b260a676685"); + PrivateKey private_key; + private_key.type = KeyType::BrainpoolP384r1; + private_key.key = buffer_from_hexstring("29267526c4511103f094f4d9ef1e8a57e2e6429642188939b756fe6738db49744363ea4081601e5acebe091d258bcedd"); + PublicKey public_key; + public_key.type = KeyType::BrainpoolP384r1; + public_key.compression = KeyCompression::NoCompression; + public_key.x = buffer_from_hexstring("271dd92e47814e1f6b39c29488a80a720ae18153597380f41b2079cca4d92373b058850af280e920b10993bf925bdc4a"); + public_key.y = buffer_from_hexstring("388b971cb0ad878842de6825e5f1a6e359c1c4cddd65593781af6179fa743c21a056577de9cca2631e107edc28dc2ef7"); + Signature sig = backend->sign_digest(private_key, digest); + EXPECT_TRUE(backend->verify_digest(public_key, digest, sig)); +} + +TEST_P(BackendTest, verify_nistp256) +{ + Signature sig; + sig.type = KeyType::NistP256; + sig.r = buffer_from_hexstring("de99edf601b3682d90e6458ab0e5588fcdef54d679852e38fc85e7e16ad02074"); + sig.s = buffer_from_hexstring("552962f3572898a05dd99b179124d6e1d1a672a3f407083b59a1fe2dc62e8161"); + + PublicKey public_key; + public_key.type = KeyType::NistP256; + public_key.compression = KeyCompression::NoCompression; + public_key.x = buffer_from_hexstring("8e65e0ab7d4cd66860be693e29bf747fe796ebfe3942416b1f9c7ecf7fdb5797"); + public_key.y = buffer_from_hexstring("49ce27c4acfc53c34867420a35b999e7deb3aeabec388f0d08d7fe0edf54ba62"); + + ByteBuffer digest = buffer_from_hexstring("33e57499804cebc409407d6bf4ade70b49b58d0d4bae9ca57d507b260a676685"); + EXPECT_TRUE(backend->verify_digest(public_key, digest, sig)); + + ByteBuffer false_digest = digest; + false_digest[0] ^= 0x01; + EXPECT_FALSE(backend->verify_digest(public_key, false_digest, sig)); +} + +TEST_P(BackendTest, verify_brainpoolp256r1) +{ + Signature sig; + sig.type = KeyType::BrainpoolP256r1; + sig.r = buffer_from_hexstring("28c9b30e37b05388c2f04be921dbc79480d972f1c782ff8c5ade76c40e136d5a"); + sig.s = buffer_from_hexstring("77cf1e91d0204d2a58847b543df055605ff968cd6120c4ac9c751be08d782518"); + + PublicKey public_key; + public_key.type = KeyType::BrainpoolP256r1; + public_key.compression = KeyCompression::NoCompression; + public_key.x = buffer_from_hexstring("2cdb98f1053bb69fb4879101946d0a49aba965c8c4ffad5ef64356b0cff0bcf8"); + public_key.y = buffer_from_hexstring("17828cc0e33f68cbf9cb1d5419597464aef62efea8503676403177a9074cf86e"); + + ByteBuffer digest = buffer_from_hexstring("33e57499804cebc409407d6bf4ade70b49b58d0d4bae9ca57d507b260a676685"); + EXPECT_TRUE(backend->verify_digest(public_key, digest, sig)); + + ByteBuffer false_digest = digest; + false_digest[0] ^= 0x01; + EXPECT_FALSE(backend->verify_digest(public_key, false_digest, sig)); +} + +TEST_P(BackendTest, verify_brainpoolp384r1) +{ + Signature sig; + sig.type = KeyType::BrainpoolP384r1; + sig.r = buffer_from_hexstring("2b51c205ac9598ff245cbed8df5c8f3e1d9d3c7d6901a08d45e790784457900a84c903167f5d6b124ee193881ff93950"); + sig.s = buffer_from_hexstring("81c06d7f5fdf4e825b3cd8545956e6b1b587be4dcc66ce3007ca8b6966f90bc94efc8d88c70b5bd3bd44739ec34da54f"); + + PublicKey public_key; + public_key.type = KeyType::BrainpoolP384r1; + public_key.compression = KeyCompression::NoCompression; + public_key.x = buffer_from_hexstring("271dd92e47814e1f6b39c29488a80a720ae18153597380f41b2079cca4d92373b058850af280e920b10993bf925bdc4a"); + public_key.y = buffer_from_hexstring("388b971cb0ad878842de6825e5f1a6e359c1c4cddd65593781af6179fa743c21a056577de9cca2631e107edc28dc2ef7"); + + ByteBuffer digest = buffer_from_hexstring("33e57499804cebc409407d6bf4ade70b49b58d0d4bae9ca57d507b260a676685"); + EXPECT_TRUE(backend->verify_digest(public_key, digest, sig)); + + ByteBuffer false_digest = digest; + false_digest[0] ^= 0x01; + EXPECT_FALSE(backend->verify_digest(public_key, false_digest, sig)); } std::list available_backends() diff --git a/vanetza/security/tests/decap_report_printer.hpp b/vanetza/security/tests/decap_report_printer.hpp new file mode 100644 index 000000000..e7c1b8417 --- /dev/null +++ b/vanetza/security/tests/decap_report_printer.hpp @@ -0,0 +1,36 @@ +#ifndef DEA0116A_C521_407B_B2E3_B4C272C53C4C +#define DEA0116A_C521_407B_B2E3_B4C272C53C4C + +#include +#include + +namespace vanetza +{ +namespace security +{ + +void PrintTo(const DecapReport& report, std::ostream* out) +{ + struct Printer : boost::static_visitor<> + { + Printer(std::ostream* out) : out(out) {} + + void operator()(const VerificationReport& report) const + { + *out << "DecapReport(VerificationReport(" << static_cast(report) << "))"; + } + + void operator()(const boost::blank&) const + { + *out << "DecapReport(None)"; + } + + std::ostream* out; + }; + boost::apply_visitor(Printer(out), report); +} + +} // namespace security +} // namespace vanetza + +#endif /* DEA0116A_C521_407B_B2E3_B4C272C53C4C */ diff --git a/vanetza/security/tests/peer_request_tracker.cpp b/vanetza/security/tests/peer_request_tracker.cpp new file mode 100644 index 000000000..5df8d6fd8 --- /dev/null +++ b/vanetza/security/tests/peer_request_tracker.cpp @@ -0,0 +1,88 @@ +#include +#include + +using namespace vanetza::security; + +HashedId3 create_id(uint32_t id) +{ + HashedId3 hid; + hid[0] = id & 0xFF; + hid[1] = (id >> 8) & 0xFF; + hid[2] = (id >> 16) & 0xFF; + return hid; +} + +TEST(PeerRequestTracker, is_pending) +{ + PeerRequestTracker tracker; + EXPECT_FALSE(tracker.is_pending(create_id(42))); + tracker.add_request(create_id(42)); + EXPECT_TRUE(tracker.is_pending(create_id(42))); + tracker.discard_request(create_id(42)); + EXPECT_FALSE(tracker.is_pending(create_id(42))); +} + +TEST(PeerRequestTracker, bounded_capacity) +{ + PeerRequestTracker tracker(2); + tracker.add_request(create_id(1)); + tracker.add_request(create_id(2)); + EXPECT_TRUE(tracker.is_pending(create_id(1))); + EXPECT_TRUE(tracker.is_pending(create_id(2))); + + tracker.add_request(create_id(3)); + EXPECT_TRUE(tracker.is_pending(create_id(3))); + EXPECT_TRUE(tracker.is_pending(create_id(2))); + // dropped oldest pending request + EXPECT_FALSE(tracker.is_pending(create_id(1))); +} + +TEST(PeerRequestTracker, keep_order) +{ + PeerRequestTracker tracker(4); + tracker.add_request(create_id(1)); + tracker.add_request(create_id(2)); + tracker.add_request(create_id(3)); + tracker.add_request(create_id(4)); + tracker.add_request(create_id(3)); + tracker.add_request(create_id(2)); + + std::list expected = { create_id(1), create_id(2), create_id(3), create_id(4) }; + EXPECT_EQ(expected, tracker.all()); + + // nothing left in tracker + EXPECT_FALSE(tracker.next_one()); +} + +TEST(PeerRequestTracker, next_one) +{ + PeerRequestTracker tracker(3); + tracker.add_request(create_id(0xc0)); + tracker.add_request(create_id(0xff)); + tracker.add_request(create_id(0xee)); + tracker.add_request(create_id(0x42)); + + EXPECT_EQ(tracker.next_one(), create_id(0xff)); + EXPECT_EQ(tracker.next_one(), create_id(0xee)); + EXPECT_EQ(tracker.next_one(), create_id(0x42)); + EXPECT_FALSE(tracker.next_one()); +} + +TEST(PeerRequestTracker, next_n) +{ + PeerRequestTracker tracker(6); + tracker.add_request(create_id(0x01)); + tracker.add_request(create_id(0x02)); + tracker.add_request(create_id(0x03)); + tracker.add_request(create_id(0x04)); + tracker.add_request(create_id(0x05)); + + std::list expected = { create_id(0x01), create_id(0x02), create_id(0x03) }; + EXPECT_EQ(expected, tracker.next_n(3)); + + expected = { create_id(0x04), create_id(0x05) }; + EXPECT_EQ(expected, tracker.next_n(8)); + + expected = { }; + EXPECT_EQ(expected, tracker.next_n(2)); +} \ No newline at end of file diff --git a/vanetza/security/tests/secured_message_v3.cpp b/vanetza/security/tests/secured_message_v3.cpp index cfa946211..df13698b8 100644 --- a/vanetza/security/tests/secured_message_v3.cpp +++ b/vanetza/security/tests/secured_message_v3.cpp @@ -94,8 +94,9 @@ TEST(SecuredMessageV3, sign_and_verify) auto backend = create_backend("default"); v3::NaiveCertificateProvider cert_provider { runtime }; - v3::DefaultSignHeaderPolicy sign_header_policy { runtime, position_provider}; - v3::StraightSignService sign_service { cert_provider, *backend, sign_header_policy }; + v3::DefaultSignHeaderPolicy sign_header_policy { runtime, position_provider, cert_provider }; + v3::NullCertificateValidator cert_validator; + v3::StraightSignService sign_service { cert_provider, *backend, sign_header_policy, cert_validator }; SignRequest request; ChunkPacket packet; @@ -103,9 +104,10 @@ TEST(SecuredMessageV3, sign_and_verify) request.plain_message = std::move(packet); request.its_aid = aid::DEN; SignConfirm sign_confirm = sign_service.sign(std::move(request)); + ASSERT_TRUE(sign_confirm.secured_message); StraightVerifyService verify_service { runtime, *backend, position_provider }; - VerifyRequest verify_request { SecuredMessageView { sign_confirm.secured_message } }; + VerifyRequest verify_request { SecuredMessageView { *sign_confirm.secured_message } }; VerifyConfirm verify_confirm = verify_service.verify(verify_request); EXPECT_EQ(verify_confirm.report, VerificationReport::Success); EXPECT_TRUE(verify_confirm.certificate_validity.valid()); diff --git a/vanetza/security/tests/security_entity.cpp b/vanetza/security/tests/security_entity.cpp index ff9c7a83f..86046a9c9 100644 --- a/vanetza/security/tests/security_entity.cpp +++ b/vanetza/security/tests/security_entity.cpp @@ -21,6 +21,8 @@ #include #include +#include "decap_report_printer.hpp" + using namespace vanetza; using namespace vanetza::security; using namespace vanetza::security::v2; @@ -40,7 +42,7 @@ void use_verify_service_component(StraightVerifyService* service, v2::Certificat void use_verify_service_component(StraightVerifyService* service, v2::CertificateValidator* validator) { - service->use_certitifcate_validator(validator); + service->use_certificate_validator(validator); } void use_verify_service_component(StraightVerifyService* service, v2::SignHeaderPolicy* policy) @@ -60,6 +62,23 @@ void use_verify_service_component_expansion(StraightVerifyService* service, Arg use_verify_service_component_expansion(service, std::forward(args)...); } +v2::SecuredMessage extract_secured_message(const EncapConfirm& confirm) +{ + struct Extractor : public boost::static_visitor + { + v2::SecuredMessage operator()(const security::SecuredMessage& message) const + { + return boost::get(message); + } + + v2::SecuredMessage operator()(SignConfirmError) const + { + throw std::runtime_error("Failed to create SecuredMessage"); + return v2::SecuredMessage(); + } + } extractor; + return boost::apply_visitor(extractor, confirm); +} class SecurityEntityTest : public ::testing::Test { @@ -108,7 +127,7 @@ class SecurityEntityTest : public ::testing::Test }; service->use_certificate_cache(&cert_cache); service->use_certificate_provider(certificate_provider.get()); - service->use_certitifcate_validator(certificate_validator.get()); + service->use_certificate_validator(certificate_validator.get()); service->use_sign_header_policy(&sign_header_policy); return service; } @@ -128,16 +147,16 @@ class SecurityEntityTest : public ::testing::Test EncapRequest create_encap_request() { - EncapRequest encap_request; - encap_request.plaintext_payload = expected_payload; - encap_request.its_aid = its_aid; - return encap_request; + SignRequest sign_request; + sign_request.plain_message = expected_payload; + sign_request.its_aid = its_aid; + return EncapRequest { std::move(sign_request)}; } v2::SecuredMessage create_secured_message() { EncapConfirm confirm = security.encapsulate_packet(create_encap_request()); - return boost::get(confirm.sec_packet); + return extract_secured_message(confirm); } v2::SecuredMessage create_secured_message(v2::Certificate& modified_certificate) @@ -149,7 +168,7 @@ class SecurityEntityTest : public ::testing::Test DelegatingSecurityEntity local_security(std::move(local_sign_service), create_verify_service()); EncapConfirm confirm = local_security.encapsulate_packet(create_encap_request()); - return boost::get(confirm.sec_packet); + return extract_secured_message(confirm); } ManualRuntime runtime; @@ -173,12 +192,12 @@ TEST_F(SecurityEntityTest, mutual_acceptance) std::unique_ptr verify { new StraightVerifyService(runtime, *crypto_backend, position_provider) }; verify->use_certificate_cache(&cert_cache); verify->use_certificate_provider(certificate_provider.get()); - verify->use_certitifcate_validator(certificate_validator.get()); + verify->use_certificate_validator(certificate_validator.get()); verify->use_sign_header_policy(&sign_header_policy); DelegatingSecurityEntity other_security(std::move(sign), std::move(verify)); EncapConfirm encap_confirm = other_security.encapsulate_packet(create_encap_request()); - DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { encap_confirm.sec_packet }); - EXPECT_EQ(DecapReport::Success, decap_confirm.report); + DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { boost::get(encap_confirm)}); + EXPECT_EQ(VerificationReport::Success, decap_confirm.report); } #if defined(VANETZA_WITH_CRYPTOPP) && defined(VANETZA_WITH_OPENSSL) @@ -195,7 +214,7 @@ TEST_F(SecurityEntityTest, mutual_acceptance_impl) }; cryptopp_verify_service->use_certificate_cache(&cert_cache); cryptopp_verify_service->use_certificate_provider(certificate_provider.get()); - cryptopp_verify_service->use_certitifcate_validator(certificate_validator.get()); + cryptopp_verify_service->use_certificate_validator(certificate_validator.get()); cryptopp_verify_service->use_sign_header_policy(&sign_header_policy_cryptopp); DelegatingSecurityEntity cryptopp_security { std::unique_ptr { @@ -209,7 +228,7 @@ TEST_F(SecurityEntityTest, mutual_acceptance_impl) }; openssl_verify_service->use_certificate_cache(&cert_cache); openssl_verify_service->use_certificate_provider(certificate_provider.get()); - openssl_verify_service->use_certitifcate_validator(certificate_validator.get()); + openssl_verify_service->use_certificate_validator(certificate_validator.get()); openssl_verify_service->use_sign_header_policy(&sign_header_policy_openssl); DelegatingSecurityEntity openssl_security { std::unique_ptr { @@ -219,13 +238,14 @@ TEST_F(SecurityEntityTest, mutual_acceptance_impl) // OpenSSL to Crypto++ EncapConfirm encap_confirm = openssl_security.encapsulate_packet(create_encap_request()); - DecapConfirm decap_confirm = cryptopp_security.decapsulate_packet(SecuredMessageView { encap_confirm.sec_packet }); - EXPECT_EQ(DecapReport::Success, decap_confirm.report); + DecapConfirm decap_confirm = cryptopp_security.decapsulate_packet(SecuredMessageView { boost::get(encap_confirm) }); + EXPECT_EQ(VerificationReport::Success, decap_confirm.report); // Crypto++ to OpenSSL encap_confirm = cryptopp_security.encapsulate_packet(create_encap_request()); - decap_confirm = openssl_security.decapsulate_packet(SecuredMessageView { encap_confirm.sec_packet }); - EXPECT_EQ(DecapReport::Success, decap_confirm.report); + + decap_confirm = openssl_security.decapsulate_packet(SecuredMessageView { boost::get(encap_confirm) }); + EXPECT_EQ(VerificationReport::Success, decap_confirm.report); } #endif @@ -257,7 +277,7 @@ TEST_F(SecurityEntityTest, captured_acceptance) // We only care about the message signature here to be valid, the certificate isn't validated. DecapConfirm decap_confirm = dummy_security.decapsulate_packet(SecuredMessageView { message }); - EXPECT_EQ(DecapReport::Success, decap_confirm.report); + EXPECT_EQ(VerificationReport::Success, decap_confirm.report); } TEST_F(SecurityEntityTest, signed_payload_equals_plaintext_payload) @@ -265,13 +285,13 @@ TEST_F(SecurityEntityTest, signed_payload_equals_plaintext_payload) EncapConfirm confirm = security.encapsulate_packet(create_encap_request()); // check if sec_payload equals plaintext_payload - check(expected_payload, boost::get(confirm.sec_packet).payload.data); + check(expected_payload, boost::get(extract_secured_message(confirm)).payload.data); } TEST_F(SecurityEntityTest, signature_is_ecdsa) { EncapConfirm confirm = security.encapsulate_packet(create_encap_request()); - auto msg = boost::get(confirm.sec_packet); + auto msg = boost::get(extract_secured_message(confirm)); // check if trailer_fields contain signature EXPECT_EQ(1, msg.trailer_fields.size()); @@ -296,7 +316,7 @@ TEST_F(SecurityEntityTest, signer_info_is_encoded_first) TEST_F(SecurityEntityTest, expected_header_field_size) { EncapConfirm confirm = security.encapsulate_packet(create_encap_request()); - auto msg = boost::get(confirm.sec_packet); + auto msg = boost::get(extract_secured_message(confirm)); // check header_field size EXPECT_EQ(3, msg.header_fields.size()); @@ -305,7 +325,7 @@ TEST_F(SecurityEntityTest, expected_header_field_size) TEST_F(SecurityEntityTest, expected_payload) { EncapConfirm confirm = security.encapsulate_packet(create_encap_request()); - auto msg = boost::get(confirm.sec_packet); + auto msg = boost::get(extract_secured_message(confirm)); // check payload Payload payload = msg.payload; @@ -320,7 +340,7 @@ TEST_F(SecurityEntityTest, verify_message) DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { secured_message }); // check if verify was successful - EXPECT_EQ(DecapReport::Success, decap_confirm.report); + EXPECT_EQ(VerificationReport::Success, decap_confirm.report); // check if payload was not changed check(expected_payload, decap_confirm.plaintext_payload); // check certificate validity @@ -338,7 +358,7 @@ TEST_F(SecurityEntityTest, verify_message_modified_message_type) // verify message DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { v2_secured_message }); // check if verify was successful - EXPECT_EQ(DecapReport::False_Signature, decap_confirm.report); + EXPECT_EQ(VerificationReport::False_Signature, decap_confirm.report); } TEST_F(SecurityEntityTest, verify_message_modified_certificate_name) @@ -414,7 +434,7 @@ TEST_F(SecurityEntityTest, verify_message_outdated_certificate) // verify message security::SecuredMessage sec_msg = create_secured_message(certificate); DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { sec_msg }); - EXPECT_EQ(DecapReport::Invalid_Certificate, decap_confirm.report); + EXPECT_EQ(VerificationReport::Invalid_Certificate, decap_confirm.report); ASSERT_FALSE(decap_confirm.certificate_validity); EXPECT_EQ(CertificateInvalidReason::Off_Time_Period, decap_confirm.certificate_validity.reason()); } @@ -434,7 +454,7 @@ TEST_F(SecurityEntityTest, verify_message_premature_certificate) // verify message security::SecuredMessage sec_msg = create_secured_message(certificate); DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { sec_msg }); - EXPECT_EQ(DecapReport::Invalid_Certificate, decap_confirm.report); + EXPECT_EQ(VerificationReport::Invalid_Certificate, decap_confirm.report); ASSERT_FALSE(decap_confirm.certificate_validity); EXPECT_EQ(CertificateInvalidReason::Off_Time_Period, decap_confirm.certificate_validity.reason()); } @@ -484,7 +504,7 @@ TEST_F(SecurityEntityTest, verify_message_modified_signature) // verify message DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { v2_secured_message }); // check if verify was successful - EXPECT_EQ(DecapReport::False_Signature, decap_confirm.report); + EXPECT_EQ(VerificationReport::False_Signature, decap_confirm.report); } TEST_F(SecurityEntityTest, verify_message_modified_payload_type) @@ -496,7 +516,7 @@ TEST_F(SecurityEntityTest, verify_message_modified_payload_type) // verify message DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { v2_secured_message }); // check if verify was successful - EXPECT_EQ(DecapReport::Unsigned_Message, decap_confirm.report); + EXPECT_EQ(VerificationReport::Unsigned_Message, decap_confirm.report); } TEST_F(SecurityEntityTest, verify_message_modified_payload) @@ -508,7 +528,7 @@ TEST_F(SecurityEntityTest, verify_message_modified_payload) // verify message DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { v2_secured_message }); // check if verify was successful - EXPECT_EQ(DecapReport::False_Signature, decap_confirm.report); + EXPECT_EQ(VerificationReport::False_Signature, decap_confirm.report); } TEST_F(SecurityEntityTest, verify_message_generation_time_before_current_time) @@ -522,7 +542,7 @@ TEST_F(SecurityEntityTest, verify_message_generation_time_before_current_time) // verify message DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { secured_message }); // check if verify was successful - EXPECT_EQ(DecapReport::Invalid_Timestamp, decap_confirm.report); + EXPECT_EQ(VerificationReport::Invalid_Timestamp, decap_confirm.report); } TEST_F(SecurityEntityTest, verify_message_generation_time_after_current_time) @@ -539,7 +559,7 @@ TEST_F(SecurityEntityTest, verify_message_generation_time_after_current_time) // verify message DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { secured_message }); // check if verify was successful - EXPECT_EQ(DecapReport::Invalid_Timestamp, decap_confirm.report); + EXPECT_EQ(VerificationReport::Invalid_Timestamp, decap_confirm.report); } TEST_F(SecurityEntityTest, verify_message_without_signer_info) @@ -558,7 +578,7 @@ TEST_F(SecurityEntityTest, verify_message_without_signer_info) // verify message DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { v2_secured_message}); // check if verify was successful - EXPECT_EQ(DecapReport::Signer_Certificate_Not_Found, decap_confirm.report); + EXPECT_EQ(VerificationReport::Signer_Certificate_Not_Found, decap_confirm.report); } // See TS 103 096-2 v1.3.1, section 5.2.1 @@ -785,7 +805,7 @@ TEST_F(SecurityEntityTest, verify_message_without_position_and_with_restriction) // verify message security::SecuredMessage sec_msg = create_secured_message(certificate); DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { sec_msg }); - EXPECT_EQ(DecapReport::Invalid_Certificate, decap_confirm.report); + EXPECT_EQ(VerificationReport::Invalid_Certificate, decap_confirm.report); ASSERT_FALSE(decap_confirm.certificate_validity); EXPECT_EQ(CertificateInvalidReason::Off_Region, decap_confirm.certificate_validity.reason()); } @@ -799,7 +819,7 @@ TEST_F(SecurityEntityTest, verify_message_without_position_and_without_restricti // verify message security::SecuredMessage sec_msg = create_secured_message(); DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { sec_msg }); - EXPECT_EQ(DecapReport::Success, decap_confirm.report); + EXPECT_EQ(VerificationReport::Success, decap_confirm.report); ASSERT_TRUE(decap_confirm.certificate_validity); } @@ -810,7 +830,7 @@ TEST_F(SecurityEntityTest, verify_message_with_insufficient_aid) // verify message security::SecuredMessage sec_msg = create_secured_message(); DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { sec_msg }); - EXPECT_EQ(DecapReport::Invalid_Certificate, decap_confirm.report); + EXPECT_EQ(VerificationReport::Invalid_Certificate, decap_confirm.report); ASSERT_FALSE(decap_confirm.certificate_validity); EXPECT_EQ(CertificateInvalidReason::Insufficient_ITS_AID, decap_confirm.certificate_validity.reason()); } @@ -834,7 +854,7 @@ TEST_F(SecurityEntityTest, verify_non_cam_generation_location_ok) // verify message security::SecuredMessage sec_msg = create_secured_message(certificate); DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { sec_msg }); - EXPECT_EQ(DecapReport::Success, decap_confirm.report); + EXPECT_EQ(VerificationReport::Success, decap_confirm.report); ASSERT_TRUE(decap_confirm.certificate_validity); } @@ -857,7 +877,7 @@ TEST_F(SecurityEntityTest, verify_non_cam_generation_location_fail) // verify message security::SecuredMessage sec_msg = create_secured_message(certificate); DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { sec_msg }); - EXPECT_EQ(DecapReport::Invalid_Certificate, decap_confirm.report); + EXPECT_EQ(VerificationReport::Invalid_Certificate, decap_confirm.report); ASSERT_FALSE(decap_confirm.certificate_validity); EXPECT_EQ(CertificateInvalidReason::Off_Region, decap_confirm.certificate_validity.reason()); } @@ -870,7 +890,7 @@ TEST_F(SecurityEntityTest, verify_message_without_signature) // verify message DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { message }); - EXPECT_EQ(DecapReport::Unsigned_Message, decap_confirm.report); + EXPECT_EQ(VerificationReport::Unsigned_Message, decap_confirm.report); } TEST_F(SecurityEntityTest, verify_message_with_signer_info_hash) @@ -885,14 +905,14 @@ TEST_F(SecurityEntityTest, verify_message_with_signer_info_hash) // verify message - hash unknown DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { message }); - EXPECT_EQ(DecapReport::Signer_Certificate_Not_Found, decap_confirm.report); + EXPECT_EQ(VerificationReport::Signer_Certificate_Not_Found, decap_confirm.report); EXPECT_EQ(cert_cache.size(), 1); cert_cache.insert(certificate_provider->own_certificate()); // verify message - certificate now known decap_confirm = security.decapsulate_packet(SecuredMessageView { message }); - EXPECT_EQ(DecapReport::Success, decap_confirm.report); + EXPECT_EQ(VerificationReport::Success, decap_confirm.report); EXPECT_EQ(cert_cache.size(), 2); } @@ -907,7 +927,7 @@ TEST_F(SecurityEntityTest, verify_message_with_signer_info_chain) // verify message - hash unknown security::SecuredMessage message = v2_message; DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { message }); - EXPECT_EQ(DecapReport::Success, decap_confirm.report); + EXPECT_EQ(VerificationReport::Success, decap_confirm.report); EXPECT_EQ(cert_cache.size(), 2); } @@ -926,7 +946,7 @@ TEST_F(SecurityEntityTest, verify_message_without_time_and_dummy_certificate_ver security::SecuredMessage message = create_secured_message(certificate); DecapConfirm decap_confirm = other_security.decapsulate_packet(SecuredMessageView { message }); - EXPECT_EQ(DecapReport::Invalid_Certificate, decap_confirm.report); + EXPECT_EQ(VerificationReport::Invalid_Certificate, decap_confirm.report); ASSERT_FALSE(decap_confirm.certificate_validity); EXPECT_EQ(CertificateInvalidReason::Off_Time_Period, decap_confirm.certificate_validity.reason()); } @@ -939,19 +959,19 @@ TEST_F(SecurityEntityTest, verify_message_without_public_key_in_certificate) security::SecuredMessage message = create_secured_message(certificate); DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { message }); - EXPECT_EQ(DecapReport::Invalid_Certificate, decap_confirm.report); + EXPECT_EQ(VerificationReport::Invalid_Certificate, decap_confirm.report); ASSERT_FALSE(decap_confirm.certificate_validity); EXPECT_EQ(CertificateInvalidReason::Missing_Public_Key, decap_confirm.certificate_validity.reason()); } TEST_F(SecurityEntityTest, verify_message_certificate_requests) { - auto signer_info = [](v2::SecuredMessage& secured_message) -> SignerInfo { + auto signer_info = [](const v2::SecuredMessage& secured_message) -> SignerInfo { auto signer_info = secured_message.header_field(); return *signer_info; }; - auto msg = [](EncapConfirm& confirm) -> v2::SecuredMessage& { - return boost::get(confirm.sec_packet); + auto msg = [](EncapConfirm& confirm) -> v2::SecuredMessage { + return boost::get(extract_secured_message(confirm)); }; NaiveCertificateProvider other_provider(runtime); @@ -960,7 +980,6 @@ TEST_F(SecurityEntityTest, verify_message_certificate_requests) std::unique_ptr verify = create_verify_service(&other_provider, &other_policy); DelegatingSecurityEntity other_security(std::move(sign), std::move(verify)); - // Security entity doesn't request certificate of other EncapConfirm encap_confirm = security.encapsulate_packet(create_encap_request()); ASSERT_EQ(nullptr, msg(encap_confirm).header_field()); @@ -971,8 +990,8 @@ TEST_F(SecurityEntityTest, verify_message_certificate_requests) ASSERT_EQ(get_type(signer_info(msg(encap_confirm))), SignerInfoType::Certificate_Digest_With_SHA256); // Unknown certificate hash incoming from other - DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { encap_confirm.sec_packet }); - EXPECT_EQ(DecapReport::Signer_Certificate_Not_Found, decap_confirm.report); + DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { extract_secured_message(encap_confirm) }); + EXPECT_EQ(VerificationReport::Signer_Certificate_Not_Found, decap_confirm.report); // Security entity does request certificate from other encap_confirm = security.encapsulate_packet(create_encap_request()); @@ -983,7 +1002,7 @@ TEST_F(SecurityEntityTest, verify_message_certificate_requests) ASSERT_EQ(get_type(signer_info(msg(encap_confirm))), SignerInfoType::Certificate_Digest_With_SHA256); // Other receives certificate request and sends certificate with next message - decap_confirm = other_security.decapsulate_packet(SecuredMessageView { encap_confirm.sec_packet }); + decap_confirm = other_security.decapsulate_packet(SecuredMessageView { extract_secured_message(encap_confirm) }); encap_confirm = other_security.encapsulate_packet(create_encap_request()); ASSERT_EQ(get_type(signer_info(msg(encap_confirm))), SignerInfoType::Certificate); } @@ -1019,8 +1038,8 @@ TEST_F(SecurityEntityTest, verify_denm_without_generation_location) its_aid = aid::DEN; EncapConfirm encap_confirm = other_security.encapsulate_packet(create_encap_request()); - DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { encap_confirm.sec_packet }); - EXPECT_EQ(DecapReport::Invalid_Certificate, decap_confirm.report); + DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { extract_secured_message(encap_confirm) }); + EXPECT_EQ(VerificationReport::Invalid_Certificate, decap_confirm.report); ASSERT_FALSE(decap_confirm.certificate_validity); EXPECT_EQ(CertificateInvalidReason::Off_Region, decap_confirm.certificate_validity.reason()); } @@ -1047,11 +1066,11 @@ TEST_F(SecurityEntityTest, verify_message_without_its_aid) its_aid = aid::DEN; EncapConfirm encap_confirm = other_security.encapsulate_packet(create_encap_request()); - auto msg = boost::get(encap_confirm.sec_packet); + auto msg = boost::get(extract_secured_message(encap_confirm)); ASSERT_EQ(nullptr, msg.header_field()); - DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { encap_confirm.sec_packet }); - EXPECT_EQ(DecapReport::Incompatible_Protocol, decap_confirm.report); + DecapConfirm decap_confirm = security.decapsulate_packet(SecuredMessageView { extract_secured_message(encap_confirm) }); + EXPECT_EQ(VerificationReport::Incompatible_Protocol, decap_confirm.report); } // TODO add tests for Unsupported_Signer_Identifier_Type, Incompatible_Protocol diff --git a/vanetza/security/v2/sign_service.cpp b/vanetza/security/v2/sign_service.cpp index 5d326af8b..ab6beacb0 100644 --- a/vanetza/security/v2/sign_service.cpp +++ b/vanetza/security/v2/sign_service.cpp @@ -54,9 +54,7 @@ SignConfirm StraightSignService::sign(SignRequest&& request) TrailerField trailer_field = m_backend.sign_data(private_key, data_buffer); secured_message.trailer_fields.push_back(trailer_field); - SignConfirm confirm; - confirm.secured_message = std::move(secured_message); - return confirm; + return SignConfirm::success(std::move(secured_message)); } DeferredSignService::DeferredSignService(CertificateProvider& provider, Backend& backend, SignHeaderPolicy& policy) : @@ -83,9 +81,7 @@ SignConfirm DeferredSignService::sign(SignRequest&& request) EcdsaSignatureFuture signature(future.share(), placeholder); secured_message.trailer_fields.push_back(Signature { std::move(signature) }); - SignConfirm confirm; - confirm.secured_message = std::move(secured_message); - return confirm; + return SignConfirm::success(std::move(secured_message)); } DummySignService::DummySignService(const Runtime& runtime, const SignerInfo& signer) : @@ -105,9 +101,7 @@ SignConfirm DummySignService::sign(SignRequest&& request) secured_message.header_fields.push_back(m_signer_info); secured_message.trailer_fields.push_back(null_signature); - SignConfirm confirm; - confirm.secured_message = std::move(secured_message); - return confirm; + return SignConfirm::success(std::move(secured_message)); } } // namespace v2 diff --git a/vanetza/security/v3/asn1_conversions.cpp b/vanetza/security/v3/asn1_conversions.cpp index 280d726b8..8bef3b179 100644 --- a/vanetza/security/v3/asn1_conversions.cpp +++ b/vanetza/security/v3/asn1_conversions.cpp @@ -17,5 +17,20 @@ HashedId8 convert(const Vanetza_Security_HashedId8_t& in) } } // namespace v3 + +HashedId8 create_hashed_id8(const Vanetza_Security_HashedId8_t& in) +{ + HashedId8 out; + std::memcpy(out.data(), in.buf, std::min(out.size(), in.size)); + return out; +} + +HashedId3 create_hashed_id3(const Vanetza_Security_HashedId3_t& in) +{ + HashedId3 out; + std::memcpy(out.data(), in.buf, std::min(out.size(), in.size)); + return out; +} + } // namespace security } // namespace vanetza diff --git a/vanetza/security/v3/asn1_conversions.hpp b/vanetza/security/v3/asn1_conversions.hpp index c3070d325..046a4dc77 100644 --- a/vanetza/security/v3/asn1_conversions.hpp +++ b/vanetza/security/v3/asn1_conversions.hpp @@ -1,4 +1,5 @@ #pragma once +#include #include #include @@ -7,6 +8,10 @@ namespace vanetza { namespace security { + +HashedId8 create_hashed_id8(const Vanetza_Security_HashedId8_t&); +HashedId3 create_hashed_id3(const Vanetza_Security_HashedId3_t&); + namespace v3 { diff --git a/vanetza/security/v3/asn1_types.hpp b/vanetza/security/v3/asn1_types.hpp index e94bd3e7a..21a55cd12 100644 --- a/vanetza/security/v3/asn1_types.hpp +++ b/vanetza/security/v3/asn1_types.hpp @@ -26,16 +26,27 @@ using Vanetza_Security_Uint64_t = INTEGER_t; using name = ::ASN1_TYPE_ALIAS(name); \ }}}} +#define FWD_NATIVE_INTEGER(name) \ + using ASN1_TYPE_ALIAS(name) = long; \ + namespace vanetza { namespace security { namespace v3 { namespace asn1 { \ + using name = ::ASN1_TYPE_ALIAS(name); \ + }}}} + FWD_OCTET_STRING(BitmapSsp) FWD_OCTET_STRING(HashedId8) FWD_OCTET_STRING(Opaque) +FWD_NATIVE_INTEGER(Latitude) +FWD_NATIVE_INTEGER(Longitude) + FWD_STRUCT(AesCcmCiphertext) FWD_STRUCT(CertificateBase) +FWD_STRUCT(CircularRegion) FWD_STRUCT(EccP256CurvePoint) FWD_STRUCT(EccP384CurvePoint) FWD_STRUCT(EciesP256EncryptedKey) FWD_STRUCT(EncryptedDataEncryptionKey) +FWD_STRUCT(GeographicRegion) FWD_STRUCT(HashedData) FWD_STRUCT(HeaderInfo) FWD_STRUCT(Ieee1609Dot2Content) @@ -47,10 +58,12 @@ FWD_STRUCT(PsidSspRange) FWD_STRUCT(PublicEncryptionKey) FWD_STRUCT(PublicVerificationKey) FWD_STRUCT(RecipientInfo) +FWD_STRUCT(RectangularRegion) FWD_STRUCT(SequenceOfCertificate) FWD_STRUCT(SequenceOfHashedId3) FWD_STRUCT(SequenceOfPsidGroupPermissions) FWD_STRUCT(SequenceOfPsidSsp) +FWD_STRUCT(SequenceOfRectangularRegion) FWD_STRUCT(ServiceSpecificPermissions) FWD_STRUCT(Signature) FWD_STRUCT(SignedData) @@ -61,6 +74,8 @@ FWD_STRUCT(SymmetricCiphertext) FWD_STRUCT(SymmetricEncryptionKey) FWD_STRUCT(ThreeDLocation) FWD_STRUCT(ToBeSignedData) +FWD_STRUCT(TwoDLocation) +FWD_STRUCT(ValidityPeriod) FWD_STRUCT(VerificationKeyIndicator) FWD_ALIAS(Certificate, CertificateBase) @@ -71,11 +86,16 @@ FWD_ALIAS(Time64, Uint64) #undef ASN1_TYPE_ALIAS #undef ASN1_TYPE_NAME #undef FWD_ALIAS +#undef FWD_NATIVE_INTEGER #undef FWT_OCTET_STRING #undef FWD_STRUCT namespace vanetza { +namespace asn1 +{ +} // namespace asn1 + namespace security { namespace v3 @@ -89,4 +109,3 @@ using namespace vanetza::asn1; } // namespace v3 } // namespace security } // namespace vanetza - diff --git a/vanetza/security/v3/certificate.cpp b/vanetza/security/v3/certificate.cpp index 6e19f2825..d192809cf 100644 --- a/vanetza/security/v3/certificate.cpp +++ b/vanetza/security/v3/certificate.cpp @@ -1,6 +1,8 @@ #include #include +#include #include +#include #include #include #include @@ -31,55 +33,224 @@ bool make_signature_x_only(Vanetza_Security_Signature_t& sig); } // namespace +CertificateView::CertificateView(const asn1::EtsiTs103097Certificate* cert) : + m_cert(cert) +{ +} + Certificate::Certificate() : - asn1::asn1c_oer_wrapper(asn_DEF_Vanetza_Security_EtsiTs103097Certificate) + Wrapper(asn_DEF_Vanetza_Security_EtsiTs103097Certificate), + CertificateView { content() } { + assert(CertificateView::m_cert == Wrapper::m_struct); } Certificate::Certificate(const asn1::EtsiTs103097Certificate& cert) : - asn1::asn1c_oer_wrapper(asn_DEF_Vanetza_Security_EtsiTs103097Certificate, &cert) + Wrapper(asn_DEF_Vanetza_Security_EtsiTs103097Certificate, &cert), + CertificateView { content() } +{ + assert(CertificateView::m_cert == Wrapper::m_struct); +} + +Certificate::Certificate(const Certificate& other) : + Wrapper(other), CertificateView(content()) { + assert(CertificateView::m_cert == Wrapper::m_struct); } -boost::optional Certificate::calculate_digest() const +Certificate& Certificate::operator=(const Certificate& other) { - return v3::calculate_digest(*content()); + Wrapper::operator=(other); + CertificateView::m_cert = content(); + assert(CertificateView::m_cert == Wrapper::m_struct); + return *this; } -boost::optional Certificate::get_verification_key_type() const +Certificate::Certificate(Certificate&& other) : + Wrapper(std::move(other)), CertificateView(content()) { - return v3::get_verification_key_type(*content()); + assert(CertificateView::m_cert == Wrapper::m_struct); +} + +Certificate& Certificate::operator=(Certificate&& other) +{ + Wrapper::operator=(std::move(other)); + CertificateView::m_cert = content(); + assert(CertificateView::m_cert == Wrapper::m_struct); + return *this; +} + +boost::optional CertificateView::calculate_digest() const +{ + return m_cert ? v3::calculate_digest(*m_cert) : boost::none; +} + +KeyType CertificateView::get_verification_key_type() const +{ + return m_cert ? v3::get_verification_key_type(*m_cert) : KeyType::Unspecified; +} + +bool CertificateView::valid_at_location(const PositionFix& location) const +{ + return m_cert ? v3::valid_at_location(*m_cert, location) : false; +} + +bool valid_at_location(const asn1::EtsiTs103097Certificate& cert, const PositionFix& location) +{ + const asn1::GeographicRegion* region = cert.toBeSigned.region; + if (region) { + switch (region->present) { + case Vanetza_Security_GeographicRegion_PR_circularRegion: + return is_inside(location, region->choice.circularRegion); + case Vanetza_Security_GeographicRegion_PR_rectangularRegion: + return is_inside(location, region->choice.rectangularRegion); + case Vanetza_Security_GeographicRegion_PR_polygonalRegion: + // not supported yet + return false; + case Vanetza_Security_GeographicRegion_PR_identifiedRegion: + // not supported yet + return false; + default: + // unknown region restriction + return false; + } + } else { + // no region restriction applies + return true; + } } -StartAndEndValidity Certificate::get_start_and_end_validity() const +bool CertificateView::valid_at_timepoint(const Clock::time_point& timepoint) const +{ + return m_cert ? v3::valid_at_timepoint(*m_cert, timepoint) : false; +} + +bool valid_at_timepoint(const asn1::EtsiTs103097Certificate& cert, const Clock::time_point& timepoint) +{ + const asn1::ValidityPeriod& validity = cert.toBeSigned.validityPeriod; + Clock::time_point start { std::chrono::seconds(validity.start) }; + Clock::time_point end = start; + + switch (validity.duration.present) + { + case Vanetza_Security_Duration_PR_microseconds: + end += std::chrono::microseconds(validity.duration.choice.microseconds); + break; + case Vanetza_Security_Duration_PR_milliseconds: + end += std::chrono::milliseconds(validity.duration.choice.milliseconds); + break; + case Vanetza_Security_Duration_PR_seconds: + end += std::chrono::seconds(validity.duration.choice.seconds); + break; + case Vanetza_Security_Duration_PR_minutes: + end += std::chrono::minutes(validity.duration.choice.minutes); + break; + case Vanetza_Security_Duration_PR_hours: + end += std::chrono::hours(validity.duration.choice.hours); + break; + case Vanetza_Security_Duration_PR_sixtyHours: + end += std::chrono::hours(60) * validity.duration.choice.sixtyHours; + break; + case Vanetza_Security_Duration_PR_years: + // one year is considered 31556952 seconds according to IEEE 1609.2 + end += std::chrono::seconds(31556952) * validity.duration.choice.years; + break; + default: + // leave end at start and thus forming an invalid range + break; + } + + return timepoint >= start && timepoint < end; +} + +bool CertificateView::valid_for_application(ItsAid aid) const +{ + return m_cert ? v3::valid_for_application(*m_cert, aid) : false; +} + +bool valid_for_application(const asn1::EtsiTs103097Certificate& cert, ItsAid aid) +{ + const asn1::SequenceOfPsidSsp* permissions = cert.toBeSigned.appPermissions; + if (permissions) { + for (int i = 0; i < permissions->list.count; ++i) { + if (permissions->list.array[i]->psid == aid) { + return true; + } + } + } + + // only explicitly allowed applications are valid + return false; +} + +boost::optional CertificateView::issuer_digest() const +{ + boost::optional digest; + if (m_cert != nullptr) { + switch (m_cert->issuer.present) + { + case Vanetza_Security_IssuerIdentifier_PR_sha256AndDigest: + digest = create_hashed_id8(m_cert->issuer.choice.sha256AndDigest); + break; + case Vanetza_Security_IssuerIdentifier_PR_sha384AndDigest: + digest = create_hashed_id8(m_cert->issuer.choice.sha384AndDigest); + break; + default: + break; + } + } + return digest; +} + +bool CertificateView::has_region_restriction() const +{ + return m_cert ? m_cert->toBeSigned.region != nullptr : false; +} + +bool CertificateView::is_ca_certificate() const +{ + return m_cert && m_cert->toBeSigned.certIssuePermissions != nullptr; +} + +bool CertificateView::is_at_certificate() const +{ + return m_cert && m_cert->toBeSigned.certIssuePermissions == nullptr && m_cert->toBeSigned.appPermissions != nullptr; +} + +bool CertificateView::is_canonical() const +{ + return m_cert ? v3::is_canonical(*m_cert) : false; +} + +StartAndEndValidity CertificateView::get_start_and_end_validity() const { StartAndEndValidity start_and_end; - start_and_end.start_validity = Time32(m_struct->toBeSigned.validityPeriod.start); + start_and_end.start_validity = Time32(m_cert->toBeSigned.validityPeriod.start); Time32 duration = 0; - switch (m_struct->toBeSigned.validityPeriod.duration.present) + switch (m_cert->toBeSigned.validityPeriod.duration.present) { case Vanetza_Security_Duration_PR_NOTHING: break; case Vanetza_Security_Duration_PR_microseconds: - duration += (int)m_struct->toBeSigned.validityPeriod.duration.choice.microseconds/1000000; + duration += (int)m_cert->toBeSigned.validityPeriod.duration.choice.microseconds/1000000; break; case Vanetza_Security_Duration_PR_milliseconds: - duration += (int)m_struct->toBeSigned.validityPeriod.duration.choice.milliseconds/1000; + duration += (int)m_cert->toBeSigned.validityPeriod.duration.choice.milliseconds/1000; break; case Vanetza_Security_Duration_PR_seconds: - duration += (int)m_struct->toBeSigned.validityPeriod.duration.choice.seconds; + duration += (int)m_cert->toBeSigned.validityPeriod.duration.choice.seconds; break; case Vanetza_Security_Duration_PR_minutes: - duration += (int)m_struct->toBeSigned.validityPeriod.duration.choice.minutes*60; + duration += (int)m_cert->toBeSigned.validityPeriod.duration.choice.minutes*60; break; case Vanetza_Security_Duration_PR_hours: - duration += (int)m_struct->toBeSigned.validityPeriod.duration.choice.hours*60*60; + duration += (int)m_cert->toBeSigned.validityPeriod.duration.choice.hours*60*60; break; case Vanetza_Security_Duration_PR_sixtyHours: - duration += (int)m_struct->toBeSigned.validityPeriod.duration.choice.sixtyHours*60*60*60; + duration += (int)m_cert->toBeSigned.validityPeriod.duration.choice.sixtyHours*60*60*60; break; case Vanetza_Security_Duration_PR_years: - duration += (int)m_struct->toBeSigned.validityPeriod.duration.choice.years*60*60*24*365; + duration += (int)m_cert->toBeSigned.validityPeriod.duration.choice.years*60*60*24*365; break; default: break; @@ -88,19 +259,19 @@ StartAndEndValidity Certificate::get_start_and_end_validity() const return start_and_end; } -v2::GeographicRegion Certificate::get_region() const +v2::GeographicRegion CertificateView::get_region() const { v2::GeographicRegion to_return = v2::NoneRegion(); - if (!m_struct->toBeSigned.region) { + if (!m_cert->toBeSigned.region) { return to_return; } // ETSI TS 103 600 v1.2.1 5.2 - 1.7 requires handling of DENMs signed with // ATs containing certificate regional restrictions: id and circular - switch (m_struct->toBeSigned.region->present) + switch (m_cert->toBeSigned.region->present) { case Vanetza_Security_GeographicRegion_PR_circularRegion: { - Vanetza_Security_CircularRegion_t& region = m_struct->toBeSigned.region->choice.circularRegion; + Vanetza_Security_CircularRegion_t& region = m_cert->toBeSigned.region->choice.circularRegion; to_return = v2::CircularRegion { v2::TwoDLocation( vanetza::units::GeoAngle((region.center.latitude/10000000)*boost::units::degree::degrees), @@ -153,6 +324,21 @@ bool is_canonical(const asn1::EtsiTs103097Certificate& cert) } } +ByteBuffer CertificateView::encode() const +{ + return m_cert ? asn1::encode_oer(asn_DEF_Vanetza_Security_EtsiTs103097Certificate, m_cert) : ByteBuffer {}; +} + +ByteBuffer Certificate::encode() const +{ + return Wrapper::encode(); +} + +boost::optional CertificateView::canonicalize() const +{ + return m_cert ? v3::canonicalize(*m_cert) : boost::none; +} + boost::optional canonicalize(const asn1::EtsiTs103097Certificate& cert) { Certificate canonical { cert }; @@ -177,6 +363,20 @@ boost::optional canonicalize(const asn1::EtsiTs103097Certificate& c success &= compress(canonical->toBeSigned.verifyKeyIndicator.choice.reconstructionValue); } + if (canonical->toBeSigned.encryptionKey) { + Vanetza_Security_BasePublicEncryptionKey& pubkey = canonical->toBeSigned.encryptionKey->publicKey; + switch (pubkey.present) { + case Vanetza_Security_BasePublicEncryptionKey_PR_eciesNistP256: + success &= compress(pubkey.choice.eciesNistP256); + break; + case Vanetza_Security_BasePublicEncryptionKey_PR_eciesBrainpoolP256r1: + success &= compress(pubkey.choice.eciesBrainpoolP256r1); + break; + default: + break; + } + } + if (canonical->signature) { success &= make_signature_x_only(*canonical->signature); } @@ -219,22 +419,22 @@ boost::optional calculate_digest(const asn1::EtsiTs103097Certificate& { boost::optional digest; auto key_type = get_verification_key_type(cert); - if (key_type) { + if (key_type != KeyType::Unspecified) { if (is_canonical(cert)) { - digest = calculate_digest_internal(cert, *key_type); + digest = calculate_digest_internal(cert, key_type); } else { auto maybe_canonical_cert = canonicalize(cert); if (maybe_canonical_cert) { - digest = calculate_digest_internal(*maybe_canonical_cert.value(), *key_type); + digest = calculate_digest_internal(*maybe_canonical_cert.value(), key_type); } } } return digest; } -boost::optional get_verification_key_type(const asn1::EtsiTs103097Certificate& cert) +KeyType get_verification_key_type(const asn1::EtsiTs103097Certificate& cert) { - boost::optional key_type; + KeyType key_type = KeyType::Unspecified; if (cert.toBeSigned.verifyKeyIndicator.present == Vanetza_Security_VerificationKeyIndicator_PR_verificationKey) { @@ -538,29 +738,6 @@ void Certificate::set_signature(const SomeEcdsaSignature& signature) m_struct->signature = boost::apply_visitor(signature_visitor(), signature); } -HashedId8 Certificate::get_issuer_identifier() const -{ - switch (m_struct->issuer.present) { - case Vanetza_Security_IssuerIdentifier_PR_self: { - auto own_hash = calculate_digest(); - if (own_hash) - return *own_hash; - return HashedId8({0,0,0,0,0,0,0,0}); - } - case Vanetza_Security_IssuerIdentifier_PR_sha256AndDigest: - return convert(m_struct->issuer.choice.sha256AndDigest); - case Vanetza_Security_IssuerIdentifier_PR_sha384AndDigest: - return convert(m_struct->issuer.choice.sha384AndDigest); - default: - return HashedId8({0,0,0,0,0,0,0,0}); - } -} - -bool Certificate::issuer_is_self() const -{ - return m_struct->issuer.present == Vanetza_Security_IssuerIdentifier_PR_self; -} - Certificate fake_certificate() { Certificate certi; diff --git a/vanetza/security/v3/certificate.hpp b/vanetza/security/v3/certificate.hpp index a6f8f443c..198663e21 100644 --- a/vanetza/security/v3/certificate.hpp +++ b/vanetza/security/v3/certificate.hpp @@ -1,9 +1,12 @@ #pragma once #include #include +#include #include +#include #include #include +#include #include #include #include @@ -19,35 +22,123 @@ namespace security namespace v3 { -struct Certificate : public asn1::asn1c_oer_wrapper +// forward declaration +class Certificate; + +/** + * Read-only view on a certificate + * + * In contrast to Certificate, a view does not own the certificate data. + * A view can be created with low overhead as no heavy copying is required. + */ +class CertificateView { - Certificate(); - explicit Certificate(const asn1::EtsiTs103097Certificate&); +public: + explicit CertificateView(const asn1::EtsiTs103097Certificate* cert); - void add_permission(ItsAid aid, const ByteBuffer& ssp); + /** + * Calculate digest of certificate + * \return digest if possible + */ + boost::optional calculate_digest() const; - void add_cert_permission(asn1::PsidGroupPermissions* group_permission); + StartAndEndValidity get_start_and_end_validity() const; // TODO - void set_signature(const SomeEcdsaSignature& signature); + v2::GeographicRegion get_region() const; // TODO - HashedId8 get_issuer_identifier() const; - bool issuer_is_self() const; + KeyType get_verification_key_type() const; /** - * Calculate digest of certificate - * \return digest if possible + * Get issuer digest (if any) + * \return issuer digest */ - boost::optional calculate_digest() const; + boost::optional issuer_digest() const; + + /** + * Check if certificate is a Certification Authority certificate + * \return true if certificate is a CA certificate + */ + bool is_ca_certificate() const; /** - * Get verification key type - * \return verification key type if possible + * Check if certificate is an Authorization Ticket certificate + * \return true if certificate is an AT certificate */ - boost::optional get_verification_key_type() const; + bool is_at_certificate() const; - StartAndEndValidity get_start_and_end_validity() const; + /** + * Check if certificate has an region restriction + * \return true if certificate is only valid within a specific region + */ + bool has_region_restriction() const; - v2::GeographicRegion get_region() const; + /** + * Check if certificate is valid at given location + * + * \param location location to be checked + * \return true if certificate is valid at location + */ + bool valid_at_location(const PositionFix& location) const; + + /** + * Check if certificate is valid at given time point + * + * \param time_point time point to be checked + * \return true if certificate is valid at time point + */ + bool valid_at_timepoint(const Clock::time_point& time_point) const; + + /** + * Check if certificate is valid for given application + * + * \param aid application to be checked + * \return true if certificate is valid for application + */ + bool valid_for_application(ItsAid aid) const; + + /** + * Check if certificate has a canonical format + * \return true if certificate is in canonical format + */ + bool is_canonical() const; + + /** + * Convert certificate into its canonical format if possible. + * \return canonical certificate (or none if conversion failed) + */ + boost::optional canonicalize() const; + + /** + * Encode certificate. + * \return encoded certificate + */ + ByteBuffer encode() const; + +protected: + const asn1::EtsiTs103097Certificate* m_cert = nullptr; +}; + +struct Certificate : public asn1::asn1c_oer_wrapper, public CertificateView +{ + using Wrapper = asn1::asn1c_oer_wrapper; + + Certificate(); + explicit Certificate(const asn1::EtsiTs103097Certificate&); + + Certificate(const Certificate&); + Certificate& operator=(const Certificate&); + + Certificate(Certificate&&); + Certificate& operator=(Certificate&&); + + // resolve ambiguity + ByteBuffer encode() const; + + void add_permission(ItsAid aid, const ByteBuffer& ssp); + + void add_cert_permission(asn1::PsidGroupPermissions* group_permission); + + void set_signature(const SomeEcdsaSignature& signature); }; /** @@ -64,6 +155,40 @@ boost::optional calculate_digest(const asn1::EtsiTs103097Certificate& */ bool is_canonical(const asn1::EtsiTs103097Certificate& cert); +/** + * Convert certificate into its canonical format if possible. + * \param cert certificate + * \return canonical certificate (or none if conversion failed) + */ +boost::optional canonicalize(const asn1::EtsiTs103097Certificate& cert); + +/** + * Check if certificate is valid at given location + * + * \param cert certificate to be checked + * \param location location to be checked + * \return true if certificate is valid at location + */ +bool valid_at_location(const asn1::EtsiTs103097Certificate& cert, const PositionFix& location); + +/** + * Check if certificate is valid at given time point + * + * \param cert certificate to be checked + * \param time_point time point to be checked + * \return true if certificate is valid at time point + */ +bool valid_at_timepoint(const asn1::EtsiTs103097Certificate& cert, const Clock::time_point& time_point); + +/** + * Check if certificate is valid for given application + * + * \param cert certificate to be checked + * \param aid application to be checked + * \return true if certificate is valid for application + */ +bool valid_for_application(const asn1::EtsiTs103097Certificate& cert, ItsAid aid); + /** * Extract the public key out of a certificate * \param cert certificate @@ -74,9 +199,9 @@ boost::optional get_public_key(const asn1::EtsiTs103097Certificate& c /** * Get verification key type * \param cert certificate - * \return verification key type + * \return verification key type (maybe unspecified) */ -boost::optional get_verification_key_type(const asn1::EtsiTs103097Certificate& cert); +KeyType get_verification_key_type(const asn1::EtsiTs103097Certificate& cert); /** * Extract the public key for encrypting out of a certificate diff --git a/vanetza/security/v3/certificate_cache.cpp b/vanetza/security/v3/certificate_cache.cpp index 50982816c..620e6e267 100644 --- a/vanetza/security/v3/certificate_cache.cpp +++ b/vanetza/security/v3/certificate_cache.cpp @@ -22,12 +22,27 @@ const Certificate* CertificateCache::lookup(const HashedId8& digest) const } } +const Certificate* CertificateCache::lookup(const HashedId3& digest) const +{ + auto found = m_short_digests.find(digest); + if (found != m_short_digests.end()) { + return &found->second->second; + } else { + return nullptr; + } +} + void CertificateCache::store(Certificate cert) { auto maybe_hash = cert.calculate_digest(); if (maybe_hash) { - m_storage.emplace(*maybe_hash, std::move(cert)); - m_digests.insert(*maybe_hash); + CertificateMap::iterator it; + bool inserted; + std::tie(it, inserted) = m_storage.emplace(*maybe_hash, std::move(cert)); + if (inserted) { + m_short_digests.emplace(truncate(*maybe_hash), it); + m_digests.insert(*maybe_hash); + } } } diff --git a/vanetza/security/v3/certificate_cache.hpp b/vanetza/security/v3/certificate_cache.hpp index 49e217ece..69f50cb28 100644 --- a/vanetza/security/v3/certificate_cache.hpp +++ b/vanetza/security/v3/certificate_cache.hpp @@ -27,6 +27,7 @@ class CertificateCache * \return certificate matching digest */ const Certificate* lookup(const HashedId8& digest) const; + const Certificate* lookup(const HashedId3& digest) const; /** * Store a (pre-validated) certificate in cache @@ -52,8 +53,12 @@ class CertificateCache bool is_known(const HashedId8& digest) const; private: + using CertificateMap = std::unordered_map; + using ShortDigestMap = std::unordered_map; + // TODO add bounded capacity and automatic removal of expired certificates - std::unordered_map m_storage; + CertificateMap m_storage; + ShortDigestMap m_short_digests; std::unordered_set m_digests; }; diff --git a/vanetza/security/v3/certificate_provider.hpp b/vanetza/security/v3/certificate_provider.hpp index 5ec947377..62660acfc 100644 --- a/vanetza/security/v3/certificate_provider.hpp +++ b/vanetza/security/v3/certificate_provider.hpp @@ -1,7 +1,7 @@ #pragma once -#include +#include #include -#include +#include namespace vanetza { @@ -20,21 +20,31 @@ class CertificateProvider virtual const Certificate& own_certificate() = 0; /** - * Get own certificate chain in root CA → AA → AT order, excluding the AT and root certificate - * \return own certificate chain + * Get private key associated with own certificate + * \return private key */ - virtual std::list own_chain() = 0; + virtual const PrivateKey& own_private_key() = 0; /** - * Get private key associated with own certificate - * \return private key + * Get certificate cache + * \return certificate cache */ - virtual const ecdsa256::PrivateKey& own_private_key() = 0; + virtual CertificateCache& cache() = 0; + virtual const CertificateCache& cache() const = 0; virtual ~CertificateProvider() = default; }; -} // namespace v2 +class BaseCertificateProvider : public CertificateProvider +{ +public: + const CertificateCache& cache() const override { return m_cache; } + CertificateCache& cache() override { return m_cache; } + +private: + CertificateCache m_cache; +}; + +} // namespace v3 } // namespace security } // namespace vanetza - diff --git a/vanetza/security/v3/certificate_validator.cpp b/vanetza/security/v3/certificate_validator.cpp new file mode 100644 index 000000000..a52914a8d --- /dev/null +++ b/vanetza/security/v3/certificate_validator.cpp @@ -0,0 +1,82 @@ +#include +#include +#include +#include +#include + +namespace vanetza +{ +namespace security +{ +namespace v3 +{ + +auto DefaultCertificateValidator::valid_for_signing(const CertificateView& signing_cert, ItsAid its_aid) -> Verdict +{ + if (!m_disable_time_checks && !m_runtime) { + return Verdict::Misconfiguration; + } else if (!m_disable_location_checks && !m_position_provider) { + return Verdict::Misconfiguration; + } else if (!signing_cert.valid_for_application(its_aid)) { + return Verdict::InsufficientPermission; + } else if (m_runtime && !signing_cert.valid_at_timepoint(m_runtime->now())) { + return Verdict::Expired; + } else { + Verdict verdict = Verdict::Valid; + if (m_position_provider) { + auto location = m_position_provider->position_fix(); + if (signing_cert.has_region_restriction()) { + if (!signing_cert.valid_at_location(location)) { + verdict = Verdict::OutsideRegion; + } + } else { + auto issuing_cert = find_issuer_certificate(signing_cert); + if (issuing_cert && !issuing_cert->valid_at_location(location)) { + verdict = Verdict::OutsideRegion; + } + } + } + return verdict; + } +} + +void DefaultCertificateValidator::use_runtime(const Runtime* runtime) +{ + m_runtime = runtime; +} + +void DefaultCertificateValidator::use_position_provider(PositionProvider* pp) +{ + m_position_provider = pp; +} + +void DefaultCertificateValidator::use_certificate_cache(const CertificateCache* cache) +{ + m_certificate_cache = cache; +} + +void DefaultCertificateValidator::disable_time_checks(bool flag) +{ + m_disable_time_checks = flag; +} + +void DefaultCertificateValidator::disable_location_checks(bool flag) +{ + m_disable_location_checks = flag; +} + +const Certificate* DefaultCertificateValidator::find_issuer_certificate(const CertificateView& at_cert) const +{ + if (m_certificate_cache) { + auto maybe_issuer_digest = at_cert.issuer_digest(); + if (maybe_issuer_digest) { + return m_certificate_cache->lookup(*maybe_issuer_digest); + } + } + + return nullptr; +} + +} // namespace v3 +} // namespace security +} // namespace vanetza diff --git a/vanetza/security/v3/certificate_validator.hpp b/vanetza/security/v3/certificate_validator.hpp index ba9131a1a..c8b1d6e3a 100644 --- a/vanetza/security/v3/certificate_validator.hpp +++ b/vanetza/security/v3/certificate_validator.hpp @@ -1,27 +1,78 @@ #pragma once -#include -#include +#include namespace vanetza { + +// forward declarations +class PositionProvider; +class Runtime; + namespace security { namespace v3 { +// forward declarations +class Certificate; +class CertificateCache; +class CertificateView; + class CertificateValidator { public: + enum class Verdict + { + Unknown, + Valid, + Expired, + Revoked, + OutsideRegion, + InsufficientPermission, + Misconfiguration, + }; + /** - * Check validity of given certificate and consistency with parent certificates. - * \param certificate given certificate - * \return validity result + * Check if a certificate can be used for signing a message + * \param certificate pre-validated AT certificate + * \param app ITS-AID of the message to be signed */ - virtual CertificateValidity check_certificate(const Certificate& certificate) = 0; + virtual Verdict valid_for_signing(const CertificateView& certificate, ItsAid app) = 0; virtual ~CertificateValidator() = default; }; +class DefaultCertificateValidator : public CertificateValidator +{ +public: + Verdict valid_for_signing(const CertificateView&, ItsAid) override; + + void use_runtime(const Runtime* runtime); + void use_position_provider(PositionProvider* provider); + void use_certificate_cache(const CertificateCache* cache); + + void disable_time_checks(bool flag); + void disable_location_checks(bool flag); + +private: + const Certificate* find_issuer_certificate(const CertificateView& certificate) const; + + const Runtime* m_runtime = nullptr; + PositionProvider* m_position_provider = nullptr; + const CertificateCache* m_certificate_cache = nullptr; + bool m_disable_time_checks = false; + bool m_disable_location_checks = false; +}; + +class NullCertificateValidator : public CertificateValidator +{ +public: + Verdict valid_for_signing(const CertificateView&, ItsAid) override + { + return Verdict::Valid; + } +}; + } // namespace v3 } // namespace security } // namespace vanetza diff --git a/vanetza/security/v3/default_certificate_validator.cpp b/vanetza/security/v3/default_certificate_validator.cpp deleted file mode 100644 index c917a6fc4..000000000 --- a/vanetza/security/v3/default_certificate_validator.cpp +++ /dev/null @@ -1,169 +0,0 @@ -#include - - -namespace vanetza -{ -namespace security -{ -namespace v3 -{ - -DefaultCertificateValidator::DefaultCertificateValidator(Backend& backend, CertificateCache& cache, const TrustStore& trust_store) : - m_backend(backend), - m_cert_cache(cache), - m_trust_store(trust_store) -{ -} - -bool check_time_consistency(const Certificate& certificate, const Certificate& signer) -{ - StartAndEndValidity certificate_time = certificate.get_start_and_end_validity(); - StartAndEndValidity signer_time = signer.get_start_and_end_validity(); - - if (signer_time.start_validity > certificate_time.start_validity) { - return false; - } - - if (signer_time.end_validity < certificate_time.end_validity) { - return false; - } - - return true; -} - -bool check_permission_consistency(const Certificate& certificate, const Certificate& signer) -{ - auto certificate_aids = get_aids(*certificate); - auto signer_aids = get_aids(*signer); - - auto compare = [](ItsAid a, ItsAid b) { return a < b; }; - - certificate_aids.sort(compare); - signer_aids.sort(compare); - - return std::includes(signer_aids.begin(), signer_aids.end(), certificate_aids.begin(), certificate_aids.end()); - -} - -bool check_subject_assurance_consistency(const Certificate& certificate, const Certificate& signer) -{ - // TODO - return true; -} - -bool check_region_consistency(const Certificate& certificate, const Certificate& signer) -{ - printf("Checking region consistency\n"); - auto certificate_region = certificate.get_region(); - auto signer_region = signer.get_region(); - - return is_within(certificate_region, signer_region); -} - -bool check_consistency(const Certificate& certificate, const Certificate& signer) -{ - if (!check_time_consistency(certificate, signer)) { - return false; - } - - if (!check_permission_consistency(certificate, signer)) { - return false; - } - - if (!check_subject_assurance_consistency(certificate, signer)) { - return false; - } - - if (!check_region_consistency(certificate, signer)) { - return false; - } - - return true; -} - -CertificateValidity DefaultCertificateValidator::check_certificate(const Certificate& certificate) -{ - HashedId8 signer_hash = certificate.get_issuer_identifier(); - - // Only root CA certificates can be self signed, check if we have root CA - // certificate in trust store - if (certificate.issuer_is_self()) { - bool is_trusted = !m_trust_store.lookup(signer_hash).empty(); - return is_trusted ? CertificateValidity::valid() : CertificateInvalidReason::Unknown_Signer; - } - - if (signer_hash == HashedId8{{0,0,0,0,0,0,0,0}}) { - return CertificateInvalidReason::Invalid_Signer; - } - - auto sig = get_signature(*certificate); - if (!sig) { - return CertificateInvalidReason::Missing_Signature; - } - - ByteBuffer cert_buf = asn1::encode_oer(asn_DEF_Vanetza_Security_ToBeSignedCertificate, &certificate->toBeSigned); - - // Authorization tickets are signed by authorization authorities, check if - // we have authorization authority certificate in cache - const Certificate* signer_cert = m_cert_cache.lookup(signer_hash); - if (signer_cert) { - auto verification_key = get_public_key(**signer_cert); - if (verification_key) { - ByteBuffer cert_hash = m_backend.calculate_hash(verification_key->type, cert_buf); - ByteBuffer signer_hash = m_backend.calculate_hash(verification_key->type, signer_cert->encode()); - ByteBuffer concat_hash = cert_hash; - concat_hash.insert(concat_hash.end(), signer_hash.begin(), signer_hash.end()); - ByteBuffer signature_input = m_backend.calculate_hash(verification_key->type, concat_hash); - - if (m_backend.verify_digest(*verification_key, signature_input, *sig)) { - // TODO check certificate consistency - if (!check_consistency(certificate, *signer_cert)) { - return CertificateInvalidReason::Inconsistent_With_Signer; - } - - return CertificateValidity::valid(); - } - } - } - - // There seems to be no way of adding AA certificates to the cache as the - // signed message is constrained to only contain ONE certificate, which - // will always be the AT. This would mean that AA certificates shall be - // inserted into the cache when parsing RCA trust lists by calling this - // function with the AA certificate as argument. nfiniity's implementation - // however does not do this, as it believes a SignerIdentifier of type - // certificate chain with the complete chain is legitimate. - - // Authorization authority certificates must be signed by root CA, check if - // we have root CA certificate in trust store - auto trust_store_matches = m_trust_store.lookup(signer_hash); - if (trust_store_matches.empty()) { - return CertificateInvalidReason::Unknown_Signer; - } - // TODO check if certificate is revoked - for (auto& possible_signer : trust_store_matches) { - auto verification_key = get_public_key(*possible_signer); - if (verification_key) { - ByteBuffer cert_hash = m_backend.calculate_hash(verification_key->type, cert_buf); - ByteBuffer signer_hash = m_backend.calculate_hash(verification_key->type, possible_signer.encode()); - ByteBuffer concat_hash = cert_hash; - concat_hash.insert(concat_hash.end(), signer_hash.begin(), signer_hash.end()); - ByteBuffer signature_input = m_backend.calculate_hash(verification_key->type, concat_hash); - - if (m_backend.verify_digest(*verification_key, signature_input, *sig)) { - // TODO check certificate consistency - if (!check_consistency(certificate, *signer_cert)) { - return CertificateInvalidReason::Inconsistent_With_Signer; - } - - return CertificateValidity::valid(); - } - } - } - - return CertificateInvalidReason::Unknown_Signer; -} - -} // namespace v3 -} // namespace security -} // namespace vanetza diff --git a/vanetza/security/v3/default_certificate_validator.hpp b/vanetza/security/v3/default_certificate_validator.hpp deleted file mode 100644 index 3b7058e91..000000000 --- a/vanetza/security/v3/default_certificate_validator.hpp +++ /dev/null @@ -1,39 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include -#include - -namespace vanetza -{ -namespace security -{ -namespace v3 -{ - -/** - * \brief The default certificate validator - */ -class DefaultCertificateValidator : public CertificateValidator -{ -public: - DefaultCertificateValidator(Backend&, CertificateCache&, const TrustStore&); - - /** - * \brief check certificate - * \param certificate to verify - * \return certificate status - */ - CertificateValidity check_certificate(const Certificate& certificate) override; - -private: - Backend& m_backend; - CertificateCache& m_cert_cache; - const TrustStore& m_trust_store; -}; - -} // namespace v3 -} // namespace security -} // namespace vanetza diff --git a/vanetza/security/v3/distance.cpp b/vanetza/security/v3/distance.cpp new file mode 100644 index 000000000..a067dad59 --- /dev/null +++ b/vanetza/security/v3/distance.cpp @@ -0,0 +1,109 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace vanetza +{ +namespace security +{ +namespace v3 +{ + +units::Length distance(const PositionFix& one, const asn1::TwoDLocation& other) +{ + static const auto earth_radius = 6371000.0 * units::si::meter; + const auto other_lat = convert_latitude(other.latitude); + const auto other_lon = convert_longitude(other.longitude); + const units::Angle delta_phi { one.latitude - other_lat }; + const units::Angle delta_lambda { one.longitude - other_lon }; + const auto sin_delta_phi = sin(delta_phi / 2.0); + const auto sin_delta_lambda = sin(delta_lambda / 2.0); + const auto a = sin_delta_phi * sin_delta_phi + + cos(one.latitude) * cos(other_lat) * sin_delta_lambda * sin_delta_lambda; + const auto c = 2.0 * atan2(sqrt(a), sqrt(1 - a)); + return earth_radius * c; +} + +units::GeoAngle convert_latitude(const asn1::Latitude& in) +{ + if (in >= Vanetza_Security_NinetyDegreeInt_min && in <= Vanetza_Security_NinetyDegreeInt_max) { + return in * 90.0 / Vanetza_Security_NinetyDegreeInt_max * units::degree; + } else { + return units::GeoAngle::from_value(std::numeric_limits::quiet_NaN()); + } +} + +units::GeoAngle convert_longitude(const asn1::Longitude& in) +{ + if (in >= Vanetza_Security_OneEightyDegreeInt_min && in <= Vanetza_Security_OneEightyDegreeInt_max) { + return in * 180.0 / Vanetza_Security_OneEightyDegreeInt_max * units::degree; + } else { + return units::GeoAngle::from_value(std::numeric_limits::quiet_NaN()); + } +} + +bool is_valid(const asn1::TwoDLocation& location) +{ + return location.latitude >= Vanetza_Security_NinetyDegreeInt_min && + location.latitude <= Vanetza_Security_NinetyDegreeInt_max && + location.longitude >= Vanetza_Security_OneEightyDegreeInt_min && + location.longitude <= Vanetza_Security_OneEightyDegreeInt_max; +} + +bool is_inside(const PositionFix& location, const asn1::CircularRegion& region) +{ + if (is_valid(region.center) && region.radius >= 0) { + return distance(location, region.center) <= region.radius * units::si::meter; + } else { + return false; + } +} + +bool is_inside(const PositionFix& location, const asn1::SequenceOfRectangularRegion& regions) +{ + for (int i = 0; i < regions.list.count; ++i) { + if (regions.list.array[i] != nullptr && is_inside(location, *regions.list.array[i])) { + return true; + } + } + + return false; +} + +bool is_inside(const PositionFix& location, const asn1::RectangularRegion& region) +{ + const bool location_valid = isfinite(location.latitude) && isfinite(location.longitude); + const bool region_valid = is_valid(region.northWest) && is_valid(region.southEast); + if (location_valid && region_valid) { + if (region.northWest.latitude <= region.southEast.latitude) { + // north-west is equal or south of south-east: invalid region + return false; + } else if (region.northWest.longitude == region.southEast.longitude) { + // equal longitudes are invalid + return false; + } else { + Vanetza_Security_NinetyDegreeInt_t loc_lat = location.latitude / (90.0 * units::degree) * Vanetza_Security_NinetyDegreeInt_max; + Vanetza_Security_OneEightyDegreeInt_t loc_lon = location.longitude / (180.0 * units::degree) * Vanetza_Security_OneEightyDegreeInt_max; + + if (loc_lat >= region.southEast.latitude && loc_lat <= region.northWest.latitude) { + if (region.northWest.longitude < region.southEast.longitude) { + return loc_lon >= region.northWest.longitude && loc_lon <= region.southEast.longitude; + } else { + return loc_lon >= region.northWest.longitude || loc_lon <= region.southEast.longitude; + } + } + } + } + + return false; +} + +} // namespace v3 +} // namespace security +} // namespace vanetza diff --git a/vanetza/security/v3/distance.hpp b/vanetza/security/v3/distance.hpp new file mode 100644 index 000000000..f58c80fbf --- /dev/null +++ b/vanetza/security/v3/distance.hpp @@ -0,0 +1,79 @@ +#pragma once +#include +#include +#include + +namespace vanetza +{ + +// forward declaration +struct PositionFix; + +namespace security +{ +namespace v3 +{ + +/** + * Calculate distance between two positions using Haversine formula + * + * \param one a local position fix + * \param other a received location + * \return distance in meters + */ +units::Length distance(const PositionFix& one, const asn1::TwoDLocation& other); + +/** + * Convert ASN.1 latitude to GeoAngle + * + * \param in ASN.1 security latitude + * \return GeoAngle + */ +units::GeoAngle convert_latitude(const asn1::Latitude& in); + +/** + * Convert ASN.1 longitude to GeoAngle + * + * \param in ASN.1 security longitude + * \return GeoAngle + */ +units::GeoAngle convert_longitude(const asn1::Longitude& in); + +/** + * Check if a TwoDLocation is valid + * + * \param location TwoDLocation to be checked + * \return true if latitude and longitude are within valid range + */ +bool is_valid(const asn1::TwoDLocation& location); + +/** + * Check if position is inside a circular region + * + * \param pos position to be checked + * \param region circular region + * \return true if position is inside region + */ +bool is_inside(const PositionFix& pos, const asn1::CircularRegion& region); + +/** + * Check if position is inside at least one of the given regions + * + * \param pos position to be checked + * \param regions sequence of rectangular regions + * \return true if position is inside at least one region + */ +bool is_inside(const PositionFix& pos, const asn1::SequenceOfRectangularRegion& region); + +/** + * Check if position is inside a rectangular region + * + * \param pos position to be checked + * \param region rectangular region + * \return true if position is inside region + */ +bool is_inside(const PositionFix& pos, const asn1::RectangularRegion& region); + +} // namespace v3 +} // namespace security +} // namespace vanetza diff --git a/vanetza/security/v3/hash.cpp b/vanetza/security/v3/hash.cpp new file mode 100644 index 000000000..f0cb39750 --- /dev/null +++ b/vanetza/security/v3/hash.cpp @@ -0,0 +1,48 @@ +#include +#include +#include + +namespace vanetza +{ +namespace security +{ +namespace v3 +{ + +ByteBuffer calculate_message_hash(Backend& backend, HashAlgorithm hash_algo, const ByteBuffer& payload, const CertificateView& signing_cert) +{ + ByteBuffer encoded_cert; + if (signing_cert.is_canonical()) { + encoded_cert = signing_cert.encode(); + } else { + auto canonical_signing_cert = signing_cert.canonicalize(); + if (canonical_signing_cert) { + encoded_cert = canonical_signing_cert->encode(); + } + } + + ByteBuffer data_hash = backend.calculate_hash(hash_algo, payload); + ByteBuffer cert_hash = backend.calculate_hash(hash_algo, encoded_cert); + ByteBuffer concat_hash; + concat_hash.reserve(data_hash.size() + cert_hash.size()); + concat_hash.insert(concat_hash.end(), data_hash.begin(), data_hash.end()); + concat_hash.insert(concat_hash.end(), cert_hash.begin(), cert_hash.end()); + return backend.calculate_hash(hash_algo, concat_hash); +} + +HashAlgorithm specified_hash_algorithm(KeyType key_type) +{ + switch (key_type) { + case KeyType::NistP256: + case KeyType::BrainpoolP256r1: + return HashAlgorithm::SHA256; + case KeyType::BrainpoolP384r1: + return HashAlgorithm::SHA384; + default: + return HashAlgorithm::Unspecified; + } +} + +} // namespace v3 +} // namespace security +} // namespace vanetza diff --git a/vanetza/security/v3/hash.hpp b/vanetza/security/v3/hash.hpp new file mode 100644 index 000000000..07f54afbb --- /dev/null +++ b/vanetza/security/v3/hash.hpp @@ -0,0 +1,44 @@ +#pragma once +#include +#include +#include + +namespace vanetza +{ +namespace security +{ + +// forward declarations +class Backend; + +namespace v3 +{ + +// forward declarations +class CertificateView; + +/** + * Calculate message hash (combination of hashes). + * + * This function creates the message hash according to IEEE 1609.2 cause 5.3.1.2.2 + * for verification type "certificate", i.e. not "self-signed" messages. + * + * \param backend backend for cryptographic operations + * \param algo hash algorithm + * \param data message payload (data to be signed) + * \param signing certificate used for signing + * \return message digest + */ +ByteBuffer calculate_message_hash(Backend&, HashAlgorithm, const ByteBuffer& data, const CertificateView& signing); + +/** + * Determine the hash algorithm for a given key type. + * \see IEEE 1609.2 clause 5.3.1.2.2 rule a) + * \param key_type key type + * \return suitable hash algorithm + */ +HashAlgorithm specified_hash_algorithm(KeyType key_type); + +} // namespace v3 +} // namespace security +} // namespace vanetza diff --git a/vanetza/security/v3/naive_certificate_provider.cpp b/vanetza/security/v3/naive_certificate_provider.cpp index 8777eea5b..8fa40c59a 100644 --- a/vanetza/security/v3/naive_certificate_provider.cpp +++ b/vanetza/security/v3/naive_certificate_provider.cpp @@ -52,16 +52,13 @@ const Certificate& NaiveCertificateProvider::own_certificate() return m_own_certificate; } -std::list NaiveCertificateProvider::own_chain() +const PrivateKey& NaiveCertificateProvider::own_private_key() { - static const std::list chain = { aa_certificate() }; - - return chain; -} - -const ecdsa256::PrivateKey& NaiveCertificateProvider::own_private_key() -{ - return m_own_key_pair.private_key; + static PrivateKey private_key; + private_key.type = KeyType::NistP256; + private_key.key.resize(m_own_key_pair.private_key.key.size()); + std::copy(m_own_key_pair.private_key.key.begin(), m_own_key_pair.private_key.key.end(), private_key.key.data()); + return private_key; } const ecdsa256::KeyPair& NaiveCertificateProvider::aa_key_pair() @@ -99,7 +96,8 @@ Certificate NaiveCertificateProvider::generate_authorization_ticket() // create certificate Certificate certificate; - Certificate aa_certificate = this->aa_certificate(); + const Certificate& aa_certificate = this->aa_certificate(); + // section 6 in TS 103 097 v2.1.1 certificate->issuer.present= Vanetza_Security_IssuerIdentifier_PR_sha256AndDigest; auto maybe_aa_cert_digest = aa_certificate.calculate_digest(); diff --git a/vanetza/security/v3/naive_certificate_provider.hpp b/vanetza/security/v3/naive_certificate_provider.hpp index 15cf64647..8cc18dbd5 100644 --- a/vanetza/security/v3/naive_certificate_provider.hpp +++ b/vanetza/security/v3/naive_certificate_provider.hpp @@ -21,7 +21,7 @@ namespace v3 * * It's intended for experimenting with secured messages without validating signatures. */ -class NaiveCertificateProvider : public CertificateProvider +class NaiveCertificateProvider : public BaseCertificateProvider { public: NaiveCertificateProvider(const Runtime&); @@ -32,17 +32,11 @@ class NaiveCertificateProvider : public CertificateProvider */ const Certificate& own_certificate() override; - /** - * Get own certificate chain, excluding the leaf certificate and root CA - * \return own certificate chain - */ - std::list own_chain() override; - /** * \brief get own private key * \return private key */ - const ecdsa256::PrivateKey& own_private_key() override; + const PrivateKey& own_private_key() override; /** * \brief get ticket signer certificate (same for all instances) diff --git a/vanetza/security/v3/secured_message.cpp b/vanetza/security/v3/secured_message.cpp index 24440aaed..7672f5d13 100644 --- a/vanetza/security/v3/secured_message.cpp +++ b/vanetza/security/v3/secured_message.cpp @@ -382,7 +382,7 @@ PacketVariant SecuredMessage::payload() const return CohesivePacket { std::move(buffer), OsiLayer::Network }; } -void SecuredMessage::set_payload(ByteBuffer& payload) +void SecuredMessage::set_payload(const ByteBuffer& payload) { switch (m_struct->content->present) { case Vanetza_Security_Ieee1609Dot2Content_PR_unsecuredData: @@ -403,6 +403,42 @@ void SecuredMessage::set_external_payload_hash(const Sha256Digest& hash) OCTET_STRING_fromBuf(&hashed_data->choice.sha256HashedData, reinterpret_cast(hash.data()), hash.size()); } +HashAlgorithm SecuredMessage::hash_id() const +{ + HashAlgorithm algo = HashAlgorithm::Unspecified; + + const asn1::SignedData* signed_data = get_signed_data(m_struct); + if (signed_data) { + switch (signed_data->hashId) { + case Vanetza_Security_HashAlgorithm_sha256: + algo = HashAlgorithm::SHA256; + break; + case Vanetza_Security_HashAlgorithm_sha384: + algo = HashAlgorithm::SHA384; + break; + default: + break; + } + } + + return algo; +} + +void SecuredMessage::set_hash_id(HashAlgorithm hash) +{ + assert(m_struct->content->present == Vanetza_Security_Ieee1609Dot2Content_PR_signedData); + switch (hash) { + case HashAlgorithm::SHA256: + m_struct->content->choice.signedData->hashId = Vanetza_Security_HashAlgorithm_sha256; + break; + case HashAlgorithm::SHA384: + m_struct->content->choice.signedData->hashId = Vanetza_Security_HashAlgorithm_sha384; + break; + default: + m_struct->content->choice.signedData->hashId = -1; + } +} + void SecuredMessage::set_signer_identifier(const HashedId8& digest) { assert(m_struct->content->present == Vanetza_Security_Ieee1609Dot2Content_PR_signedData); @@ -606,6 +642,18 @@ ByteBuffer SecuredMessage::signing_payload() const } } +void SecuredMessage::set_requested_certificate(const Certificate& cert) +{ + const asn1::SignedData* signed_data = get_signed_data(m_struct); + if (signed_data && signed_data->tbsData) { + if (signed_data->tbsData->headerInfo.requestedCertificate) { + ASN_STRUCT_FREE(asn_DEF_Vanetza_Security_Certificate, signed_data->tbsData->headerInfo.requestedCertificate); + } + signed_data->tbsData->headerInfo.requestedCertificate = + static_cast(asn1::copy(asn_DEF_Vanetza_Security_Certificate, cert.content())); + } +} + size_t get_size(const SecuredMessage& message) { return message.size(); diff --git a/vanetza/security/v3/secured_message.hpp b/vanetza/security/v3/secured_message.hpp index 82839f08f..118c5140e 100644 --- a/vanetza/security/v3/secured_message.hpp +++ b/vanetza/security/v3/secured_message.hpp @@ -6,7 +6,8 @@ #include #include #include -#include +// #include +#include #include #include #include @@ -44,12 +45,14 @@ struct SecuredMessage : public asn1::asn1c_oer_wrapper boost::optional signature() const; SignerIdentifier signer_identifier() const; ByteBuffer signing_payload() const; + HashAlgorithm hash_id() const; void set_its_aid(ItsAid its_aid); void set_generation_time(Time64 time); void set_generation_location(const asn1::ThreeDLocation& location); - void set_payload(ByteBuffer& payload); + void set_payload(const ByteBuffer& payload); void set_external_payload_hash(const Sha256Digest& hash); + void set_hash_id(HashAlgorithm); void set_signature(const Signature& signature); std::list get_inline_p2pcd_request() const; void set_inline_p2pcd_request(std::list requests); @@ -58,6 +61,7 @@ struct SecuredMessage : public asn1::asn1c_oer_wrapper void set_dummy_signature(); void set_signer_identifier(const HashedId8&); void set_signer_identifier(const Certificate&); + void set_requested_certificate(const Certificate&); void get_aes_ccm_ciphertext(ByteBuffer& ccm_ciphertext, std::array& nonce) const; void set_aes_ccm_ciphertext(const ByteBuffer& ccm_ciphertext, const std::array& nonce); diff --git a/vanetza/security/v3/sign_header_policy.cpp b/vanetza/security/v3/sign_header_policy.cpp index 3a324c3df..4260bd0b0 100644 --- a/vanetza/security/v3/sign_header_policy.cpp +++ b/vanetza/security/v3/sign_header_policy.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include namespace vanetza { @@ -13,62 +13,95 @@ namespace security namespace v3 { -DefaultSignHeaderPolicy::DefaultSignHeaderPolicy(const Runtime& rt, PositionProvider& positioning) : - m_runtime(rt), m_positioning(positioning), m_cam_next_certificate(m_runtime.now()), m_cert_requested(false), m_chain_requested(false) +asn1::ThreeDLocation build_location(const PositionFix& fix) { + asn1::ThreeDLocation location; + + long lat = std::round(fix.latitude / units::degree / 90.0 * Vanetza_Security_NinetyDegreeInt_max); + if (lat >= Vanetza_Security_NinetyDegreeInt_min && lat <= Vanetza_Security_NinetyDegreeInt_max) { + location.latitude = lat; + } else { + location.latitude = Vanetza_Security_NinetyDegreeInt_unknown; + } + + long lon = std::round(fix.longitude / units::degree / 180.0 * Vanetza_Security_OneEightyDegreeInt_max); + if (lon >= Vanetza_Security_OneEightyDegreeInt_min && lon <= Vanetza_Security_OneEightyDegreeInt_max) { + location.longitude = lon; + } else { + location.longitude = Vanetza_Security_OneEightyDegreeInt_unknown; + } + + location.elevation = 4096; // no "not available" value specified, set 0m as fallback + if (fix.altitude) { + long elev_dm = std::round(fix.altitude->value() / units::si::meter * 10.0); + if (elev_dm >= -4095 && elev_dm <= 61439) { + location.elevation = elev_dm + 4096; + } + } + + return location; } -void DefaultSignHeaderPolicy::prepare_header(const SignRequest& request, CertificateProvider& certificate_provider, SecuredMessage& secured_message) +DefaultSignHeaderPolicy::DefaultSignHeaderPolicy(const Runtime& rt, PositionProvider& positioning, CertificateProvider& certs) : + m_runtime(rt), m_positioning(positioning), m_cert_provider(certs), + m_cam_next_certificate(m_runtime.now()), + m_cert_requested(false) +{ +} + +void DefaultSignHeaderPolicy::prepare_header(const SignRequest& request, SecuredMessage& secured_message) { const auto now = m_runtime.now(); secured_message.set_its_aid(request.its_aid); secured_message.set_generation_time(vanetza::security::v2::convert_time64(now)); - //header_info.signer_info = certificate_provider.own_certificate(); if (request.its_aid == aid::CA) { + bool signer_full_cert = false; + const auto& at_cert = m_cert_provider.own_certificate(); + const auto maybe_at_digest = at_cert.calculate_digest(); + + // include full certificate if its digest has been requested by a peer + if (maybe_at_digest && m_incoming_requests.is_pending(truncate(*maybe_at_digest))) { + m_cert_requested = true; + m_incoming_requests.discard_request(truncate(*maybe_at_digest)); + } + // section 7.1.1 in TS 103 097 v2.1.1 if (now < m_cam_next_certificate && !m_cert_requested) { - auto maybe_digest = calculate_digest(*certificate_provider.own_certificate()); - if (maybe_digest) { - secured_message.set_signer_identifier(*maybe_digest); + if (maybe_at_digest) { + secured_message.set_signer_identifier(*maybe_at_digest); } } else { - secured_message.set_signer_identifier(certificate_provider.own_certificate()); + signer_full_cert = true; + m_cert_requested = false; + secured_message.set_signer_identifier(at_cert); m_cam_next_certificate = now + std::chrono::seconds(1) - std::chrono::milliseconds(50); } - if (m_unknown_certificates.size() > 0) { - std::list unknown_certificates(m_unknown_certificates.begin(), m_unknown_certificates.end()); - secured_message.set_inline_p2pcd_request(unknown_certificates); - m_unknown_certificates.clear(); + // peer-to-peer certificate distribution + secured_message.set_inline_p2pcd_request(m_outgoing_requests.all()); + if (!signer_full_cert) { + while (auto p2p_hid = m_incoming_requests.next_one()) { + // provide requested CA certificates (no AT certificates here) + auto p2p_cert = m_cert_provider.cache().lookup(*p2p_hid); + if (p2p_cert && p2p_cert->is_ca_certificate()) { + secured_message.set_requested_certificate(*p2p_cert); + break; + } + } } - m_cert_requested = false; - m_chain_requested = false; - } - else if (request.its_aid == aid::DEN) { + } else if (request.its_aid == aid::DEN) { // section 7.1.2 in TS 103 097 v2.1.1 - secured_message.set_signer_identifier(certificate_provider.own_certificate()); - asn1::ThreeDLocation location; - v2::ThreeDLocation location_v2; - auto position = m_positioning.position_fix(); - if (position.altitude) { - location_v2 = v2::ThreeDLocation(position.latitude, position.longitude, v2::to_elevation(position.altitude->value())); - } else { - location_v2 = v2::ThreeDLocation(position.latitude, position.longitude); - } - location.latitude = location_v2.latitude.value(); - location.longitude = location_v2.longitude.value(); - location.elevation = 0; - secured_message.set_generation_location(location); - } - else { - secured_message.set_signer_identifier(certificate_provider.own_certificate()); + secured_message.set_signer_identifier(m_cert_provider.own_certificate()); + secured_message.set_generation_location(build_location(m_positioning.position_fix())); + } else { + secured_message.set_signer_identifier(m_cert_provider.own_certificate()); } } void DefaultSignHeaderPolicy::request_unrecognized_certificate(HashedId8 id) { - m_unknown_certificates.insert(truncate(id)); + m_outgoing_requests.add_request(truncate(id)); } void DefaultSignHeaderPolicy::request_certificate() @@ -76,9 +109,14 @@ void DefaultSignHeaderPolicy::request_certificate() m_cert_requested = true; } -void DefaultSignHeaderPolicy::request_certificate_chain() +void DefaultSignHeaderPolicy::enqueue_p2p_request(HashedId3 id) +{ + m_incoming_requests.add_request(id); +} + +void DefaultSignHeaderPolicy::discard_p2p_request(HashedId3 id) { - m_chain_requested = true; + m_incoming_requests.discard_request(id); } } // namespace v3 diff --git a/vanetza/security/v3/sign_header_policy.hpp b/vanetza/security/v3/sign_header_policy.hpp index 07dc00cd5..99becdacd 100644 --- a/vanetza/security/v3/sign_header_policy.hpp +++ b/vanetza/security/v3/sign_header_policy.hpp @@ -2,7 +2,8 @@ #include #include #include -#include +#include +#include namespace vanetza { @@ -34,10 +35,10 @@ class SignHeaderPolicy * Prepare header fields for next secured message. * * \param req signing request (including ITS-AID for example) - * \param certprvd available certificates + * \param secured_message output message * \return header fields */ - virtual void prepare_header(const SignRequest& req, CertificateProvider& certprvd, SecuredMessage& secured_message) = 0; + virtual void prepare_header(const SignRequest& req, SecuredMessage& secured_message) = 0; /** * Mark certificate as unrecognized in next secured message @@ -51,9 +52,16 @@ class SignHeaderPolicy virtual void request_certificate() = 0; /** - * Request a full certificate chain to be included in next secured message + * Enqueue a certificate for P2P distribution. + * \param id hash of requested certificate */ - virtual void request_certificate_chain() = 0; + virtual void enqueue_p2p_request(HashedId3 id) = 0; + + /** + * Discard a P2P certificate request. + * \param id hash of requested certificate + */ + virtual void discard_p2p_request(HashedId3 id) = 0; virtual ~SignHeaderPolicy() = default; }; @@ -64,20 +72,22 @@ class SignHeaderPolicy class DefaultSignHeaderPolicy : public SignHeaderPolicy { public: - DefaultSignHeaderPolicy(const Runtime&, PositionProvider& positioning); + DefaultSignHeaderPolicy(const Runtime&, PositionProvider& positioning, CertificateProvider&); - void prepare_header(const SignRequest& request, CertificateProvider& certificate_provider, SecuredMessage& secured_message) override; + void prepare_header(const SignRequest& request, SecuredMessage& secured_message) override; void request_unrecognized_certificate(HashedId8 id) override; void request_certificate() override; - void request_certificate_chain() override; + void enqueue_p2p_request(HashedId3) override; + void discard_p2p_request(HashedId3) override; private: const Runtime& m_runtime; PositionProvider& m_positioning; + CertificateProvider& m_cert_provider; Clock::time_point m_cam_next_certificate; - std::set m_unknown_certificates; bool m_cert_requested; - bool m_chain_requested; + PeerRequestTracker m_incoming_requests; + PeerRequestTracker m_outgoing_requests; }; } // namespace v3 diff --git a/vanetza/security/v3/sign_service.cpp b/vanetza/security/v3/sign_service.cpp index 697e744cc..4dc718556 100644 --- a/vanetza/security/v3/sign_service.cpp +++ b/vanetza/security/v3/sign_service.cpp @@ -2,10 +2,9 @@ #include #include #include +#include #include #include -#include -#include namespace vanetza { @@ -14,42 +13,29 @@ namespace security namespace v3 { -void printByteBuffer(const ByteBuffer& buffer) { - for (size_t i = 0; i < buffer.size(); ++i) { - // Print each byte in hexadecimal format - std::cout << std::hex << static_cast(buffer[i]) << ' '; - } - std::cout << std::dec << std::endl; // Reset stream to decimal format -} - -StraightSignService::StraightSignService(CertificateProvider& provider, Backend& backend, SignHeaderPolicy& policy) : - m_certificates(provider), m_backend(backend), m_policy(policy) +StraightSignService::StraightSignService(CertificateProvider& provider, Backend& backend, SignHeaderPolicy& policy, CertificateValidator& validator) : + m_certificates(provider), m_backend(backend), m_policy(policy), m_validator(validator) { } SignConfirm StraightSignService::sign(SignRequest&& request) { - SecuredMessage secured_message = SecuredMessage::with_signed_data(); - m_policy.prepare_header(request, m_certificates, secured_message); - - ByteBuffer payload; - payload = convert_to_payload(request.plain_message); - secured_message.set_payload(payload); - const auto& signing_cert = m_certificates.own_certificate(); - KeyType key_type = signing_cert.get_verification_key_type().value_or(KeyType::NistP256); + const auto hash_algo = specified_hash_algorithm(signing_cert.get_verification_key_type()); + + SecuredMessage secured_message = SecuredMessage::with_signed_data(); + secured_message.set_hash_id(hash_algo); + secured_message.set_payload(convert_to_payload(request.plain_message)); + m_policy.prepare_header(request, secured_message); - ByteBuffer data_hash = m_backend.calculate_hash(key_type, secured_message.signing_payload()); - ByteBuffer cert_hash = m_backend.calculate_hash(key_type, signing_cert.encode()); - ByteBuffer concat_hash = data_hash; - concat_hash.insert(concat_hash.end(), cert_hash.begin(), cert_hash.end()); + if (m_validator.valid_for_signing(signing_cert, request.its_aid) != CertificateValidator::Verdict::Valid) { + return SignConfirm::failure(SignConfirmError::No_Certificate); + } - EcdsaSignature signature = m_backend.sign_data(m_certificates.own_private_key(), concat_hash); + ByteBuffer digest = calculate_message_hash(m_backend, hash_algo, secured_message.signing_payload(), signing_cert); + Signature signature = m_backend.sign_digest(m_certificates.own_private_key(), digest); secured_message.set_signature(signature); - - SignConfirm confirm; - confirm.secured_message = std::move(secured_message); - return confirm; + return SignConfirm::success(std::move(secured_message)); } DummySignService::DummySignService(const Runtime& runtime) : @@ -68,9 +54,7 @@ SignConfirm DummySignService::sign(SignRequest&& request) secured_message.set_generation_time(vanetza::security::v2::convert_time64(m_runtime.now())); secured_message->content->choice.signedData->signer.present = Vanetza_Security_SignerIdentifier_PR_self; - SignConfirm confirm; - confirm.secured_message = std::move(secured_message); - return confirm; + return SignConfirm::success(std::move(secured_message)); } } // namespace v3 diff --git a/vanetza/security/v3/sign_service.hpp b/vanetza/security/v3/sign_service.hpp index a2a8474a2..372641228 100644 --- a/vanetza/security/v3/sign_service.hpp +++ b/vanetza/security/v3/sign_service.hpp @@ -1,8 +1,8 @@ #pragma once #include #include +#include #include -#include namespace vanetza { @@ -21,13 +21,14 @@ namespace v3 class StraightSignService : public SignService { public: - StraightSignService(CertificateProvider&, Backend&, SignHeaderPolicy&); + StraightSignService(CertificateProvider&, Backend&, SignHeaderPolicy&, CertificateValidator&); SignConfirm sign(SignRequest&&) override; private: CertificateProvider & m_certificates; Backend& m_backend; SignHeaderPolicy& m_policy; + CertificateValidator& m_validator; }; diff --git a/vanetza/security/v3/static_certificate_provider.cpp b/vanetza/security/v3/static_certificate_provider.cpp index 47446a68a..dc3fadbe1 100644 --- a/vanetza/security/v3/static_certificate_provider.cpp +++ b/vanetza/security/v3/static_certificate_provider.cpp @@ -8,27 +8,17 @@ namespace v3 { StaticCertificateProvider::StaticCertificateProvider(const Certificate& authorization_ticket, - const ecdsa256::PrivateKey& authorization_ticket_key) : - StaticCertificateProvider(authorization_ticket, authorization_ticket_key, std::list {}) + const PrivateKey& authorization_ticket_key) : + authorization_ticket(authorization_ticket), + authorization_ticket_key(authorization_ticket_key) { } -StaticCertificateProvider::StaticCertificateProvider(const Certificate& authorization_ticket, - const ecdsa256::PrivateKey& authorization_ticket_key, const std::list& chain) : - authorization_ticket(authorization_ticket), authorization_ticket_key(authorization_ticket_key), chain(chain) -{ -} - -const ecdsa256::PrivateKey& StaticCertificateProvider::own_private_key() +const PrivateKey& StaticCertificateProvider::own_private_key() { return authorization_ticket_key; } -std::list StaticCertificateProvider::own_chain() -{ - return chain; -} - const Certificate& StaticCertificateProvider::own_certificate() { return authorization_ticket; diff --git a/vanetza/security/v3/static_certificate_provider.hpp b/vanetza/security/v3/static_certificate_provider.hpp index 702256fde..fddd8dadb 100644 --- a/vanetza/security/v3/static_certificate_provider.hpp +++ b/vanetza/security/v3/static_certificate_provider.hpp @@ -14,7 +14,7 @@ namespace v3 * * This certificate provider uses a static certificate and key pair that is pre-generated. */ -class StaticCertificateProvider : public CertificateProvider +class StaticCertificateProvider : public BaseCertificateProvider { public: /** @@ -22,16 +22,7 @@ class StaticCertificateProvider : public CertificateProvider * \param authorization_ticket * \param ticket_key private key of given authorization ticket */ - StaticCertificateProvider(const Certificate& authorization_ticket, const ecdsa256::PrivateKey& ticket_key); - - /** - * Create static certificate provider with given chain - * \param authorization_ticket - * \param ticket_key private key of given authorization ticket - * \param chain own certificate chain - */ - StaticCertificateProvider(const Certificate& authorization_ticket, const ecdsa256::PrivateKey& ticket_key, - const std::list& chain); + StaticCertificateProvider(const Certificate& authorization_ticket, const PrivateKey& ticket_key); /** * Get own certificate to use for signing @@ -39,21 +30,15 @@ class StaticCertificateProvider : public CertificateProvider */ virtual const Certificate& own_certificate() override; - /** - * Get own certificate chain, excluding the leaf certificate and root CA - * \return own certificate chain - */ - virtual std::list own_chain() override; - /** * Get private key associated with own certificate * \return private key */ - virtual const ecdsa256::PrivateKey& own_private_key() override; + virtual const PrivateKey& own_private_key() override; private: Certificate authorization_ticket; - ecdsa256::PrivateKey authorization_ticket_key; + PrivateKey authorization_ticket_key; std::list chain; }; diff --git a/vanetza/security/v3/tests/CMakeLists.txt b/vanetza/security/v3/tests/CMakeLists.txt new file mode 100644 index 000000000..f7e55be35 --- /dev/null +++ b/vanetza/security/v3/tests/CMakeLists.txt @@ -0,0 +1,3 @@ +include(UseGTest) +configure_gtest_directory(LINK_LIBRARIES security) +add_gtest(Distance distance.cpp) \ No newline at end of file diff --git a/vanetza/security/v3/tests/distance.cpp b/vanetza/security/v3/tests/distance.cpp new file mode 100644 index 000000000..943f58189 --- /dev/null +++ b/vanetza/security/v3/tests/distance.cpp @@ -0,0 +1,129 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace vanetza::security::v3; +namespace units = vanetza::units; + +namespace boost { +namespace units { + +void PrintTo(const vanetza::units::Length& l, std::ostream* out) +{ + *out << l.value() << " m"; +} + +void PrintTo(const vanetza::units::GeoAngle& a, std::ostream* out) +{ + *out << a.value() << " deg"; +} + +} // namespace units +} // namespace boost + +#define EXPECT_ANGLE_EQ(a, b) { \ + double a_value = units::GeoAngle { a }.value(); \ + double b_value = units::GeoAngle { b }.value(); \ + EXPECT_NEAR(a_value, b_value, 1e-6); \ +} + +#define EXPECT_LENGTH_EQ(a, b) { \ + double a_value = units::Length { a }.value(); \ + double b_value = units::Length { b }.value(); \ + EXPECT_NEAR(a_value, b_value, 1.0); \ +} + +TEST(Distance, distance) +{ + vanetza::PositionFix one; + one.latitude = 48.0 * units::degree; + one.longitude = 11.0 * units::degree; + + asn1::TwoDLocation other; + other.latitude = 480000000; + other.longitude = 110000000; + EXPECT_LENGTH_EQ(distance(one, other), 0.0 * units::si::meter); + + other.latitude = 481234000; + other.longitude = 109876000; + EXPECT_LENGTH_EQ(distance(one, other), 13752.4 * units::si::meter); +} + +TEST(Distance, convert_latitude) +{ + EXPECT_ANGLE_EQ(convert_latitude(Vanetza_Security_NinetyDegreeInt_min), -90.0 * units::degree); + EXPECT_ANGLE_EQ(convert_latitude(Vanetza_Security_NinetyDegreeInt_max), 90 * units::degree); + EXPECT_ANGLE_EQ(convert_latitude(0), 0 * units::degree); + EXPECT_FALSE(boost::units::isfinite(convert_latitude(Vanetza_Security_NinetyDegreeInt_unknown))); +} + +TEST(Distance, convert_longitude) +{ + EXPECT_ANGLE_EQ(convert_longitude(Vanetza_Security_OneEightyDegreeInt_min), -179.999999 * units::degree); + EXPECT_ANGLE_EQ(convert_longitude(Vanetza_Security_OneEightyDegreeInt_max), 180 * units::degree); + EXPECT_ANGLE_EQ(convert_longitude(0), 0 * units::degree); + EXPECT_FALSE(boost::units::isfinite(convert_longitude(Vanetza_Security_OneEightyDegreeInt_unknown))); +} + +TEST(Distance, location_is_valid) +{ + asn1::TwoDLocation location; + location.latitude = Vanetza_Security_NinetyDegreeInt_unknown; + location.longitude = Vanetza_Security_OneEightyDegreeInt_unknown; + EXPECT_FALSE(is_valid(location)); + + location.latitude = 0; + EXPECT_FALSE(is_valid(location)); + + location.longitude = 0; + EXPECT_TRUE(is_valid(location)); +} + +TEST(Distance, is_inside_circular) +{ + vanetza::PositionFix fix; + fix.latitude = 48.0 * units::degree; + fix.longitude = 11.0 * units::degree; + + asn1::CircularRegion region; + region.center.latitude = 480010000; /*< 1 degree equals 111km */ + region.center.longitude = 110000000; + + region.radius = 100; /*< 100 is not enough */ + EXPECT_FALSE(is_inside(fix, region)); + + region.radius = 120; /*< 120 exceeds 111m */ + EXPECT_TRUE(is_inside(fix, region)); +} + +TEST(Distance, is_inside_rectangular) +{ + asn1::RectangularRegion region; + region.northWest.latitude = 485000000; + region.northWest.longitude = 110000000; + region.southEast.latitude = 480000000; + region.southEast.longitude = 115000000; + + auto build_posfix = [](double lat, double lon) { + vanetza::PositionFix fix; + fix.latitude = lat * units::degree; + fix.longitude = lon * units::degree; + return fix; + }; + + EXPECT_TRUE(is_inside(build_posfix(48.001, 11.001), region)); + EXPECT_FALSE(is_inside(build_posfix(47.999, 11.001), region)); + EXPECT_FALSE(is_inside(build_posfix(48.501, 11.001), region)); + EXPECT_FALSE(is_inside(build_posfix(48.001, 10.999), region)); + EXPECT_FALSE(is_inside(build_posfix(48.001, 11.501), region)); + + std::swap(region.northWest, region.southEast); + EXPECT_FALSE(is_inside(build_posfix(48.001, 11.001), region)); +} diff --git a/vanetza/security/v3/trust_store.cpp b/vanetza/security/v3/trust_store.cpp index 338a31d1b..5008f499c 100644 --- a/vanetza/security/v3/trust_store.cpp +++ b/vanetza/security/v3/trust_store.cpp @@ -11,7 +11,7 @@ namespace v3 void TrustStore::insert(const Certificate& certificate) { - if (!certificate.issuer_is_self()) { + if (!certificate.is_ca_certificate()) { throw std::runtime_error("Only root certificate authorities may be added to the trust store"); } diff --git a/vanetza/security/verify_service.hpp b/vanetza/security/verify_service.hpp index 1dcda05de..4f34cafce 100644 --- a/vanetza/security/verify_service.hpp +++ b/vanetza/security/verify_service.hpp @@ -13,7 +13,14 @@ namespace vanetza namespace security { - +/** + * SN-VERIFY.confirm report codes + * + * "Configuration_Problem" is not found in TS 103 723-8 V1.1.1 but indicates a + * problem with the verification subsystem itself, e.g. a programming error. + * + * \see TS 102 723-8 v1.1.1 table 5 + */ enum class VerificationReport { Success,