Keep vanetza-idf in obu-firmware, so a plain clone builds the firmware

obu-firmware builds against the vanetza-idf C-ITS library, which until now
came from the colleague's microbu-esp32c5 tree beside the repository and was
not tracked here, so a clone of this repository could not build the firmware
it ships. The library alone is now part of obu-firmware, as
obu-firmware/external/vanetza-idf: their external/vanetza-idf at commit
cf4b99f, unchanged (9775 files; see its PROVENANCE.md). CMake takes it from
there by default; -DVANETZA_IDF_DIR still points the build elsewhere.

The rest of the colleague's tree (their own VAM firmware, PKI tooling,
station-link Python tools, the V2X2MAP bridge) stays out of this repository
and gitignored; nothing is pushed to their repository. NOTES.md, docs/06,
TODO.md and the pcap verifier's usage line point at the new location.
This commit is contained in:
Ashin Walpola
2026-09-24 10:56:05 +02:00
parent 2f60623e18
commit d107534eb2
9781 changed files with 1560475 additions and 17 deletions
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AaEntry.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security2_AaEntry_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AaEntry, aaCertificate),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_EtsiTs103097Certificate,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"aaCertificate"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AaEntry, accessPoint),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Url,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"accessPoint"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AaEntry_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AaEntry_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* aaCertificate */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* accessPoint */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AaEntry_specs_1 = {
sizeof(struct Vanetza_Security2_AaEntry),
offsetof(struct Vanetza_Security2_AaEntry, _asn_ctx),
asn_MAP_Vanetza_Security2_AaEntry_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_Security2_AaEntry = {
"AaEntry",
"AaEntry",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AaEntry_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AaEntry_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AaEntry_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AaEntry_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AaEntry_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AaEntry_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_AaEntry_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_AaEntry_specs_1 /* Additional specs */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AaEntry_H_
#define _Vanetza_Security2_AaEntry_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Certificate.h"
#include "Url.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AaEntry */
typedef struct Vanetza_Security2_AaEntry {
Vanetza_Security2_EtsiTs103097Certificate_t aaCertificate;
Vanetza_Security2_Url_t accessPoint;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AaEntry_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AaEntry;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AaEntry_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AaEntry_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AaEntry_H_ */
#include "asn_internal.h"
@@ -0,0 +1,212 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaEeInterface"
* found in "Ieee1609Dot2Dot1AcaEeInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaEeCertResponse.h"
static int
memb_Vanetza_Security2_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value == 2L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_Vanetza_Security2_privateKeyInfo_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if((size == 32UL)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (2..2) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 0, 0, 2, 2 } /* (2..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_privateKeyInfo_constr_5 CC_NOTUSED = {
{ 0, 0 },
32 /* (SIZE(32..32)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_privateKeyInfo_constr_5 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 32, 32 } /* (SIZE(32..32)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaEeCertResponse_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaEeCertResponse, version),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Uint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_version_constraint_1
},
0, 0, /* No default value */
"version"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaEeCertResponse, generationTime),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Time32,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"generationTime"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaEeCertResponse, certificate),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Certificate,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"certificate"
},
{ ATF_POINTER, 1, offsetof(struct Vanetza_Security2_AcaEeCertResponse, privateKeyInfo),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_privateKeyInfo_constr_5,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_privateKeyInfo_constr_5,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_privateKeyInfo_constraint_1
},
0, 0, /* No default value */
"privateKeyInfo"
},
};
static const int asn_MAP_Vanetza_Security2_AcaEeCertResponse_oms_1[] = { 3 };
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AcaEeCertResponse_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AcaEeCertResponse_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* generationTime */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* certificate */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* privateKeyInfo */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AcaEeCertResponse_specs_1 = {
sizeof(struct Vanetza_Security2_AcaEeCertResponse),
offsetof(struct Vanetza_Security2_AcaEeCertResponse, _asn_ctx),
asn_MAP_Vanetza_Security2_AcaEeCertResponse_tag2el_1,
4, /* Count of tags in the map */
asn_MAP_Vanetza_Security2_AcaEeCertResponse_oms_1, /* Optional members */
1, 0, /* Root/Additions */
4, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaEeCertResponse = {
"AcaEeCertResponse",
"AcaEeCertResponse",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AcaEeCertResponse_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponse_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponse_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcaEeCertResponse_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponse_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponse_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_AcaEeCertResponse_1,
4, /* Elements count */
&asn_SPC_Vanetza_Security2_AcaEeCertResponse_specs_1 /* Additional specs */
};
@@ -0,0 +1,50 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaEeInterface"
* found in "Ieee1609Dot2Dot1AcaEeInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaEeCertResponse_H_
#define _Vanetza_Security2_AcaEeCertResponse_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Uint8.h"
#include "Time32.h"
#include "Certificate.h"
#include "OCTET_STRING.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcaEeCertResponse */
typedef struct Vanetza_Security2_AcaEeCertResponse {
Vanetza_Security2_Uint8_t version;
Vanetza_Security2_Time32_t generationTime;
Vanetza_Security2_Certificate_t certificate;
OCTET_STRING_t *privateKeyInfo; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AcaEeCertResponse_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaEeCertResponse;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AcaEeCertResponse_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaEeCertResponse_1[4];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaEeCertResponse_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaEeCertResponseCubkSpdu.h"
int
Vanetza_Security2_AcaEeCertResponseCubkSpdu_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_AcaEeCertResponseCubkSpdu_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_Ieee1609Dot2Data_Encrypted_276P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaEeCertResponseCubkSpdu_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_Security2_AcaEeCertResponseCubkSpdu_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AcaEeCertResponseCubkSpdu_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaEeCertResponseCubkSpdu = {
"AcaEeCertResponseCubkSpdu",
"AcaEeCertResponseCubkSpdu",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AcaEeCertResponseCubkSpdu_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponseCubkSpdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponseCubkSpdu_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcaEeCertResponseCubkSpdu_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponseCubkSpdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponseCubkSpdu_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AcaEeCertResponseCubkSpdu_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcaEeCertResponseCubkSpdu_constr_1,
#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_Security2_AcaEeCertResponseCubkSpdu_constraint
},
asn_MBR_Vanetza_Security2_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaEeCertResponseCubkSpdu_H_
#define _Vanetza_Security2_AcaEeCertResponseCubkSpdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Ieee1609Dot2Data-Encrypted.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcaEeCertResponseCubkSpdu */
typedef Vanetza_Security2_Ieee1609Dot2Data_Encrypted_276P0_t Vanetza_Security2_AcaEeCertResponseCubkSpdu_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaEeCertResponseCubkSpdu_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcaEeCertResponseCubkSpdu_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaEeCertResponseCubkSpdu;
asn_struct_free_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_free;
asn_struct_print_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_print;
asn_constr_check_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_constraint;
ber_type_decoder_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_decode_ber;
der_type_encoder_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_encode_der;
xer_type_decoder_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_decode_xer;
xer_type_encoder_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_encode_xer;
jer_type_encoder_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_encode_jer;
oer_type_decoder_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_decode_oer;
oer_type_encoder_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_encode_oer;
per_type_decoder_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_decode_uper;
per_type_encoder_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_encode_uper;
per_type_decoder_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_decode_aper;
per_type_encoder_f Vanetza_Security2_AcaEeCertResponseCubkSpdu_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaEeCertResponseCubkSpdu_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaEeCertResponsePlainSpdu.h"
int
Vanetza_Security2_AcaEeCertResponsePlainSpdu_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_AcaEeCertResponsePlainSpdu_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_Ieee1609Dot2Data_Unsecured_216P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaEeCertResponsePlainSpdu_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_Security2_AcaEeCertResponsePlainSpdu_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AcaEeCertResponsePlainSpdu_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaEeCertResponsePlainSpdu = {
"AcaEeCertResponsePlainSpdu",
"AcaEeCertResponsePlainSpdu",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AcaEeCertResponsePlainSpdu_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponsePlainSpdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponsePlainSpdu_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcaEeCertResponsePlainSpdu_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponsePlainSpdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponsePlainSpdu_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AcaEeCertResponsePlainSpdu_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcaEeCertResponsePlainSpdu_constr_1,
#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_Security2_AcaEeCertResponsePlainSpdu_constraint
},
asn_MBR_Vanetza_Security2_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaEeCertResponsePlainSpdu_H_
#define _Vanetza_Security2_AcaEeCertResponsePlainSpdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Ieee1609Dot2Data-Unsecured.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcaEeCertResponsePlainSpdu */
typedef Vanetza_Security2_Ieee1609Dot2Data_Unsecured_216P0_t Vanetza_Security2_AcaEeCertResponsePlainSpdu_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaEeCertResponsePlainSpdu_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcaEeCertResponsePlainSpdu_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaEeCertResponsePlainSpdu;
asn_struct_free_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_free;
asn_struct_print_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_print;
asn_constr_check_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_constraint;
ber_type_decoder_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_decode_ber;
der_type_encoder_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_encode_der;
xer_type_decoder_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_decode_xer;
xer_type_encoder_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_encode_xer;
jer_type_encoder_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_encode_jer;
oer_type_decoder_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_decode_oer;
oer_type_encoder_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_encode_oer;
per_type_decoder_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_decode_uper;
per_type_encoder_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_encode_uper;
per_type_decoder_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_decode_aper;
per_type_encoder_f Vanetza_Security2_AcaEeCertResponsePlainSpdu_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaEeCertResponsePlainSpdu_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaEeCertResponsePrivateSpdu.h"
int
Vanetza_Security2_AcaEeCertResponsePrivateSpdu_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_AcaEeCertResponsePrivateSpdu_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_Ieee1609Dot2Data_EncryptedSigned_379P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_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_Security2_AcaEeCertResponsePrivateSpdu_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaEeCertResponsePrivateSpdu = {
"AcaEeCertResponsePrivateSpdu",
"AcaEeCertResponsePrivateSpdu",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_constr_1,
#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_Security2_AcaEeCertResponsePrivateSpdu_constraint
},
asn_MBR_Vanetza_Security2_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaEeCertResponsePrivateSpdu_H_
#define _Vanetza_Security2_AcaEeCertResponsePrivateSpdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Ieee1609Dot2Data-EncryptedSigned.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcaEeCertResponsePrivateSpdu */
typedef Vanetza_Security2_Ieee1609Dot2Data_EncryptedSigned_379P0_t Vanetza_Security2_AcaEeCertResponsePrivateSpdu_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcaEeCertResponsePrivateSpdu_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaEeCertResponsePrivateSpdu;
asn_struct_free_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_free;
asn_struct_print_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_print;
asn_constr_check_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_constraint;
ber_type_decoder_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_decode_ber;
der_type_encoder_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_encode_der;
xer_type_decoder_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_decode_xer;
xer_type_encoder_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_encode_xer;
jer_type_encoder_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_encode_jer;
oer_type_decoder_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_decode_oer;
oer_type_encoder_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_encode_oer;
per_type_decoder_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_decode_uper;
per_type_encoder_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_encode_uper;
per_type_decoder_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_decode_aper;
per_type_encoder_f Vanetza_Security2_AcaEeCertResponsePrivateSpdu_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaEeCertResponsePrivateSpdu_H_ */
#include "asn_internal.h"
@@ -0,0 +1,81 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaEeInterface"
* found in "Ieee1609Dot2Dot1AcaEeInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaEeInterfacePdu.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaEeInterfacePdu_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_Security2_AcaEeInterfacePdu_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaEeInterfacePdu_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaEeInterfacePdu, choice.acaEeCertResponse),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_AcaEeCertResponse,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"acaEeCertResponse"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AcaEeInterfacePdu_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* acaEeCertResponse */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_AcaEeInterfacePdu_specs_1 = {
sizeof(struct Vanetza_Security2_AcaEeInterfacePdu),
offsetof(struct Vanetza_Security2_AcaEeInterfacePdu, _asn_ctx),
offsetof(struct Vanetza_Security2_AcaEeInterfacePdu, present),
sizeof(((struct Vanetza_Security2_AcaEeInterfacePdu *)0)->present),
asn_MAP_Vanetza_Security2_AcaEeInterfacePdu_tag2el_1,
1, /* Count of tags in the map */
0, 0,
1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaEeInterfacePdu = {
"AcaEeInterfacePdu",
"AcaEeInterfacePdu",
&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_Security2_AcaEeInterfacePdu_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcaEeInterfacePdu_constr_1,
#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_Security2_AcaEeInterfacePdu_1,
1, /* Elements count */
&asn_SPC_Vanetza_Security2_AcaEeInterfacePdu_specs_1 /* Additional specs */
};
@@ -0,0 +1,57 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaEeInterface"
* found in "Ieee1609Dot2Dot1AcaEeInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaEeInterfacePdu_H_
#define _Vanetza_Security2_AcaEeInterfacePdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "AcaEeCertResponse.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_AcaEeInterfacePdu_PR {
Vanetza_Security2_AcaEeInterfacePdu_PR_NOTHING, /* No components present */
Vanetza_Security2_AcaEeInterfacePdu_PR_acaEeCertResponse
/* Extensions may appear below */
} Vanetza_Security2_AcaEeInterfacePdu_PR;
/* Vanetza_Security2_AcaEeInterfacePdu */
typedef struct Vanetza_Security2_AcaEeInterfacePdu {
Vanetza_Security2_AcaEeInterfacePdu_PR present;
union Vanetza_Security2_AcaEeInterfacePdu_u {
Vanetza_Security2_AcaEeCertResponse_t acaEeCertResponse;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AcaEeInterfacePdu_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaEeInterfacePdu;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_AcaEeInterfacePdu_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaEeInterfacePdu_1[1];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaEeInterfacePdu_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcaEeInterfacePdu_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaEeInterfacePdu_H_ */
#include "asn_internal.h"
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaLaInterface"
* found in "Ieee1609Dot2Dot1AcaLaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaLaInterfacePdu.h"
/*
* This type is implemented using NULL,
* so here we adjust the DEF accordingly.
*/
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AcaLaInterfacePdu_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (5 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaLaInterfacePdu = {
"AcaLaInterfacePdu",
"AcaLaInterfacePdu",
&asn_OP_NULL,
asn_DEF_Vanetza_Security2_AcaLaInterfacePdu_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcaLaInterfacePdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaLaInterfacePdu_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcaLaInterfacePdu_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcaLaInterfacePdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaLaInterfacePdu_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
NULL_constraint
},
0, 0, /* No members */
0 /* No specifics */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaLaInterface"
* found in "Ieee1609Dot2Dot1AcaLaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaLaInterfacePdu_H_
#define _Vanetza_Security2_AcaLaInterfacePdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "NULL.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcaLaInterfacePdu */
typedef NULL_t Vanetza_Security2_AcaLaInterfacePdu_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaLaInterfacePdu;
asn_struct_free_f Vanetza_Security2_AcaLaInterfacePdu_free;
asn_struct_print_f Vanetza_Security2_AcaLaInterfacePdu_print;
asn_constr_check_f Vanetza_Security2_AcaLaInterfacePdu_constraint;
ber_type_decoder_f Vanetza_Security2_AcaLaInterfacePdu_decode_ber;
der_type_encoder_f Vanetza_Security2_AcaLaInterfacePdu_encode_der;
xer_type_decoder_f Vanetza_Security2_AcaLaInterfacePdu_decode_xer;
xer_type_encoder_f Vanetza_Security2_AcaLaInterfacePdu_encode_xer;
jer_type_encoder_f Vanetza_Security2_AcaLaInterfacePdu_encode_jer;
oer_type_decoder_f Vanetza_Security2_AcaLaInterfacePdu_decode_oer;
oer_type_encoder_f Vanetza_Security2_AcaLaInterfacePdu_encode_oer;
per_type_decoder_f Vanetza_Security2_AcaLaInterfacePdu_decode_uper;
per_type_encoder_f Vanetza_Security2_AcaLaInterfacePdu_encode_uper;
per_type_decoder_f Vanetza_Security2_AcaLaInterfacePdu_decode_aper;
per_type_encoder_f Vanetza_Security2_AcaLaInterfacePdu_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaLaInterfacePdu_H_ */
#include "asn_internal.h"
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaMaInterface"
* found in "Ieee1609Dot2Dot1AcaMaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaMaInterfacePdu.h"
/*
* This type is implemented using NULL,
* so here we adjust the DEF accordingly.
*/
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AcaMaInterfacePdu_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (5 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaMaInterfacePdu = {
"AcaMaInterfacePdu",
"AcaMaInterfacePdu",
&asn_OP_NULL,
asn_DEF_Vanetza_Security2_AcaMaInterfacePdu_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcaMaInterfacePdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaMaInterfacePdu_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcaMaInterfacePdu_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcaMaInterfacePdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaMaInterfacePdu_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
NULL_constraint
},
0, 0, /* No members */
0 /* No specifics */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaMaInterface"
* found in "Ieee1609Dot2Dot1AcaMaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaMaInterfacePdu_H_
#define _Vanetza_Security2_AcaMaInterfacePdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "NULL.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcaMaInterfacePdu */
typedef NULL_t Vanetza_Security2_AcaMaInterfacePdu_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaMaInterfacePdu;
asn_struct_free_f Vanetza_Security2_AcaMaInterfacePdu_free;
asn_struct_print_f Vanetza_Security2_AcaMaInterfacePdu_print;
asn_constr_check_f Vanetza_Security2_AcaMaInterfacePdu_constraint;
ber_type_decoder_f Vanetza_Security2_AcaMaInterfacePdu_decode_ber;
der_type_encoder_f Vanetza_Security2_AcaMaInterfacePdu_encode_der;
xer_type_decoder_f Vanetza_Security2_AcaMaInterfacePdu_decode_xer;
xer_type_encoder_f Vanetza_Security2_AcaMaInterfacePdu_encode_xer;
jer_type_encoder_f Vanetza_Security2_AcaMaInterfacePdu_encode_jer;
oer_type_decoder_f Vanetza_Security2_AcaMaInterfacePdu_decode_oer;
oer_type_encoder_f Vanetza_Security2_AcaMaInterfacePdu_encode_oer;
per_type_decoder_f Vanetza_Security2_AcaMaInterfacePdu_decode_uper;
per_type_encoder_f Vanetza_Security2_AcaMaInterfacePdu_encode_uper;
per_type_decoder_f Vanetza_Security2_AcaMaInterfacePdu_decode_aper;
per_type_encoder_f Vanetza_Security2_AcaMaInterfacePdu_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaMaInterfacePdu_H_ */
#include "asn_internal.h"
@@ -0,0 +1,172 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
* found in "Ieee1609Dot2Dot1AcaRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaRaCertResponse.h"
static int
memb_Vanetza_Security2_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value == 2L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (2..2) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 0, 0, 2, 2 } /* (2..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaRaCertResponse_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaRaCertResponse, version),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Uint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_version_constraint_1
},
0, 0, /* No default value */
"version"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaRaCertResponse, generationTime),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Time32,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"generationTime"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaRaCertResponse, requestHash),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_HashedId8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"requestHash"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaRaCertResponse, acaResponse),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_AcaResponse,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"acaResponse"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AcaRaCertResponse_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AcaRaCertResponse_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* generationTime */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* requestHash */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* acaResponse */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AcaRaCertResponse_specs_1 = {
sizeof(struct Vanetza_Security2_AcaRaCertResponse),
offsetof(struct Vanetza_Security2_AcaRaCertResponse, _asn_ctx),
asn_MAP_Vanetza_Security2_AcaRaCertResponse_tag2el_1,
4, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
4, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaRaCertResponse = {
"AcaRaCertResponse",
"AcaRaCertResponse",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AcaRaCertResponse_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcaRaCertResponse_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaRaCertResponse_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcaRaCertResponse_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcaRaCertResponse_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaRaCertResponse_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_AcaRaCertResponse_1,
4, /* Elements count */
&asn_SPC_Vanetza_Security2_AcaRaCertResponse_specs_1 /* Additional specs */
};
@@ -0,0 +1,50 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
* found in "Ieee1609Dot2Dot1AcaRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaRaCertResponse_H_
#define _Vanetza_Security2_AcaRaCertResponse_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Uint8.h"
#include "Time32.h"
#include "HashedId8.h"
#include "AcaResponse.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcaRaCertResponse */
typedef struct Vanetza_Security2_AcaRaCertResponse {
Vanetza_Security2_Uint8_t version;
Vanetza_Security2_Time32_t generationTime;
Vanetza_Security2_HashedId8_t requestHash;
Vanetza_Security2_AcaResponse_t acaResponse;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AcaRaCertResponse_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaRaCertResponse;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AcaRaCertResponse_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaRaCertResponse_1[4];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaRaCertResponse_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaRaCertResponseSpdu.h"
int
Vanetza_Security2_AcaRaCertResponseSpdu_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_AcaRaCertResponseSpdu_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_Ieee1609Dot2Data_Signed_228P2,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaRaCertResponseSpdu_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcaRaCertResponseSpdu_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AcaRaCertResponseSpdu_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaRaCertResponseSpdu = {
"AcaRaCertResponseSpdu",
"AcaRaCertResponseSpdu",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AcaRaCertResponseSpdu_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcaRaCertResponseSpdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaRaCertResponseSpdu_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcaRaCertResponseSpdu_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcaRaCertResponseSpdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaRaCertResponseSpdu_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AcaRaCertResponseSpdu_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcaRaCertResponseSpdu_constr_1,
#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_Security2_AcaRaCertResponseSpdu_constraint
},
asn_MBR_Vanetza_Security2_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaRaCertResponseSpdu_H_
#define _Vanetza_Security2_AcaRaCertResponseSpdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Ieee1609Dot2Data-Signed.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcaRaCertResponseSpdu */
typedef Vanetza_Security2_Ieee1609Dot2Data_Signed_228P2_t Vanetza_Security2_AcaRaCertResponseSpdu_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaRaCertResponseSpdu;
asn_struct_free_f Vanetza_Security2_AcaRaCertResponseSpdu_free;
asn_struct_print_f Vanetza_Security2_AcaRaCertResponseSpdu_print;
asn_constr_check_f Vanetza_Security2_AcaRaCertResponseSpdu_constraint;
ber_type_decoder_f Vanetza_Security2_AcaRaCertResponseSpdu_decode_ber;
der_type_encoder_f Vanetza_Security2_AcaRaCertResponseSpdu_encode_der;
xer_type_decoder_f Vanetza_Security2_AcaRaCertResponseSpdu_decode_xer;
xer_type_encoder_f Vanetza_Security2_AcaRaCertResponseSpdu_encode_xer;
jer_type_encoder_f Vanetza_Security2_AcaRaCertResponseSpdu_encode_jer;
oer_type_decoder_f Vanetza_Security2_AcaRaCertResponseSpdu_decode_oer;
oer_type_encoder_f Vanetza_Security2_AcaRaCertResponseSpdu_encode_oer;
per_type_decoder_f Vanetza_Security2_AcaRaCertResponseSpdu_decode_uper;
per_type_encoder_f Vanetza_Security2_AcaRaCertResponseSpdu_encode_uper;
per_type_decoder_f Vanetza_Security2_AcaRaCertResponseSpdu_decode_aper;
per_type_encoder_f Vanetza_Security2_AcaRaCertResponseSpdu_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaRaCertResponseSpdu_H_ */
#include "asn_internal.h"
@@ -0,0 +1,102 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
* found in "Ieee1609Dot2Dot1AcaRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaRaInterfacePdu.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaRaInterfacePdu_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_Security2_AcaRaInterfacePdu_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaRaInterfacePdu_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaRaInterfacePdu, choice.raAcaCertRequest),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_RaAcaCertRequest,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"raAcaCertRequest"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaRaInterfacePdu, choice.acaRaCertResponse),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_AcaRaCertResponse,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"acaRaCertResponse"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AcaRaInterfacePdu_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* raAcaCertRequest */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* acaRaCertResponse */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_AcaRaInterfacePdu_specs_1 = {
sizeof(struct Vanetza_Security2_AcaRaInterfacePdu),
offsetof(struct Vanetza_Security2_AcaRaInterfacePdu, _asn_ctx),
offsetof(struct Vanetza_Security2_AcaRaInterfacePdu, present),
sizeof(((struct Vanetza_Security2_AcaRaInterfacePdu *)0)->present),
asn_MAP_Vanetza_Security2_AcaRaInterfacePdu_tag2el_1,
2, /* Count of tags in the map */
0, 0,
2 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaRaInterfacePdu = {
"AcaRaInterfacePdu",
"AcaRaInterfacePdu",
&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_Security2_AcaRaInterfacePdu_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcaRaInterfacePdu_constr_1,
#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_Security2_AcaRaInterfacePdu_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_AcaRaInterfacePdu_specs_1 /* Additional specs */
};
@@ -0,0 +1,60 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
* found in "Ieee1609Dot2Dot1AcaRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaRaInterfacePdu_H_
#define _Vanetza_Security2_AcaRaInterfacePdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "RaAcaCertRequest.h"
#include "AcaRaCertResponse.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_AcaRaInterfacePdu_PR {
Vanetza_Security2_AcaRaInterfacePdu_PR_NOTHING, /* No components present */
Vanetza_Security2_AcaRaInterfacePdu_PR_raAcaCertRequest,
Vanetza_Security2_AcaRaInterfacePdu_PR_acaRaCertResponse
/* Extensions may appear below */
} Vanetza_Security2_AcaRaInterfacePdu_PR;
/* Vanetza_Security2_AcaRaInterfacePdu */
typedef struct Vanetza_Security2_AcaRaInterfacePdu {
Vanetza_Security2_AcaRaInterfacePdu_PR present;
union Vanetza_Security2_AcaRaInterfacePdu_u {
Vanetza_Security2_RaAcaCertRequest_t raAcaCertRequest;
Vanetza_Security2_AcaRaCertResponse_t acaRaCertResponse;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AcaRaInterfacePdu_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaRaInterfacePdu;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_AcaRaInterfacePdu_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaRaInterfacePdu_1[2];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaRaInterfacePdu_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcaRaInterfacePdu_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaRaInterfacePdu_H_ */
#include "asn_internal.h"
@@ -0,0 +1,123 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
* found in "Ieee1609Dot2Dot1AcaRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaResponse.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaResponse_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_Security2_AcaResponse_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaResponse_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaResponse, choice.plain),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_AcaEeCertResponsePlainSpdu,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"plain"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaResponse, choice.Private),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_AcaEeCertResponsePrivateSpdu,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"private"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaResponse, choice.cubk),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_AcaEeCertResponseCubkSpdu,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"cubk"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AcaResponse_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* plain */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* private */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* cubk */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_AcaResponse_specs_1 = {
sizeof(struct Vanetza_Security2_AcaResponse),
offsetof(struct Vanetza_Security2_AcaResponse, _asn_ctx),
offsetof(struct Vanetza_Security2_AcaResponse, present),
sizeof(((struct Vanetza_Security2_AcaResponse *)0)->present),
asn_MAP_Vanetza_Security2_AcaResponse_tag2el_1,
3, /* Count of tags in the map */
0, 0,
3 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaResponse = {
"AcaResponse",
"AcaResponse",
&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_Security2_AcaResponse_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcaResponse_constr_1,
#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_Security2_AcaResponse_1,
3, /* Elements count */
&asn_SPC_Vanetza_Security2_AcaResponse_specs_1 /* Additional specs */
};
@@ -0,0 +1,63 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
* found in "Ieee1609Dot2Dot1AcaRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaResponse_H_
#define _Vanetza_Security2_AcaResponse_H_
#include "asn_application.h"
/* Including external dependencies */
#include "AcaEeCertResponsePlainSpdu.h"
#include "AcaEeCertResponsePrivateSpdu.h"
#include "AcaEeCertResponseCubkSpdu.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_AcaResponse_PR {
Vanetza_Security2_AcaResponse_PR_NOTHING, /* No components present */
Vanetza_Security2_AcaResponse_PR_plain,
Vanetza_Security2_AcaResponse_PR_private,
Vanetza_Security2_AcaResponse_PR_cubk
/* Extensions may appear below */
} Vanetza_Security2_AcaResponse_PR;
/* Vanetza_Security2_AcaResponse */
typedef struct Vanetza_Security2_AcaResponse {
Vanetza_Security2_AcaResponse_PR present;
union Vanetza_Security2_AcaResponse_u {
Vanetza_Security2_AcaEeCertResponsePlainSpdu_t plain;
Vanetza_Security2_AcaEeCertResponsePrivateSpdu_t Private;
Vanetza_Security2_AcaEeCertResponseCubkSpdu_t cubk;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AcaResponse_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaResponse;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_AcaResponse_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaResponse_1[3];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcaResponse_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcaResponse_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaResponse_H_ */
#include "asn_internal.h"
@@ -0,0 +1,109 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcaSsp.h"
static int
memb_Vanetza_Security2_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value == 2L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (2..2) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 0, 0, 2, 2 } /* (2..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaSsp_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcaSsp, version),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Uint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_version_constraint_1
},
0, 0, /* No default value */
"version"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AcaSsp_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AcaSsp_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* version */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AcaSsp_specs_1 = {
sizeof(struct Vanetza_Security2_AcaSsp),
offsetof(struct Vanetza_Security2_AcaSsp, _asn_ctx),
asn_MAP_Vanetza_Security2_AcaSsp_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaSsp = {
"AcaSsp",
"AcaSsp",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AcaSsp_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcaSsp_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaSsp_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcaSsp_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcaSsp_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcaSsp_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_AcaSsp_1,
1, /* Elements count */
&asn_SPC_Vanetza_Security2_AcaSsp_specs_1 /* Additional specs */
};
@@ -0,0 +1,44 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcaSsp_H_
#define _Vanetza_Security2_AcaSsp_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Uint8.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcaSsp */
typedef struct Vanetza_Security2_AcaSsp {
Vanetza_Security2_Uint8_t version;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AcaSsp_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcaSsp;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AcaSsp_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcaSsp_1[1];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcaSsp_H_ */
#include "asn_internal.h"
@@ -0,0 +1,80 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcpcNodeValue.h"
int
Vanetza_Security2_AcpcNodeValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if((size == 16UL)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcpcNodeValue_constr_1 CC_NOTUSED = {
{ 0, 0 },
16 /* (SIZE(16..16)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcpcNodeValue_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AcpcNodeValue_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcpcNodeValue = {
"AcpcNodeValue",
"AcpcNodeValue",
&asn_OP_OCTET_STRING,
asn_DEF_Vanetza_Security2_AcpcNodeValue_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcpcNodeValue_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcpcNodeValue_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcpcNodeValue_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcpcNodeValue_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcpcNodeValue_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AcpcNodeValue_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcpcNodeValue_constr_1,
#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_Security2_AcpcNodeValue_constraint
},
0, 0, /* No members */
&asn_SPC_OCTET_STRING_specs /* Additional specs */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcpcNodeValue_H_
#define _Vanetza_Security2_AcpcNodeValue_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcpcNodeValue */
typedef OCTET_STRING_t Vanetza_Security2_AcpcNodeValue_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcpcNodeValue_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcpcNodeValue_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcpcNodeValue;
asn_struct_free_f Vanetza_Security2_AcpcNodeValue_free;
asn_struct_print_f Vanetza_Security2_AcpcNodeValue_print;
asn_constr_check_f Vanetza_Security2_AcpcNodeValue_constraint;
ber_type_decoder_f Vanetza_Security2_AcpcNodeValue_decode_ber;
der_type_encoder_f Vanetza_Security2_AcpcNodeValue_encode_der;
xer_type_decoder_f Vanetza_Security2_AcpcNodeValue_decode_xer;
xer_type_encoder_f Vanetza_Security2_AcpcNodeValue_encode_xer;
jer_type_encoder_f Vanetza_Security2_AcpcNodeValue_encode_jer;
oer_type_decoder_f Vanetza_Security2_AcpcNodeValue_decode_oer;
oer_type_encoder_f Vanetza_Security2_AcpcNodeValue_encode_oer;
per_type_decoder_f Vanetza_Security2_AcpcNodeValue_decode_uper;
per_type_encoder_f Vanetza_Security2_AcpcNodeValue_encode_uper;
per_type_decoder_f Vanetza_Security2_AcpcNodeValue_decode_aper;
per_type_encoder_f Vanetza_Security2_AcpcNodeValue_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcpcNodeValue_H_ */
#include "asn_internal.h"
@@ -0,0 +1,102 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcpcPdu.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcpcPdu_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcpcPdu_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcpcPdu_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcpcPdu, choice.tree),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_AprvBinaryTree,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"tree"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcpcPdu, choice.aprv),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_IndividualAprv,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"aprv"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AcpcPdu_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tree */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aprv */
};
static asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_AcpcPdu_specs_1 = {
sizeof(struct Vanetza_Security2_AcpcPdu),
offsetof(struct Vanetza_Security2_AcpcPdu, _asn_ctx),
offsetof(struct Vanetza_Security2_AcpcPdu, present),
sizeof(((struct Vanetza_Security2_AcpcPdu *)0)->present),
asn_MAP_Vanetza_Security2_AcpcPdu_tag2el_1,
2, /* Count of tags in the map */
0, 0,
2 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcpcPdu = {
"AcpcPdu",
"AcpcPdu",
&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_Security2_AcpcPdu_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcpcPdu_constr_1,
#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_Security2_AcpcPdu_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_AcpcPdu_specs_1 /* Additional specs */
};
@@ -0,0 +1,56 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcpcPdu_H_
#define _Vanetza_Security2_AcpcPdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "AprvBinaryTree.h"
#include "IndividualAprv.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_AcpcPdu_PR {
Vanetza_Security2_AcpcPdu_PR_NOTHING, /* No components present */
Vanetza_Security2_AcpcPdu_PR_tree,
Vanetza_Security2_AcpcPdu_PR_aprv
/* Extensions may appear below */
} Vanetza_Security2_AcpcPdu_PR;
/* Vanetza_Security2_AcpcPdu */
typedef struct Vanetza_Security2_AcpcPdu {
Vanetza_Security2_AcpcPdu_PR present;
union Vanetza_Security2_AcpcPdu_u {
Vanetza_Security2_AprvBinaryTree_t tree;
Vanetza_Security2_IndividualAprv_t aprv;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AcpcPdu_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcpcPdu;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcpcPdu_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcpcPsid.h"
int
Vanetza_Security2_AcpcPsid_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const unsigned long *)sptr;
if((value == 2113696L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using Vanetza_Security2_Psid,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcpcPsid_constr_1 CC_NOTUSED = {
{ 4, 1 } /* (2113696..2113696) */,
-1};
#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_Security2_AcpcPsid_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 0, -1, 2113696, 2113696 } /* (2113696..2113696) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 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_Security2_AcpcPsid_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcpcPsid = {
"AcpcPsid",
"AcpcPsid",
&asn_OP_NativeInteger,
asn_DEF_Vanetza_Security2_AcpcPsid_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcpcPsid_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcpcPsid_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcpcPsid_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcpcPsid_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcpcPsid_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AcpcPsid_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcpcPsid_constr_1,
#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_Security2_AcpcPsid_constraint
},
0, 0, /* No members */
&asn_SPC_Vanetza_Security2_Psid_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcpcPsid_H_
#define _Vanetza_Security2_AcpcPsid_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Psid.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcpcPsid */
typedef Vanetza_Security2_Psid_t Vanetza_Security2_AcpcPsid_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcpcPsid;
asn_struct_free_f Vanetza_Security2_AcpcPsid_free;
asn_struct_print_f Vanetza_Security2_AcpcPsid_print;
asn_constr_check_f Vanetza_Security2_AcpcPsid_constraint;
ber_type_decoder_f Vanetza_Security2_AcpcPsid_decode_ber;
der_type_encoder_f Vanetza_Security2_AcpcPsid_encode_der;
xer_type_decoder_f Vanetza_Security2_AcpcPsid_decode_xer;
xer_type_encoder_f Vanetza_Security2_AcpcPsid_encode_xer;
jer_type_encoder_f Vanetza_Security2_AcpcPsid_encode_jer;
oer_type_decoder_f Vanetza_Security2_AcpcPsid_decode_oer;
oer_type_encoder_f Vanetza_Security2_AcpcPsid_encode_oer;
per_type_decoder_f Vanetza_Security2_AcpcPsid_decode_uper;
per_type_encoder_f Vanetza_Security2_AcpcPsid_encode_uper;
per_type_decoder_f Vanetza_Security2_AcpcPsid_decode_aper;
per_type_encoder_f Vanetza_Security2_AcpcPsid_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcpcPsid_H_ */
#include "asn_internal.h"
@@ -0,0 +1,81 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcpcSsp.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcpcSsp_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcpcSsp_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security2_AcpcSsp_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AcpcSsp, choice.cam),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_CamSsp,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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 asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AcpcSsp_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cam */
};
static asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_AcpcSsp_specs_1 = {
sizeof(struct Vanetza_Security2_AcpcSsp),
offsetof(struct Vanetza_Security2_AcpcSsp, _asn_ctx),
offsetof(struct Vanetza_Security2_AcpcSsp, present),
sizeof(((struct Vanetza_Security2_AcpcSsp *)0)->present),
asn_MAP_Vanetza_Security2_AcpcSsp_tag2el_1,
1, /* Count of tags in the map */
0, 0,
1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcpcSsp = {
"AcpcSsp",
"AcpcSsp",
&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_Security2_AcpcSsp_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcpcSsp_constr_1,
#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_Security2_AcpcSsp_1,
1, /* Elements count */
&asn_SPC_Vanetza_Security2_AcpcSsp_specs_1 /* Additional specs */
};
@@ -0,0 +1,53 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcpcSsp_H_
#define _Vanetza_Security2_AcpcSsp_H_
#include "asn_application.h"
/* Including external dependencies */
#include "CamSsp.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_AcpcSsp_PR {
Vanetza_Security2_AcpcSsp_PR_NOTHING, /* No components present */
Vanetza_Security2_AcpcSsp_PR_cam
/* Extensions may appear below */
} Vanetza_Security2_AcpcSsp_PR;
/* Vanetza_Security2_AcpcSsp */
typedef struct Vanetza_Security2_AcpcSsp {
Vanetza_Security2_AcpcSsp_PR present;
union Vanetza_Security2_AcpcSsp_u {
Vanetza_Security2_CamSsp_t cam;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AcpcSsp_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcpcSsp;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcpcSsp_H_ */
#include "asn_internal.h"
@@ -0,0 +1,80 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AcpcTreeId.h"
int
Vanetza_Security2_AcpcTreeId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if((size == 8UL)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcpcTreeId_constr_1 CC_NOTUSED = {
{ 0, 0 },
8 /* (SIZE(8..8)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcpcTreeId_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AcpcTreeId_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcpcTreeId = {
"AcpcTreeId",
"AcpcTreeId",
&asn_OP_OCTET_STRING,
asn_DEF_Vanetza_Security2_AcpcTreeId_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AcpcTreeId_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcpcTreeId_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AcpcTreeId_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AcpcTreeId_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AcpcTreeId_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AcpcTreeId_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AcpcTreeId_constr_1,
#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_Security2_AcpcTreeId_constraint
},
0, 0, /* No members */
&asn_SPC_OCTET_STRING_specs /* Additional specs */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AcpcTreeId_H_
#define _Vanetza_Security2_AcpcTreeId_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AcpcTreeId */
typedef OCTET_STRING_t Vanetza_Security2_AcpcTreeId_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AcpcTreeId_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AcpcTreeId_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AcpcTreeId;
asn_struct_free_f Vanetza_Security2_AcpcTreeId_free;
asn_struct_print_f Vanetza_Security2_AcpcTreeId_print;
asn_constr_check_f Vanetza_Security2_AcpcTreeId_constraint;
ber_type_decoder_f Vanetza_Security2_AcpcTreeId_decode_ber;
der_type_encoder_f Vanetza_Security2_AcpcTreeId_encode_der;
xer_type_decoder_f Vanetza_Security2_AcpcTreeId_decode_xer;
xer_type_encoder_f Vanetza_Security2_AcpcTreeId_encode_xer;
jer_type_encoder_f Vanetza_Security2_AcpcTreeId_encode_jer;
oer_type_decoder_f Vanetza_Security2_AcpcTreeId_decode_oer;
oer_type_encoder_f Vanetza_Security2_AcpcTreeId_encode_oer;
per_type_decoder_f Vanetza_Security2_AcpcTreeId_decode_uper;
per_type_encoder_f Vanetza_Security2_AcpcTreeId_encode_uper;
per_type_decoder_f Vanetza_Security2_AcpcTreeId_decode_aper;
per_type_encoder_f Vanetza_Security2_AcpcTreeId_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AcpcTreeId_H_ */
#include "asn_internal.h"
@@ -0,0 +1,144 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
* found in "Ieee1609Dot2Dot1EeRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AdditionalParams.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AdditionalParams_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_Security2_AdditionalParams_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_AdditionalParams_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AdditionalParams, choice.original),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_ButterflyParamsOriginal,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"original"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AdditionalParams, choice.unified),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_ButterflyExpansion,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"unified"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AdditionalParams, choice.compactUnified),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_ButterflyExpansion,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"compactUnified"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AdditionalParams, choice.encryptionKey),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_PublicEncryptionKey,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"encryptionKey"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AdditionalParams_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* original */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* unified */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* compactUnified */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* encryptionKey */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_AdditionalParams_specs_1 = {
sizeof(struct Vanetza_Security2_AdditionalParams),
offsetof(struct Vanetza_Security2_AdditionalParams, _asn_ctx),
offsetof(struct Vanetza_Security2_AdditionalParams, present),
sizeof(((struct Vanetza_Security2_AdditionalParams *)0)->present),
asn_MAP_Vanetza_Security2_AdditionalParams_tag2el_1,
4, /* Count of tags in the map */
0, 0,
4 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AdditionalParams = {
"AdditionalParams",
"AdditionalParams",
&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_Security2_AdditionalParams_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AdditionalParams_constr_1,
#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_Security2_AdditionalParams_1,
4, /* Elements count */
&asn_SPC_Vanetza_Security2_AdditionalParams_specs_1 /* Additional specs */
};
@@ -0,0 +1,65 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
* found in "Ieee1609Dot2Dot1EeRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AdditionalParams_H_
#define _Vanetza_Security2_AdditionalParams_H_
#include "asn_application.h"
/* Including external dependencies */
#include "ButterflyParamsOriginal.h"
#include "ButterflyExpansion.h"
#include "PublicEncryptionKey.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_AdditionalParams_PR {
Vanetza_Security2_AdditionalParams_PR_NOTHING, /* No components present */
Vanetza_Security2_AdditionalParams_PR_original,
Vanetza_Security2_AdditionalParams_PR_unified,
Vanetza_Security2_AdditionalParams_PR_compactUnified,
Vanetza_Security2_AdditionalParams_PR_encryptionKey
/* Extensions may appear below */
} Vanetza_Security2_AdditionalParams_PR;
/* Vanetza_Security2_AdditionalParams */
typedef struct Vanetza_Security2_AdditionalParams {
Vanetza_Security2_AdditionalParams_PR present;
union Vanetza_Security2_AdditionalParams_u {
Vanetza_Security2_ButterflyParamsOriginal_t original;
Vanetza_Security2_ButterflyExpansion_t unified;
Vanetza_Security2_ButterflyExpansion_t compactUnified;
Vanetza_Security2_PublicEncryptionKey_t encryptionKey;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AdditionalParams_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AdditionalParams;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_AdditionalParams_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AdditionalParams_1[4];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AdditionalParams_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AdditionalParams_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AdditionalParams_H_ */
#include "asn_internal.h"
@@ -0,0 +1,43 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "Aes128CcmCiphertext.h"
/*
* This type is implemented using Vanetza_Security2_One28BitCcmCiphertext,
* so here we adjust the DEF accordingly.
*/
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_Aes128CcmCiphertext_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_Aes128CcmCiphertext = {
"Aes128CcmCiphertext",
"Aes128CcmCiphertext",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_Aes128CcmCiphertext_tags_1,
sizeof(asn_DEF_Vanetza_Security2_Aes128CcmCiphertext_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_Aes128CcmCiphertext_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_Aes128CcmCiphertext_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_Aes128CcmCiphertext_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_Aes128CcmCiphertext_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_One28BitCcmCiphertext_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_One28BitCcmCiphertext_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_Aes128CcmCiphertext_H_
#define _Vanetza_Security2_Aes128CcmCiphertext_H_
#include "asn_application.h"
/* Including external dependencies */
#include "One28BitCcmCiphertext.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_Aes128CcmCiphertext */
typedef Vanetza_Security2_One28BitCcmCiphertext_t Vanetza_Security2_Aes128CcmCiphertext_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_Aes128CcmCiphertext;
asn_struct_free_f Vanetza_Security2_Aes128CcmCiphertext_free;
asn_struct_print_f Vanetza_Security2_Aes128CcmCiphertext_print;
asn_constr_check_f Vanetza_Security2_Aes128CcmCiphertext_constraint;
ber_type_decoder_f Vanetza_Security2_Aes128CcmCiphertext_decode_ber;
der_type_encoder_f Vanetza_Security2_Aes128CcmCiphertext_encode_der;
xer_type_decoder_f Vanetza_Security2_Aes128CcmCiphertext_decode_xer;
xer_type_encoder_f Vanetza_Security2_Aes128CcmCiphertext_encode_xer;
jer_type_encoder_f Vanetza_Security2_Aes128CcmCiphertext_encode_jer;
oer_type_decoder_f Vanetza_Security2_Aes128CcmCiphertext_decode_oer;
oer_type_encoder_f Vanetza_Security2_Aes128CcmCiphertext_encode_oer;
per_type_decoder_f Vanetza_Security2_Aes128CcmCiphertext_decode_uper;
per_type_encoder_f Vanetza_Security2_Aes128CcmCiphertext_encode_uper;
per_type_decoder_f Vanetza_Security2_Aes128CcmCiphertext_decode_aper;
per_type_encoder_f Vanetza_Security2_Aes128CcmCiphertext_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_Aes128CcmCiphertext_H_ */
#include "asn_internal.h"
@@ -0,0 +1,259 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AppExtension.h"
static const long asn_VAL_2_Vanetza_Security2_certExtId_OperatingOrganization = 1;
static const asn_ioc_cell_t asn_IOS_Vanetza_Security2_SetCertExtensions_1_rows[] = {
{ "&id", aioc__value, &asn_DEF_Vanetza_Security2_Ieee1609Dot2BaseTypes_ExtId, &asn_VAL_2_Vanetza_Security2_certExtId_OperatingOrganization },
{ "&App", aioc__type, &asn_DEF_Vanetza_Security2_OperatingOrganizationId },
{ "&Issue", aioc__type, &asn_DEF_NULL },
{ "&Req", aioc__type, &asn_DEF_NULL }
};
static const asn_ioc_set_t asn_IOS_Vanetza_Security2_SetCertExtensions_1[] = {
{ 1, 4, asn_IOS_Vanetza_Security2_SetCertExtensions_1_rows }
};
static int
memb_Vanetza_Security2_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_type_selector_result_t
select_AppExtension_Vanetza_Security2_content_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
const asn_ioc_set_t *itable = asn_IOS_Vanetza_Security2_SetCertExtensions_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &App */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Vanetza_Security2_AppExtension, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
if(type_cell->cell_kind == aioc__undefined)
continue;
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
result.presence_index = presence_index;
break;
}
}
return result;
}
static int
memb_Vanetza_Security2_content_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_Security2_id_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (0..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_id_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_content_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_content_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security2_content_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AppExtension__content, choice.OperatingOrganizationId),
(ASN_TAG_CLASS_UNIVERSAL | (6 << 2)),
0,
&asn_DEF_Vanetza_Security2_OperatingOrganizationId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"OperatingOrganizationId"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_content_tag2el_3[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 0, 0, 0 } /* OperatingOrganizationId */
};
static asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_content_specs_3 = {
sizeof(struct Vanetza_Security2_AppExtension__content),
offsetof(struct Vanetza_Security2_AppExtension__content, _asn_ctx),
offsetof(struct Vanetza_Security2_AppExtension__content, present),
sizeof(((struct Vanetza_Security2_AppExtension__content *)0)->present),
asn_MAP_Vanetza_Security2_content_tag2el_3,
1, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_content_3 = {
"content",
"content",
&asn_OP_OPEN_TYPE,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
OPEN_TYPE_constraint
},
asn_MBR_Vanetza_Security2_content_3,
1, /* Elements count */
&asn_SPC_Vanetza_Security2_content_specs_3 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security2_AppExtension_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AppExtension, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Ieee1609Dot2BaseTypes_ExtId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_id_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_id_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_Security2_id_constraint_1
},
0, 0, /* No default value */
"id"
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AppExtension, content),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_content_3,
select_AppExtension_Vanetza_Security2_content_type,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_content_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_content_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_content_constraint_1
},
0, 0, /* No default value */
"content"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AppExtension_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AppExtension_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* content */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AppExtension_specs_1 = {
sizeof(struct Vanetza_Security2_AppExtension),
offsetof(struct Vanetza_Security2_AppExtension, _asn_ctx),
asn_MAP_Vanetza_Security2_AppExtension_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_Security2_AppExtension = {
"AppExtension",
"AppExtension",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AppExtension_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AppExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AppExtension_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AppExtension_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AppExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AppExtension_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_AppExtension_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_AppExtension_specs_1 /* Additional specs */
};
@@ -0,0 +1,61 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AppExtension_H_
#define _Vanetza_Security2_AppExtension_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Ieee1609Dot2BaseTypes_ExtId.h"
#include "ANY.h"
#include "asn_ioc.h"
#include "OperatingOrganizationId.h"
#include "NULL.h"
#include "OPEN_TYPE.h"
#include "constr_CHOICE.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_AppExtension__content_PR {
Vanetza_Security2_AppExtension__content_PR_NOTHING, /* No components present */
Vanetza_Security2_AppExtension__content_PR_OperatingOrganizationId
} Vanetza_Security2_AppExtension__content_PR;
/* Vanetza_Security2_AppExtension */
typedef struct Vanetza_Security2_AppExtension {
Vanetza_Security2_Ieee1609Dot2BaseTypes_ExtId_t id;
struct Vanetza_Security2_AppExtension__content {
Vanetza_Security2_AppExtension__content_PR present;
union Vanetza_Security2_AppExtension__Vanetza_Security2_content_u {
Vanetza_Security2_OperatingOrganizationId_t OperatingOrganizationId;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} content;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AppExtension_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AppExtension;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AppExtension_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AppExtension_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AppExtension_H_ */
#include "asn_internal.h"
@@ -0,0 +1,344 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AprvBinaryTree.h"
static int
memb_Vanetza_Security2_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value == 2L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_Vanetza_Security2_nodeValueList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
/* Determine the number of elements */
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
if((size >= 1UL)) {
/* Perform validation of the inner elements */
return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key);
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_nodeValueList_constr_8 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..MAX)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_nodeValueList_constr_8 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_SEMI_CONSTRAINED, -1, -1, 1, 0 } /* (SIZE(1..MAX)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (2..2) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 0, 0, 2, 2 } /* (2..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_nodeValueList_constr_8 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..MAX)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_nodeValueList_constr_8 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_SEMI_CONSTRAINED, -1, -1, 1, 0 } /* (SIZE(1..MAX)) */,
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_Security2_nodeValueList_8[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
0,
&asn_DEF_Vanetza_Security2_AcpcNodeValue,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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_Security2_nodeValueList_tags_8[] = {
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Vanetza_Security2_nodeValueList_specs_8 = {
sizeof(struct Vanetza_Security2_AprvBinaryTree__nodeValueList),
offsetof(struct Vanetza_Security2_AprvBinaryTree__nodeValueList, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_nodeValueList_8 = {
"nodeValueList",
"nodeValueList",
&asn_OP_SEQUENCE_OF,
asn_DEF_Vanetza_Security2_nodeValueList_tags_8,
sizeof(asn_DEF_Vanetza_Security2_nodeValueList_tags_8)
/sizeof(asn_DEF_Vanetza_Security2_nodeValueList_tags_8[0]) - 1, /* 1 */
asn_DEF_Vanetza_Security2_nodeValueList_tags_8, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_nodeValueList_tags_8)
/sizeof(asn_DEF_Vanetza_Security2_nodeValueList_tags_8[0]), /* 2 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_nodeValueList_constr_8,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_nodeValueList_constr_8,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_OF_constraint
},
asn_MBR_Vanetza_Security2_nodeValueList_8,
1, /* Single element */
&asn_SPC_Vanetza_Security2_nodeValueList_specs_8 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security2_AprvBinaryTree_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvBinaryTree, version),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Uint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_version_constraint_1
},
0, 0, /* No default value */
"version"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvBinaryTree, generationTime),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Time32,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"generationTime"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvBinaryTree, currentI),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_IValue,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"currentI"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvBinaryTree, acpcTreeId),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_AcpcTreeId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"acpcTreeId"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvBinaryTree, hashAlgorithmId),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_HashAlgorithm,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"hashAlgorithmId"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvBinaryTree, tree),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"tree"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvBinaryTree, nodeValueList),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
0,
&asn_DEF_Vanetza_Security2_nodeValueList_8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_nodeValueList_constr_8,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_nodeValueList_constr_8,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_nodeValueList_constraint_1
},
0, 0, /* No default value */
"nodeValueList"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AprvBinaryTree_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AprvBinaryTree_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* generationTime */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* currentI */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* acpcTreeId */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* hashAlgorithmId */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* tree */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* nodeValueList */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AprvBinaryTree_specs_1 = {
sizeof(struct Vanetza_Security2_AprvBinaryTree),
offsetof(struct Vanetza_Security2_AprvBinaryTree, _asn_ctx),
asn_MAP_Vanetza_Security2_AprvBinaryTree_tag2el_1,
7, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
7, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AprvBinaryTree = {
"AprvBinaryTree",
"AprvBinaryTree",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AprvBinaryTree_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AprvBinaryTree_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AprvBinaryTree_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AprvBinaryTree_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AprvBinaryTree_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AprvBinaryTree_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_AprvBinaryTree_1,
7, /* Elements count */
&asn_SPC_Vanetza_Security2_AprvBinaryTree_specs_1 /* Additional specs */
};
@@ -0,0 +1,63 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AprvBinaryTree_H_
#define _Vanetza_Security2_AprvBinaryTree_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Uint8.h"
#include "Time32.h"
#include "IValue.h"
#include "AcpcTreeId.h"
#include "HashAlgorithm.h"
#include "BIT_STRING.h"
#include "AcpcNodeValue.h"
#include "asn_SEQUENCE_OF.h"
#include "constr_SEQUENCE_OF.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AprvBinaryTree */
typedef struct Vanetza_Security2_AprvBinaryTree {
Vanetza_Security2_Uint8_t version;
Vanetza_Security2_Time32_t generationTime;
Vanetza_Security2_IValue_t currentI;
Vanetza_Security2_AcpcTreeId_t acpcTreeId;
Vanetza_Security2_HashAlgorithm_t hashAlgorithmId;
BIT_STRING_t tree;
struct Vanetza_Security2_AprvBinaryTree__nodeValueList {
A_SEQUENCE_OF(Vanetza_Security2_AcpcNodeValue_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} nodeValueList;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AprvBinaryTree_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AprvBinaryTree;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AprvBinaryTree_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AprvBinaryTree_1[7];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AprvBinaryTree_H_ */
#include "asn_internal.h"
@@ -0,0 +1,231 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AprvHashCalculationInput.h"
static int
memb_Vanetza_Security2_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value == 2L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_Vanetza_Security2_parentNodeValue_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if((size == 16UL)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (2..2) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 0, 0, 2, 2 } /* (2..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_parentNodeValue_constr_6 CC_NOTUSED = {
{ 0, 0 },
16 /* (SIZE(16..16)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_parentNodeValue_constr_6 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security2_AprvHashCalculationInput_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvHashCalculationInput, version),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Uint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_version_constraint_1
},
0, 0, /* No default value */
"version"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvHashCalculationInput, acpcTreeId),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_AcpcTreeId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"acpcTreeId"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvHashCalculationInput, acpcPeriod),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_IValue,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"acpcPeriod"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvHashCalculationInput, childNodeId),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"childNodeId"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AprvHashCalculationInput, parentNodeValue),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_parentNodeValue_constr_6,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_parentNodeValue_constr_6,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_parentNodeValue_constraint_1
},
0, 0, /* No default value */
"parentNodeValue"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AprvHashCalculationInput_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AprvHashCalculationInput_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* acpcTreeId */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* acpcPeriod */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* childNodeId */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* parentNodeValue */
};
static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AprvHashCalculationInput_specs_1 = {
sizeof(struct Vanetza_Security2_AprvHashCalculationInput),
offsetof(struct Vanetza_Security2_AprvHashCalculationInput, _asn_ctx),
asn_MAP_Vanetza_Security2_AprvHashCalculationInput_tag2el_1,
5, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
5, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AprvHashCalculationInput = {
"AprvHashCalculationInput",
"AprvHashCalculationInput",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AprvHashCalculationInput_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AprvHashCalculationInput_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AprvHashCalculationInput_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AprvHashCalculationInput_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AprvHashCalculationInput_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AprvHashCalculationInput_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_AprvHashCalculationInput_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security2_AprvHashCalculationInput_specs_1 /* Additional specs */
};
@@ -0,0 +1,50 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Acpc"
* found in "Ieee1609Dot2Dot1Acpc.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AprvHashCalculationInput_H_
#define _Vanetza_Security2_AprvHashCalculationInput_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Uint8.h"
#include "AcpcTreeId.h"
#include "IValue.h"
#include "BIT_STRING.h"
#include "OCTET_STRING.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AprvHashCalculationInput */
typedef struct Vanetza_Security2_AprvHashCalculationInput {
Vanetza_Security2_Uint8_t version;
Vanetza_Security2_AcpcTreeId_t acpcTreeId;
Vanetza_Security2_IValue_t acpcPeriod;
BIT_STRING_t childNodeId;
OCTET_STRING_t parentNodeValue;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AprvHashCalculationInput_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AprvHashCalculationInput;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AprvHashCalculationInput_H_ */
#include "asn_internal.h"
@@ -0,0 +1,123 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorization"
* found in "TypesAuthorization.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AuthorizationResponseCode.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_Security2_AuthorizationResponseCode_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_Security2_AuthorizationResponseCode_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 26 } /* (0..26,...) */,
{ APC_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_Security2_AuthorizationResponseCode_value2enum_1[] = {
{ 0, 2, "ok" },
{ 1, 16, "its-aa-cantparse" },
{ 2, 21, "its-aa-badcontenttype" },
{ 3, 24, "its-aa-imnottherecipient" },
{ 4, 33, "its-aa-unknownencryptionalgorithm" },
{ 5, 23, "its-aa-decryptionfailed" },
{ 6, 20, "its-aa-keysdontmatch" },
{ 7, 24, "its-aa-incompleterequest" },
{ 8, 27, "its-aa-invalidencryptionkey" },
{ 9, 23, "its-aa-outofsyncrequest" },
{ 10, 16, "its-aa-unknownea" },
{ 11, 16, "its-aa-invalidea" },
{ 12, 24, "its-aa-deniedpermissions" },
{ 13, 17, "aa-ea-cantreachea" },
{ 14, 15, "ea-aa-cantparse" },
{ 15, 20, "ea-aa-badcontenttype" },
{ 16, 23, "ea-aa-imnottherecipient" },
{ 17, 32, "ea-aa-unknownencryptionalgorithm" },
{ 18, 22, "ea-aa-decryptionfailed" },
{ 19, 9, "invalidaa" },
{ 20, 18, "invalidaasignature" },
{ 21, 7, "wrongea" },
{ 22, 10, "unknownits" },
{ 23, 16, "invalidsignature" },
{ 24, 20, "invalidencryptionkey" },
{ 25, 17, "deniedpermissions" },
{ 26, 18, "deniedtoomanycerts" }
/* This list is extensible */
};
static const unsigned int asn_MAP_Vanetza_Security2_AuthorizationResponseCode_enum2value_1[] = {
13, /* aa-ea-cantreachea(13) */
25, /* deniedpermissions(25) */
26, /* deniedtoomanycerts(26) */
15, /* ea-aa-badcontenttype(15) */
14, /* ea-aa-cantparse(14) */
18, /* ea-aa-decryptionfailed(18) */
16, /* ea-aa-imnottherecipient(16) */
17, /* ea-aa-unknownencryptionalgorithm(17) */
19, /* invalidaa(19) */
20, /* invalidaasignature(20) */
24, /* invalidencryptionkey(24) */
23, /* invalidsignature(23) */
2, /* its-aa-badcontenttype(2) */
1, /* its-aa-cantparse(1) */
5, /* its-aa-decryptionfailed(5) */
12, /* its-aa-deniedpermissions(12) */
3, /* its-aa-imnottherecipient(3) */
7, /* its-aa-incompleterequest(7) */
11, /* its-aa-invalidea(11) */
8, /* its-aa-invalidencryptionkey(8) */
6, /* its-aa-keysdontmatch(6) */
9, /* its-aa-outofsyncrequest(9) */
10, /* its-aa-unknownea(10) */
4, /* its-aa-unknownencryptionalgorithm(4) */
0, /* ok(0) */
22, /* unknownits(22) */
21 /* wrongea(21) */
/* This list is extensible */
};
const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security2_AuthorizationResponseCode_specs_1 = {
asn_MAP_Vanetza_Security2_AuthorizationResponseCode_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Vanetza_Security2_AuthorizationResponseCode_enum2value_1, /* N => "tag"; sorted by N */
27, /* Number of elements in the maps */
28, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AuthorizationResponseCode_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AuthorizationResponseCode = {
"AuthorizationResponseCode",
"AuthorizationResponseCode",
&asn_OP_NativeEnumerated,
asn_DEF_Vanetza_Security2_AuthorizationResponseCode_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AuthorizationResponseCode_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationResponseCode_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AuthorizationResponseCode_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AuthorizationResponseCode_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationResponseCode_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AuthorizationResponseCode_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AuthorizationResponseCode_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
NativeEnumerated_constraint
},
0, 0, /* Defined elsewhere */
&asn_SPC_Vanetza_Security2_AuthorizationResponseCode_specs_1 /* Additional specs */
};
@@ -0,0 +1,83 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorization"
* found in "TypesAuthorization.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AuthorizationResponseCode_H_
#define _Vanetza_Security2_AuthorizationResponseCode_H_
#include "asn_application.h"
/* Including external dependencies */
#include "NativeEnumerated.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_AuthorizationResponseCode {
Vanetza_Security2_AuthorizationResponseCode_ok = 0,
Vanetza_Security2_AuthorizationResponseCode_its_aa_cantparse = 1,
Vanetza_Security2_AuthorizationResponseCode_its_aa_badcontenttype = 2,
Vanetza_Security2_AuthorizationResponseCode_its_aa_imnottherecipient = 3,
Vanetza_Security2_AuthorizationResponseCode_its_aa_unknownencryptionalgorithm = 4,
Vanetza_Security2_AuthorizationResponseCode_its_aa_decryptionfailed = 5,
Vanetza_Security2_AuthorizationResponseCode_its_aa_keysdontmatch = 6,
Vanetza_Security2_AuthorizationResponseCode_its_aa_incompleterequest = 7,
Vanetza_Security2_AuthorizationResponseCode_its_aa_invalidencryptionkey = 8,
Vanetza_Security2_AuthorizationResponseCode_its_aa_outofsyncrequest = 9,
Vanetza_Security2_AuthorizationResponseCode_its_aa_unknownea = 10,
Vanetza_Security2_AuthorizationResponseCode_its_aa_invalidea = 11,
Vanetza_Security2_AuthorizationResponseCode_its_aa_deniedpermissions = 12,
Vanetza_Security2_AuthorizationResponseCode_aa_ea_cantreachea = 13,
Vanetza_Security2_AuthorizationResponseCode_ea_aa_cantparse = 14,
Vanetza_Security2_AuthorizationResponseCode_ea_aa_badcontenttype = 15,
Vanetza_Security2_AuthorizationResponseCode_ea_aa_imnottherecipient = 16,
Vanetza_Security2_AuthorizationResponseCode_ea_aa_unknownencryptionalgorithm = 17,
Vanetza_Security2_AuthorizationResponseCode_ea_aa_decryptionfailed = 18,
Vanetza_Security2_AuthorizationResponseCode_invalidaa = 19,
Vanetza_Security2_AuthorizationResponseCode_invalidaasignature = 20,
Vanetza_Security2_AuthorizationResponseCode_wrongea = 21,
Vanetza_Security2_AuthorizationResponseCode_unknownits = 22,
Vanetza_Security2_AuthorizationResponseCode_invalidsignature = 23,
Vanetza_Security2_AuthorizationResponseCode_invalidencryptionkey = 24,
Vanetza_Security2_AuthorizationResponseCode_deniedpermissions = 25,
Vanetza_Security2_AuthorizationResponseCode_deniedtoomanycerts = 26
/*
* Enumeration is extensible
*/
} e_Vanetza_Security2_AuthorizationResponseCode;
/* Vanetza_Security2_AuthorizationResponseCode */
typedef long Vanetza_Security2_AuthorizationResponseCode_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AuthorizationResponseCode_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AuthorizationResponseCode_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AuthorizationResponseCode;
extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security2_AuthorizationResponseCode_specs_1;
asn_struct_free_f Vanetza_Security2_AuthorizationResponseCode_free;
asn_struct_print_f Vanetza_Security2_AuthorizationResponseCode_print;
asn_constr_check_f Vanetza_Security2_AuthorizationResponseCode_constraint;
ber_type_decoder_f Vanetza_Security2_AuthorizationResponseCode_decode_ber;
der_type_encoder_f Vanetza_Security2_AuthorizationResponseCode_encode_der;
xer_type_decoder_f Vanetza_Security2_AuthorizationResponseCode_decode_xer;
xer_type_encoder_f Vanetza_Security2_AuthorizationResponseCode_encode_xer;
jer_type_encoder_f Vanetza_Security2_AuthorizationResponseCode_encode_jer;
oer_type_decoder_f Vanetza_Security2_AuthorizationResponseCode_decode_oer;
oer_type_encoder_f Vanetza_Security2_AuthorizationResponseCode_encode_oer;
per_type_decoder_f Vanetza_Security2_AuthorizationResponseCode_decode_uper;
per_type_encoder_f Vanetza_Security2_AuthorizationResponseCode_encode_uper;
per_type_decoder_f Vanetza_Security2_AuthorizationResponseCode_decode_aper;
per_type_encoder_f Vanetza_Security2_AuthorizationResponseCode_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AuthorizationResponseCode_H_ */
#include "asn_internal.h"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AuthorizationValidationRequest.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security2_AuthorizationValidationRequest_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AuthorizationValidationRequest, sharedAtRequest),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_SharedAtRequest,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"sharedAtRequest"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AuthorizationValidationRequest, ecSignature),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_EcSignature,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"ecSignature"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AuthorizationValidationRequest_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AuthorizationValidationRequest_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sharedAtRequest */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ecSignature */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AuthorizationValidationRequest_specs_1 = {
sizeof(struct Vanetza_Security2_AuthorizationValidationRequest),
offsetof(struct Vanetza_Security2_AuthorizationValidationRequest, _asn_ctx),
asn_MAP_Vanetza_Security2_AuthorizationValidationRequest_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_Security2_AuthorizationValidationRequest = {
"AuthorizationValidationRequest",
"AuthorizationValidationRequest",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AuthorizationValidationRequest_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationRequest_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AuthorizationValidationRequest_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationRequest_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_AuthorizationValidationRequest_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_AuthorizationValidationRequest_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AuthorizationValidationRequest_H_
#define _Vanetza_Security2_AuthorizationValidationRequest_H_
#include "asn_application.h"
/* Including external dependencies */
#include "SharedAtRequest.h"
#include "EcSignature.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AuthorizationValidationRequest */
typedef struct Vanetza_Security2_AuthorizationValidationRequest {
Vanetza_Security2_SharedAtRequest_t sharedAtRequest;
Vanetza_Security2_EcSignature_t ecSignature;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AuthorizationValidationRequest_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AuthorizationValidationRequest;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AuthorizationValidationRequest_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AuthorizationValidationRequest_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AuthorizationValidationRequest_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AuthorizationValidationRequestMessage.h"
int
Vanetza_Security2_AuthorizationValidationRequestMessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_AuthorizationValidationRequestMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AuthorizationValidationRequestMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_AuthorizationValidationRequestMessage_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AuthorizationValidationRequestMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AuthorizationValidationRequestMessage = {
"AuthorizationValidationRequestMessage",
"AuthorizationValidationRequestMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AuthorizationValidationRequestMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationRequestMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AuthorizationValidationRequestMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationRequestMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AuthorizationValidationRequestMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AuthorizationValidationRequestMessage_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security2_AuthorizationValidationRequestMessage_constraint
},
asn_MBR_Vanetza_Security2_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AuthorizationValidationRequestMessage_H_
#define _Vanetza_Security2_AuthorizationValidationRequestMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AuthorizationValidationRequestMessage */
typedef Vanetza_Security2_EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t Vanetza_Security2_AuthorizationValidationRequestMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AuthorizationValidationRequestMessage;
asn_struct_free_f Vanetza_Security2_AuthorizationValidationRequestMessage_free;
asn_struct_print_f Vanetza_Security2_AuthorizationValidationRequestMessage_print;
asn_constr_check_f Vanetza_Security2_AuthorizationValidationRequestMessage_constraint;
ber_type_decoder_f Vanetza_Security2_AuthorizationValidationRequestMessage_decode_ber;
der_type_encoder_f Vanetza_Security2_AuthorizationValidationRequestMessage_encode_der;
xer_type_decoder_f Vanetza_Security2_AuthorizationValidationRequestMessage_decode_xer;
xer_type_encoder_f Vanetza_Security2_AuthorizationValidationRequestMessage_encode_xer;
jer_type_encoder_f Vanetza_Security2_AuthorizationValidationRequestMessage_encode_jer;
oer_type_decoder_f Vanetza_Security2_AuthorizationValidationRequestMessage_decode_oer;
oer_type_encoder_f Vanetza_Security2_AuthorizationValidationRequestMessage_encode_oer;
per_type_decoder_f Vanetza_Security2_AuthorizationValidationRequestMessage_decode_uper;
per_type_encoder_f Vanetza_Security2_AuthorizationValidationRequestMessage_encode_uper;
per_type_decoder_f Vanetza_Security2_AuthorizationValidationRequestMessage_decode_aper;
per_type_encoder_f Vanetza_Security2_AuthorizationValidationRequestMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AuthorizationValidationRequestMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,197 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AuthorizationValidationResponse.h"
static int
memb_Vanetza_Security2_requestHash_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if((size == 16UL)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_Vanetza_Security2_confirmedSubjectAttributes_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_Security2_requestHash_constr_2 CC_NOTUSED = {
{ 0, 0 },
16 /* (SIZE(16..16)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_requestHash_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_confirmedSubjectAttributes_constr_4 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_confirmedSubjectAttributes_constr_4 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AuthorizationValidationResponse_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_Security2_AuthorizationValidationResponse_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_Security2_AuthorizationValidationResponse_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AuthorizationValidationResponse, requestHash),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_requestHash_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_requestHash_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_requestHash_constraint_1
},
0, 0, /* No default value */
"requestHash"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_AuthorizationValidationResponse, responseCode),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_AuthorizationValidationResponseCode,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"responseCode"
},
{ ATF_POINTER, 1, offsetof(struct Vanetza_Security2_AuthorizationValidationResponse, confirmedSubjectAttributes),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_CertificateSubjectAttributes,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_confirmedSubjectAttributes_constr_4,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_confirmedSubjectAttributes_constr_4,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_confirmedSubjectAttributes_constraint_1
},
0, 0, /* No default value */
"confirmedSubjectAttributes"
},
};
static const int asn_MAP_Vanetza_Security2_AuthorizationValidationResponse_oms_1[] = { 2 };
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AuthorizationValidationResponse_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_AuthorizationValidationResponse_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* requestHash */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* responseCode */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* confirmedSubjectAttributes */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AuthorizationValidationResponse_specs_1 = {
sizeof(struct Vanetza_Security2_AuthorizationValidationResponse),
offsetof(struct Vanetza_Security2_AuthorizationValidationResponse, _asn_ctx),
asn_MAP_Vanetza_Security2_AuthorizationValidationResponse_tag2el_1,
3, /* Count of tags in the map */
asn_MAP_Vanetza_Security2_AuthorizationValidationResponse_oms_1, /* Optional members */
1, 0, /* Root/Additions */
3, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AuthorizationValidationResponse = {
"AuthorizationValidationResponse",
"AuthorizationValidationResponse",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AuthorizationValidationResponse_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponse_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponse_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AuthorizationValidationResponse_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponse_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponse_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AuthorizationValidationResponse_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AuthorizationValidationResponse_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security2_AuthorizationValidationResponse_1,
3, /* Elements count */
&asn_SPC_Vanetza_Security2_AuthorizationValidationResponse_specs_1 /* Additional specs */
};
@@ -0,0 +1,55 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AuthorizationValidationResponse_H_
#define _Vanetza_Security2_AuthorizationValidationResponse_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#include "AuthorizationValidationResponseCode.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct Vanetza_Security2_CertificateSubjectAttributes;
/* Vanetza_Security2_AuthorizationValidationResponse */
typedef struct Vanetza_Security2_AuthorizationValidationResponse {
OCTET_STRING_t requestHash;
Vanetza_Security2_AuthorizationValidationResponseCode_t responseCode;
struct Vanetza_Security2_CertificateSubjectAttributes *confirmedSubjectAttributes; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_AuthorizationValidationResponse_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AuthorizationValidationResponse;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_AuthorizationValidationResponse_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_AuthorizationValidationResponse_1[3];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AuthorizationValidationResponse_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AuthorizationValidationResponse_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "CertificateSubjectAttributes.h"
#endif /* _Vanetza_Security2_AuthorizationValidationResponse_H_ */
#include "asn_internal.h"
@@ -0,0 +1,99 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AuthorizationValidationResponseCode.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_Security2_AuthorizationValidationResponseCode_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_Security2_AuthorizationValidationResponseCode_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 14 } /* (0..14,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_Security2_AuthorizationValidationResponseCode_value2enum_1[] = {
{ 0, 2, "ok" },
{ 1, 9, "cantparse" },
{ 2, 14, "badcontenttype" },
{ 3, 17, "imnottherecipient" },
{ 4, 26, "unknownencryptionalgorithm" },
{ 5, 16, "decryptionfailed" },
{ 6, 9, "invalidaa" },
{ 7, 18, "invalidaasignature" },
{ 8, 7, "wrongea" },
{ 9, 10, "unknownits" },
{ 10, 16, "invalidsignature" },
{ 11, 20, "invalidencryptionkey" },
{ 12, 17, "deniedpermissions" },
{ 13, 18, "deniedtoomanycerts" },
{ 14, 13, "deniedrequest" }
/* This list is extensible */
};
static const unsigned int asn_MAP_Vanetza_Security2_AuthorizationValidationResponseCode_enum2value_1[] = {
2, /* badcontenttype(2) */
1, /* cantparse(1) */
5, /* decryptionfailed(5) */
12, /* deniedpermissions(12) */
14, /* deniedrequest(14) */
13, /* deniedtoomanycerts(13) */
3, /* imnottherecipient(3) */
6, /* invalidaa(6) */
7, /* invalidaasignature(7) */
11, /* invalidencryptionkey(11) */
10, /* invalidsignature(10) */
0, /* ok(0) */
4, /* unknownencryptionalgorithm(4) */
9, /* unknownits(9) */
8 /* wrongea(8) */
/* This list is extensible */
};
const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security2_AuthorizationValidationResponseCode_specs_1 = {
asn_MAP_Vanetza_Security2_AuthorizationValidationResponseCode_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Vanetza_Security2_AuthorizationValidationResponseCode_enum2value_1, /* N => "tag"; sorted by N */
15, /* Number of elements in the maps */
16, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AuthorizationValidationResponseCode_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AuthorizationValidationResponseCode = {
"AuthorizationValidationResponseCode",
"AuthorizationValidationResponseCode",
&asn_OP_NativeEnumerated,
asn_DEF_Vanetza_Security2_AuthorizationValidationResponseCode_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponseCode_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponseCode_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AuthorizationValidationResponseCode_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponseCode_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponseCode_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AuthorizationValidationResponseCode_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AuthorizationValidationResponseCode_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
NativeEnumerated_constraint
},
0, 0, /* Defined elsewhere */
&asn_SPC_Vanetza_Security2_AuthorizationValidationResponseCode_specs_1 /* Additional specs */
};
@@ -0,0 +1,71 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AuthorizationValidationResponseCode_H_
#define _Vanetza_Security2_AuthorizationValidationResponseCode_H_
#include "asn_application.h"
/* Including external dependencies */
#include "NativeEnumerated.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_AuthorizationValidationResponseCode {
Vanetza_Security2_AuthorizationValidationResponseCode_ok = 0,
Vanetza_Security2_AuthorizationValidationResponseCode_cantparse = 1,
Vanetza_Security2_AuthorizationValidationResponseCode_badcontenttype = 2,
Vanetza_Security2_AuthorizationValidationResponseCode_imnottherecipient = 3,
Vanetza_Security2_AuthorizationValidationResponseCode_unknownencryptionalgorithm = 4,
Vanetza_Security2_AuthorizationValidationResponseCode_decryptionfailed = 5,
Vanetza_Security2_AuthorizationValidationResponseCode_invalidaa = 6,
Vanetza_Security2_AuthorizationValidationResponseCode_invalidaasignature = 7,
Vanetza_Security2_AuthorizationValidationResponseCode_wrongea = 8,
Vanetza_Security2_AuthorizationValidationResponseCode_unknownits = 9,
Vanetza_Security2_AuthorizationValidationResponseCode_invalidsignature = 10,
Vanetza_Security2_AuthorizationValidationResponseCode_invalidencryptionkey = 11,
Vanetza_Security2_AuthorizationValidationResponseCode_deniedpermissions = 12,
Vanetza_Security2_AuthorizationValidationResponseCode_deniedtoomanycerts = 13,
Vanetza_Security2_AuthorizationValidationResponseCode_deniedrequest = 14
/*
* Enumeration is extensible
*/
} e_Vanetza_Security2_AuthorizationValidationResponseCode;
/* Vanetza_Security2_AuthorizationValidationResponseCode */
typedef long Vanetza_Security2_AuthorizationValidationResponseCode_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AuthorizationValidationResponseCode_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_AuthorizationValidationResponseCode_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AuthorizationValidationResponseCode;
extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security2_AuthorizationValidationResponseCode_specs_1;
asn_struct_free_f Vanetza_Security2_AuthorizationValidationResponseCode_free;
asn_struct_print_f Vanetza_Security2_AuthorizationValidationResponseCode_print;
asn_constr_check_f Vanetza_Security2_AuthorizationValidationResponseCode_constraint;
ber_type_decoder_f Vanetza_Security2_AuthorizationValidationResponseCode_decode_ber;
der_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseCode_encode_der;
xer_type_decoder_f Vanetza_Security2_AuthorizationValidationResponseCode_decode_xer;
xer_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseCode_encode_xer;
jer_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseCode_encode_jer;
oer_type_decoder_f Vanetza_Security2_AuthorizationValidationResponseCode_decode_oer;
oer_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseCode_encode_oer;
per_type_decoder_f Vanetza_Security2_AuthorizationValidationResponseCode_decode_uper;
per_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseCode_encode_uper;
per_type_decoder_f Vanetza_Security2_AuthorizationValidationResponseCode_decode_aper;
per_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseCode_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AuthorizationValidationResponseCode_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "AuthorizationValidationResponseMessage.h"
int
Vanetza_Security2_AuthorizationValidationResponseMessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_AuthorizationValidationResponseMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_AuthorizationValidationResponseMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_AuthorizationValidationResponseMessage_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_AuthorizationValidationResponseMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AuthorizationValidationResponseMessage = {
"AuthorizationValidationResponseMessage",
"AuthorizationValidationResponseMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_AuthorizationValidationResponseMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponseMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponseMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_AuthorizationValidationResponseMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponseMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_AuthorizationValidationResponseMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_AuthorizationValidationResponseMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_AuthorizationValidationResponseMessage_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security2_AuthorizationValidationResponseMessage_constraint
},
asn_MBR_Vanetza_Security2_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_AuthorizationValidationResponseMessage_H_
#define _Vanetza_Security2_AuthorizationValidationResponseMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_AuthorizationValidationResponseMessage */
typedef Vanetza_Security2_EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t Vanetza_Security2_AuthorizationValidationResponseMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_AuthorizationValidationResponseMessage;
asn_struct_free_f Vanetza_Security2_AuthorizationValidationResponseMessage_free;
asn_struct_print_f Vanetza_Security2_AuthorizationValidationResponseMessage_print;
asn_constr_check_f Vanetza_Security2_AuthorizationValidationResponseMessage_constraint;
ber_type_decoder_f Vanetza_Security2_AuthorizationValidationResponseMessage_decode_ber;
der_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseMessage_encode_der;
xer_type_decoder_f Vanetza_Security2_AuthorizationValidationResponseMessage_decode_xer;
xer_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseMessage_encode_xer;
jer_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseMessage_encode_jer;
oer_type_decoder_f Vanetza_Security2_AuthorizationValidationResponseMessage_decode_oer;
oer_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseMessage_encode_oer;
per_type_decoder_f Vanetza_Security2_AuthorizationValidationResponseMessage_decode_uper;
per_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseMessage_encode_uper;
per_type_decoder_f Vanetza_Security2_AuthorizationValidationResponseMessage_decode_aper;
per_type_encoder_f Vanetza_Security2_AuthorizationValidationResponseMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_AuthorizationValidationResponseMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,123 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2BaseTypes"
* found in "Ieee1609Dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "BasePublicEncryptionKey.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_BasePublicEncryptionKey_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_Security2_BasePublicEncryptionKey_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_BasePublicEncryptionKey_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_BasePublicEncryptionKey, choice.eciesNistP256),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_EccP256CurvePoint,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"eciesNistP256"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_BasePublicEncryptionKey, choice.eciesBrainpoolP256r1),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_EccP256CurvePoint,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"eciesBrainpoolP256r1"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_BasePublicEncryptionKey, choice.ecencSm2),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_EccP256CurvePoint,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"ecencSm2"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_BasePublicEncryptionKey_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eciesNistP256 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eciesBrainpoolP256r1 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ecencSm2 */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_BasePublicEncryptionKey_specs_1 = {
sizeof(struct Vanetza_Security2_BasePublicEncryptionKey),
offsetof(struct Vanetza_Security2_BasePublicEncryptionKey, _asn_ctx),
offsetof(struct Vanetza_Security2_BasePublicEncryptionKey, present),
sizeof(((struct Vanetza_Security2_BasePublicEncryptionKey *)0)->present),
asn_MAP_Vanetza_Security2_BasePublicEncryptionKey_tag2el_1,
3, /* Count of tags in the map */
0, 0,
2 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_BasePublicEncryptionKey = {
"BasePublicEncryptionKey",
"BasePublicEncryptionKey",
&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_Security2_BasePublicEncryptionKey_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_BasePublicEncryptionKey_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security2_BasePublicEncryptionKey_1,
3, /* Elements count */
&asn_SPC_Vanetza_Security2_BasePublicEncryptionKey_specs_1 /* Additional specs */
};
@@ -0,0 +1,60 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2BaseTypes"
* found in "Ieee1609Dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_BasePublicEncryptionKey_H_
#define _Vanetza_Security2_BasePublicEncryptionKey_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EccP256CurvePoint.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_BasePublicEncryptionKey_PR {
Vanetza_Security2_BasePublicEncryptionKey_PR_NOTHING, /* No components present */
Vanetza_Security2_BasePublicEncryptionKey_PR_eciesNistP256,
Vanetza_Security2_BasePublicEncryptionKey_PR_eciesBrainpoolP256r1,
/* Extensions may appear below */
Vanetza_Security2_BasePublicEncryptionKey_PR_ecencSm2
} Vanetza_Security2_BasePublicEncryptionKey_PR;
/* Vanetza_Security2_BasePublicEncryptionKey */
typedef struct Vanetza_Security2_BasePublicEncryptionKey {
Vanetza_Security2_BasePublicEncryptionKey_PR present;
union Vanetza_Security2_BasePublicEncryptionKey_u {
Vanetza_Security2_EccP256CurvePoint_t eciesNistP256;
Vanetza_Security2_EccP256CurvePoint_t eciesBrainpoolP256r1;
/*
* This type is extensible,
* possible extensions are below.
*/
Vanetza_Security2_EccP256CurvePoint_t ecencSm2;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_BasePublicEncryptionKey_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_BasePublicEncryptionKey;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_BasePublicEncryptionKey_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_BasePublicEncryptionKey_1[3];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_BasePublicEncryptionKey_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_BasePublicEncryptionKey_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_BasePublicEncryptionKey_H_ */
#include "asn_internal.h"
@@ -0,0 +1,80 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2BaseTypes"
* found in "Ieee1609Dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "BitmapSsp.h"
int
Vanetza_Security2_BitmapSsp_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if((size <= 31UL)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_BitmapSsp_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..31)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security2_BitmapSsp_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 5, 5, 0, 31 } /* (SIZE(0..31)) */,
0, 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_Security2_BitmapSsp_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_BitmapSsp = {
"BitmapSsp",
"BitmapSsp",
&asn_OP_OCTET_STRING,
asn_DEF_Vanetza_Security2_BitmapSsp_tags_1,
sizeof(asn_DEF_Vanetza_Security2_BitmapSsp_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_BitmapSsp_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_BitmapSsp_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_BitmapSsp_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_BitmapSsp_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_BitmapSsp_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_BitmapSsp_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security2_BitmapSsp_constraint
},
0, 0, /* No members */
&asn_SPC_OCTET_STRING_specs /* Additional specs */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2BaseTypes"
* found in "Ieee1609Dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_BitmapSsp_H_
#define _Vanetza_Security2_BitmapSsp_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_BitmapSsp */
typedef OCTET_STRING_t Vanetza_Security2_BitmapSsp_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_BitmapSsp_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_BitmapSsp_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_BitmapSsp;
asn_struct_free_f Vanetza_Security2_BitmapSsp_free;
asn_struct_print_f Vanetza_Security2_BitmapSsp_print;
asn_constr_check_f Vanetza_Security2_BitmapSsp_constraint;
ber_type_decoder_f Vanetza_Security2_BitmapSsp_decode_ber;
der_type_encoder_f Vanetza_Security2_BitmapSsp_encode_der;
xer_type_decoder_f Vanetza_Security2_BitmapSsp_decode_xer;
xer_type_encoder_f Vanetza_Security2_BitmapSsp_encode_xer;
jer_type_encoder_f Vanetza_Security2_BitmapSsp_encode_jer;
oer_type_decoder_f Vanetza_Security2_BitmapSsp_decode_oer;
oer_type_encoder_f Vanetza_Security2_BitmapSsp_encode_oer;
per_type_decoder_f Vanetza_Security2_BitmapSsp_decode_uper;
per_type_encoder_f Vanetza_Security2_BitmapSsp_encode_uper;
per_type_decoder_f Vanetza_Security2_BitmapSsp_decode_aper;
per_type_encoder_f Vanetza_Security2_BitmapSsp_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_BitmapSsp_H_ */
#include "asn_internal.h"
@@ -0,0 +1,169 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2BaseTypes"
* found in "Ieee1609Dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "BitmapSspRange.h"
static int
memb_Vanetza_Security2_sspValue_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if((size >= 1UL && size <= 32UL)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_Vanetza_Security2_sspBitmask_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if((size >= 1UL && size <= 32UL)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_sspValue_constr_2 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..32)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_sspValue_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_sspBitmask_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..32)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_sspBitmask_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_BitmapSspRange_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_BitmapSspRange, sspValue),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_sspValue_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_sspValue_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_sspValue_constraint_1
},
0, 0, /* No default value */
"sspValue"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_BitmapSspRange, sspBitmask),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_sspBitmask_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_sspBitmask_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_sspBitmask_constraint_1
},
0, 0, /* No default value */
"sspBitmask"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_BitmapSspRange_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_BitmapSspRange_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sspValue */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sspBitmask */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_BitmapSspRange_specs_1 = {
sizeof(struct Vanetza_Security2_BitmapSspRange),
offsetof(struct Vanetza_Security2_BitmapSspRange, _asn_ctx),
asn_MAP_Vanetza_Security2_BitmapSspRange_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_Security2_BitmapSspRange = {
"BitmapSspRange",
"BitmapSspRange",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_BitmapSspRange_tags_1,
sizeof(asn_DEF_Vanetza_Security2_BitmapSspRange_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_BitmapSspRange_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_BitmapSspRange_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_BitmapSspRange_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_BitmapSspRange_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_BitmapSspRange_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_BitmapSspRange_specs_1 /* Additional specs */
};
@@ -0,0 +1,41 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2BaseTypes"
* found in "Ieee1609Dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_BitmapSspRange_H_
#define _Vanetza_Security2_BitmapSspRange_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_BitmapSspRange */
typedef struct Vanetza_Security2_BitmapSspRange {
OCTET_STRING_t sspValue;
OCTET_STRING_t sspBitmask;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_BitmapSspRange_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_BitmapSspRange;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_BitmapSspRange_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_BitmapSspRange_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_BitmapSspRange_H_ */
#include "asn_internal.h"
@@ -0,0 +1,50 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
* found in "Ieee1609Dot2Dot1CamRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "BlindedKey.h"
/*
* This type is implemented using Vanetza_Security2_EccP256CurvePoint,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_BlindedKey_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_Security2_BlindedKey_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_BlindedKey = {
"BlindedKey",
"BlindedKey",
&asn_OP_CHOICE,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security2_EccP256CurvePoint_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security2_EccP256CurvePoint_specs_1 /* Additional specs */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
* found in "Ieee1609Dot2Dot1CamRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_BlindedKey_H_
#define _Vanetza_Security2_BlindedKey_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EccP256CurvePoint.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_BlindedKey */
typedef Vanetza_Security2_EccP256CurvePoint_t Vanetza_Security2_BlindedKey_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_BlindedKey_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_BlindedKey_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_BlindedKey;
asn_struct_free_f Vanetza_Security2_BlindedKey_free;
asn_struct_print_f Vanetza_Security2_BlindedKey_print;
asn_constr_check_f Vanetza_Security2_BlindedKey_constraint;
ber_type_decoder_f Vanetza_Security2_BlindedKey_decode_ber;
der_type_encoder_f Vanetza_Security2_BlindedKey_encode_der;
xer_type_decoder_f Vanetza_Security2_BlindedKey_decode_xer;
xer_type_encoder_f Vanetza_Security2_BlindedKey_encode_xer;
jer_type_encoder_f Vanetza_Security2_BlindedKey_encode_jer;
oer_type_decoder_f Vanetza_Security2_BlindedKey_decode_oer;
oer_type_encoder_f Vanetza_Security2_BlindedKey_encode_oer;
per_type_decoder_f Vanetza_Security2_BlindedKey_decode_uper;
per_type_encoder_f Vanetza_Security2_BlindedKey_encode_uper;
per_type_decoder_f Vanetza_Security2_BlindedKey_decode_aper;
per_type_encoder_f Vanetza_Security2_BlindedKey_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_BlindedKey_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "ButterflyCertRequestMessage.h"
int
Vanetza_Security2_ButterflyCertRequestMessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_ButterflyCertRequestMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_ButterflyCertRequestMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_ButterflyCertRequestMessage_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_ButterflyCertRequestMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_ButterflyCertRequestMessage = {
"ButterflyCertRequestMessage",
"ButterflyCertRequestMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_ButterflyCertRequestMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security2_ButterflyCertRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_ButterflyCertRequestMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_ButterflyCertRequestMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_ButterflyCertRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_ButterflyCertRequestMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_ButterflyCertRequestMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_ButterflyCertRequestMessage_constr_1,
#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_Security2_ButterflyCertRequestMessage_constraint
},
asn_MBR_Vanetza_Security2_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_ButterflyCertRequestMessage_H_
#define _Vanetza_Security2_ButterflyCertRequestMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_ButterflyCertRequestMessage */
typedef Vanetza_Security2_EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t Vanetza_Security2_ButterflyCertRequestMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_ButterflyCertRequestMessage;
asn_struct_free_f Vanetza_Security2_ButterflyCertRequestMessage_free;
asn_struct_print_f Vanetza_Security2_ButterflyCertRequestMessage_print;
asn_constr_check_f Vanetza_Security2_ButterflyCertRequestMessage_constraint;
ber_type_decoder_f Vanetza_Security2_ButterflyCertRequestMessage_decode_ber;
der_type_encoder_f Vanetza_Security2_ButterflyCertRequestMessage_encode_der;
xer_type_decoder_f Vanetza_Security2_ButterflyCertRequestMessage_decode_xer;
xer_type_encoder_f Vanetza_Security2_ButterflyCertRequestMessage_encode_xer;
jer_type_encoder_f Vanetza_Security2_ButterflyCertRequestMessage_encode_jer;
oer_type_decoder_f Vanetza_Security2_ButterflyCertRequestMessage_decode_oer;
oer_type_encoder_f Vanetza_Security2_ButterflyCertRequestMessage_encode_oer;
per_type_decoder_f Vanetza_Security2_ButterflyCertRequestMessage_decode_uper;
per_type_encoder_f Vanetza_Security2_ButterflyCertRequestMessage_encode_uper;
per_type_decoder_f Vanetza_Security2_ButterflyCertRequestMessage_decode_aper;
per_type_encoder_f Vanetza_Security2_ButterflyCertRequestMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_ButterflyCertRequestMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "ButterflyCertResponseMessage.h"
int
Vanetza_Security2_ButterflyCertResponseMessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_ButterflyCertResponseMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_ButterflyCertResponseMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_ButterflyCertResponseMessage_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_ButterflyCertResponseMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_ButterflyCertResponseMessage = {
"ButterflyCertResponseMessage",
"ButterflyCertResponseMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_ButterflyCertResponseMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security2_ButterflyCertResponseMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_ButterflyCertResponseMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_ButterflyCertResponseMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_ButterflyCertResponseMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_ButterflyCertResponseMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_ButterflyCertResponseMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_ButterflyCertResponseMessage_constr_1,
#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_Security2_ButterflyCertResponseMessage_constraint
},
asn_MBR_Vanetza_Security2_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_ButterflyCertResponseMessage_H_
#define _Vanetza_Security2_ButterflyCertResponseMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_ButterflyCertResponseMessage */
typedef Vanetza_Security2_EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t Vanetza_Security2_ButterflyCertResponseMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_ButterflyCertResponseMessage;
asn_struct_free_f Vanetza_Security2_ButterflyCertResponseMessage_free;
asn_struct_print_f Vanetza_Security2_ButterflyCertResponseMessage_print;
asn_constr_check_f Vanetza_Security2_ButterflyCertResponseMessage_constraint;
ber_type_decoder_f Vanetza_Security2_ButterflyCertResponseMessage_decode_ber;
der_type_encoder_f Vanetza_Security2_ButterflyCertResponseMessage_encode_der;
xer_type_decoder_f Vanetza_Security2_ButterflyCertResponseMessage_decode_xer;
xer_type_encoder_f Vanetza_Security2_ButterflyCertResponseMessage_encode_xer;
jer_type_encoder_f Vanetza_Security2_ButterflyCertResponseMessage_encode_jer;
oer_type_decoder_f Vanetza_Security2_ButterflyCertResponseMessage_decode_oer;
oer_type_encoder_f Vanetza_Security2_ButterflyCertResponseMessage_encode_oer;
per_type_decoder_f Vanetza_Security2_ButterflyCertResponseMessage_decode_uper;
per_type_encoder_f Vanetza_Security2_ButterflyCertResponseMessage_encode_uper;
per_type_decoder_f Vanetza_Security2_ButterflyCertResponseMessage_decode_aper;
per_type_encoder_f Vanetza_Security2_ButterflyCertResponseMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_ButterflyCertResponseMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,119 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
* found in "Ieee1609Dot2Dot1EeRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "ButterflyExpansion.h"
static int
memb_Vanetza_Security2_aes128_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if((size == 16UL)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_aes128_constr_2 CC_NOTUSED = {
{ 0, 0 },
16 /* (SIZE(16..16)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_aes128_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_ButterflyExpansion_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_Security2_ButterflyExpansion_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_ButterflyExpansion_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_ButterflyExpansion, choice.aes128),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_aes128_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_aes128_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_Security2_aes128_constraint_1
},
0, 0, /* No default value */
"aes128"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_ButterflyExpansion_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aes128 */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_ButterflyExpansion_specs_1 = {
sizeof(struct Vanetza_Security2_ButterflyExpansion),
offsetof(struct Vanetza_Security2_ButterflyExpansion, _asn_ctx),
offsetof(struct Vanetza_Security2_ButterflyExpansion, present),
sizeof(((struct Vanetza_Security2_ButterflyExpansion *)0)->present),
asn_MAP_Vanetza_Security2_ButterflyExpansion_tag2el_1,
1, /* Count of tags in the map */
0, 0,
1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_ButterflyExpansion = {
"ButterflyExpansion",
"ButterflyExpansion",
&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_Security2_ButterflyExpansion_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_ButterflyExpansion_constr_1,
#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_Security2_ButterflyExpansion_1,
1, /* Elements count */
&asn_SPC_Vanetza_Security2_ButterflyExpansion_specs_1 /* Additional specs */
};
@@ -0,0 +1,57 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
* found in "Ieee1609Dot2Dot1EeRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_ButterflyExpansion_H_
#define _Vanetza_Security2_ButterflyExpansion_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_ButterflyExpansion_PR {
Vanetza_Security2_ButterflyExpansion_PR_NOTHING, /* No components present */
Vanetza_Security2_ButterflyExpansion_PR_aes128
/* Extensions may appear below */
} Vanetza_Security2_ButterflyExpansion_PR;
/* Vanetza_Security2_ButterflyExpansion */
typedef struct Vanetza_Security2_ButterflyExpansion {
Vanetza_Security2_ButterflyExpansion_PR present;
union Vanetza_Security2_ButterflyExpansion_u {
OCTET_STRING_t aes128;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_ButterflyExpansion_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_ButterflyExpansion;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_ButterflyExpansion_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_ButterflyExpansion_1[1];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_ButterflyExpansion_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_ButterflyExpansion_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_ButterflyExpansion_H_ */
#include "asn_internal.h"
@@ -0,0 +1,114 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
* found in "Ieee1609Dot2Dot1EeRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "ButterflyParamsOriginal.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security2_ButterflyParamsOriginal_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_ButterflyParamsOriginal, signingExpansion),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_ButterflyExpansion,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"signingExpansion"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_ButterflyParamsOriginal, encryptionKey),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_PublicEncryptionKey,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"encryptionKey"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_ButterflyParamsOriginal, encryptionExpansion),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_ButterflyExpansion,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"encryptionExpansion"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_ButterflyParamsOriginal_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_ButterflyParamsOriginal_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* signingExpansion */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* encryptionKey */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* encryptionExpansion */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_ButterflyParamsOriginal_specs_1 = {
sizeof(struct Vanetza_Security2_ButterflyParamsOriginal),
offsetof(struct Vanetza_Security2_ButterflyParamsOriginal, _asn_ctx),
asn_MAP_Vanetza_Security2_ButterflyParamsOriginal_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_Security2_ButterflyParamsOriginal = {
"ButterflyParamsOriginal",
"ButterflyParamsOriginal",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_ButterflyParamsOriginal_tags_1,
sizeof(asn_DEF_Vanetza_Security2_ButterflyParamsOriginal_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_ButterflyParamsOriginal_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_ButterflyParamsOriginal_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_ButterflyParamsOriginal_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_ButterflyParamsOriginal_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_ButterflyParamsOriginal_1,
3, /* Elements count */
&asn_SPC_Vanetza_Security2_ButterflyParamsOriginal_specs_1 /* Additional specs */
};
@@ -0,0 +1,43 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
* found in "Ieee1609Dot2Dot1EeRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_ButterflyParamsOriginal_H_
#define _Vanetza_Security2_ButterflyParamsOriginal_H_
#include "asn_application.h"
/* Including external dependencies */
#include "ButterflyExpansion.h"
#include "PublicEncryptionKey.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_ButterflyParamsOriginal */
typedef struct Vanetza_Security2_ButterflyParamsOriginal {
Vanetza_Security2_ButterflyExpansion_t signingExpansion;
Vanetza_Security2_PublicEncryptionKey_t encryptionKey;
Vanetza_Security2_ButterflyExpansion_t encryptionExpansion;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_ButterflyParamsOriginal_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_ButterflyParamsOriginal;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_ButterflyParamsOriginal_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_ButterflyParamsOriginal_1[3];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_ButterflyParamsOriginal_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CaCertificateRekeyingMessage.h"
int
Vanetza_Security2_CaCertificateRekeyingMessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_CaCertificateRekeyingMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_EtsiTs103097Data_Signed_63P1,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_CaCertificateRekeyingMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_CaCertificateRekeyingMessage_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_CaCertificateRekeyingMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CaCertificateRekeyingMessage = {
"CaCertificateRekeyingMessage",
"CaCertificateRekeyingMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_CaCertificateRekeyingMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security2_CaCertificateRekeyingMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CaCertificateRekeyingMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_CaCertificateRekeyingMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_CaCertificateRekeyingMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CaCertificateRekeyingMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_CaCertificateRekeyingMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_CaCertificateRekeyingMessage_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security2_CaCertificateRekeyingMessage_constraint
},
asn_MBR_Vanetza_Security2_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CaCertificateRekeyingMessage_H_
#define _Vanetza_Security2_CaCertificateRekeyingMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-Signed.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_CaCertificateRekeyingMessage */
typedef Vanetza_Security2_EtsiTs103097Data_Signed_63P1_t Vanetza_Security2_CaCertificateRekeyingMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CaCertificateRekeyingMessage;
asn_struct_free_f Vanetza_Security2_CaCertificateRekeyingMessage_free;
asn_struct_print_f Vanetza_Security2_CaCertificateRekeyingMessage_print;
asn_constr_check_f Vanetza_Security2_CaCertificateRekeyingMessage_constraint;
ber_type_decoder_f Vanetza_Security2_CaCertificateRekeyingMessage_decode_ber;
der_type_encoder_f Vanetza_Security2_CaCertificateRekeyingMessage_encode_der;
xer_type_decoder_f Vanetza_Security2_CaCertificateRekeyingMessage_decode_xer;
xer_type_encoder_f Vanetza_Security2_CaCertificateRekeyingMessage_encode_xer;
jer_type_encoder_f Vanetza_Security2_CaCertificateRekeyingMessage_encode_jer;
oer_type_decoder_f Vanetza_Security2_CaCertificateRekeyingMessage_decode_oer;
oer_type_encoder_f Vanetza_Security2_CaCertificateRekeyingMessage_encode_oer;
per_type_decoder_f Vanetza_Security2_CaCertificateRekeyingMessage_decode_uper;
per_type_encoder_f Vanetza_Security2_CaCertificateRekeyingMessage_encode_uper;
per_type_decoder_f Vanetza_Security2_CaCertificateRekeyingMessage_decode_aper;
per_type_encoder_f Vanetza_Security2_CaCertificateRekeyingMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_CaCertificateRekeyingMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesCaManagement"
* found in "TypesCaManagement.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CaCertificateRequest.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security2_CaCertificateRequest_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CaCertificateRequest, publicKeys),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_PublicKeys,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"publicKeys"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CaCertificateRequest, requestedSubjectAttributes),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_CertificateSubjectAttributes,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"requestedSubjectAttributes"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_CaCertificateRequest_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_CaCertificateRequest_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* publicKeys */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* requestedSubjectAttributes */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CaCertificateRequest_specs_1 = {
sizeof(struct Vanetza_Security2_CaCertificateRequest),
offsetof(struct Vanetza_Security2_CaCertificateRequest, _asn_ctx),
asn_MAP_Vanetza_Security2_CaCertificateRequest_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_Security2_CaCertificateRequest = {
"CaCertificateRequest",
"CaCertificateRequest",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_CaCertificateRequest_tags_1,
sizeof(asn_DEF_Vanetza_Security2_CaCertificateRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CaCertificateRequest_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_CaCertificateRequest_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_CaCertificateRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CaCertificateRequest_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_CaCertificateRequest_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_CaCertificateRequest_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesCaManagement"
* found in "TypesCaManagement.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CaCertificateRequest_H_
#define _Vanetza_Security2_CaCertificateRequest_H_
#include "asn_application.h"
/* Including external dependencies */
#include "PublicKeys.h"
#include "CertificateSubjectAttributes.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_CaCertificateRequest */
typedef struct Vanetza_Security2_CaCertificateRequest {
Vanetza_Security2_PublicKeys_t publicKeys;
Vanetza_Security2_CertificateSubjectAttributes_t requestedSubjectAttributes;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_CaCertificateRequest_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CaCertificateRequest;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CaCertificateRequest_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_CaCertificateRequest_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_CaCertificateRequest_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CaCertificateRequestMessage.h"
int
Vanetza_Security2_CaCertificateRequestMessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_CaCertificateRequestMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_EtsiTs103097Data_Signed_63P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_CaCertificateRequestMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_CaCertificateRequestMessage_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_CaCertificateRequestMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CaCertificateRequestMessage = {
"CaCertificateRequestMessage",
"CaCertificateRequestMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_CaCertificateRequestMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security2_CaCertificateRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CaCertificateRequestMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_CaCertificateRequestMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_CaCertificateRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CaCertificateRequestMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_CaCertificateRequestMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_CaCertificateRequestMessage_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security2_CaCertificateRequestMessage_constraint
},
asn_MBR_Vanetza_Security2_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CaCertificateRequestMessage_H_
#define _Vanetza_Security2_CaCertificateRequestMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-Signed.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_CaCertificateRequestMessage */
typedef Vanetza_Security2_EtsiTs103097Data_Signed_63P0_t Vanetza_Security2_CaCertificateRequestMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CaCertificateRequestMessage;
asn_struct_free_f Vanetza_Security2_CaCertificateRequestMessage_free;
asn_struct_print_f Vanetza_Security2_CaCertificateRequestMessage_print;
asn_constr_check_f Vanetza_Security2_CaCertificateRequestMessage_constraint;
ber_type_decoder_f Vanetza_Security2_CaCertificateRequestMessage_decode_ber;
der_type_encoder_f Vanetza_Security2_CaCertificateRequestMessage_encode_der;
xer_type_decoder_f Vanetza_Security2_CaCertificateRequestMessage_decode_xer;
xer_type_encoder_f Vanetza_Security2_CaCertificateRequestMessage_encode_xer;
jer_type_encoder_f Vanetza_Security2_CaCertificateRequestMessage_encode_jer;
oer_type_decoder_f Vanetza_Security2_CaCertificateRequestMessage_decode_oer;
oer_type_encoder_f Vanetza_Security2_CaCertificateRequestMessage_encode_oer;
per_type_decoder_f Vanetza_Security2_CaCertificateRequestMessage_decode_uper;
per_type_encoder_f Vanetza_Security2_CaCertificateRequestMessage_encode_uper;
per_type_decoder_f Vanetza_Security2_CaCertificateRequestMessage_decode_aper;
per_type_encoder_f Vanetza_Security2_CaCertificateRequestMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_CaCertificateRequestMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,210 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
* found in "Ieee1609Dot2Dot1CamRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CamRaBatchResponse.h"
static int
memb_Vanetza_Security2_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value == 2L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (2..2) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 0, 0, 2, 2 } /* (2..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security2_batch_4[] = {
{ ATF_POINTER, 0, 0,
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_Vanetza_Security2_BlindedKey,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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_Security2_batch_tags_4[] = {
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Vanetza_Security2_batch_specs_4 = {
sizeof(struct Vanetza_Security2_CamRaBatchResponse__batch),
offsetof(struct Vanetza_Security2_CamRaBatchResponse__batch, _asn_ctx),
2, /* XER encoding is XMLValueList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_batch_4 = {
"batch",
"batch",
&asn_OP_SEQUENCE_OF,
asn_DEF_Vanetza_Security2_batch_tags_4,
sizeof(asn_DEF_Vanetza_Security2_batch_tags_4)
/sizeof(asn_DEF_Vanetza_Security2_batch_tags_4[0]) - 1, /* 1 */
asn_DEF_Vanetza_Security2_batch_tags_4, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_batch_tags_4)
/sizeof(asn_DEF_Vanetza_Security2_batch_tags_4[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_OF_constraint
},
asn_MBR_Vanetza_Security2_batch_4,
1, /* Single element */
&asn_SPC_Vanetza_Security2_batch_specs_4 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security2_CamRaBatchResponse_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CamRaBatchResponse, version),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Uint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_version_constraint_1
},
0, 0, /* No default value */
"version"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CamRaBatchResponse, requestHash),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_HashedId8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"requestHash"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CamRaBatchResponse, batch),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
0,
&asn_DEF_Vanetza_Security2_batch_4,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"batch"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_CamRaBatchResponse_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_CamRaBatchResponse_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* requestHash */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* batch */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CamRaBatchResponse_specs_1 = {
sizeof(struct Vanetza_Security2_CamRaBatchResponse),
offsetof(struct Vanetza_Security2_CamRaBatchResponse, _asn_ctx),
asn_MAP_Vanetza_Security2_CamRaBatchResponse_tag2el_1,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
3, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CamRaBatchResponse = {
"CamRaBatchResponse",
"CamRaBatchResponse",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_CamRaBatchResponse_tags_1,
sizeof(asn_DEF_Vanetza_Security2_CamRaBatchResponse_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CamRaBatchResponse_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_CamRaBatchResponse_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_CamRaBatchResponse_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CamRaBatchResponse_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_CamRaBatchResponse_1,
3, /* Elements count */
&asn_SPC_Vanetza_Security2_CamRaBatchResponse_specs_1 /* Additional specs */
};
@@ -0,0 +1,60 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
* found in "Ieee1609Dot2Dot1CamRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CamRaBatchResponse_H_
#define _Vanetza_Security2_CamRaBatchResponse_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Uint8.h"
#include "HashedId8.h"
#include "asn_SEQUENCE_OF.h"
#include "constr_SEQUENCE_OF.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct Vanetza_Security2_BlindedKey;
/* Vanetza_Security2_CamRaBatchResponse */
typedef struct Vanetza_Security2_CamRaBatchResponse {
Vanetza_Security2_Uint8_t version;
Vanetza_Security2_HashedId8_t requestHash;
struct Vanetza_Security2_CamRaBatchResponse__batch {
A_SEQUENCE_OF(struct Vanetza_Security2_BlindedKey) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} batch;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_CamRaBatchResponse_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CamRaBatchResponse;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CamRaBatchResponse_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_CamRaBatchResponse_1[3];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "BlindedKey.h"
#endif /* _Vanetza_Security2_CamRaBatchResponse_H_ */
#include "asn_internal.h"
@@ -0,0 +1,102 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
* found in "Ieee1609Dot2Dot1CamRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CamRaInterfacePdu.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_CamRaInterfacePdu_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_CamRaInterfacePdu_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security2_CamRaInterfacePdu_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CamRaInterfacePdu, choice.raCamBatchRequest),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_RaCamBatchRequest,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"raCamBatchRequest"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CamRaInterfacePdu, choice.camRaBatchResponse),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_CamRaBatchResponse,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"camRaBatchResponse"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_CamRaInterfacePdu_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* raCamBatchRequest */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* camRaBatchResponse */
};
static asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_CamRaInterfacePdu_specs_1 = {
sizeof(struct Vanetza_Security2_CamRaInterfacePdu),
offsetof(struct Vanetza_Security2_CamRaInterfacePdu, _asn_ctx),
offsetof(struct Vanetza_Security2_CamRaInterfacePdu, present),
sizeof(((struct Vanetza_Security2_CamRaInterfacePdu *)0)->present),
asn_MAP_Vanetza_Security2_CamRaInterfacePdu_tag2el_1,
2, /* Count of tags in the map */
0, 0,
2 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CamRaInterfacePdu = {
"CamRaInterfacePdu",
"CamRaInterfacePdu",
&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_Security2_CamRaInterfacePdu_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_CamRaInterfacePdu_constr_1,
#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_Security2_CamRaInterfacePdu_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_CamRaInterfacePdu_specs_1 /* Additional specs */
};
@@ -0,0 +1,56 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
* found in "Ieee1609Dot2Dot1CamRaInterface.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CamRaInterfacePdu_H_
#define _Vanetza_Security2_CamRaInterfacePdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "RaCamBatchRequest.h"
#include "CamRaBatchResponse.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_CamRaInterfacePdu_PR {
Vanetza_Security2_CamRaInterfacePdu_PR_NOTHING, /* No components present */
Vanetza_Security2_CamRaInterfacePdu_PR_raCamBatchRequest,
Vanetza_Security2_CamRaInterfacePdu_PR_camRaBatchResponse
/* Extensions may appear below */
} Vanetza_Security2_CamRaInterfacePdu_PR;
/* Vanetza_Security2_CamRaInterfacePdu */
typedef struct Vanetza_Security2_CamRaInterfacePdu {
Vanetza_Security2_CamRaInterfacePdu_PR present;
union Vanetza_Security2_CamRaInterfacePdu_u {
Vanetza_Security2_RaCamBatchRequest_t raCamBatchRequest;
Vanetza_Security2_CamRaBatchResponse_t camRaBatchResponse;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_CamRaInterfacePdu_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CamRaInterfacePdu;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_CamRaInterfacePdu_H_ */
#include "asn_internal.h"
@@ -0,0 +1,78 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CamSsp.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_CamSsp_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..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_Security2_CamSsp_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_SEMI_CONSTRAINED, -1, -1, 1, 0 } /* (SIZE(1..MAX)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_CamSsp_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
0,
&asn_DEF_Vanetza_Security2_AcpcTreeId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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_Security2_CamSsp_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_SET_OF_specifics_t asn_SPC_Vanetza_Security2_CamSsp_specs_1 = {
sizeof(struct Vanetza_Security2_CamSsp),
offsetof(struct Vanetza_Security2_CamSsp, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CamSsp = {
"CamSsp",
"CamSsp",
&asn_OP_SEQUENCE_OF,
asn_DEF_Vanetza_Security2_CamSsp_tags_1,
sizeof(asn_DEF_Vanetza_Security2_CamSsp_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CamSsp_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_CamSsp_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_CamSsp_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CamSsp_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_CamSsp_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_CamSsp_constr_1,
#endif /* !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_Security2_CamSsp_1,
1, /* Single element */
&asn_SPC_Vanetza_Security2_CamSsp_specs_1 /* Additional specs */
};
@@ -0,0 +1,43 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CamSsp_H_
#define _Vanetza_Security2_CamSsp_H_
#include "asn_application.h"
/* Including external dependencies */
#include "AcpcTreeId.h"
#include "asn_SEQUENCE_OF.h"
#include "constr_SEQUENCE_OF.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_CamSsp */
typedef struct Vanetza_Security2_CamSsp {
A_SEQUENCE_OF(Vanetza_Security2_AcpcTreeId_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_CamSsp_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CamSsp;
extern asn_SET_OF_specifics_t asn_SPC_Vanetza_Security2_CamSsp_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_CamSsp_1[1];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_CamSsp_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_CamSsp_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_CamSsp_H_ */
#include "asn_internal.h"
@@ -0,0 +1,265 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CertIssueExtension.h"
static const long asn_VAL_2_Vanetza_Security2_certExtId_OperatingOrganization = 1;
static const asn_ioc_cell_t asn_IOS_Vanetza_Security2_SetCertExtensions_1_rows[] = {
{ "&id", aioc__value, &asn_DEF_Vanetza_Security2_Ieee1609Dot2BaseTypes_ExtId, &asn_VAL_2_Vanetza_Security2_certExtId_OperatingOrganization },
{ "&App", aioc__type, &asn_DEF_Vanetza_Security2_OperatingOrganizationId },
{ "&Issue", aioc__type, &asn_DEF_NULL },
{ "&Req", aioc__type, &asn_DEF_NULL }
};
static const asn_ioc_set_t asn_IOS_Vanetza_Security2_SetCertExtensions_1[] = {
{ 1, 4, asn_IOS_Vanetza_Security2_SetCertExtensions_1_rows }
};
static int
memb_Vanetza_Security2_specific_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
}
static int
memb_Vanetza_Security2_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_specific_constr_4 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_specific_constr_4 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_permissions_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_permissions_constr_3 CC_NOTUSED = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_id_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (0..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_id_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security2_permissions_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertIssueExtension__permissions, choice.specific),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_ANY,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_specific_constr_4,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_specific_constr_4,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_specific_constraint_3
},
0, 0, /* No default value */
"specific"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertIssueExtension__permissions, choice.all),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"all"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_permissions_tag2el_3[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* specific */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* all */
};
static asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_permissions_specs_3 = {
sizeof(struct Vanetza_Security2_CertIssueExtension__permissions),
offsetof(struct Vanetza_Security2_CertIssueExtension__permissions, _asn_ctx),
offsetof(struct Vanetza_Security2_CertIssueExtension__permissions, present),
sizeof(((struct Vanetza_Security2_CertIssueExtension__permissions *)0)->present),
asn_MAP_Vanetza_Security2_permissions_tag2el_3,
2, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_permissions_3 = {
"permissions",
"permissions",
&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_Security2_permissions_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_permissions_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security2_permissions_3,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_permissions_specs_3 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security2_CertIssueExtension_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertIssueExtension, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Ieee1609Dot2BaseTypes_ExtId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_id_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_id_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_Security2_id_constraint_1
},
0, 0, /* No default value */
"id"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertIssueExtension, permissions),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_permissions_3,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"permissions"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_CertIssueExtension_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_CertIssueExtension_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* permissions */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CertIssueExtension_specs_1 = {
sizeof(struct Vanetza_Security2_CertIssueExtension),
offsetof(struct Vanetza_Security2_CertIssueExtension, _asn_ctx),
asn_MAP_Vanetza_Security2_CertIssueExtension_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_Security2_CertIssueExtension = {
"CertIssueExtension",
"CertIssueExtension",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_CertIssueExtension_tags_1,
sizeof(asn_DEF_Vanetza_Security2_CertIssueExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CertIssueExtension_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_CertIssueExtension_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_CertIssueExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CertIssueExtension_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_CertIssueExtension_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_CertIssueExtension_specs_1 /* Additional specs */
};
@@ -0,0 +1,62 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CertIssueExtension_H_
#define _Vanetza_Security2_CertIssueExtension_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Ieee1609Dot2BaseTypes_ExtId.h"
#include "asn_ioc.h"
#include "OperatingOrganizationId.h"
#include "NULL.h"
#include "ANY.h"
#include "constr_CHOICE.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_CertIssueExtension__permissions_PR {
Vanetza_Security2_CertIssueExtension__permissions_PR_NOTHING, /* No components present */
Vanetza_Security2_CertIssueExtension__permissions_PR_specific,
Vanetza_Security2_CertIssueExtension__permissions_PR_all
} Vanetza_Security2_CertIssueExtension__permissions_PR;
/* Vanetza_Security2_CertIssueExtension */
typedef struct Vanetza_Security2_CertIssueExtension {
Vanetza_Security2_Ieee1609Dot2BaseTypes_ExtId_t id;
struct Vanetza_Security2_CertIssueExtension__permissions {
Vanetza_Security2_CertIssueExtension__permissions_PR present;
union Vanetza_Security2_CertIssueExtension__Vanetza_Security2_permissions_u {
ANY_t specific;
NULL_t all;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} permissions;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_CertIssueExtension_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CertIssueExtension;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CertIssueExtension_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_CertIssueExtension_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_CertIssueExtension_H_ */
#include "asn_internal.h"
@@ -0,0 +1,165 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1CertManagement"
* found in "Ieee1609Dot2Dot1CertManagement.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CertManagementPdu.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_CertManagementPdu_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_Security2_CertManagementPdu_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_CertManagementPdu_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertManagementPdu, choice.compositeCrl),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_CompositeCrl,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"compositeCrl"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertManagementPdu, choice.certificateChain),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_CertificateChain,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"certificateChain"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertManagementPdu, choice.multiSignedCtl),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_MultiSignedCtl,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"multiSignedCtl"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertManagementPdu, choice.tbsCtlSignature),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_ToBeSignedCtlSignature,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"tbsCtlSignature"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertManagementPdu, choice.infoStatus),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_CertificateManagementInfoStatus,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"infoStatus"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_CertManagementPdu_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* compositeCrl */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* certificateChain */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* multiSignedCtl */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* tbsCtlSignature */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* infoStatus */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_CertManagementPdu_specs_1 = {
sizeof(struct Vanetza_Security2_CertManagementPdu),
offsetof(struct Vanetza_Security2_CertManagementPdu, _asn_ctx),
offsetof(struct Vanetza_Security2_CertManagementPdu, present),
sizeof(((struct Vanetza_Security2_CertManagementPdu *)0)->present),
asn_MAP_Vanetza_Security2_CertManagementPdu_tag2el_1,
5, /* Count of tags in the map */
0, 0,
5 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CertManagementPdu = {
"CertManagementPdu",
"CertManagementPdu",
&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_Security2_CertManagementPdu_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_CertManagementPdu_constr_1,
#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_Security2_CertManagementPdu_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security2_CertManagementPdu_specs_1 /* Additional specs */
};
@@ -0,0 +1,69 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1CertManagement"
* found in "Ieee1609Dot2Dot1CertManagement.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CertManagementPdu_H_
#define _Vanetza_Security2_CertManagementPdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "CompositeCrl.h"
#include "CertificateChain.h"
#include "MultiSignedCtl.h"
#include "ToBeSignedCtlSignature.h"
#include "CertificateManagementInfoStatus.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_CertManagementPdu_PR {
Vanetza_Security2_CertManagementPdu_PR_NOTHING, /* No components present */
Vanetza_Security2_CertManagementPdu_PR_compositeCrl,
Vanetza_Security2_CertManagementPdu_PR_certificateChain,
Vanetza_Security2_CertManagementPdu_PR_multiSignedCtl,
Vanetza_Security2_CertManagementPdu_PR_tbsCtlSignature,
Vanetza_Security2_CertManagementPdu_PR_infoStatus
/* Extensions may appear below */
} Vanetza_Security2_CertManagementPdu_PR;
/* Vanetza_Security2_CertManagementPdu */
typedef struct Vanetza_Security2_CertManagementPdu {
Vanetza_Security2_CertManagementPdu_PR present;
union Vanetza_Security2_CertManagementPdu_u {
Vanetza_Security2_CompositeCrl_t compositeCrl;
Vanetza_Security2_CertificateChain_t certificateChain;
Vanetza_Security2_MultiSignedCtl_t multiSignedCtl;
Vanetza_Security2_ToBeSignedCtlSignature_t tbsCtlSignature;
Vanetza_Security2_CertificateManagementInfoStatus_t infoStatus;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_CertManagementPdu_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CertManagementPdu;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_CertManagementPdu_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_CertManagementPdu_1[5];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_CertManagementPdu_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_CertManagementPdu_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_CertManagementPdu_H_ */
#include "asn_internal.h"
@@ -0,0 +1,265 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CertRequestExtension.h"
static const long asn_VAL_2_Vanetza_Security2_certExtId_OperatingOrganization = 1;
static const asn_ioc_cell_t asn_IOS_Vanetza_Security2_SetCertExtensions_1_rows[] = {
{ "&id", aioc__value, &asn_DEF_Vanetza_Security2_Ieee1609Dot2BaseTypes_ExtId, &asn_VAL_2_Vanetza_Security2_certExtId_OperatingOrganization },
{ "&App", aioc__type, &asn_DEF_Vanetza_Security2_OperatingOrganizationId },
{ "&Issue", aioc__type, &asn_DEF_NULL },
{ "&Req", aioc__type, &asn_DEF_NULL }
};
static const asn_ioc_set_t asn_IOS_Vanetza_Security2_SetCertExtensions_1[] = {
{ 1, 4, asn_IOS_Vanetza_Security2_SetCertExtensions_1_rows }
};
static int
memb_Vanetza_Security2_content_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
}
static int
memb_Vanetza_Security2_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_content_constr_4 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_content_constr_4 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_permissions_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_permissions_constr_3 CC_NOTUSED = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_id_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (0..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_id_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security2_permissions_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertRequestExtension__permissions, choice.content),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_ANY,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_content_constr_4,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_content_constr_4,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_content_constraint_3
},
0, 0, /* No default value */
"content"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertRequestExtension__permissions, choice.all),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"all"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_permissions_tag2el_3[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* content */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* all */
};
static asn_CHOICE_specifics_t asn_SPC_Vanetza_Security2_permissions_specs_3 = {
sizeof(struct Vanetza_Security2_CertRequestExtension__permissions),
offsetof(struct Vanetza_Security2_CertRequestExtension__permissions, _asn_ctx),
offsetof(struct Vanetza_Security2_CertRequestExtension__permissions, present),
sizeof(((struct Vanetza_Security2_CertRequestExtension__permissions *)0)->present),
asn_MAP_Vanetza_Security2_permissions_tag2el_3,
2, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_permissions_3 = {
"permissions",
"permissions",
&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_Security2_permissions_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_permissions_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security2_permissions_3,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_permissions_specs_3 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security2_CertRequestExtension_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertRequestExtension, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Ieee1609Dot2BaseTypes_ExtId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_id_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_id_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_Security2_id_constraint_1
},
0, 0, /* No default value */
"id"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertRequestExtension, permissions),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_permissions_3,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"permissions"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_CertRequestExtension_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_CertRequestExtension_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* permissions */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CertRequestExtension_specs_1 = {
sizeof(struct Vanetza_Security2_CertRequestExtension),
offsetof(struct Vanetza_Security2_CertRequestExtension, _asn_ctx),
asn_MAP_Vanetza_Security2_CertRequestExtension_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_Security2_CertRequestExtension = {
"CertRequestExtension",
"CertRequestExtension",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_CertRequestExtension_tags_1,
sizeof(asn_DEF_Vanetza_Security2_CertRequestExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CertRequestExtension_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_CertRequestExtension_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_CertRequestExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CertRequestExtension_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_CertRequestExtension_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_CertRequestExtension_specs_1 /* Additional specs */
};
@@ -0,0 +1,62 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CertRequestExtension_H_
#define _Vanetza_Security2_CertRequestExtension_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Ieee1609Dot2BaseTypes_ExtId.h"
#include "asn_ioc.h"
#include "OperatingOrganizationId.h"
#include "NULL.h"
#include "ANY.h"
#include "constr_CHOICE.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security2_CertRequestExtension__permissions_PR {
Vanetza_Security2_CertRequestExtension__permissions_PR_NOTHING, /* No components present */
Vanetza_Security2_CertRequestExtension__permissions_PR_content,
Vanetza_Security2_CertRequestExtension__permissions_PR_all
} Vanetza_Security2_CertRequestExtension__permissions_PR;
/* Vanetza_Security2_CertRequestExtension */
typedef struct Vanetza_Security2_CertRequestExtension {
Vanetza_Security2_Ieee1609Dot2BaseTypes_ExtId_t id;
struct Vanetza_Security2_CertRequestExtension__permissions {
Vanetza_Security2_CertRequestExtension__permissions_PR present;
union Vanetza_Security2_CertRequestExtension__Vanetza_Security2_permissions_u {
ANY_t content;
NULL_t all;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} permissions;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_CertRequestExtension_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CertRequestExtension;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CertRequestExtension_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_CertRequestExtension_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_CertRequestExtension_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "Certificate.h"
int
Vanetza_Security2_Certificate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_Certificate_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_CertificateBase,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security2_Certificate_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_Security2_Certificate_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_Certificate_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_Certificate = {
"Certificate",
"Certificate",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_Certificate_tags_1,
sizeof(asn_DEF_Vanetza_Security2_Certificate_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_Certificate_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_Certificate_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_Certificate_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_Certificate_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_Certificate_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_Certificate_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security2_Certificate_constraint
},
asn_MBR_Vanetza_Security2_CertificateBase_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security2_CertificateBase_specs_1 /* Additional specs */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_Certificate_H_
#define _Vanetza_Security2_Certificate_H_
#include "asn_application.h"
/* Including external dependencies */
#include "CertificateBase.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_Certificate */
typedef Vanetza_Security2_CertificateBase_t Vanetza_Security2_Certificate_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security2_Certificate_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security2_Certificate_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_Certificate;
asn_struct_free_f Vanetza_Security2_Certificate_free;
asn_struct_print_f Vanetza_Security2_Certificate_print;
asn_constr_check_f Vanetza_Security2_Certificate_constraint;
ber_type_decoder_f Vanetza_Security2_Certificate_decode_ber;
der_type_encoder_f Vanetza_Security2_Certificate_encode_der;
xer_type_decoder_f Vanetza_Security2_Certificate_decode_xer;
xer_type_encoder_f Vanetza_Security2_Certificate_encode_xer;
jer_type_encoder_f Vanetza_Security2_Certificate_encode_jer;
oer_type_decoder_f Vanetza_Security2_Certificate_decode_oer;
oer_type_encoder_f Vanetza_Security2_Certificate_encode_oer;
per_type_decoder_f Vanetza_Security2_Certificate_decode_uper;
per_type_encoder_f Vanetza_Security2_Certificate_encode_uper;
per_type_decoder_f Vanetza_Security2_Certificate_decode_aper;
per_type_encoder_f Vanetza_Security2_Certificate_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_Certificate_H_ */
#include "asn_internal.h"
@@ -0,0 +1,195 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CertificateBase.h"
static int
memb_Vanetza_Security2_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value == 3L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_version_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (3..3) */,
-1};
#endif /* !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_Security2_version_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 0, 0, 3, 3 } /* (3..3) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security2_CertificateBase_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertificateBase, version),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Uint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_version_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_version_constraint_1
},
0, 0, /* No default value */
"version"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertificateBase, type),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_CertificateType,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"type"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertificateBase, issuer),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_IssuerIdentifier,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"issuer"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertificateBase, toBeSigned),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_ToBeSignedCertificate,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"toBeSigned"
},
{ ATF_POINTER, 1, offsetof(struct Vanetza_Security2_CertificateBase, signature),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_Signature,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"signature"
},
};
static const int asn_MAP_Vanetza_Security2_CertificateBase_oms_1[] = { 4 };
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_CertificateBase_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_CertificateBase_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* type */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* issuer */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* toBeSigned */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* signature */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CertificateBase_specs_1 = {
sizeof(struct Vanetza_Security2_CertificateBase),
offsetof(struct Vanetza_Security2_CertificateBase, _asn_ctx),
asn_MAP_Vanetza_Security2_CertificateBase_tag2el_1,
5, /* Count of tags in the map */
asn_MAP_Vanetza_Security2_CertificateBase_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CertificateBase = {
"CertificateBase",
"CertificateBase",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_CertificateBase_tags_1,
sizeof(asn_DEF_Vanetza_Security2_CertificateBase_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CertificateBase_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_CertificateBase_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_CertificateBase_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CertificateBase_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_CertificateBase_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security2_CertificateBase_specs_1 /* Additional specs */
};
@@ -0,0 +1,53 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CertificateBase_H_
#define _Vanetza_Security2_CertificateBase_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Uint8.h"
#include "CertificateType.h"
#include "IssuerIdentifier.h"
#include "ToBeSignedCertificate.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct Vanetza_Security2_Signature;
/* Vanetza_Security2_CertificateBase */
typedef struct Vanetza_Security2_CertificateBase {
Vanetza_Security2_Uint8_t version;
Vanetza_Security2_CertificateType_t type;
Vanetza_Security2_IssuerIdentifier_t issuer;
Vanetza_Security2_ToBeSignedCertificate_t toBeSigned;
struct Vanetza_Security2_Signature *signature; /* OPTIONAL */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_CertificateBase_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CertificateBase;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CertificateBase_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_CertificateBase_1[5];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "Signature.h"
#endif /* _Vanetza_Security2_CertificateBase_H_ */
#include "asn_internal.h"
@@ -0,0 +1,195 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1CertManagement"
* found in "Ieee1609Dot2Dot1CertManagement.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CertificateChain.h"
static int
memb_Vanetza_Security2_others_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_type_Vanetza_Security2_others_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..MAX)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_others_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security2_others_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..MAX)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security2_others_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
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_Security2_others_3[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_Vanetza_Security2_Certificate,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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_Security2_others_tags_3[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Vanetza_Security2_others_specs_3 = {
sizeof(struct Vanetza_Security2_CertificateChain__others),
offsetof(struct Vanetza_Security2_CertificateChain__others, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_others_3 = {
"others",
"others",
&asn_OP_SEQUENCE_OF,
asn_DEF_Vanetza_Security2_others_tags_3,
sizeof(asn_DEF_Vanetza_Security2_others_tags_3)
/sizeof(asn_DEF_Vanetza_Security2_others_tags_3[0]) - 1, /* 1 */
asn_DEF_Vanetza_Security2_others_tags_3, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_others_tags_3)
/sizeof(asn_DEF_Vanetza_Security2_others_tags_3[0]), /* 2 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_others_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_others_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_OF_constraint
},
asn_MBR_Vanetza_Security2_others_3,
1, /* Single element */
&asn_SPC_Vanetza_Security2_others_specs_3 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security2_CertificateChain_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertificateChain, homeCtl),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security2_MultiSignedCtlSpdu,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"homeCtl"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security2_CertificateChain, others),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
0,
&asn_DEF_Vanetza_Security2_others_3,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security2_others_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security2_others_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security2_others_constraint_1
},
0, 0, /* No default value */
"others"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_CertificateChain_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security2_CertificateChain_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* homeCtl */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* others */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CertificateChain_specs_1 = {
sizeof(struct Vanetza_Security2_CertificateChain),
offsetof(struct Vanetza_Security2_CertificateChain, _asn_ctx),
asn_MAP_Vanetza_Security2_CertificateChain_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_Security2_CertificateChain = {
"CertificateChain",
"CertificateChain",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_CertificateChain_tags_1,
sizeof(asn_DEF_Vanetza_Security2_CertificateChain_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CertificateChain_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_CertificateChain_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_CertificateChain_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CertificateChain_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_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_Security2_CertificateChain_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_CertificateChain_specs_1 /* Additional specs */
};
@@ -0,0 +1,58 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1CertManagement"
* found in "Ieee1609Dot2Dot1CertManagement.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CertificateChain_H_
#define _Vanetza_Security2_CertificateChain_H_
#include "asn_application.h"
/* Including external dependencies */
#include "MultiSignedCtlSpdu.h"
#include "asn_SEQUENCE_OF.h"
#include "constr_SEQUENCE_OF.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct Vanetza_Security2_Certificate;
/* Vanetza_Security2_CertificateChain */
typedef struct Vanetza_Security2_CertificateChain {
Vanetza_Security2_MultiSignedCtlSpdu_t homeCtl;
struct Vanetza_Security2_CertificateChain__others {
A_SEQUENCE_OF(struct Vanetza_Security2_Certificate) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} others;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security2_CertificateChain_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CertificateChain;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security2_CertificateChain_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security2_CertificateChain_1[2];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "Certificate.h"
#endif /* _Vanetza_Security2_CertificateChain_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#include "CertificateChainSpdu.h"
int
Vanetza_Security2_CertificateChainSpdu_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
/* prevent infinite recursion */
if(td->encoding_constraints.general_constraints != Vanetza_Security2_CertificateChainSpdu_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security2_Ieee1609Dot2Data_Unsecured_216P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security2_CertificateChainSpdu_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security2_CertificateChainSpdu_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_CertificateChainSpdu_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CertificateChainSpdu = {
"CertificateChainSpdu",
"CertificateChainSpdu",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security2_CertificateChainSpdu_tags_1,
sizeof(asn_DEF_Vanetza_Security2_CertificateChainSpdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CertificateChainSpdu_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security2_CertificateChainSpdu_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security2_CertificateChainSpdu_tags_1)
/sizeof(asn_DEF_Vanetza_Security2_CertificateChainSpdu_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security2_CertificateChainSpdu_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security2_CertificateChainSpdu_constr_1,
#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_Security2_CertificateChainSpdu_constraint
},
asn_MBR_Vanetza_Security2_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security2_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2Dot1Protocol"
* found in "Ieee1609Dot2Dot1Protocol.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security2_ -R`
*/
#ifndef _Vanetza_Security2_CertificateChainSpdu_H_
#define _Vanetza_Security2_CertificateChainSpdu_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Ieee1609Dot2Data-Unsecured.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security2_CertificateChainSpdu */
typedef Vanetza_Security2_Ieee1609Dot2Data_Unsecured_216P0_t Vanetza_Security2_CertificateChainSpdu_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_CertificateChainSpdu;
asn_struct_free_f Vanetza_Security2_CertificateChainSpdu_free;
asn_struct_print_f Vanetza_Security2_CertificateChainSpdu_print;
asn_constr_check_f Vanetza_Security2_CertificateChainSpdu_constraint;
ber_type_decoder_f Vanetza_Security2_CertificateChainSpdu_decode_ber;
der_type_encoder_f Vanetza_Security2_CertificateChainSpdu_encode_der;
xer_type_decoder_f Vanetza_Security2_CertificateChainSpdu_decode_xer;
xer_type_encoder_f Vanetza_Security2_CertificateChainSpdu_encode_xer;
jer_type_encoder_f Vanetza_Security2_CertificateChainSpdu_encode_jer;
oer_type_decoder_f Vanetza_Security2_CertificateChainSpdu_decode_oer;
oer_type_encoder_f Vanetza_Security2_CertificateChainSpdu_encode_oer;
per_type_decoder_f Vanetza_Security2_CertificateChainSpdu_decode_uper;
per_type_encoder_f Vanetza_Security2_CertificateChainSpdu_encode_uper;
per_type_decoder_f Vanetza_Security2_CertificateChainSpdu_decode_aper;
per_type_encoder_f Vanetza_Security2_CertificateChainSpdu_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security2_CertificateChainSpdu_H_ */
#include "asn_internal.h"

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