Keep the colleague's microbu-esp32c5 tree in this repository

obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but
that tree was gitignored, so a clone of this repository could not build the
firmware it ships. It is now committed here as ordinary files in its own
folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP
bridge's signature verification (--trust) used on the bench. Nothing is
fetched from or pushed to the colleague's repository; this repository and
its remotes carry everything. The folder's own .gitignore keeps build output,
downloaded components and private key material out, as it did there; the
committed file set is identical to that repository's tracked files.

The ESP32-C5 is still flashed from obu-firmware/, which only takes
vanetza-idf from microbu-esp32c5/, so the two stay separate folders.
FLASHING.md says how to take a newer version of the colleague's tree (copy
it over the folder, rebuild, test, commit).
This commit is contained in:
Ashin Walpola
2026-09-23 17:46:40 +02:00
parent 2f60623e18
commit 0e9525162d
9881 changed files with 1582523 additions and 17 deletions
@@ -0,0 +1,102 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#include "Acceleration3dWithConfidence.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
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 */
};
@@ -0,0 +1,54 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_Acceleration3dWithConfidence_constr_1;
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"
@@ -0,0 +1,116 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,71 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,55 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccelerationChange_constr_1;
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"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#include "AccelerationChangeIndication.h"
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 */
};
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 */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_ITS2_AccelerationChangeIndication_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_ITS2_AccelerationChangeIndication_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_ITS2_AccelerationChangeIndication_H_ */
#include "asn_internal.h"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,54 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccelerationConfidence_constr_1;
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"
@@ -0,0 +1,89 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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)
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 */
};
@@ -0,0 +1,60 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccelerationControl_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccelerationControl_constr_1;
extern asn_jer_constraints_t asn_JER_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"
@@ -0,0 +1,89 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#include "AccelerationControlExtension.h"
int
Vanetza_ITS2_AccelerationControlExtension_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 == 3UL)) {
/* Constraint check succeeded */
return 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)
asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccelerationControlExtension_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_AccelerationControlExtension_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 3, 3 } /* (SIZE(3..3,...)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_AccelerationControlExtension_constr_1 CC_NOTUSED = {
-1};
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AccelerationControlExtension_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationControlExtension = {
"AccelerationControlExtension",
"AccelerationControlExtension",
&asn_OP_BIT_STRING,
asn_DEF_Vanetza_ITS2_AccelerationControlExtension_tags_1,
sizeof(asn_DEF_Vanetza_ITS2_AccelerationControlExtension_tags_1)
/sizeof(asn_DEF_Vanetza_ITS2_AccelerationControlExtension_tags_1[0]), /* 1 */
asn_DEF_Vanetza_ITS2_AccelerationControlExtension_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_ITS2_AccelerationControlExtension_tags_1)
/sizeof(asn_DEF_Vanetza_ITS2_AccelerationControlExtension_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_ITS2_AccelerationControlExtension_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_ITS2_AccelerationControlExtension_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
&asn_JER_type_Vanetza_ITS2_AccelerationControlExtension_constr_1,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_ITS2_AccelerationControlExtension_constraint
},
0, 0, /* Defined elsewhere */
&asn_SPC_BIT_STRING_specs /* Additional specs */
};
@@ -0,0 +1,56 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#ifndef _Vanetza_ITS2_AccelerationControlExtension_H_
#define _Vanetza_ITS2_AccelerationControlExtension_H_
#include "asn_application.h"
/* Including external dependencies */
#include "BIT_STRING.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_ITS2_AccelerationControlExtension {
Vanetza_ITS2_AccelerationControlExtension_rearCrossTrafficAlertEngaged = 0,
Vanetza_ITS2_AccelerationControlExtension_emergencyBrakeRearEngaged = 1,
Vanetza_ITS2_AccelerationControlExtension_assistedParkingLongitudinalEngaged = 2
} e_Vanetza_ITS2_AccelerationControlExtension;
/* Vanetza_ITS2_AccelerationControlExtension */
typedef BIT_STRING_t Vanetza_ITS2_AccelerationControlExtension_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccelerationControlExtension_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AccelerationControlExtension_constr_1;
extern asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_AccelerationControlExtension_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AccelerationControlExtension;
asn_struct_free_f Vanetza_ITS2_AccelerationControlExtension_free;
asn_struct_print_f Vanetza_ITS2_AccelerationControlExtension_print;
asn_constr_check_f Vanetza_ITS2_AccelerationControlExtension_constraint;
ber_type_decoder_f Vanetza_ITS2_AccelerationControlExtension_decode_ber;
der_type_encoder_f Vanetza_ITS2_AccelerationControlExtension_encode_der;
xer_type_decoder_f Vanetza_ITS2_AccelerationControlExtension_decode_xer;
xer_type_encoder_f Vanetza_ITS2_AccelerationControlExtension_encode_xer;
jer_type_encoder_f Vanetza_ITS2_AccelerationControlExtension_encode_jer;
oer_type_decoder_f Vanetza_ITS2_AccelerationControlExtension_decode_oer;
oer_type_encoder_f Vanetza_ITS2_AccelerationControlExtension_encode_oer;
per_type_decoder_f Vanetza_ITS2_AccelerationControlExtension_decode_uper;
per_type_encoder_f Vanetza_ITS2_AccelerationControlExtension_encode_uper;
per_type_decoder_f Vanetza_ITS2_AccelerationControlExtension_decode_aper;
per_type_encoder_f Vanetza_ITS2_AccelerationControlExtension_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_ITS2_AccelerationControlExtension_H_ */
#include "asn_internal.h"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,54 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccelerationMagnitudeValue_constr_1;
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"
@@ -0,0 +1,116 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,49 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,55 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccelerationValue_constr_1;
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"
@@ -0,0 +1,77 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,60 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccessTechnologyClass_constr_1;
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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,61 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_deprecated = 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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AccidentSubCauseCode_constr_1;
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"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,78 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#include "ActionIdList.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
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 */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_ActionIdList_constr_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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#include "AdhesionSubCauseCode.h"
int
Vanetza_ITS2_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)
asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_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_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_AdhesionSubCauseCode_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdhesionSubCauseCode = {
"AdhesionSubCauseCode",
"AdhesionSubCauseCode",
&asn_OP_NativeInteger,
asn_DEF_Vanetza_ITS2_AdhesionSubCauseCode_tags_1,
sizeof(asn_DEF_Vanetza_ITS2_AdhesionSubCauseCode_tags_1)
/sizeof(asn_DEF_Vanetza_ITS2_AdhesionSubCauseCode_tags_1[0]), /* 1 */
asn_DEF_Vanetza_ITS2_AdhesionSubCauseCode_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_ITS2_AdhesionSubCauseCode_tags_1)
/sizeof(asn_DEF_Vanetza_ITS2_AdhesionSubCauseCode_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_ITS2_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_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_AdhesionSubCauseCode_constraint
},
0, 0, /* Defined elsewhere */
0 /* No specifics */
};
@@ -0,0 +1,65 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#ifndef _Vanetza_ITS2_AdhesionSubCauseCode_H_
#define _Vanetza_ITS2_AdhesionSubCauseCode_H_
#include "asn_application.h"
/* Including external dependencies */
#include "NativeInteger.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_ITS2_AdhesionSubCauseCode {
Vanetza_ITS2_AdhesionSubCauseCode_unavailable = 0,
Vanetza_ITS2_AdhesionSubCauseCode_heavyFrostOnRoad = 1,
Vanetza_ITS2_AdhesionSubCauseCode_fuelOnRoad = 2,
Vanetza_ITS2_AdhesionSubCauseCode_mudOnRoad = 3,
Vanetza_ITS2_AdhesionSubCauseCode_snowOnRoad = 4,
Vanetza_ITS2_AdhesionSubCauseCode_iceOnRoad = 5,
Vanetza_ITS2_AdhesionSubCauseCode_blackIceOnRoad = 6,
Vanetza_ITS2_AdhesionSubCauseCode_oilOnRoad = 7,
Vanetza_ITS2_AdhesionSubCauseCode_looseChippings = 8,
Vanetza_ITS2_AdhesionSubCauseCode_instantBlackIce = 9,
Vanetza_ITS2_AdhesionSubCauseCode_roadsSalted = 10,
Vanetza_ITS2_AdhesionSubCauseCode_flooding = 11,
Vanetza_ITS2_AdhesionSubCauseCode_waterOnRoad = 12
} e_Vanetza_ITS2_AdhesionSubCauseCode;
/* Vanetza_ITS2_AdhesionSubCauseCode */
typedef long Vanetza_ITS2_AdhesionSubCauseCode_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AdhesionSubCauseCode_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AdhesionSubCauseCode_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdhesionSubCauseCode;
asn_struct_free_f Vanetza_ITS2_AdhesionSubCauseCode_free;
asn_struct_print_f Vanetza_ITS2_AdhesionSubCauseCode_print;
asn_constr_check_f Vanetza_ITS2_AdhesionSubCauseCode_constraint;
ber_type_decoder_f Vanetza_ITS2_AdhesionSubCauseCode_decode_ber;
der_type_encoder_f Vanetza_ITS2_AdhesionSubCauseCode_encode_der;
xer_type_decoder_f Vanetza_ITS2_AdhesionSubCauseCode_decode_xer;
xer_type_encoder_f Vanetza_ITS2_AdhesionSubCauseCode_encode_xer;
jer_type_encoder_f Vanetza_ITS2_AdhesionSubCauseCode_encode_jer;
oer_type_decoder_f Vanetza_ITS2_AdhesionSubCauseCode_decode_oer;
oer_type_encoder_f Vanetza_ITS2_AdhesionSubCauseCode_encode_oer;
per_type_decoder_f Vanetza_ITS2_AdhesionSubCauseCode_decode_uper;
per_type_encoder_f Vanetza_ITS2_AdhesionSubCauseCode_encode_uper;
per_type_decoder_f Vanetza_ITS2_AdhesionSubCauseCode_decode_aper;
per_type_encoder_f Vanetza_ITS2_AdhesionSubCauseCode_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_ITS2_AdhesionSubCauseCode_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,56 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_rain = 1,
Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_snowfall = 2,
Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_hail = 3
} e_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode;
/* Vanetza_ITS2_AdverseWeatherCondition-PrecipitationSubCauseCode */
typedef long Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_PrecipitationSubCauseCode_constr_1;
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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,61 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_snowfall = 3,
Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_rain = 4,
Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_hail = 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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_VisibilitySubCauseCode_constr_1;
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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#include "AdverseWeatherCondition-WindSubCauseCode.h"
int
Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(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)
asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_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_WindSubCauseCode_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_WindSubCauseCode_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode = {
"AdverseWeatherCondition-WindSubCauseCode",
"AdverseWeatherCondition-WindSubCauseCode",
&asn_OP_NativeInteger,
asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_tags_1,
sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_tags_1)
/sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_tags_1[0]), /* 1 */
asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_tags_1)
/sizeof(asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_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_WindSubCauseCode_constr_1,
#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_WindSubCauseCode_constraint
},
0, 0, /* Defined elsewhere */
0 /* No specifics */
};
@@ -0,0 +1,59 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#ifndef _Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_H_
#define _Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_H_
#include "asn_application.h"
/* Including external dependencies */
#include "NativeInteger.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode {
Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_unavailable = 0,
Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_strongWinds = 1,
Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_damagingHail_deprecated = 2,
Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_hurricane = 3,
Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_thunderstorm = 4,
Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_tornado = 5,
Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_blizzard = 6
} e_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode;
/* Vanetza_ITS2_AdverseWeatherCondition-WindSubCauseCode */
typedef long Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode;
asn_struct_free_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_free;
asn_struct_print_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_print;
asn_constr_check_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_constraint;
ber_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_decode_ber;
der_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_encode_der;
xer_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_decode_xer;
xer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_encode_xer;
jer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_encode_jer;
oer_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_decode_oer;
oer_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_encode_oer;
per_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_decode_uper;
per_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_encode_uper;
per_type_decoder_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_decode_aper;
per_type_encoder_f Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_ITS2_AdverseWeatherCondition_WindSubCauseCode_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,52 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,288 @@
/*
* Generated by asn1c
* From ASN.1 module "DENM-PDU-Description"
* found in "TS103831v231-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 */
};
@@ -0,0 +1,72 @@
/*
* Generated by asn1c
* From ASN.1 module "DENM-PDU-Description"
* found in "TS103831v231-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"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,99 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,69 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AltitudeConfidence_constr_1;
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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,55 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AltitudeValue_constr_1;
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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,54 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AngleConfidence_constr_1;
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"
@@ -0,0 +1,83 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,61 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AngularAccelerationConfidence_constr_1;
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"
@@ -0,0 +1,83 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,61 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_AngularSpeedConfidence_constr_1;
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"
@@ -0,0 +1,89 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#include "AutomationControl.h"
int
Vanetza_ITS2_AutomationControl_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 6UL)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using BIT_STRING,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AutomationControl_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_AutomationControl_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 6, 6 } /* (SIZE(6..6,...)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_AutomationControl_constr_1 CC_NOTUSED = {
-1};
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_AutomationControl_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AutomationControl = {
"AutomationControl",
"AutomationControl",
&asn_OP_BIT_STRING,
asn_DEF_Vanetza_ITS2_AutomationControl_tags_1,
sizeof(asn_DEF_Vanetza_ITS2_AutomationControl_tags_1)
/sizeof(asn_DEF_Vanetza_ITS2_AutomationControl_tags_1[0]), /* 1 */
asn_DEF_Vanetza_ITS2_AutomationControl_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_ITS2_AutomationControl_tags_1)
/sizeof(asn_DEF_Vanetza_ITS2_AutomationControl_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_ITS2_AutomationControl_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_ITS2_AutomationControl_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
&asn_JER_type_Vanetza_ITS2_AutomationControl_constr_1,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_ITS2_AutomationControl_constraint
},
0, 0, /* Defined elsewhere */
&asn_SPC_BIT_STRING_specs /* Additional specs */
};
@@ -0,0 +1,59 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#ifndef _Vanetza_ITS2_AutomationControl_H_
#define _Vanetza_ITS2_AutomationControl_H_
#include "asn_application.h"
/* Including external dependencies */
#include "BIT_STRING.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_ITS2_AutomationControl {
Vanetza_ITS2_AutomationControl_emergencySteeringSystemEngaged = 0,
Vanetza_ITS2_AutomationControl_autonomousEmergencySteeringEngaged = 1,
Vanetza_ITS2_AutomationControl_automaticLaneChangeEngaged = 2,
Vanetza_ITS2_AutomationControl_laneKeepingAssistEngaged = 3,
Vanetza_ITS2_AutomationControl_assistedParkingLateralEngaged = 4,
Vanetza_ITS2_AutomationControl_emergencyAssistEngaged = 5
} e_Vanetza_ITS2_AutomationControl;
/* Vanetza_ITS2_AutomationControl */
typedef BIT_STRING_t Vanetza_ITS2_AutomationControl_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_AutomationControl_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_AutomationControl_constr_1;
extern asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_AutomationControl_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_AutomationControl;
asn_struct_free_f Vanetza_ITS2_AutomationControl_free;
asn_struct_print_f Vanetza_ITS2_AutomationControl_print;
asn_constr_check_f Vanetza_ITS2_AutomationControl_constraint;
ber_type_decoder_f Vanetza_ITS2_AutomationControl_decode_ber;
der_type_encoder_f Vanetza_ITS2_AutomationControl_encode_der;
xer_type_decoder_f Vanetza_ITS2_AutomationControl_decode_xer;
xer_type_encoder_f Vanetza_ITS2_AutomationControl_encode_xer;
jer_type_encoder_f Vanetza_ITS2_AutomationControl_encode_jer;
oer_type_decoder_f Vanetza_ITS2_AutomationControl_decode_oer;
oer_type_encoder_f Vanetza_ITS2_AutomationControl_encode_oer;
per_type_decoder_f Vanetza_ITS2_AutomationControl_decode_uper;
per_type_encoder_f Vanetza_ITS2_AutomationControl_encode_uper;
per_type_decoder_f Vanetza_ITS2_AutomationControl_decode_aper;
per_type_encoder_f Vanetza_ITS2_AutomationControl_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_ITS2_AutomationControl_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,52 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,53 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,78 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#include "BasicLaneConfiguration.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
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 */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_BasicLaneConfiguration_constr_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"
@@ -0,0 +1,170 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#include "BasicLaneInformation.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
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 */
};
@@ -0,0 +1,53 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_BasicLaneInformation_constr_1;
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"
@@ -0,0 +1,389 @@
/*
* Generated by asn1c
* From ASN.1 module "CAM-PDU-Descriptions"
* found in "TS103900v231-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 */
};
@@ -0,0 +1,76 @@
/*
* Generated by asn1c
* From ASN.1 module "CAM-PDU-Descriptions"
* found in "TS103900v231-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"
@@ -0,0 +1,114 @@
/*
* Generated by asn1c
* From ASN.1 module "CAM-PDU-Descriptions"
* found in "TS103900v231-CAM.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#include "BasicVehicleContainerLowFrequency.h"
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)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
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 */
};
@@ -0,0 +1,44 @@
/*
* Generated by asn1c
* From ASN.1 module "CAM-PDU-Descriptions"
* found in "TS103900v231-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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,52 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,89 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#include "BrakeControl.h"
int
Vanetza_ITS2_BrakeControl_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 == 3UL)) {
/* Constraint check succeeded */
return 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)
asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_BrakeControl_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_BrakeControl_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 3, 3 } /* (SIZE(3..3,...)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_BrakeControl_constr_1 CC_NOTUSED = {
-1};
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_BrakeControl_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BrakeControl = {
"BrakeControl",
"BrakeControl",
&asn_OP_BIT_STRING,
asn_DEF_Vanetza_ITS2_BrakeControl_tags_1,
sizeof(asn_DEF_Vanetza_ITS2_BrakeControl_tags_1)
/sizeof(asn_DEF_Vanetza_ITS2_BrakeControl_tags_1[0]), /* 1 */
asn_DEF_Vanetza_ITS2_BrakeControl_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_ITS2_BrakeControl_tags_1)
/sizeof(asn_DEF_Vanetza_ITS2_BrakeControl_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_ITS2_BrakeControl_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_ITS2_BrakeControl_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
&asn_JER_type_Vanetza_ITS2_BrakeControl_constr_1,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_ITS2_BrakeControl_constraint
},
0, 0, /* Defined elsewhere */
&asn_SPC_BIT_STRING_specs /* Additional specs */
};
@@ -0,0 +1,56 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-CDD.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_ITS2_ -R`
*/
#ifndef _Vanetza_ITS2_BrakeControl_H_
#define _Vanetza_ITS2_BrakeControl_H_
#include "asn_application.h"
/* Including external dependencies */
#include "BIT_STRING.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_ITS2_BrakeControl {
Vanetza_ITS2_BrakeControl_abs = 0,
Vanetza_ITS2_BrakeControl_tcs = 1,
Vanetza_ITS2_BrakeControl_esc = 2
} e_Vanetza_ITS2_BrakeControl;
/* Vanetza_ITS2_BrakeControl */
typedef BIT_STRING_t Vanetza_ITS2_BrakeControl_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_BrakeControl_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_ITS2_BrakeControl_constr_1;
extern asn_jer_constraints_t asn_JER_type_Vanetza_ITS2_BrakeControl_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_BrakeControl;
asn_struct_free_f Vanetza_ITS2_BrakeControl_free;
asn_struct_print_f Vanetza_ITS2_BrakeControl_print;
asn_constr_check_f Vanetza_ITS2_BrakeControl_constraint;
ber_type_decoder_f Vanetza_ITS2_BrakeControl_decode_ber;
der_type_encoder_f Vanetza_ITS2_BrakeControl_encode_der;
xer_type_decoder_f Vanetza_ITS2_BrakeControl_decode_xer;
xer_type_encoder_f Vanetza_ITS2_BrakeControl_encode_xer;
jer_type_encoder_f Vanetza_ITS2_BrakeControl_encode_jer;
oer_type_decoder_f Vanetza_ITS2_BrakeControl_decode_oer;
oer_type_encoder_f Vanetza_ITS2_BrakeControl_encode_oer;
per_type_decoder_f Vanetza_ITS2_BrakeControl_decode_uper;
per_type_encoder_f Vanetza_ITS2_BrakeControl_encode_uper;
per_type_decoder_f Vanetza_ITS2_BrakeControl_decode_aper;
per_type_encoder_f Vanetza_ITS2_BrakeControl_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_ITS2_BrakeControl_H_ */
#include "asn_internal.h"
@@ -0,0 +1,124 @@
/*
* Generated by asn1c
* From ASN.1 module "CAM-PDU-Descriptions"
* found in "TS103900v231-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 */
};
@@ -0,0 +1,40 @@
/*
* Generated by asn1c
* From ASN.1 module "CAM-PDU-Descriptions"
* found in "TS103900v231-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"
@@ -0,0 +1,137 @@
/*
* Generated by asn1c
* From ASN.1 module "CPM-PDU-Descriptions"
* found in "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 */
};
@@ -0,0 +1,56 @@
/*
* Generated by asn1c
* From ASN.1 module "CPM-PDU-Descriptions"
* found in "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"
@@ -0,0 +1,158 @@
/*
* Generated by asn1c
* From ASN.1 module "CAM-PDU-Descriptions"
* found in "TS103900v231-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, 3, 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, 2, 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"
},
{ ATF_POINTER, 1, offsetof(struct Vanetza_ITS2_CamParameters, extensionContainers),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_ITS2_WrappedExtensionContainers,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"extensionContainers"
},
};
static const int asn_MAP_Vanetza_ITS2_CamParameters_oms_1[] = { 2, 3, 4 };
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_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* extensionContainers */
};
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,
5, /* Count of tags in the map */
asn_MAP_Vanetza_ITS2_CamParameters_oms_1, /* Optional members */
2, 1, /* 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,
5, /* Elements count */
&asn_SPC_Vanetza_ITS2_CamParameters_specs_1 /* Additional specs */
};
@@ -0,0 +1,59 @@
/*
* Generated by asn1c
* From ASN.1 module "CAM-PDU-Descriptions"
* found in "TS103900v231-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;
struct Vanetza_ITS2_WrappedExtensionContainers;
/* 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.
*/
struct Vanetza_ITS2_WrappedExtensionContainers *extensionContainers; /* OPTIONAL */
/* 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[5];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "LowFrequencyContainer.h"
#include "SpecialVehicleContainer.h"
#include "WrappedExtensionContainers.h"
#endif /* _Vanetza_ITS2_CamParameters_H_ */
#include "asn_internal.h"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "CAM-PDU-Descriptions"
* found in "TS103900v231-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 */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "CAM-PDU-Descriptions"
* found in "TS103900v231-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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_CardinalNumber1B_constr_1;
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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_CardinalNumber3b_constr_1;
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"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,54 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_CartesianAngleValue_constr_1;
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"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,40 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,55 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_CartesianAngularAccelerationComponentValue_constr_1;
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"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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 */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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)
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 */
};
@@ -0,0 +1,55 @@
/*
* Generated by asn1c
* From ASN.1 module "ETSI-ITS-CDD"
* found in "TS102894-2v241-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_oer_constraints_t asn_OER_type_Vanetza_ITS2_CartesianAngularVelocityComponentValue_constr_1;
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"

Some files were not shown because too many files have changed in this diff Show More