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 "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "AaEntry.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security_AaEntry_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_AaEntry, aaCertificate),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_AaEntry, accessPoint),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_AaEntry_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_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_Security_AaEntry_specs_1 = {
sizeof(struct Vanetza_Security_AaEntry),
offsetof(struct Vanetza_Security_AaEntry, _asn_ctx),
asn_MAP_Vanetza_Security_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_Security_AaEntry = {
"AaEntry",
"AaEntry",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_AaEntry_tags_1,
sizeof(asn_DEF_Vanetza_Security_AaEntry_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AaEntry_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AaEntry_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AaEntry_tags_1)
/sizeof(asn_DEF_Vanetza_Security_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_Security_AaEntry_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_AaEntry_specs_1 /* Additional specs */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AaEntry_H_
#define _Vanetza_Security_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_Security_AaEntry */
typedef struct Vanetza_Security_AaEntry {
Vanetza_Security_EtsiTs103097Certificate_t aaCertificate;
Vanetza_Security_Url_t accessPoint;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_AaEntry_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AaEntry;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_AaEntry_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_AaEntry_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_AaEntry_H_ */
#include "asn_internal.h"
@@ -0,0 +1,131 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2"
* found in "IEEE1609dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "AesCcmCiphertext.h"
static int
memb_Vanetza_Security_nonce_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 == 12UL)) {
/* 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_Security_nonce_constr_2 CC_NOTUSED = {
{ 0, 0 },
12 /* (SIZE(12..12)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_nonce_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 12, 12 } /* (SIZE(12..12)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security_AesCcmCiphertext_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_AesCcmCiphertext, nonce),
(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_Security_nonce_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_nonce_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_nonce_constraint_1
},
0, 0, /* No default value */
"nonce"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_AesCcmCiphertext, ccmCiphertext),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Opaque,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"ccmCiphertext"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_AesCcmCiphertext_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_AesCcmCiphertext_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nonce */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ccmCiphertext */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_AesCcmCiphertext_specs_1 = {
sizeof(struct Vanetza_Security_AesCcmCiphertext),
offsetof(struct Vanetza_Security_AesCcmCiphertext, _asn_ctx),
asn_MAP_Vanetza_Security_AesCcmCiphertext_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_Security_AesCcmCiphertext = {
"AesCcmCiphertext",
"AesCcmCiphertext",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_AesCcmCiphertext_tags_1,
sizeof(asn_DEF_Vanetza_Security_AesCcmCiphertext_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AesCcmCiphertext_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AesCcmCiphertext_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AesCcmCiphertext_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AesCcmCiphertext_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_AesCcmCiphertext_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_AesCcmCiphertext_specs_1 /* Additional specs */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2"
* found in "IEEE1609dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AesCcmCiphertext_H_
#define _Vanetza_Security_AesCcmCiphertext_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#include "Opaque.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_AesCcmCiphertext */
typedef struct Vanetza_Security_AesCcmCiphertext {
OCTET_STRING_t nonce;
Vanetza_Security_Opaque_t ccmCiphertext;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_AesCcmCiphertext_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AesCcmCiphertext;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_AesCcmCiphertext_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_AesCcmCiphertext_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_AesCcmCiphertext_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "AuthorizationRequestMessage.h"
int
Vanetza_Security_AuthorizationRequestMessage_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_Security_AuthorizationRequestMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_EtsiTs103097Data_Encrypted_Unicast_55P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_AuthorizationRequestMessage_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_Security_AuthorizationRequestMessage_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_Security_AuthorizationRequestMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationRequestMessage = {
"AuthorizationRequestMessage",
"AuthorizationRequestMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_AuthorizationRequestMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security_AuthorizationRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationRequestMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AuthorizationRequestMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AuthorizationRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationRequestMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_AuthorizationRequestMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_AuthorizationRequestMessage_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_AuthorizationRequestMessage_constraint
},
asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AuthorizationRequestMessage_H_
#define _Vanetza_Security_AuthorizationRequestMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-Encrypted-Unicast.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_AuthorizationRequestMessage */
typedef Vanetza_Security_EtsiTs103097Data_Encrypted_Unicast_55P0_t Vanetza_Security_AuthorizationRequestMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationRequestMessage;
asn_struct_free_f Vanetza_Security_AuthorizationRequestMessage_free;
asn_struct_print_f Vanetza_Security_AuthorizationRequestMessage_print;
asn_constr_check_f Vanetza_Security_AuthorizationRequestMessage_constraint;
ber_type_decoder_f Vanetza_Security_AuthorizationRequestMessage_decode_ber;
der_type_encoder_f Vanetza_Security_AuthorizationRequestMessage_encode_der;
xer_type_decoder_f Vanetza_Security_AuthorizationRequestMessage_decode_xer;
xer_type_encoder_f Vanetza_Security_AuthorizationRequestMessage_encode_xer;
jer_type_encoder_f Vanetza_Security_AuthorizationRequestMessage_encode_jer;
oer_type_decoder_f Vanetza_Security_AuthorizationRequestMessage_decode_oer;
oer_type_encoder_f Vanetza_Security_AuthorizationRequestMessage_encode_oer;
per_type_decoder_f Vanetza_Security_AuthorizationRequestMessage_decode_uper;
per_type_encoder_f Vanetza_Security_AuthorizationRequestMessage_encode_uper;
per_type_decoder_f Vanetza_Security_AuthorizationRequestMessage_decode_aper;
per_type_encoder_f Vanetza_Security_AuthorizationRequestMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_AuthorizationRequestMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "AuthorizationRequestMessageWithPop.h"
int
Vanetza_Security_AuthorizationRequestMessageWithPop_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_Security_AuthorizationRequestMessageWithPop_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_64P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_AuthorizationRequestMessageWithPop_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_Security_AuthorizationRequestMessageWithPop_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_Security_AuthorizationRequestMessageWithPop_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationRequestMessageWithPop = {
"AuthorizationRequestMessageWithPop",
"AuthorizationRequestMessageWithPop",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_AuthorizationRequestMessageWithPop_tags_1,
sizeof(asn_DEF_Vanetza_Security_AuthorizationRequestMessageWithPop_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationRequestMessageWithPop_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AuthorizationRequestMessageWithPop_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AuthorizationRequestMessageWithPop_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationRequestMessageWithPop_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_AuthorizationRequestMessageWithPop_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_AuthorizationRequestMessageWithPop_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_AuthorizationRequestMessageWithPop_constraint
},
asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AuthorizationRequestMessageWithPop_H_
#define _Vanetza_Security_AuthorizationRequestMessageWithPop_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_AuthorizationRequestMessageWithPop */
typedef Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_64P0_t Vanetza_Security_AuthorizationRequestMessageWithPop_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationRequestMessageWithPop;
asn_struct_free_f Vanetza_Security_AuthorizationRequestMessageWithPop_free;
asn_struct_print_f Vanetza_Security_AuthorizationRequestMessageWithPop_print;
asn_constr_check_f Vanetza_Security_AuthorizationRequestMessageWithPop_constraint;
ber_type_decoder_f Vanetza_Security_AuthorizationRequestMessageWithPop_decode_ber;
der_type_encoder_f Vanetza_Security_AuthorizationRequestMessageWithPop_encode_der;
xer_type_decoder_f Vanetza_Security_AuthorizationRequestMessageWithPop_decode_xer;
xer_type_encoder_f Vanetza_Security_AuthorizationRequestMessageWithPop_encode_xer;
jer_type_encoder_f Vanetza_Security_AuthorizationRequestMessageWithPop_encode_jer;
oer_type_decoder_f Vanetza_Security_AuthorizationRequestMessageWithPop_decode_oer;
oer_type_encoder_f Vanetza_Security_AuthorizationRequestMessageWithPop_encode_oer;
per_type_decoder_f Vanetza_Security_AuthorizationRequestMessageWithPop_decode_uper;
per_type_encoder_f Vanetza_Security_AuthorizationRequestMessageWithPop_encode_uper;
per_type_decoder_f Vanetza_Security_AuthorizationRequestMessageWithPop_decode_aper;
per_type_encoder_f Vanetza_Security_AuthorizationRequestMessageWithPop_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_AuthorizationRequestMessageWithPop_H_ */
#include "asn_internal.h"
@@ -0,0 +1,123 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorization"
* found in "TS102941v131-TypesAuthorization.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -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_Security_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_Security_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_Security_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_Security_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_Security_AuthorizationResponseCode_specs_1 = {
asn_MAP_Vanetza_Security_AuthorizationResponseCode_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Vanetza_Security_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_Security_AuthorizationResponseCode_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationResponseCode = {
"AuthorizationResponseCode",
"AuthorizationResponseCode",
&asn_OP_NativeEnumerated,
asn_DEF_Vanetza_Security_AuthorizationResponseCode_tags_1,
sizeof(asn_DEF_Vanetza_Security_AuthorizationResponseCode_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationResponseCode_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AuthorizationResponseCode_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AuthorizationResponseCode_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationResponseCode_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_AuthorizationResponseCode_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_AuthorizationResponseCode_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
NativeEnumerated_constraint
},
0, 0, /* Defined elsewhere */
&asn_SPC_Vanetza_Security_AuthorizationResponseCode_specs_1 /* Additional specs */
};
@@ -0,0 +1,83 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorization"
* found in "TS102941v131-TypesAuthorization.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AuthorizationResponseCode_H_
#define _Vanetza_Security_AuthorizationResponseCode_H_
#include "asn_application.h"
/* Including external dependencies */
#include "NativeEnumerated.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_AuthorizationResponseCode {
Vanetza_Security_AuthorizationResponseCode_ok = 0,
Vanetza_Security_AuthorizationResponseCode_its_aa_cantparse = 1,
Vanetza_Security_AuthorizationResponseCode_its_aa_badcontenttype = 2,
Vanetza_Security_AuthorizationResponseCode_its_aa_imnottherecipient = 3,
Vanetza_Security_AuthorizationResponseCode_its_aa_unknownencryptionalgorithm = 4,
Vanetza_Security_AuthorizationResponseCode_its_aa_decryptionfailed = 5,
Vanetza_Security_AuthorizationResponseCode_its_aa_keysdontmatch = 6,
Vanetza_Security_AuthorizationResponseCode_its_aa_incompleterequest = 7,
Vanetza_Security_AuthorizationResponseCode_its_aa_invalidencryptionkey = 8,
Vanetza_Security_AuthorizationResponseCode_its_aa_outofsyncrequest = 9,
Vanetza_Security_AuthorizationResponseCode_its_aa_unknownea = 10,
Vanetza_Security_AuthorizationResponseCode_its_aa_invalidea = 11,
Vanetza_Security_AuthorizationResponseCode_its_aa_deniedpermissions = 12,
Vanetza_Security_AuthorizationResponseCode_aa_ea_cantreachea = 13,
Vanetza_Security_AuthorizationResponseCode_ea_aa_cantparse = 14,
Vanetza_Security_AuthorizationResponseCode_ea_aa_badcontenttype = 15,
Vanetza_Security_AuthorizationResponseCode_ea_aa_imnottherecipient = 16,
Vanetza_Security_AuthorizationResponseCode_ea_aa_unknownencryptionalgorithm = 17,
Vanetza_Security_AuthorizationResponseCode_ea_aa_decryptionfailed = 18,
Vanetza_Security_AuthorizationResponseCode_invalidaa = 19,
Vanetza_Security_AuthorizationResponseCode_invalidaasignature = 20,
Vanetza_Security_AuthorizationResponseCode_wrongea = 21,
Vanetza_Security_AuthorizationResponseCode_unknownits = 22,
Vanetza_Security_AuthorizationResponseCode_invalidsignature = 23,
Vanetza_Security_AuthorizationResponseCode_invalidencryptionkey = 24,
Vanetza_Security_AuthorizationResponseCode_deniedpermissions = 25,
Vanetza_Security_AuthorizationResponseCode_deniedtoomanycerts = 26
/*
* Enumeration is extensible
*/
} e_Vanetza_Security_AuthorizationResponseCode;
/* Vanetza_Security_AuthorizationResponseCode */
typedef long Vanetza_Security_AuthorizationResponseCode_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_AuthorizationResponseCode_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_AuthorizationResponseCode_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationResponseCode;
extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security_AuthorizationResponseCode_specs_1;
asn_struct_free_f Vanetza_Security_AuthorizationResponseCode_free;
asn_struct_print_f Vanetza_Security_AuthorizationResponseCode_print;
asn_constr_check_f Vanetza_Security_AuthorizationResponseCode_constraint;
ber_type_decoder_f Vanetza_Security_AuthorizationResponseCode_decode_ber;
der_type_encoder_f Vanetza_Security_AuthorizationResponseCode_encode_der;
xer_type_decoder_f Vanetza_Security_AuthorizationResponseCode_decode_xer;
xer_type_encoder_f Vanetza_Security_AuthorizationResponseCode_encode_xer;
jer_type_encoder_f Vanetza_Security_AuthorizationResponseCode_encode_jer;
oer_type_decoder_f Vanetza_Security_AuthorizationResponseCode_decode_oer;
oer_type_encoder_f Vanetza_Security_AuthorizationResponseCode_encode_oer;
per_type_decoder_f Vanetza_Security_AuthorizationResponseCode_decode_uper;
per_type_encoder_f Vanetza_Security_AuthorizationResponseCode_encode_uper;
per_type_decoder_f Vanetza_Security_AuthorizationResponseCode_decode_aper;
per_type_encoder_f Vanetza_Security_AuthorizationResponseCode_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_AuthorizationResponseCode_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "AuthorizationResponseMessage.h"
int
Vanetza_Security_AuthorizationResponseMessage_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_Security_AuthorizationResponseMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_64P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_AuthorizationResponseMessage_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_Security_AuthorizationResponseMessage_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_Security_AuthorizationResponseMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationResponseMessage = {
"AuthorizationResponseMessage",
"AuthorizationResponseMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_AuthorizationResponseMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security_AuthorizationResponseMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationResponseMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AuthorizationResponseMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AuthorizationResponseMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationResponseMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_AuthorizationResponseMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_AuthorizationResponseMessage_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_AuthorizationResponseMessage_constraint
},
asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AuthorizationResponseMessage_H_
#define _Vanetza_Security_AuthorizationResponseMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_AuthorizationResponseMessage */
typedef Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_64P0_t Vanetza_Security_AuthorizationResponseMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationResponseMessage;
asn_struct_free_f Vanetza_Security_AuthorizationResponseMessage_free;
asn_struct_print_f Vanetza_Security_AuthorizationResponseMessage_print;
asn_constr_check_f Vanetza_Security_AuthorizationResponseMessage_constraint;
ber_type_decoder_f Vanetza_Security_AuthorizationResponseMessage_decode_ber;
der_type_encoder_f Vanetza_Security_AuthorizationResponseMessage_encode_der;
xer_type_decoder_f Vanetza_Security_AuthorizationResponseMessage_decode_xer;
xer_type_encoder_f Vanetza_Security_AuthorizationResponseMessage_encode_xer;
jer_type_encoder_f Vanetza_Security_AuthorizationResponseMessage_encode_jer;
oer_type_decoder_f Vanetza_Security_AuthorizationResponseMessage_decode_oer;
oer_type_encoder_f Vanetza_Security_AuthorizationResponseMessage_encode_oer;
per_type_decoder_f Vanetza_Security_AuthorizationResponseMessage_decode_uper;
per_type_encoder_f Vanetza_Security_AuthorizationResponseMessage_encode_uper;
per_type_decoder_f Vanetza_Security_AuthorizationResponseMessage_decode_aper;
per_type_encoder_f Vanetza_Security_AuthorizationResponseMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_AuthorizationResponseMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TS102941v131-TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "AuthorizationValidationRequest.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security_AuthorizationValidationRequest_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_AuthorizationValidationRequest, sharedAtRequest),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_AuthorizationValidationRequest, ecSignature),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_AuthorizationValidationRequest_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_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_Security_AuthorizationValidationRequest_specs_1 = {
sizeof(struct Vanetza_Security_AuthorizationValidationRequest),
offsetof(struct Vanetza_Security_AuthorizationValidationRequest, _asn_ctx),
asn_MAP_Vanetza_Security_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_Security_AuthorizationValidationRequest = {
"AuthorizationValidationRequest",
"AuthorizationValidationRequest",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_AuthorizationValidationRequest_tags_1,
sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationRequest_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AuthorizationValidationRequest_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_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_Security_AuthorizationValidationRequest_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_AuthorizationValidationRequest_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TS102941v131-TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AuthorizationValidationRequest_H_
#define _Vanetza_Security_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_Security_AuthorizationValidationRequest */
typedef struct Vanetza_Security_AuthorizationValidationRequest {
Vanetza_Security_SharedAtRequest_t sharedAtRequest;
Vanetza_Security_EcSignature_t ecSignature;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_AuthorizationValidationRequest_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationRequest;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_AuthorizationValidationRequest_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_AuthorizationValidationRequest_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_AuthorizationValidationRequest_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "AuthorizationValidationRequestMessage.h"
int
Vanetza_Security_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_Security_AuthorizationValidationRequestMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_64P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_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_Security_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_Security_AuthorizationValidationRequestMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationRequestMessage = {
"AuthorizationValidationRequestMessage",
"AuthorizationValidationRequestMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_AuthorizationValidationRequestMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationRequestMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AuthorizationValidationRequestMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationRequestMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_AuthorizationValidationRequestMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_AuthorizationValidationRequestMessage_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_AuthorizationValidationRequestMessage_constraint
},
asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AuthorizationValidationRequestMessage_H_
#define _Vanetza_Security_AuthorizationValidationRequestMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_AuthorizationValidationRequestMessage */
typedef Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_64P0_t Vanetza_Security_AuthorizationValidationRequestMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationRequestMessage;
asn_struct_free_f Vanetza_Security_AuthorizationValidationRequestMessage_free;
asn_struct_print_f Vanetza_Security_AuthorizationValidationRequestMessage_print;
asn_constr_check_f Vanetza_Security_AuthorizationValidationRequestMessage_constraint;
ber_type_decoder_f Vanetza_Security_AuthorizationValidationRequestMessage_decode_ber;
der_type_encoder_f Vanetza_Security_AuthorizationValidationRequestMessage_encode_der;
xer_type_decoder_f Vanetza_Security_AuthorizationValidationRequestMessage_decode_xer;
xer_type_encoder_f Vanetza_Security_AuthorizationValidationRequestMessage_encode_xer;
jer_type_encoder_f Vanetza_Security_AuthorizationValidationRequestMessage_encode_jer;
oer_type_decoder_f Vanetza_Security_AuthorizationValidationRequestMessage_decode_oer;
oer_type_encoder_f Vanetza_Security_AuthorizationValidationRequestMessage_encode_oer;
per_type_decoder_f Vanetza_Security_AuthorizationValidationRequestMessage_decode_uper;
per_type_encoder_f Vanetza_Security_AuthorizationValidationRequestMessage_encode_uper;
per_type_decoder_f Vanetza_Security_AuthorizationValidationRequestMessage_decode_aper;
per_type_encoder_f Vanetza_Security_AuthorizationValidationRequestMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_AuthorizationValidationRequestMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,197 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TS102941v131-TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "AuthorizationValidationResponse.h"
static int
memb_Vanetza_Security_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_Security_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_Security_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_Security_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_Security_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_Security_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_Security_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_Security_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_Security_AuthorizationValidationResponse_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_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_Security_requestHash_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_requestHash_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_requestHash_constraint_1
},
0, 0, /* No default value */
"requestHash"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_AuthorizationValidationResponse, responseCode),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_AuthorizationValidationResponse, confirmedSubjectAttributes),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_CertificateSubjectAttributes,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_confirmedSubjectAttributes_constr_4,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_confirmedSubjectAttributes_constr_4,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_confirmedSubjectAttributes_constraint_1
},
0, 0, /* No default value */
"confirmedSubjectAttributes"
},
};
static const int asn_MAP_Vanetza_Security_AuthorizationValidationResponse_oms_1[] = { 2 };
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_AuthorizationValidationResponse_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_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_Security_AuthorizationValidationResponse_specs_1 = {
sizeof(struct Vanetza_Security_AuthorizationValidationResponse),
offsetof(struct Vanetza_Security_AuthorizationValidationResponse, _asn_ctx),
asn_MAP_Vanetza_Security_AuthorizationValidationResponse_tag2el_1,
3, /* Count of tags in the map */
asn_MAP_Vanetza_Security_AuthorizationValidationResponse_oms_1, /* Optional members */
1, 0, /* Root/Additions */
3, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationResponse = {
"AuthorizationValidationResponse",
"AuthorizationValidationResponse",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_AuthorizationValidationResponse_tags_1,
sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponse_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponse_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AuthorizationValidationResponse_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponse_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponse_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_AuthorizationValidationResponse_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_AuthorizationValidationResponse_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_AuthorizationValidationResponse_1,
3, /* Elements count */
&asn_SPC_Vanetza_Security_AuthorizationValidationResponse_specs_1 /* Additional specs */
};
@@ -0,0 +1,55 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TS102941v131-TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AuthorizationValidationResponse_H_
#define _Vanetza_Security_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_Security_CertificateSubjectAttributes;
/* Vanetza_Security_AuthorizationValidationResponse */
typedef struct Vanetza_Security_AuthorizationValidationResponse {
OCTET_STRING_t requestHash;
Vanetza_Security_AuthorizationValidationResponseCode_t responseCode;
struct Vanetza_Security_CertificateSubjectAttributes *confirmedSubjectAttributes; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_AuthorizationValidationResponse_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationResponse;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_AuthorizationValidationResponse_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_AuthorizationValidationResponse_1[3];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_AuthorizationValidationResponse_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_AuthorizationValidationResponse_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "CertificateSubjectAttributes.h"
#endif /* _Vanetza_Security_AuthorizationValidationResponse_H_ */
#include "asn_internal.h"
@@ -0,0 +1,99 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TS102941v131-TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -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_Security_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_Security_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_Security_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_Security_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_Security_AuthorizationValidationResponseCode_specs_1 = {
asn_MAP_Vanetza_Security_AuthorizationValidationResponseCode_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Vanetza_Security_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_Security_AuthorizationValidationResponseCode_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationResponseCode = {
"AuthorizationValidationResponseCode",
"AuthorizationValidationResponseCode",
&asn_OP_NativeEnumerated,
asn_DEF_Vanetza_Security_AuthorizationValidationResponseCode_tags_1,
sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponseCode_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponseCode_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AuthorizationValidationResponseCode_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponseCode_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponseCode_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_AuthorizationValidationResponseCode_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_AuthorizationValidationResponseCode_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
NativeEnumerated_constraint
},
0, 0, /* Defined elsewhere */
&asn_SPC_Vanetza_Security_AuthorizationValidationResponseCode_specs_1 /* Additional specs */
};
@@ -0,0 +1,71 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
* found in "TS102941v131-TypesAuthorizationValidation.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AuthorizationValidationResponseCode_H_
#define _Vanetza_Security_AuthorizationValidationResponseCode_H_
#include "asn_application.h"
/* Including external dependencies */
#include "NativeEnumerated.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_AuthorizationValidationResponseCode {
Vanetza_Security_AuthorizationValidationResponseCode_ok = 0,
Vanetza_Security_AuthorizationValidationResponseCode_cantparse = 1,
Vanetza_Security_AuthorizationValidationResponseCode_badcontenttype = 2,
Vanetza_Security_AuthorizationValidationResponseCode_imnottherecipient = 3,
Vanetza_Security_AuthorizationValidationResponseCode_unknownencryptionalgorithm = 4,
Vanetza_Security_AuthorizationValidationResponseCode_decryptionfailed = 5,
Vanetza_Security_AuthorizationValidationResponseCode_invalidaa = 6,
Vanetza_Security_AuthorizationValidationResponseCode_invalidaasignature = 7,
Vanetza_Security_AuthorizationValidationResponseCode_wrongea = 8,
Vanetza_Security_AuthorizationValidationResponseCode_unknownits = 9,
Vanetza_Security_AuthorizationValidationResponseCode_invalidsignature = 10,
Vanetza_Security_AuthorizationValidationResponseCode_invalidencryptionkey = 11,
Vanetza_Security_AuthorizationValidationResponseCode_deniedpermissions = 12,
Vanetza_Security_AuthorizationValidationResponseCode_deniedtoomanycerts = 13,
Vanetza_Security_AuthorizationValidationResponseCode_deniedrequest = 14
/*
* Enumeration is extensible
*/
} e_Vanetza_Security_AuthorizationValidationResponseCode;
/* Vanetza_Security_AuthorizationValidationResponseCode */
typedef long Vanetza_Security_AuthorizationValidationResponseCode_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_AuthorizationValidationResponseCode_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_AuthorizationValidationResponseCode_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationResponseCode;
extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security_AuthorizationValidationResponseCode_specs_1;
asn_struct_free_f Vanetza_Security_AuthorizationValidationResponseCode_free;
asn_struct_print_f Vanetza_Security_AuthorizationValidationResponseCode_print;
asn_constr_check_f Vanetza_Security_AuthorizationValidationResponseCode_constraint;
ber_type_decoder_f Vanetza_Security_AuthorizationValidationResponseCode_decode_ber;
der_type_encoder_f Vanetza_Security_AuthorizationValidationResponseCode_encode_der;
xer_type_decoder_f Vanetza_Security_AuthorizationValidationResponseCode_decode_xer;
xer_type_encoder_f Vanetza_Security_AuthorizationValidationResponseCode_encode_xer;
jer_type_encoder_f Vanetza_Security_AuthorizationValidationResponseCode_encode_jer;
oer_type_decoder_f Vanetza_Security_AuthorizationValidationResponseCode_decode_oer;
oer_type_encoder_f Vanetza_Security_AuthorizationValidationResponseCode_encode_oer;
per_type_decoder_f Vanetza_Security_AuthorizationValidationResponseCode_decode_uper;
per_type_encoder_f Vanetza_Security_AuthorizationValidationResponseCode_encode_uper;
per_type_decoder_f Vanetza_Security_AuthorizationValidationResponseCode_decode_aper;
per_type_encoder_f Vanetza_Security_AuthorizationValidationResponseCode_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_AuthorizationValidationResponseCode_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "AuthorizationValidationResponseMessage.h"
int
Vanetza_Security_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_Security_AuthorizationValidationResponseMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_64P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_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_Security_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_Security_AuthorizationValidationResponseMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationResponseMessage = {
"AuthorizationValidationResponseMessage",
"AuthorizationValidationResponseMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_AuthorizationValidationResponseMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponseMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponseMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AuthorizationValidationResponseMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponseMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AuthorizationValidationResponseMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_AuthorizationValidationResponseMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_AuthorizationValidationResponseMessage_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_AuthorizationValidationResponseMessage_constraint
},
asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AuthorizationValidationResponseMessage_H_
#define _Vanetza_Security_AuthorizationValidationResponseMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_AuthorizationValidationResponseMessage */
typedef Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_64P0_t Vanetza_Security_AuthorizationValidationResponseMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AuthorizationValidationResponseMessage;
asn_struct_free_f Vanetza_Security_AuthorizationValidationResponseMessage_free;
asn_struct_print_f Vanetza_Security_AuthorizationValidationResponseMessage_print;
asn_constr_check_f Vanetza_Security_AuthorizationValidationResponseMessage_constraint;
ber_type_decoder_f Vanetza_Security_AuthorizationValidationResponseMessage_decode_ber;
der_type_encoder_f Vanetza_Security_AuthorizationValidationResponseMessage_encode_der;
xer_type_decoder_f Vanetza_Security_AuthorizationValidationResponseMessage_decode_xer;
xer_type_encoder_f Vanetza_Security_AuthorizationValidationResponseMessage_encode_xer;
jer_type_encoder_f Vanetza_Security_AuthorizationValidationResponseMessage_encode_jer;
oer_type_decoder_f Vanetza_Security_AuthorizationValidationResponseMessage_decode_oer;
oer_type_encoder_f Vanetza_Security_AuthorizationValidationResponseMessage_encode_oer;
per_type_decoder_f Vanetza_Security_AuthorizationValidationResponseMessage_decode_uper;
per_type_encoder_f Vanetza_Security_AuthorizationValidationResponseMessage_encode_uper;
per_type_decoder_f Vanetza_Security_AuthorizationValidationResponseMessage_decode_aper;
per_type_encoder_f Vanetza_Security_AuthorizationValidationResponseMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_AuthorizationValidationResponseMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,102 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "BasePublicEncryptionKey.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_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_Security_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_Security_BasePublicEncryptionKey_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_BasePublicEncryptionKey, choice.eciesNistP256),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_BasePublicEncryptionKey, choice.eciesBrainpoolP256r1),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_BasePublicEncryptionKey_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eciesNistP256 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eciesBrainpoolP256r1 */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_BasePublicEncryptionKey_specs_1 = {
sizeof(struct Vanetza_Security_BasePublicEncryptionKey),
offsetof(struct Vanetza_Security_BasePublicEncryptionKey, _asn_ctx),
offsetof(struct Vanetza_Security_BasePublicEncryptionKey, present),
sizeof(((struct Vanetza_Security_BasePublicEncryptionKey *)0)->present),
asn_MAP_Vanetza_Security_BasePublicEncryptionKey_tag2el_1,
2, /* Count of tags in the map */
0, 0,
2 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_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_Security_BasePublicEncryptionKey_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_BasePublicEncryptionKey_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_BasePublicEncryptionKey_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_BasePublicEncryptionKey_specs_1 /* Additional specs */
};
@@ -0,0 +1,59 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_BasePublicEncryptionKey_H_
#define _Vanetza_Security_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_Security_BasePublicEncryptionKey_PR {
Vanetza_Security_BasePublicEncryptionKey_PR_NOTHING, /* No components present */
Vanetza_Security_BasePublicEncryptionKey_PR_eciesNistP256,
Vanetza_Security_BasePublicEncryptionKey_PR_eciesBrainpoolP256r1
/* Extensions may appear below */
} Vanetza_Security_BasePublicEncryptionKey_PR;
/* Vanetza_Security_BasePublicEncryptionKey */
typedef struct Vanetza_Security_BasePublicEncryptionKey {
Vanetza_Security_BasePublicEncryptionKey_PR present;
union Vanetza_Security_BasePublicEncryptionKey_u {
Vanetza_Security_EccP256CurvePoint_t eciesNistP256;
Vanetza_Security_EccP256CurvePoint_t eciesBrainpoolP256r1;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_BasePublicEncryptionKey_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_BasePublicEncryptionKey;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_BasePublicEncryptionKey_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_BasePublicEncryptionKey_1[2];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_BasePublicEncryptionKey_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_BasePublicEncryptionKey_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_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_Security_ -R`
*/
#include "BitmapSsp.h"
int
Vanetza_Security_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_Security_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_Security_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_Security_BitmapSsp_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_BitmapSsp = {
"BitmapSsp",
"BitmapSsp",
&asn_OP_OCTET_STRING,
asn_DEF_Vanetza_Security_BitmapSsp_tags_1,
sizeof(asn_DEF_Vanetza_Security_BitmapSsp_tags_1)
/sizeof(asn_DEF_Vanetza_Security_BitmapSsp_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_BitmapSsp_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_BitmapSsp_tags_1)
/sizeof(asn_DEF_Vanetza_Security_BitmapSsp_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_BitmapSsp_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_BitmapSsp_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_BitmapSsp_constraint
},
0, 0, /* No members */
&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_Security_ -R`
*/
#ifndef _Vanetza_Security_BitmapSsp_H_
#define _Vanetza_Security_BitmapSsp_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_BitmapSsp */
typedef OCTET_STRING_t Vanetza_Security_BitmapSsp_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_BitmapSsp_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_BitmapSsp_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_BitmapSsp;
asn_struct_free_f Vanetza_Security_BitmapSsp_free;
asn_struct_print_f Vanetza_Security_BitmapSsp_print;
asn_constr_check_f Vanetza_Security_BitmapSsp_constraint;
ber_type_decoder_f Vanetza_Security_BitmapSsp_decode_ber;
der_type_encoder_f Vanetza_Security_BitmapSsp_encode_der;
xer_type_decoder_f Vanetza_Security_BitmapSsp_decode_xer;
xer_type_encoder_f Vanetza_Security_BitmapSsp_encode_xer;
jer_type_encoder_f Vanetza_Security_BitmapSsp_encode_jer;
oer_type_decoder_f Vanetza_Security_BitmapSsp_decode_oer;
oer_type_encoder_f Vanetza_Security_BitmapSsp_encode_oer;
per_type_decoder_f Vanetza_Security_BitmapSsp_decode_uper;
per_type_encoder_f Vanetza_Security_BitmapSsp_encode_uper;
per_type_decoder_f Vanetza_Security_BitmapSsp_decode_aper;
per_type_encoder_f Vanetza_Security_BitmapSsp_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_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_Security_ -R`
*/
#include "BitmapSspRange.h"
static int
memb_Vanetza_Security_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_Security_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_Security_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_Security_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_Security_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_Security_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_Security_BitmapSspRange_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_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_Security_sspValue_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_sspValue_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_sspValue_constraint_1
},
0, 0, /* No default value */
"sspValue"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_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_Security_sspBitmask_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_sspBitmask_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_sspBitmask_constraint_1
},
0, 0, /* No default value */
"sspBitmask"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_BitmapSspRange_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_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_Security_BitmapSspRange_specs_1 = {
sizeof(struct Vanetza_Security_BitmapSspRange),
offsetof(struct Vanetza_Security_BitmapSspRange, _asn_ctx),
asn_MAP_Vanetza_Security_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_Security_BitmapSspRange = {
"BitmapSspRange",
"BitmapSspRange",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_BitmapSspRange_tags_1,
sizeof(asn_DEF_Vanetza_Security_BitmapSspRange_tags_1)
/sizeof(asn_DEF_Vanetza_Security_BitmapSspRange_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_BitmapSspRange_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_BitmapSspRange_tags_1)
/sizeof(asn_DEF_Vanetza_Security_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_Security_BitmapSspRange_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_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_Security_ -R`
*/
#ifndef _Vanetza_Security_BitmapSspRange_H_
#define _Vanetza_Security_BitmapSspRange_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_BitmapSspRange */
typedef struct Vanetza_Security_BitmapSspRange {
OCTET_STRING_t sspValue;
OCTET_STRING_t sspBitmask;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_BitmapSspRange_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_BitmapSspRange;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_BitmapSspRange_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_BitmapSspRange_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_BitmapSspRange_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CaCertificateRekeyingMessage.h"
int
Vanetza_Security_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_Security_CaCertificateRekeyingMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_EtsiTs103097Data_Signed_55P1,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_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_Security_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_Security_CaCertificateRekeyingMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CaCertificateRekeyingMessage = {
"CaCertificateRekeyingMessage",
"CaCertificateRekeyingMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CaCertificateRekeyingMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security_CaCertificateRekeyingMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CaCertificateRekeyingMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CaCertificateRekeyingMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CaCertificateRekeyingMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CaCertificateRekeyingMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_CaCertificateRekeyingMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CaCertificateRekeyingMessage_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_CaCertificateRekeyingMessage_constraint
},
asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CaCertificateRekeyingMessage_H_
#define _Vanetza_Security_CaCertificateRekeyingMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-Signed.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CaCertificateRekeyingMessage */
typedef Vanetza_Security_EtsiTs103097Data_Signed_55P1_t Vanetza_Security_CaCertificateRekeyingMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CaCertificateRekeyingMessage;
asn_struct_free_f Vanetza_Security_CaCertificateRekeyingMessage_free;
asn_struct_print_f Vanetza_Security_CaCertificateRekeyingMessage_print;
asn_constr_check_f Vanetza_Security_CaCertificateRekeyingMessage_constraint;
ber_type_decoder_f Vanetza_Security_CaCertificateRekeyingMessage_decode_ber;
der_type_encoder_f Vanetza_Security_CaCertificateRekeyingMessage_encode_der;
xer_type_decoder_f Vanetza_Security_CaCertificateRekeyingMessage_decode_xer;
xer_type_encoder_f Vanetza_Security_CaCertificateRekeyingMessage_encode_xer;
jer_type_encoder_f Vanetza_Security_CaCertificateRekeyingMessage_encode_jer;
oer_type_decoder_f Vanetza_Security_CaCertificateRekeyingMessage_decode_oer;
oer_type_encoder_f Vanetza_Security_CaCertificateRekeyingMessage_encode_oer;
per_type_decoder_f Vanetza_Security_CaCertificateRekeyingMessage_decode_uper;
per_type_encoder_f Vanetza_Security_CaCertificateRekeyingMessage_encode_uper;
per_type_decoder_f Vanetza_Security_CaCertificateRekeyingMessage_decode_aper;
per_type_encoder_f Vanetza_Security_CaCertificateRekeyingMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CaCertificateRekeyingMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesCaManagement"
* found in "TS102941v131-TypesCaManagement.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CaCertificateRequest.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security_CaCertificateRequest_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CaCertificateRequest, publicKeys),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_CaCertificateRequest, requestedSubjectAttributes),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_CaCertificateRequest_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_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_Security_CaCertificateRequest_specs_1 = {
sizeof(struct Vanetza_Security_CaCertificateRequest),
offsetof(struct Vanetza_Security_CaCertificateRequest, _asn_ctx),
asn_MAP_Vanetza_Security_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_Security_CaCertificateRequest = {
"CaCertificateRequest",
"CaCertificateRequest",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CaCertificateRequest_tags_1,
sizeof(asn_DEF_Vanetza_Security_CaCertificateRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CaCertificateRequest_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CaCertificateRequest_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CaCertificateRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_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_Security_CaCertificateRequest_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_CaCertificateRequest_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TypesCaManagement"
* found in "TS102941v131-TypesCaManagement.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CaCertificateRequest_H_
#define _Vanetza_Security_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_Security_CaCertificateRequest */
typedef struct Vanetza_Security_CaCertificateRequest {
Vanetza_Security_PublicKeys_t publicKeys;
Vanetza_Security_CertificateSubjectAttributes_t requestedSubjectAttributes;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CaCertificateRequest_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CaCertificateRequest;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CaCertificateRequest_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CaCertificateRequest_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CaCertificateRequest_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CaCertificateRequestMessage.h"
int
Vanetza_Security_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_Security_CaCertificateRequestMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_EtsiTs103097Data_Signed_55P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_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_Security_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_Security_CaCertificateRequestMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CaCertificateRequestMessage = {
"CaCertificateRequestMessage",
"CaCertificateRequestMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CaCertificateRequestMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security_CaCertificateRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CaCertificateRequestMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CaCertificateRequestMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CaCertificateRequestMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CaCertificateRequestMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_CaCertificateRequestMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CaCertificateRequestMessage_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_CaCertificateRequestMessage_constraint
},
asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CaCertificateRequestMessage_H_
#define _Vanetza_Security_CaCertificateRequestMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-Signed.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CaCertificateRequestMessage */
typedef Vanetza_Security_EtsiTs103097Data_Signed_55P0_t Vanetza_Security_CaCertificateRequestMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CaCertificateRequestMessage;
asn_struct_free_f Vanetza_Security_CaCertificateRequestMessage_free;
asn_struct_print_f Vanetza_Security_CaCertificateRequestMessage_print;
asn_constr_check_f Vanetza_Security_CaCertificateRequestMessage_constraint;
ber_type_decoder_f Vanetza_Security_CaCertificateRequestMessage_decode_ber;
der_type_encoder_f Vanetza_Security_CaCertificateRequestMessage_encode_der;
xer_type_decoder_f Vanetza_Security_CaCertificateRequestMessage_decode_xer;
xer_type_encoder_f Vanetza_Security_CaCertificateRequestMessage_encode_xer;
jer_type_encoder_f Vanetza_Security_CaCertificateRequestMessage_encode_jer;
oer_type_decoder_f Vanetza_Security_CaCertificateRequestMessage_decode_oer;
oer_type_encoder_f Vanetza_Security_CaCertificateRequestMessage_encode_oer;
per_type_decoder_f Vanetza_Security_CaCertificateRequestMessage_decode_uper;
per_type_encoder_f Vanetza_Security_CaCertificateRequestMessage_encode_uper;
per_type_decoder_f Vanetza_Security_CaCertificateRequestMessage_decode_aper;
per_type_encoder_f Vanetza_Security_CaCertificateRequestMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CaCertificateRequestMessage_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_Security_ -R`
*/
#include "Certificate.h"
int
Vanetza_Security_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_Security_Certificate_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_CertificateBase,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_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_Security_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_Security_Certificate_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Certificate = {
"Certificate",
"Certificate",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_Certificate_tags_1,
sizeof(asn_DEF_Vanetza_Security_Certificate_tags_1)
/sizeof(asn_DEF_Vanetza_Security_Certificate_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_Certificate_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_Certificate_tags_1)
/sizeof(asn_DEF_Vanetza_Security_Certificate_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_Certificate_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_Certificate_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_Certificate_constraint
},
asn_MBR_Vanetza_Security_CertificateBase_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security_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_Security_ -R`
*/
#ifndef _Vanetza_Security_Certificate_H_
#define _Vanetza_Security_Certificate_H_
#include "asn_application.h"
/* Including external dependencies */
#include "CertificateBase.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_Certificate */
typedef Vanetza_Security_CertificateBase_t Vanetza_Security_Certificate_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_Certificate_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_Certificate_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Certificate;
asn_struct_free_f Vanetza_Security_Certificate_free;
asn_struct_print_f Vanetza_Security_Certificate_print;
asn_constr_check_f Vanetza_Security_Certificate_constraint;
ber_type_decoder_f Vanetza_Security_Certificate_decode_ber;
der_type_encoder_f Vanetza_Security_Certificate_encode_der;
xer_type_decoder_f Vanetza_Security_Certificate_decode_xer;
xer_type_encoder_f Vanetza_Security_Certificate_encode_xer;
jer_type_encoder_f Vanetza_Security_Certificate_encode_jer;
oer_type_decoder_f Vanetza_Security_Certificate_decode_oer;
oer_type_encoder_f Vanetza_Security_Certificate_encode_oer;
per_type_decoder_f Vanetza_Security_Certificate_decode_uper;
per_type_encoder_f Vanetza_Security_Certificate_encode_uper;
per_type_decoder_f Vanetza_Security_Certificate_decode_aper;
per_type_encoder_f Vanetza_Security_Certificate_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_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_Security_ -R`
*/
#include "CertificateBase.h"
static int
memb_Vanetza_Security_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_Security_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_Security_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_Security_CertificateBase_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertificateBase, version),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_version_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_version_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_version_constraint_1
},
0, 0, /* No default value */
"version"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertificateBase, type),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_CertificateBase, issuer),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_CertificateBase, toBeSigned),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_CertificateBase, signature),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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_Security_CertificateBase_oms_1[] = { 4 };
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CertificateBase_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_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_Security_CertificateBase_specs_1 = {
sizeof(struct Vanetza_Security_CertificateBase),
offsetof(struct Vanetza_Security_CertificateBase, _asn_ctx),
asn_MAP_Vanetza_Security_CertificateBase_tag2el_1,
5, /* Count of tags in the map */
asn_MAP_Vanetza_Security_CertificateBase_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateBase = {
"CertificateBase",
"CertificateBase",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CertificateBase_tags_1,
sizeof(asn_DEF_Vanetza_Security_CertificateBase_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertificateBase_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CertificateBase_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CertificateBase_tags_1)
/sizeof(asn_DEF_Vanetza_Security_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_Security_CertificateBase_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security_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_Security_ -R`
*/
#ifndef _Vanetza_Security_CertificateBase_H_
#define _Vanetza_Security_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_Security_Signature;
/* Vanetza_Security_CertificateBase */
typedef struct Vanetza_Security_CertificateBase {
Vanetza_Security_Uint8_t version;
Vanetza_Security_CertificateType_t type;
Vanetza_Security_IssuerIdentifier_t issuer;
Vanetza_Security_ToBeSignedCertificate_t toBeSigned;
struct Vanetza_Security_Signature *signature; /* OPTIONAL */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CertificateBase_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateBase;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CertificateBase_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateBase_1[5];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "Signature.h"
#endif /* _Vanetza_Security_CertificateBase_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941BaseTypes"
* found in "TS102941v131-BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CertificateFormat.h"
int
Vanetza_Security_CertificateFormat_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 1L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_CertificateFormat_constr_1 CC_NOTUSED = {
{ 1, 1 } /* (1..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security_CertificateFormat_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CertificateFormat_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateFormat = {
"CertificateFormat",
"CertificateFormat",
&asn_OP_NativeInteger,
asn_DEF_Vanetza_Security_CertificateFormat_tags_1,
sizeof(asn_DEF_Vanetza_Security_CertificateFormat_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertificateFormat_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CertificateFormat_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CertificateFormat_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertificateFormat_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_CertificateFormat_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CertificateFormat_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_CertificateFormat_constraint
},
0, 0, /* Defined elsewhere */
0 /* No specifics */
};
@@ -0,0 +1,53 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941BaseTypes"
* found in "TS102941v131-BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CertificateFormat_H_
#define _Vanetza_Security_CertificateFormat_H_
#include "asn_application.h"
/* Including external dependencies */
#include "NativeInteger.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_CertificateFormat {
Vanetza_Security_CertificateFormat_ts103097v131 = 1
} e_Vanetza_Security_CertificateFormat;
/* Vanetza_Security_CertificateFormat */
typedef long Vanetza_Security_CertificateFormat_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_CertificateFormat_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_CertificateFormat_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateFormat;
asn_struct_free_f Vanetza_Security_CertificateFormat_free;
asn_struct_print_f Vanetza_Security_CertificateFormat_print;
asn_constr_check_f Vanetza_Security_CertificateFormat_constraint;
ber_type_decoder_f Vanetza_Security_CertificateFormat_decode_ber;
der_type_encoder_f Vanetza_Security_CertificateFormat_encode_der;
xer_type_decoder_f Vanetza_Security_CertificateFormat_decode_xer;
xer_type_encoder_f Vanetza_Security_CertificateFormat_encode_xer;
jer_type_encoder_f Vanetza_Security_CertificateFormat_encode_jer;
oer_type_decoder_f Vanetza_Security_CertificateFormat_decode_oer;
oer_type_encoder_f Vanetza_Security_CertificateFormat_encode_oer;
per_type_decoder_f Vanetza_Security_CertificateFormat_decode_uper;
per_type_encoder_f Vanetza_Security_CertificateFormat_encode_uper;
per_type_decoder_f Vanetza_Security_CertificateFormat_decode_aper;
per_type_encoder_f Vanetza_Security_CertificateFormat_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CertificateFormat_H_ */
#include "asn_internal.h"
@@ -0,0 +1,182 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2"
* found in "IEEE1609dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CertificateId.h"
static int
memb_Vanetza_Security_binaryId_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 <= 64UL)) {
/* 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_Security_binaryId_constr_4 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..64)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_binaryId_constr_4 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_CertificateId_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_Security_CertificateId_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_Security_CertificateId_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertificateId, choice.linkageData),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_LinkageData,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"linkageData"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertificateId, choice.name),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Hostname,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"name"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertificateId, choice.binaryId),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_binaryId_constr_4,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_binaryId_constr_4,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_binaryId_constraint_1
},
0, 0, /* No default value */
"binaryId"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertificateId, choice.none),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"none"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_CertificateId_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* linkageData */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* name */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* binaryId */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* none */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_CertificateId_specs_1 = {
sizeof(struct Vanetza_Security_CertificateId),
offsetof(struct Vanetza_Security_CertificateId, _asn_ctx),
offsetof(struct Vanetza_Security_CertificateId, present),
sizeof(((struct Vanetza_Security_CertificateId *)0)->present),
asn_MAP_Vanetza_Security_CertificateId_tag2el_1,
4, /* Count of tags in the map */
0, 0,
4 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateId = {
"CertificateId",
"CertificateId",
&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_Security_CertificateId_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CertificateId_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_CertificateId_1,
4, /* Elements count */
&asn_SPC_Vanetza_Security_CertificateId_specs_1 /* Additional specs */
};
@@ -0,0 +1,66 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2"
* found in "IEEE1609dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CertificateId_H_
#define _Vanetza_Security_CertificateId_H_
#include "asn_application.h"
/* Including external dependencies */
#include "LinkageData.h"
#include "Hostname.h"
#include "OCTET_STRING.h"
#include "NULL.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_CertificateId_PR {
Vanetza_Security_CertificateId_PR_NOTHING, /* No components present */
Vanetza_Security_CertificateId_PR_linkageData,
Vanetza_Security_CertificateId_PR_name,
Vanetza_Security_CertificateId_PR_binaryId,
Vanetza_Security_CertificateId_PR_none
/* Extensions may appear below */
} Vanetza_Security_CertificateId_PR;
/* Vanetza_Security_CertificateId */
typedef struct Vanetza_Security_CertificateId {
Vanetza_Security_CertificateId_PR present;
union Vanetza_Security_CertificateId_u {
Vanetza_Security_LinkageData_t linkageData;
Vanetza_Security_Hostname_t name;
OCTET_STRING_t binaryId;
NULL_t none;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CertificateId_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateId;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_CertificateId_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateId_1[4];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_CertificateId_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_CertificateId_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CertificateId_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CertificateRevocationListMessage.h"
int
Vanetza_Security_CertificateRevocationListMessage_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_Security_CertificateRevocationListMessage_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_EtsiTs103097Data_Signed_55P0,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_CertificateRevocationListMessage_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_Security_CertificateRevocationListMessage_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_Security_CertificateRevocationListMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateRevocationListMessage = {
"CertificateRevocationListMessage",
"CertificateRevocationListMessage",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CertificateRevocationListMessage_tags_1,
sizeof(asn_DEF_Vanetza_Security_CertificateRevocationListMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertificateRevocationListMessage_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CertificateRevocationListMessage_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CertificateRevocationListMessage_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertificateRevocationListMessage_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_CertificateRevocationListMessage_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CertificateRevocationListMessage_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_CertificateRevocationListMessage_constraint
},
asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941MessagesCa"
* found in "TS102941v131-MessagesCa.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CertificateRevocationListMessage_H_
#define _Vanetza_Security_CertificateRevocationListMessage_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-Signed.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CertificateRevocationListMessage */
typedef Vanetza_Security_EtsiTs103097Data_Signed_55P0_t Vanetza_Security_CertificateRevocationListMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateRevocationListMessage;
asn_struct_free_f Vanetza_Security_CertificateRevocationListMessage_free;
asn_struct_print_f Vanetza_Security_CertificateRevocationListMessage_print;
asn_constr_check_f Vanetza_Security_CertificateRevocationListMessage_constraint;
ber_type_decoder_f Vanetza_Security_CertificateRevocationListMessage_decode_ber;
der_type_encoder_f Vanetza_Security_CertificateRevocationListMessage_encode_der;
xer_type_decoder_f Vanetza_Security_CertificateRevocationListMessage_decode_xer;
xer_type_encoder_f Vanetza_Security_CertificateRevocationListMessage_encode_xer;
jer_type_encoder_f Vanetza_Security_CertificateRevocationListMessage_encode_jer;
oer_type_decoder_f Vanetza_Security_CertificateRevocationListMessage_decode_oer;
oer_type_encoder_f Vanetza_Security_CertificateRevocationListMessage_encode_oer;
per_type_decoder_f Vanetza_Security_CertificateRevocationListMessage_decode_uper;
per_type_encoder_f Vanetza_Security_CertificateRevocationListMessage_encode_uper;
per_type_decoder_f Vanetza_Security_CertificateRevocationListMessage_decode_aper;
per_type_encoder_f Vanetza_Security_CertificateRevocationListMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CertificateRevocationListMessage_H_ */
#include "asn_internal.h"
@@ -0,0 +1,191 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941BaseTypes"
* found in "TS102941v131-BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CertificateSubjectAttributes.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_CertificateSubjectAttributes_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_Security_CertificateSubjectAttributes_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_Security_CertificateSubjectAttributes_1[] = {
{ ATF_POINTER, 6, offsetof(struct Vanetza_Security_CertificateSubjectAttributes, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_CertificateId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"id"
},
{ ATF_POINTER, 5, offsetof(struct Vanetza_Security_CertificateSubjectAttributes, validityPeriod),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_ValidityPeriod,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"validityPeriod"
},
{ ATF_POINTER, 4, offsetof(struct Vanetza_Security_CertificateSubjectAttributes, region),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_GeographicRegion,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"region"
},
{ ATF_POINTER, 3, offsetof(struct Vanetza_Security_CertificateSubjectAttributes, assuranceLevel),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_SubjectAssurance,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"assuranceLevel"
},
{ ATF_POINTER, 2, offsetof(struct Vanetza_Security_CertificateSubjectAttributes, appPermissions),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_SequenceOfPsidSsp,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"appPermissions"
},
{ ATF_POINTER, 1, offsetof(struct Vanetza_Security_CertificateSubjectAttributes, certIssuePermissions),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_SequenceOfPsidGroupPermissions,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"certIssuePermissions"
},
};
static const int asn_MAP_Vanetza_Security_CertificateSubjectAttributes_oms_1[] = { 0, 1, 2, 3, 4, 5 };
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CertificateSubjectAttributes_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_CertificateSubjectAttributes_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* validityPeriod */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* region */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* assuranceLevel */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* appPermissions */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* certIssuePermissions */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CertificateSubjectAttributes_specs_1 = {
sizeof(struct Vanetza_Security_CertificateSubjectAttributes),
offsetof(struct Vanetza_Security_CertificateSubjectAttributes, _asn_ctx),
asn_MAP_Vanetza_Security_CertificateSubjectAttributes_tag2el_1,
6, /* Count of tags in the map */
asn_MAP_Vanetza_Security_CertificateSubjectAttributes_oms_1, /* Optional members */
6, 0, /* Root/Additions */
6, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateSubjectAttributes = {
"CertificateSubjectAttributes",
"CertificateSubjectAttributes",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CertificateSubjectAttributes_tags_1,
sizeof(asn_DEF_Vanetza_Security_CertificateSubjectAttributes_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertificateSubjectAttributes_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CertificateSubjectAttributes_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CertificateSubjectAttributes_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertificateSubjectAttributes_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_CertificateSubjectAttributes_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CertificateSubjectAttributes_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_CertificateSubjectAttributes_1,
6, /* Elements count */
&asn_SPC_Vanetza_Security_CertificateSubjectAttributes_specs_1 /* Additional specs */
};
@@ -0,0 +1,65 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941BaseTypes"
* found in "TS102941v131-BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CertificateSubjectAttributes_H_
#define _Vanetza_Security_CertificateSubjectAttributes_H_
#include "asn_application.h"
/* Including external dependencies */
#include "SubjectAssurance.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct Vanetza_Security_CertificateId;
struct Vanetza_Security_ValidityPeriod;
struct Vanetza_Security_GeographicRegion;
struct Vanetza_Security_SequenceOfPsidSsp;
struct Vanetza_Security_SequenceOfPsidGroupPermissions;
/* Vanetza_Security_CertificateSubjectAttributes */
typedef struct Vanetza_Security_CertificateSubjectAttributes {
struct Vanetza_Security_CertificateId *id; /* OPTIONAL */
struct Vanetza_Security_ValidityPeriod *validityPeriod; /* OPTIONAL */
struct Vanetza_Security_GeographicRegion *region; /* OPTIONAL */
Vanetza_Security_SubjectAssurance_t *assuranceLevel; /* OPTIONAL */
struct Vanetza_Security_SequenceOfPsidSsp *appPermissions; /* OPTIONAL */
struct Vanetza_Security_SequenceOfPsidGroupPermissions *certIssuePermissions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CertificateSubjectAttributes_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateSubjectAttributes;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CertificateSubjectAttributes_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CertificateSubjectAttributes_1[6];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_CertificateSubjectAttributes_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_CertificateSubjectAttributes_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "CertificateId.h"
#include "ValidityPeriod.h"
#include "GeographicRegion.h"
#include "SequenceOfPsidSsp.h"
#include "SequenceOfPsidGroupPermissions.h"
#endif /* _Vanetza_Security_CertificateSubjectAttributes_H_ */
#include "asn_internal.h"
@@ -0,0 +1,73 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2"
* found in "IEEE1609dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CertificateType.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_Security_CertificateType_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_Security_CertificateType_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const asn_INTEGER_enum_map_t asn_MAP_Vanetza_Security_CertificateType_value2enum_1[] = {
{ 0, 8, "explicit" },
{ 1, 8, "implicit" }
/* This list is extensible */
};
static const unsigned int asn_MAP_Vanetza_Security_CertificateType_enum2value_1[] = {
0, /* explicit(0) */
1 /* implicit(1) */
/* This list is extensible */
};
const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security_CertificateType_specs_1 = {
asn_MAP_Vanetza_Security_CertificateType_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Vanetza_Security_CertificateType_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
3, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CertificateType_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateType = {
"CertificateType",
"CertificateType",
&asn_OP_NativeEnumerated,
asn_DEF_Vanetza_Security_CertificateType_tags_1,
sizeof(asn_DEF_Vanetza_Security_CertificateType_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertificateType_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CertificateType_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CertificateType_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertificateType_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_CertificateType_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CertificateType_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
NativeEnumerated_constraint
},
0, 0, /* Defined elsewhere */
&asn_SPC_Vanetza_Security_CertificateType_specs_1 /* Additional specs */
};
@@ -0,0 +1,58 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2"
* found in "IEEE1609dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CertificateType_H_
#define _Vanetza_Security_CertificateType_H_
#include "asn_application.h"
/* Including external dependencies */
#include "NativeEnumerated.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_CertificateType {
Vanetza_Security_CertificateType_explicit = 0,
Vanetza_Security_CertificateType_implicit = 1
/*
* Enumeration is extensible
*/
} e_Vanetza_Security_CertificateType;
/* Vanetza_Security_CertificateType */
typedef long Vanetza_Security_CertificateType_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_CertificateType_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_CertificateType_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertificateType;
extern const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security_CertificateType_specs_1;
asn_struct_free_f Vanetza_Security_CertificateType_free;
asn_struct_print_f Vanetza_Security_CertificateType_print;
asn_constr_check_f Vanetza_Security_CertificateType_constraint;
ber_type_decoder_f Vanetza_Security_CertificateType_decode_ber;
der_type_encoder_f Vanetza_Security_CertificateType_encode_der;
xer_type_decoder_f Vanetza_Security_CertificateType_decode_xer;
xer_type_encoder_f Vanetza_Security_CertificateType_encode_xer;
jer_type_encoder_f Vanetza_Security_CertificateType_encode_jer;
oer_type_decoder_f Vanetza_Security_CertificateType_decode_oer;
oer_type_encoder_f Vanetza_Security_CertificateType_encode_oer;
per_type_decoder_f Vanetza_Security_CertificateType_decode_uper;
per_type_encoder_f Vanetza_Security_CertificateType_encode_uper;
per_type_decoder_f Vanetza_Security_CertificateType_decode_aper;
per_type_encoder_f Vanetza_Security_CertificateType_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CertificateType_H_ */
#include "asn_internal.h"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CircularRegion.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security_CircularRegion_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CircularRegion, center),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_TwoDLocation,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"center"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CircularRegion, radius),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint16,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"radius"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CircularRegion_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_CircularRegion_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* center */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* radius */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CircularRegion_specs_1 = {
sizeof(struct Vanetza_Security_CircularRegion),
offsetof(struct Vanetza_Security_CircularRegion, _asn_ctx),
asn_MAP_Vanetza_Security_CircularRegion_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_Security_CircularRegion = {
"CircularRegion",
"CircularRegion",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CircularRegion_tags_1,
sizeof(asn_DEF_Vanetza_Security_CircularRegion_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CircularRegion_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CircularRegion_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CircularRegion_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CircularRegion_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_CircularRegion_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_CircularRegion_specs_1 /* Additional specs */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CircularRegion_H_
#define _Vanetza_Security_CircularRegion_H_
#include "asn_application.h"
/* Including external dependencies */
#include "TwoDLocation.h"
#include "Uint16.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CircularRegion */
typedef struct Vanetza_Security_CircularRegion {
Vanetza_Security_TwoDLocation_t center;
Vanetza_Security_Uint16_t radius;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CircularRegion_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CircularRegion;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CircularRegion_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CircularRegion_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CircularRegion_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_Security_ -R`
*/
#include "Countersignature.h"
int
Vanetza_Security_Countersignature_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_Security_Countersignature_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_Ieee1609Dot2Data,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_Countersignature_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_Security_Countersignature_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_Security_Countersignature_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Countersignature = {
"Countersignature",
"Countersignature",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_Countersignature_tags_1,
sizeof(asn_DEF_Vanetza_Security_Countersignature_tags_1)
/sizeof(asn_DEF_Vanetza_Security_Countersignature_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_Countersignature_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_Countersignature_tags_1)
/sizeof(asn_DEF_Vanetza_Security_Countersignature_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_Countersignature_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_Countersignature_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_Countersignature_constraint
},
asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609Dot2Data_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_Security_ -R`
*/
#ifndef _Vanetza_Security_Countersignature_H_
#define _Vanetza_Security_Countersignature_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Ieee1609Dot2Data.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_Countersignature */
typedef Vanetza_Security_Ieee1609Dot2Data_t Vanetza_Security_Countersignature_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Countersignature;
asn_struct_free_f Vanetza_Security_Countersignature_free;
asn_struct_print_f Vanetza_Security_Countersignature_print;
asn_constr_check_f Vanetza_Security_Countersignature_constraint;
ber_type_decoder_f Vanetza_Security_Countersignature_decode_ber;
der_type_encoder_f Vanetza_Security_Countersignature_encode_der;
xer_type_decoder_f Vanetza_Security_Countersignature_decode_xer;
xer_type_encoder_f Vanetza_Security_Countersignature_encode_xer;
jer_type_encoder_f Vanetza_Security_Countersignature_encode_jer;
oer_type_decoder_f Vanetza_Security_Countersignature_decode_oer;
oer_type_encoder_f Vanetza_Security_Countersignature_encode_oer;
per_type_decoder_f Vanetza_Security_Countersignature_decode_uper;
per_type_encoder_f Vanetza_Security_Countersignature_encode_uper;
per_type_decoder_f Vanetza_Security_Countersignature_decode_aper;
per_type_encoder_f Vanetza_Security_Countersignature_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_Countersignature_H_ */
#include "asn_internal.h"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CountryAndRegions.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security_CountryAndRegions_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CountryAndRegions, countryOnly),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_CountryOnly,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"countryOnly"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CountryAndRegions, regions),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_SequenceOfUint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"regions"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CountryAndRegions_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_CountryAndRegions_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* countryOnly */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regions */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CountryAndRegions_specs_1 = {
sizeof(struct Vanetza_Security_CountryAndRegions),
offsetof(struct Vanetza_Security_CountryAndRegions, _asn_ctx),
asn_MAP_Vanetza_Security_CountryAndRegions_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_Security_CountryAndRegions = {
"CountryAndRegions",
"CountryAndRegions",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CountryAndRegions_tags_1,
sizeof(asn_DEF_Vanetza_Security_CountryAndRegions_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CountryAndRegions_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CountryAndRegions_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CountryAndRegions_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CountryAndRegions_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_CountryAndRegions_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_CountryAndRegions_specs_1 /* Additional specs */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CountryAndRegions_H_
#define _Vanetza_Security_CountryAndRegions_H_
#include "asn_application.h"
/* Including external dependencies */
#include "CountryOnly.h"
#include "SequenceOfUint8.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CountryAndRegions */
typedef struct Vanetza_Security_CountryAndRegions {
Vanetza_Security_CountryOnly_t countryOnly;
Vanetza_Security_SequenceOfUint8_t regions;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CountryAndRegions_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CountryAndRegions;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CountryAndRegions_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CountryAndRegions_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CountryAndRegions_H_ */
#include "asn_internal.h"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CountryAndSubregions.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security_CountryAndSubregions_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CountryAndSubregions, country),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_CountryOnly,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"country"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CountryAndSubregions, regionAndSubregions),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_SequenceOfRegionAndSubregions,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"regionAndSubregions"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CountryAndSubregions_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_CountryAndSubregions_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* country */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regionAndSubregions */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CountryAndSubregions_specs_1 = {
sizeof(struct Vanetza_Security_CountryAndSubregions),
offsetof(struct Vanetza_Security_CountryAndSubregions, _asn_ctx),
asn_MAP_Vanetza_Security_CountryAndSubregions_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_Security_CountryAndSubregions = {
"CountryAndSubregions",
"CountryAndSubregions",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CountryAndSubregions_tags_1,
sizeof(asn_DEF_Vanetza_Security_CountryAndSubregions_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CountryAndSubregions_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CountryAndSubregions_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CountryAndSubregions_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CountryAndSubregions_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_CountryAndSubregions_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_CountryAndSubregions_specs_1 /* Additional specs */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CountryAndSubregions_H_
#define _Vanetza_Security_CountryAndSubregions_H_
#include "asn_application.h"
/* Including external dependencies */
#include "CountryOnly.h"
#include "SequenceOfRegionAndSubregions.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CountryAndSubregions */
typedef struct Vanetza_Security_CountryAndSubregions {
Vanetza_Security_CountryOnly_t country;
Vanetza_Security_SequenceOfRegionAndSubregions_t regionAndSubregions;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CountryAndSubregions_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CountryAndSubregions;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CountryAndSubregions_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CountryAndSubregions_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CountryAndSubregions_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CountryOnly.h"
int
Vanetza_Security_CountryOnly_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 65535L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using Vanetza_Security_Uint16,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_CountryOnly_constr_1 CC_NOTUSED = {
{ 2, 1 } /* (0..65535) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security_CountryOnly_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CountryOnly_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CountryOnly = {
"CountryOnly",
"CountryOnly",
&asn_OP_NativeInteger,
asn_DEF_Vanetza_Security_CountryOnly_tags_1,
sizeof(asn_DEF_Vanetza_Security_CountryOnly_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CountryOnly_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CountryOnly_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CountryOnly_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CountryOnly_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_CountryOnly_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CountryOnly_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_CountryOnly_constraint
},
0, 0, /* No members */
0 /* No specifics */
};
@@ -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_Security_ -R`
*/
#ifndef _Vanetza_Security_CountryOnly_H_
#define _Vanetza_Security_CountryOnly_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Uint16.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CountryOnly */
typedef Vanetza_Security_Uint16_t Vanetza_Security_CountryOnly_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_CountryOnly_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_CountryOnly_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CountryOnly;
asn_struct_free_f Vanetza_Security_CountryOnly_free;
asn_struct_print_f Vanetza_Security_CountryOnly_print;
asn_constr_check_f Vanetza_Security_CountryOnly_constraint;
ber_type_decoder_f Vanetza_Security_CountryOnly_decode_ber;
der_type_encoder_f Vanetza_Security_CountryOnly_encode_der;
xer_type_decoder_f Vanetza_Security_CountryOnly_decode_xer;
xer_type_encoder_f Vanetza_Security_CountryOnly_encode_xer;
jer_type_encoder_f Vanetza_Security_CountryOnly_encode_jer;
oer_type_decoder_f Vanetza_Security_CountryOnly_decode_oer;
oer_type_encoder_f Vanetza_Security_CountryOnly_encode_oer;
per_type_decoder_f Vanetza_Security_CountryOnly_decode_uper;
per_type_encoder_f Vanetza_Security_CountryOnly_encode_uper;
per_type_decoder_f Vanetza_Security_CountryOnly_decode_aper;
per_type_encoder_f Vanetza_Security_CountryOnly_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CountryOnly_H_ */
#include "asn_internal.h"
@@ -0,0 +1,80 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CrlEntry.h"
int
Vanetza_Security_CrlEntry_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const Vanetza_Security_HashedId8_t *st = (const Vanetza_Security_HashedId8_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 Vanetza_Security_HashedId8,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_CrlEntry_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_Security_CrlEntry_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_Security_CrlEntry_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CrlEntry = {
"CrlEntry",
"CrlEntry",
&asn_OP_OCTET_STRING,
asn_DEF_Vanetza_Security_CrlEntry_tags_1,
sizeof(asn_DEF_Vanetza_Security_CrlEntry_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CrlEntry_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CrlEntry_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CrlEntry_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CrlEntry_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_CrlEntry_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CrlEntry_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_CrlEntry_constraint
},
0, 0, /* No members */
&asn_SPC_OCTET_STRING_specs /* Additional specs */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CrlEntry_H_
#define _Vanetza_Security_CrlEntry_H_
#include "asn_application.h"
/* Including external dependencies */
#include "HashedId8.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CrlEntry */
typedef Vanetza_Security_HashedId8_t Vanetza_Security_CrlEntry_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_CrlEntry_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_CrlEntry_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CrlEntry;
asn_struct_free_f Vanetza_Security_CrlEntry_free;
asn_struct_print_f Vanetza_Security_CrlEntry_print;
asn_constr_check_f Vanetza_Security_CrlEntry_constraint;
ber_type_decoder_f Vanetza_Security_CrlEntry_decode_ber;
der_type_encoder_f Vanetza_Security_CrlEntry_encode_der;
xer_type_decoder_f Vanetza_Security_CrlEntry_decode_xer;
xer_type_encoder_f Vanetza_Security_CrlEntry_encode_xer;
jer_type_encoder_f Vanetza_Security_CrlEntry_encode_jer;
oer_type_decoder_f Vanetza_Security_CrlEntry_decode_oer;
oer_type_encoder_f Vanetza_Security_CrlEntry_encode_oer;
per_type_decoder_f Vanetza_Security_CrlEntry_decode_uper;
per_type_encoder_f Vanetza_Security_CrlEntry_encode_uper;
per_type_decoder_f Vanetza_Security_CrlEntry_decode_aper;
per_type_encoder_f Vanetza_Security_CrlEntry_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CrlEntry_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CrlSeries.h"
int
Vanetza_Security_CrlSeries_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 65535L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using Vanetza_Security_Uint16,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_CrlSeries_constr_1 CC_NOTUSED = {
{ 2, 1 } /* (0..65535) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security_CrlSeries_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CrlSeries_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CrlSeries = {
"CrlSeries",
"CrlSeries",
&asn_OP_NativeInteger,
asn_DEF_Vanetza_Security_CrlSeries_tags_1,
sizeof(asn_DEF_Vanetza_Security_CrlSeries_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CrlSeries_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CrlSeries_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CrlSeries_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CrlSeries_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_CrlSeries_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CrlSeries_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_CrlSeries_constraint
},
0, 0, /* No members */
0 /* No specifics */
};
@@ -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_Security_ -R`
*/
#ifndef _Vanetza_Security_CrlSeries_H_
#define _Vanetza_Security_CrlSeries_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Uint16.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CrlSeries */
typedef Vanetza_Security_Uint16_t Vanetza_Security_CrlSeries_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_CrlSeries_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_CrlSeries_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CrlSeries;
asn_struct_free_f Vanetza_Security_CrlSeries_free;
asn_struct_print_f Vanetza_Security_CrlSeries_print;
asn_constr_check_f Vanetza_Security_CrlSeries_constraint;
ber_type_decoder_f Vanetza_Security_CrlSeries_decode_ber;
der_type_encoder_f Vanetza_Security_CrlSeries_encode_der;
xer_type_decoder_f Vanetza_Security_CrlSeries_decode_xer;
xer_type_encoder_f Vanetza_Security_CrlSeries_encode_xer;
jer_type_encoder_f Vanetza_Security_CrlSeries_encode_jer;
oer_type_decoder_f Vanetza_Security_CrlSeries_decode_oer;
oer_type_encoder_f Vanetza_Security_CrlSeries_encode_oer;
per_type_decoder_f Vanetza_Security_CrlSeries_decode_uper;
per_type_encoder_f Vanetza_Security_CrlSeries_encode_uper;
per_type_decoder_f Vanetza_Security_CrlSeries_decode_aper;
per_type_encoder_f Vanetza_Security_CrlSeries_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CrlSeries_H_ */
#include "asn_internal.h"
@@ -0,0 +1,102 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CtlCommand.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_CtlCommand_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_Security_CtlCommand_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_Security_CtlCommand_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlCommand, choice.add),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_CtlEntry,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"add"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlCommand, choice.Delete),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_CtlDelete,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"delete"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_CtlCommand_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* add */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* delete */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_CtlCommand_specs_1 = {
sizeof(struct Vanetza_Security_CtlCommand),
offsetof(struct Vanetza_Security_CtlCommand, _asn_ctx),
offsetof(struct Vanetza_Security_CtlCommand, present),
sizeof(((struct Vanetza_Security_CtlCommand *)0)->present),
asn_MAP_Vanetza_Security_CtlCommand_tag2el_1,
2, /* Count of tags in the map */
0, 0,
2 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CtlCommand = {
"CtlCommand",
"CtlCommand",
&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_Security_CtlCommand_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CtlCommand_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_CtlCommand_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_CtlCommand_specs_1 /* Additional specs */
};
@@ -0,0 +1,60 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CtlCommand_H_
#define _Vanetza_Security_CtlCommand_H_
#include "asn_application.h"
/* Including external dependencies */
#include "CtlEntry.h"
#include "CtlDelete.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_CtlCommand_PR {
Vanetza_Security_CtlCommand_PR_NOTHING, /* No components present */
Vanetza_Security_CtlCommand_PR_add,
Vanetza_Security_CtlCommand_PR_delete
/* Extensions may appear below */
} Vanetza_Security_CtlCommand_PR;
/* Vanetza_Security_CtlCommand */
typedef struct Vanetza_Security_CtlCommand {
Vanetza_Security_CtlCommand_PR present;
union Vanetza_Security_CtlCommand_u {
Vanetza_Security_CtlEntry_t add;
Vanetza_Security_CtlDelete_t Delete;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CtlCommand_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CtlCommand;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_CtlCommand_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlCommand_1[2];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_CtlCommand_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_CtlCommand_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CtlCommand_H_ */
#include "asn_internal.h"
@@ -0,0 +1,102 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CtlDelete.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_CtlDelete_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_Security_CtlDelete_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_Security_CtlDelete_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlDelete, choice.cert),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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 */
"cert"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlDelete, choice.dc),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_DcDelete,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"dc"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_CtlDelete_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cert */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* dc */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_CtlDelete_specs_1 = {
sizeof(struct Vanetza_Security_CtlDelete),
offsetof(struct Vanetza_Security_CtlDelete, _asn_ctx),
offsetof(struct Vanetza_Security_CtlDelete, present),
sizeof(((struct Vanetza_Security_CtlDelete *)0)->present),
asn_MAP_Vanetza_Security_CtlDelete_tag2el_1,
2, /* Count of tags in the map */
0, 0,
2 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CtlDelete = {
"CtlDelete",
"CtlDelete",
&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_Security_CtlDelete_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CtlDelete_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_CtlDelete_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_CtlDelete_specs_1 /* Additional specs */
};
@@ -0,0 +1,60 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CtlDelete_H_
#define _Vanetza_Security_CtlDelete_H_
#include "asn_application.h"
/* Including external dependencies */
#include "HashedId8.h"
#include "DcDelete.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_CtlDelete_PR {
Vanetza_Security_CtlDelete_PR_NOTHING, /* No components present */
Vanetza_Security_CtlDelete_PR_cert,
Vanetza_Security_CtlDelete_PR_dc
/* Extensions may appear below */
} Vanetza_Security_CtlDelete_PR;
/* Vanetza_Security_CtlDelete */
typedef struct Vanetza_Security_CtlDelete {
Vanetza_Security_CtlDelete_PR present;
union Vanetza_Security_CtlDelete_u {
Vanetza_Security_HashedId8_t cert;
Vanetza_Security_DcDelete_t dc;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CtlDelete_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CtlDelete;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_CtlDelete_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlDelete_1[2];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_CtlDelete_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_CtlDelete_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CtlDelete_H_ */
#include "asn_internal.h"
@@ -0,0 +1,165 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CtlEntry.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_CtlEntry_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_Security_CtlEntry_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_Security_CtlEntry_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlEntry, choice.rca),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_RootCaEntry,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"rca"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlEntry, choice.ea),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_EaEntry,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"ea"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlEntry, choice.aa),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_AaEntry,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"aa"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlEntry, choice.dc),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_DcEntry,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"dc"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlEntry, choice.tlm),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_TlmEntry,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"tlm"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_CtlEntry_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rca */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ea */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* aa */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* dc */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* tlm */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_CtlEntry_specs_1 = {
sizeof(struct Vanetza_Security_CtlEntry),
offsetof(struct Vanetza_Security_CtlEntry, _asn_ctx),
offsetof(struct Vanetza_Security_CtlEntry, present),
sizeof(((struct Vanetza_Security_CtlEntry *)0)->present),
asn_MAP_Vanetza_Security_CtlEntry_tag2el_1,
5, /* Count of tags in the map */
0, 0,
5 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CtlEntry = {
"CtlEntry",
"CtlEntry",
&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_Security_CtlEntry_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_CtlEntry_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_CtlEntry_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security_CtlEntry_specs_1 /* Additional specs */
};
@@ -0,0 +1,69 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CtlEntry_H_
#define _Vanetza_Security_CtlEntry_H_
#include "asn_application.h"
/* Including external dependencies */
#include "RootCaEntry.h"
#include "EaEntry.h"
#include "AaEntry.h"
#include "DcEntry.h"
#include "TlmEntry.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_CtlEntry_PR {
Vanetza_Security_CtlEntry_PR_NOTHING, /* No components present */
Vanetza_Security_CtlEntry_PR_rca,
Vanetza_Security_CtlEntry_PR_ea,
Vanetza_Security_CtlEntry_PR_aa,
Vanetza_Security_CtlEntry_PR_dc,
Vanetza_Security_CtlEntry_PR_tlm
/* Extensions may appear below */
} Vanetza_Security_CtlEntry_PR;
/* Vanetza_Security_CtlEntry */
typedef struct Vanetza_Security_CtlEntry {
Vanetza_Security_CtlEntry_PR present;
union Vanetza_Security_CtlEntry_u {
Vanetza_Security_RootCaEntry_t rca;
Vanetza_Security_EaEntry_t ea;
Vanetza_Security_AaEntry_t aa;
Vanetza_Security_DcEntry_t dc;
Vanetza_Security_TlmEntry_t tlm;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CtlEntry_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CtlEntry;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_CtlEntry_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlEntry_1[5];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_CtlEntry_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_CtlEntry_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CtlEntry_H_ */
#include "asn_internal.h"
@@ -0,0 +1,252 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CtlFormat.h"
static int
memb_Vanetza_Security_ctlSequence_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_Security_ctlSequence_constr_5 CC_NOTUSED = {
{ 1, 1 } /* (0..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_ctlSequence_constr_5 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security_ctlCommands_6[] = {
{ ATF_POINTER, 0, 0,
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_Vanetza_Security_CtlCommand,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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_Security_ctlCommands_tags_6[] = {
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Vanetza_Security_ctlCommands_specs_6 = {
sizeof(struct Vanetza_Security_CtlFormat__ctlCommands),
offsetof(struct Vanetza_Security_CtlFormat__ctlCommands, _asn_ctx),
2, /* XER encoding is XMLValueList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ctlCommands_6 = {
"ctlCommands",
"ctlCommands",
&asn_OP_SEQUENCE_OF,
asn_DEF_Vanetza_Security_ctlCommands_tags_6,
sizeof(asn_DEF_Vanetza_Security_ctlCommands_tags_6)
/sizeof(asn_DEF_Vanetza_Security_ctlCommands_tags_6[0]) - 1, /* 1 */
asn_DEF_Vanetza_Security_ctlCommands_tags_6, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_ctlCommands_tags_6)
/sizeof(asn_DEF_Vanetza_Security_ctlCommands_tags_6[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_Security_ctlCommands_6,
1, /* Single element */
&asn_SPC_Vanetza_Security_ctlCommands_specs_6 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlFormat_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlFormat, version),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Version,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"version"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlFormat, nextUpdate),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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 */
"nextUpdate"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlFormat, isFullCtl),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BOOLEAN,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"isFullCtl"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlFormat, ctlSequence),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_ctlSequence_constr_5,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_ctlSequence_constr_5,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_ctlSequence_constraint_1
},
0, 0, /* No default value */
"ctlSequence"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CtlFormat, ctlCommands),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
0,
&asn_DEF_Vanetza_Security_ctlCommands_6,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"ctlCommands"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CtlFormat_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_CtlFormat_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nextUpdate */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* isFullCtl */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ctlSequence */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ctlCommands */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CtlFormat_specs_1 = {
sizeof(struct Vanetza_Security_CtlFormat),
offsetof(struct Vanetza_Security_CtlFormat, _asn_ctx),
asn_MAP_Vanetza_Security_CtlFormat_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_Security_CtlFormat = {
"CtlFormat",
"CtlFormat",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CtlFormat_tags_1,
sizeof(asn_DEF_Vanetza_Security_CtlFormat_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CtlFormat_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CtlFormat_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CtlFormat_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CtlFormat_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_CtlFormat_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security_CtlFormat_specs_1 /* Additional specs */
};
@@ -0,0 +1,64 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CtlFormat_H_
#define _Vanetza_Security_CtlFormat_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Version.h"
#include "Time32.h"
#include "BOOLEAN.h"
#include "NativeInteger.h"
#include "asn_SEQUENCE_OF.h"
#include "constr_SEQUENCE_OF.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct Vanetza_Security_CtlCommand;
/* Vanetza_Security_CtlFormat */
typedef struct Vanetza_Security_CtlFormat {
Vanetza_Security_Version_t version;
Vanetza_Security_Time32_t nextUpdate;
BOOLEAN_t isFullCtl;
long ctlSequence;
struct Vanetza_Security_CtlFormat__ctlCommands {
A_SEQUENCE_OF(struct Vanetza_Security_CtlCommand) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} ctlCommands;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CtlFormat_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CtlFormat;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CtlFormat_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CtlFormat_1[5];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "CtlCommand.h"
#endif /* _Vanetza_Security_CtlFormat_H_ */
#include "asn_internal.h"
@@ -0,0 +1,49 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "DcDelete.h"
/*
* This type is implemented using Vanetza_Security_Url,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security_DcDelete_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */,
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
0, 0 /* No PER character map necessary */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_DcDelete_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_DcDelete = {
"DcDelete",
"DcDelete",
&asn_OP_IA5String,
asn_DEF_Vanetza_Security_DcDelete_tags_1,
sizeof(asn_DEF_Vanetza_Security_DcDelete_tags_1)
/sizeof(asn_DEF_Vanetza_Security_DcDelete_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_DcDelete_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_DcDelete_tags_1)
/sizeof(asn_DEF_Vanetza_Security_DcDelete_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
IA5String_constraint
},
0, 0, /* No members */
0 /* No specifics */
};
@@ -0,0 +1,47 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_DcDelete_H_
#define _Vanetza_Security_DcDelete_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Url.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_DcDelete */
typedef Vanetza_Security_Url_t Vanetza_Security_DcDelete_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_DcDelete_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_DcDelete;
asn_struct_free_f Vanetza_Security_DcDelete_free;
asn_struct_print_f Vanetza_Security_DcDelete_print;
asn_constr_check_f Vanetza_Security_DcDelete_constraint;
ber_type_decoder_f Vanetza_Security_DcDelete_decode_ber;
der_type_encoder_f Vanetza_Security_DcDelete_encode_der;
xer_type_decoder_f Vanetza_Security_DcDelete_decode_xer;
xer_type_encoder_f Vanetza_Security_DcDelete_encode_xer;
jer_type_encoder_f Vanetza_Security_DcDelete_encode_jer;
oer_type_decoder_f Vanetza_Security_DcDelete_decode_oer;
oer_type_encoder_f Vanetza_Security_DcDelete_encode_oer;
per_type_decoder_f Vanetza_Security_DcDelete_decode_uper;
per_type_encoder_f Vanetza_Security_DcDelete_encode_uper;
per_type_decoder_f Vanetza_Security_DcDelete_decode_aper;
per_type_encoder_f Vanetza_Security_DcDelete_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_DcDelete_H_ */
#include "asn_internal.h"
@@ -0,0 +1,152 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "DcEntry.h"
static asn_TYPE_member_t asn_MBR_Vanetza_Security_cert_3[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
0,
&asn_DEF_Vanetza_Security_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 */
""
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_cert_tags_3[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Vanetza_Security_cert_specs_3 = {
sizeof(struct Vanetza_Security_DcEntry__cert),
offsetof(struct Vanetza_Security_DcEntry__cert, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_cert_3 = {
"cert",
"cert",
&asn_OP_SEQUENCE_OF,
asn_DEF_Vanetza_Security_cert_tags_3,
sizeof(asn_DEF_Vanetza_Security_cert_tags_3)
/sizeof(asn_DEF_Vanetza_Security_cert_tags_3[0]) - 1, /* 1 */
asn_DEF_Vanetza_Security_cert_tags_3, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_cert_tags_3)
/sizeof(asn_DEF_Vanetza_Security_cert_tags_3[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_Security_cert_3,
1, /* Single element */
&asn_SPC_Vanetza_Security_cert_specs_3 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security_DcEntry_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_DcEntry, url),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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 */
"url"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_DcEntry, cert),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
0,
&asn_DEF_Vanetza_Security_cert_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 */
"cert"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_DcEntry_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_DcEntry_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* url */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cert */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_DcEntry_specs_1 = {
sizeof(struct Vanetza_Security_DcEntry),
offsetof(struct Vanetza_Security_DcEntry, _asn_ctx),
asn_MAP_Vanetza_Security_DcEntry_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_Security_DcEntry = {
"DcEntry",
"DcEntry",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_DcEntry_tags_1,
sizeof(asn_DEF_Vanetza_Security_DcEntry_tags_1)
/sizeof(asn_DEF_Vanetza_Security_DcEntry_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_DcEntry_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_DcEntry_tags_1)
/sizeof(asn_DEF_Vanetza_Security_DcEntry_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_DcEntry_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_DcEntry_specs_1 /* Additional specs */
};
@@ -0,0 +1,49 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_DcEntry_H_
#define _Vanetza_Security_DcEntry_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Url.h"
#include "HashedId8.h"
#include "asn_SEQUENCE_OF.h"
#include "constr_SEQUENCE_OF.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_DcEntry */
typedef struct Vanetza_Security_DcEntry {
Vanetza_Security_Url_t url;
struct Vanetza_Security_DcEntry__cert {
A_SEQUENCE_OF(Vanetza_Security_HashedId8_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} cert;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_DcEntry_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_DcEntry;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_DcEntry_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_DcEntry_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_DcEntry_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "DeltaCtl.h"
int
Vanetza_Security_DeltaCtl_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_Security_DeltaCtl_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_CtlFormat,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_DeltaCtl_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_Security_DeltaCtl_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_Security_DeltaCtl_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_DeltaCtl = {
"DeltaCtl",
"DeltaCtl",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_DeltaCtl_tags_1,
sizeof(asn_DEF_Vanetza_Security_DeltaCtl_tags_1)
/sizeof(asn_DEF_Vanetza_Security_DeltaCtl_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_DeltaCtl_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_DeltaCtl_tags_1)
/sizeof(asn_DEF_Vanetza_Security_DeltaCtl_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_DeltaCtl_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_DeltaCtl_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_DeltaCtl_constraint
},
asn_MBR_Vanetza_Security_CtlFormat_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security_CtlFormat_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_DeltaCtl_H_
#define _Vanetza_Security_DeltaCtl_H_
#include "asn_application.h"
/* Including external dependencies */
#include "CtlFormat.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_DeltaCtl */
typedef Vanetza_Security_CtlFormat_t Vanetza_Security_DeltaCtl_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_DeltaCtl;
asn_struct_free_f Vanetza_Security_DeltaCtl_free;
asn_struct_print_f Vanetza_Security_DeltaCtl_print;
asn_constr_check_f Vanetza_Security_DeltaCtl_constraint;
ber_type_decoder_f Vanetza_Security_DeltaCtl_decode_ber;
der_type_encoder_f Vanetza_Security_DeltaCtl_encode_der;
xer_type_decoder_f Vanetza_Security_DeltaCtl_decode_xer;
xer_type_encoder_f Vanetza_Security_DeltaCtl_encode_xer;
jer_type_encoder_f Vanetza_Security_DeltaCtl_encode_jer;
oer_type_decoder_f Vanetza_Security_DeltaCtl_decode_oer;
oer_type_encoder_f Vanetza_Security_DeltaCtl_encode_oer;
per_type_decoder_f Vanetza_Security_DeltaCtl_decode_uper;
per_type_encoder_f Vanetza_Security_DeltaCtl_encode_uper;
per_type_decoder_f Vanetza_Security_DeltaCtl_decode_aper;
per_type_encoder_f Vanetza_Security_DeltaCtl_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_DeltaCtl_H_ */
#include "asn_internal.h"
@@ -0,0 +1,207 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "Duration.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_Duration_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_Security_Duration_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 3, 3, 0, 6 } /* (0..6) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security_Duration_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_Duration, choice.microseconds),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint16,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"microseconds"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_Duration, choice.milliseconds),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint16,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"milliseconds"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_Duration, choice.seconds),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint16,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"seconds"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_Duration, choice.minutes),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint16,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"minutes"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_Duration, choice.hours),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint16,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"hours"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_Duration, choice.sixtyHours),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint16,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"sixtyHours"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_Duration, choice.years),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint16,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"years"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_Duration_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* microseconds */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* milliseconds */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seconds */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* minutes */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* hours */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* sixtyHours */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* years */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_Duration_specs_1 = {
sizeof(struct Vanetza_Security_Duration),
offsetof(struct Vanetza_Security_Duration, _asn_ctx),
offsetof(struct Vanetza_Security_Duration, present),
sizeof(((struct Vanetza_Security_Duration *)0)->present),
asn_MAP_Vanetza_Security_Duration_tag2el_1,
7, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Duration = {
"Duration",
"Duration",
&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_Security_Duration_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_Duration_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_Duration_1,
7, /* Elements count */
&asn_SPC_Vanetza_Security_Duration_specs_1 /* Additional specs */
};
@@ -0,0 +1,63 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_Duration_H_
#define _Vanetza_Security_Duration_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Uint16.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_Duration_PR {
Vanetza_Security_Duration_PR_NOTHING, /* No components present */
Vanetza_Security_Duration_PR_microseconds,
Vanetza_Security_Duration_PR_milliseconds,
Vanetza_Security_Duration_PR_seconds,
Vanetza_Security_Duration_PR_minutes,
Vanetza_Security_Duration_PR_hours,
Vanetza_Security_Duration_PR_sixtyHours,
Vanetza_Security_Duration_PR_years
} Vanetza_Security_Duration_PR;
/* Vanetza_Security_Duration */
typedef struct Vanetza_Security_Duration {
Vanetza_Security_Duration_PR present;
union Vanetza_Security_Duration_u {
Vanetza_Security_Uint16_t microseconds;
Vanetza_Security_Uint16_t milliseconds;
Vanetza_Security_Uint16_t seconds;
Vanetza_Security_Uint16_t minutes;
Vanetza_Security_Uint16_t hours;
Vanetza_Security_Uint16_t sixtyHours;
Vanetza_Security_Uint16_t years;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_Duration_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Duration;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_Duration_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_Duration_1[7];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_Duration_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_Duration_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_Duration_H_ */
#include "asn_internal.h"
@@ -0,0 +1,116 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EaEntry.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security_EaEntry_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EaEntry, eaCertificate),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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 */
"eaCertificate"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EaEntry, aaAccessPoint),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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 */
"aaAccessPoint"
},
{ ATF_POINTER, 1, offsetof(struct Vanetza_Security_EaEntry, itsAccessPoint),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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 */
"itsAccessPoint"
},
};
static const int asn_MAP_Vanetza_Security_EaEntry_oms_1[] = { 2 };
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EaEntry_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EaEntry_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eaCertificate */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* aaAccessPoint */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* itsAccessPoint */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EaEntry_specs_1 = {
sizeof(struct Vanetza_Security_EaEntry),
offsetof(struct Vanetza_Security_EaEntry, _asn_ctx),
asn_MAP_Vanetza_Security_EaEntry_tag2el_1,
3, /* Count of tags in the map */
asn_MAP_Vanetza_Security_EaEntry_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EaEntry = {
"EaEntry",
"EaEntry",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EaEntry_tags_1,
sizeof(asn_DEF_Vanetza_Security_EaEntry_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EaEntry_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EaEntry_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EaEntry_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EaEntry_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_EaEntry_1,
3, /* Elements count */
&asn_SPC_Vanetza_Security_EaEntry_specs_1 /* Additional specs */
};
@@ -0,0 +1,43 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941TrustLists"
* found in "TS102941v131-TrustLists.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EaEntry_H_
#define _Vanetza_Security_EaEntry_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Certificate.h"
#include "Url.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EaEntry */
typedef struct Vanetza_Security_EaEntry {
Vanetza_Security_EtsiTs103097Certificate_t eaCertificate;
Vanetza_Security_Url_t aaAccessPoint;
Vanetza_Security_Url_t *itsAccessPoint; /* OPTIONAL */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EaEntry_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EaEntry;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EaEntry_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EaEntry_1[3];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EaEntry_H_ */
#include "asn_internal.h"
@@ -0,0 +1,102 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941BaseTypes"
* found in "TS102941v131-BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EcSignature.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_EcSignature_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_Security_EcSignature_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security_EcSignature_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EcSignature, choice.encryptedEcSignature),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_EtsiTs103097Data_Encrypted_85P0,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"encryptedEcSignature"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EcSignature, choice.ecSignature),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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 asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EcSignature_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* encryptedEcSignature */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ecSignature */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_EcSignature_specs_1 = {
sizeof(struct Vanetza_Security_EcSignature),
offsetof(struct Vanetza_Security_EcSignature, _asn_ctx),
offsetof(struct Vanetza_Security_EcSignature, present),
sizeof(((struct Vanetza_Security_EcSignature *)0)->present),
asn_MAP_Vanetza_Security_EcSignature_tag2el_1,
2, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EcSignature = {
"EcSignature",
"EcSignature",
&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_Security_EcSignature_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_EcSignature_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_EcSignature_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EcSignature_specs_1 /* Additional specs */
};
@@ -0,0 +1,54 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs102941BaseTypes"
* found in "TS102941v131-BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EcSignature_H_
#define _Vanetza_Security_EcSignature_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data-Encrypted.h"
#include "EtsiTs103097Data-SignedExternalPayload.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_EcSignature_PR {
Vanetza_Security_EcSignature_PR_NOTHING, /* No components present */
Vanetza_Security_EcSignature_PR_encryptedEcSignature,
Vanetza_Security_EcSignature_PR_ecSignature
} Vanetza_Security_EcSignature_PR;
/* Vanetza_Security_EcSignature */
typedef struct Vanetza_Security_EcSignature {
Vanetza_Security_EcSignature_PR present;
union Vanetza_Security_EcSignature_u {
Vanetza_Security_EtsiTs103097Data_Encrypted_85P0_t encryptedEcSignature;
Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_t ecSignature;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EcSignature_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EcSignature;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_EcSignature_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EcSignature_1[2];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_EcSignature_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_EcSignature_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EcSignature_H_ */
#include "asn_internal.h"
@@ -0,0 +1,441 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EccP256CurvePoint.h"
static int
memb_Vanetza_Security_x_constraint_6(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;
}
}
static int
memb_Vanetza_Security_y_constraint_6(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;
}
}
static int
memb_Vanetza_Security_x_only_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;
}
}
static int
memb_Vanetza_Security_compressed_y_0_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;
}
}
static int
memb_Vanetza_Security_compressed_y_1_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_Security_x_constr_7 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_Security_x_constr_7 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) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_y_constr_8 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_Security_y_constr_8 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) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_x_only_constr_2 CC_NOTUSED = {
{ 0, 0 },
32 /* (SIZE(32..32)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_x_only_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 32, 32 } /* (SIZE(32..32)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_compressed_y_0_constr_4 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_Security_compressed_y_0_constr_4 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) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_compressed_y_1_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_Security_compressed_y_1_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) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_EccP256CurvePoint_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_Security_EccP256CurvePoint_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security_uncompressedP256_6[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP256CurvePoint__uncompressedP256, x),
(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_Security_x_constr_7,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_x_constr_7,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_x_constraint_6
},
0, 0, /* No default value */
"x"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP256CurvePoint__uncompressedP256, y),
(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_Security_y_constr_8,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_y_constr_8,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_y_constraint_6
},
0, 0, /* No default value */
"y"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_uncompressedP256_tags_6[] = {
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_uncompressedP256_tag2el_6[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* y */
};
static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_uncompressedP256_specs_6 = {
sizeof(struct Vanetza_Security_EccP256CurvePoint__uncompressedP256),
offsetof(struct Vanetza_Security_EccP256CurvePoint__uncompressedP256, _asn_ctx),
asn_MAP_Vanetza_Security_uncompressedP256_tag2el_6,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_uncompressedP256_6 = {
"uncompressedP256",
"uncompressedP256",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_uncompressedP256_tags_6,
sizeof(asn_DEF_Vanetza_Security_uncompressedP256_tags_6)
/sizeof(asn_DEF_Vanetza_Security_uncompressedP256_tags_6[0]) - 1, /* 1 */
asn_DEF_Vanetza_Security_uncompressedP256_tags_6, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_uncompressedP256_tags_6)
/sizeof(asn_DEF_Vanetza_Security_uncompressedP256_tags_6[0]), /* 2 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_uncompressedP256_6,
2, /* Elements count */
&asn_SPC_Vanetza_Security_uncompressedP256_specs_6 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP256CurvePoint_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP256CurvePoint, choice.x_only),
(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_Security_x_only_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_x_only_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_x_only_constraint_1
},
0, 0, /* No default value */
"x-only"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP256CurvePoint, choice.fill),
(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 */
"fill"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP256CurvePoint, choice.compressed_y_0),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_compressed_y_0_constr_4,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_compressed_y_0_constr_4,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_compressed_y_0_constraint_1
},
0, 0, /* No default value */
"compressed-y-0"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP256CurvePoint, choice.compressed_y_1),
(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_Security_compressed_y_1_constr_5,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_compressed_y_1_constr_5,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_compressed_y_1_constraint_1
},
0, 0, /* No default value */
"compressed-y-1"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP256CurvePoint, choice.uncompressedP256),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
0,
&asn_DEF_Vanetza_Security_uncompressedP256_6,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"uncompressedP256"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EccP256CurvePoint_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x-only */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* fill */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* compressed-y-0 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* compressed-y-1 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* uncompressedP256 */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_EccP256CurvePoint_specs_1 = {
sizeof(struct Vanetza_Security_EccP256CurvePoint),
offsetof(struct Vanetza_Security_EccP256CurvePoint, _asn_ctx),
offsetof(struct Vanetza_Security_EccP256CurvePoint, present),
sizeof(((struct Vanetza_Security_EccP256CurvePoint *)0)->present),
asn_MAP_Vanetza_Security_EccP256CurvePoint_tag2el_1,
5, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EccP256CurvePoint = {
"EccP256CurvePoint",
"EccP256CurvePoint",
&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_Security_EccP256CurvePoint_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_EccP256CurvePoint_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_EccP256CurvePoint_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security_EccP256CurvePoint_specs_1 /* Additional specs */
};
@@ -0,0 +1,67 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EccP256CurvePoint_H_
#define _Vanetza_Security_EccP256CurvePoint_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#include "NULL.h"
#include "constr_SEQUENCE.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_EccP256CurvePoint_PR {
Vanetza_Security_EccP256CurvePoint_PR_NOTHING, /* No components present */
Vanetza_Security_EccP256CurvePoint_PR_x_only,
Vanetza_Security_EccP256CurvePoint_PR_fill,
Vanetza_Security_EccP256CurvePoint_PR_compressed_y_0,
Vanetza_Security_EccP256CurvePoint_PR_compressed_y_1,
Vanetza_Security_EccP256CurvePoint_PR_uncompressedP256
} Vanetza_Security_EccP256CurvePoint_PR;
/* Vanetza_Security_EccP256CurvePoint */
typedef struct Vanetza_Security_EccP256CurvePoint {
Vanetza_Security_EccP256CurvePoint_PR present;
union Vanetza_Security_EccP256CurvePoint_u {
OCTET_STRING_t x_only;
NULL_t fill;
OCTET_STRING_t compressed_y_0;
OCTET_STRING_t compressed_y_1;
struct Vanetza_Security_EccP256CurvePoint__uncompressedP256 {
OCTET_STRING_t x;
OCTET_STRING_t y;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} uncompressedP256;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EccP256CurvePoint_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EccP256CurvePoint;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_EccP256CurvePoint_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP256CurvePoint_1[5];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_EccP256CurvePoint_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_EccP256CurvePoint_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EccP256CurvePoint_H_ */
#include "asn_internal.h"
@@ -0,0 +1,441 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EccP384CurvePoint.h"
static int
memb_Vanetza_Security_x_constraint_6(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 == 48UL)) {
/* 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_Security_y_constraint_6(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 == 48UL)) {
/* 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_Security_x_only_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 == 48UL)) {
/* 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_Security_compressed_y_0_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 == 48UL)) {
/* 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_Security_compressed_y_1_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 == 48UL)) {
/* 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_Security_x_constr_7 CC_NOTUSED = {
{ 0, 0 },
48 /* (SIZE(48..48)) */};
#endif /* !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_Security_x_constr_7 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 48, 48 } /* (SIZE(48..48)) */,
0, 0 /* No PER value map */
};
#endif /* !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_Security_y_constr_8 CC_NOTUSED = {
{ 0, 0 },
48 /* (SIZE(48..48)) */};
#endif /* !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_Security_y_constr_8 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 48, 48 } /* (SIZE(48..48)) */,
0, 0 /* No PER value map */
};
#endif /* !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_Security_x_only_constr_2 CC_NOTUSED = {
{ 0, 0 },
48 /* (SIZE(48..48)) */};
#endif /* !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_Security_x_only_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 48, 48 } /* (SIZE(48..48)) */,
0, 0 /* No PER value map */
};
#endif /* !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_Security_compressed_y_0_constr_4 CC_NOTUSED = {
{ 0, 0 },
48 /* (SIZE(48..48)) */};
#endif /* !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_Security_compressed_y_0_constr_4 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 48, 48 } /* (SIZE(48..48)) */,
0, 0 /* No PER value map */
};
#endif /* !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_Security_compressed_y_1_constr_5 CC_NOTUSED = {
{ 0, 0 },
48 /* (SIZE(48..48)) */};
#endif /* !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_Security_compressed_y_1_constr_5 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 48, 48 } /* (SIZE(48..48)) */,
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_Security_EccP384CurvePoint_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_Security_EccP384CurvePoint_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security_uncompressedP384_6[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP384CurvePoint__uncompressedP384, x),
(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_Security_x_constr_7,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_x_constr_7,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_x_constraint_6
},
0, 0, /* No default value */
"x"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP384CurvePoint__uncompressedP384, y),
(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_Security_y_constr_8,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_y_constr_8,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_y_constraint_6
},
0, 0, /* No default value */
"y"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_uncompressedP384_tags_6[] = {
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_uncompressedP384_tag2el_6[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* y */
};
static asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_uncompressedP384_specs_6 = {
sizeof(struct Vanetza_Security_EccP384CurvePoint__uncompressedP384),
offsetof(struct Vanetza_Security_EccP384CurvePoint__uncompressedP384, _asn_ctx),
asn_MAP_Vanetza_Security_uncompressedP384_tag2el_6,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_uncompressedP384_6 = {
"uncompressedP384",
"uncompressedP384",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_uncompressedP384_tags_6,
sizeof(asn_DEF_Vanetza_Security_uncompressedP384_tags_6)
/sizeof(asn_DEF_Vanetza_Security_uncompressedP384_tags_6[0]) - 1, /* 1 */
asn_DEF_Vanetza_Security_uncompressedP384_tags_6, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_uncompressedP384_tags_6)
/sizeof(asn_DEF_Vanetza_Security_uncompressedP384_tags_6[0]), /* 2 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_uncompressedP384_6,
2, /* Elements count */
&asn_SPC_Vanetza_Security_uncompressedP384_specs_6 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP384CurvePoint_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP384CurvePoint, choice.x_only),
(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_Security_x_only_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_x_only_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_x_only_constraint_1
},
0, 0, /* No default value */
"x-only"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP384CurvePoint, choice.fill),
(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 */
"fill"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP384CurvePoint, choice.compressed_y_0),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_compressed_y_0_constr_4,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_compressed_y_0_constr_4,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_compressed_y_0_constraint_1
},
0, 0, /* No default value */
"compressed-y-0"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP384CurvePoint, choice.compressed_y_1),
(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_Security_compressed_y_1_constr_5,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_compressed_y_1_constr_5,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_compressed_y_1_constraint_1
},
0, 0, /* No default value */
"compressed-y-1"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EccP384CurvePoint, choice.uncompressedP384),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
0,
&asn_DEF_Vanetza_Security_uncompressedP384_6,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"uncompressedP384"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EccP384CurvePoint_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x-only */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* fill */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* compressed-y-0 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* compressed-y-1 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* uncompressedP384 */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_EccP384CurvePoint_specs_1 = {
sizeof(struct Vanetza_Security_EccP384CurvePoint),
offsetof(struct Vanetza_Security_EccP384CurvePoint, _asn_ctx),
offsetof(struct Vanetza_Security_EccP384CurvePoint, present),
sizeof(((struct Vanetza_Security_EccP384CurvePoint *)0)->present),
asn_MAP_Vanetza_Security_EccP384CurvePoint_tag2el_1,
5, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EccP384CurvePoint = {
"EccP384CurvePoint",
"EccP384CurvePoint",
&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_Security_EccP384CurvePoint_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_EccP384CurvePoint_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_EccP384CurvePoint_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security_EccP384CurvePoint_specs_1 /* Additional specs */
};
@@ -0,0 +1,67 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EccP384CurvePoint_H_
#define _Vanetza_Security_EccP384CurvePoint_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#include "NULL.h"
#include "constr_SEQUENCE.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_EccP384CurvePoint_PR {
Vanetza_Security_EccP384CurvePoint_PR_NOTHING, /* No components present */
Vanetza_Security_EccP384CurvePoint_PR_x_only,
Vanetza_Security_EccP384CurvePoint_PR_fill,
Vanetza_Security_EccP384CurvePoint_PR_compressed_y_0,
Vanetza_Security_EccP384CurvePoint_PR_compressed_y_1,
Vanetza_Security_EccP384CurvePoint_PR_uncompressedP384
} Vanetza_Security_EccP384CurvePoint_PR;
/* Vanetza_Security_EccP384CurvePoint */
typedef struct Vanetza_Security_EccP384CurvePoint {
Vanetza_Security_EccP384CurvePoint_PR present;
union Vanetza_Security_EccP384CurvePoint_u {
OCTET_STRING_t x_only;
NULL_t fill;
OCTET_STRING_t compressed_y_0;
OCTET_STRING_t compressed_y_1;
struct Vanetza_Security_EccP384CurvePoint__uncompressedP384 {
OCTET_STRING_t x;
OCTET_STRING_t y;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} uncompressedP384;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EccP384CurvePoint_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EccP384CurvePoint;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_EccP384CurvePoint_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EccP384CurvePoint_1[5];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_EccP384CurvePoint_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_EccP384CurvePoint_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EccP384CurvePoint_H_ */
#include "asn_internal.h"
@@ -0,0 +1,131 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EcdsaP256Signature.h"
static int
memb_Vanetza_Security_sSig_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_Security_sSig_constr_3 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_Security_sSig_constr_3 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_Security_EcdsaP256Signature_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EcdsaP256Signature, rSig),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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 */
"rSig"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EcdsaP256Signature, sSig),
(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_Security_sSig_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_sSig_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_sSig_constraint_1
},
0, 0, /* No default value */
"sSig"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EcdsaP256Signature_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EcdsaP256Signature_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rSig */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sSig */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EcdsaP256Signature_specs_1 = {
sizeof(struct Vanetza_Security_EcdsaP256Signature),
offsetof(struct Vanetza_Security_EcdsaP256Signature, _asn_ctx),
asn_MAP_Vanetza_Security_EcdsaP256Signature_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_Security_EcdsaP256Signature = {
"EcdsaP256Signature",
"EcdsaP256Signature",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EcdsaP256Signature_tags_1,
sizeof(asn_DEF_Vanetza_Security_EcdsaP256Signature_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EcdsaP256Signature_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EcdsaP256Signature_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EcdsaP256Signature_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EcdsaP256Signature_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_EcdsaP256Signature_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EcdsaP256Signature_specs_1 /* Additional specs */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EcdsaP256Signature_H_
#define _Vanetza_Security_EcdsaP256Signature_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EccP256CurvePoint.h"
#include "OCTET_STRING.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EcdsaP256Signature */
typedef struct Vanetza_Security_EcdsaP256Signature {
Vanetza_Security_EccP256CurvePoint_t rSig;
OCTET_STRING_t sSig;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EcdsaP256Signature_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EcdsaP256Signature;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EcdsaP256Signature_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EcdsaP256Signature_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EcdsaP256Signature_H_ */
#include "asn_internal.h"
@@ -0,0 +1,131 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EcdsaP384Signature.h"
static int
memb_Vanetza_Security_sSig_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 == 48UL)) {
/* 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_Security_sSig_constr_3 CC_NOTUSED = {
{ 0, 0 },
48 /* (SIZE(48..48)) */};
#endif /* !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_Security_sSig_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 48, 48 } /* (SIZE(48..48)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security_EcdsaP384Signature_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EcdsaP384Signature, rSig),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_EccP384CurvePoint,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"rSig"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EcdsaP384Signature, sSig),
(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_Security_sSig_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_sSig_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_sSig_constraint_1
},
0, 0, /* No default value */
"sSig"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EcdsaP384Signature_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EcdsaP384Signature_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rSig */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sSig */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EcdsaP384Signature_specs_1 = {
sizeof(struct Vanetza_Security_EcdsaP384Signature),
offsetof(struct Vanetza_Security_EcdsaP384Signature, _asn_ctx),
asn_MAP_Vanetza_Security_EcdsaP384Signature_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_Security_EcdsaP384Signature = {
"EcdsaP384Signature",
"EcdsaP384Signature",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EcdsaP384Signature_tags_1,
sizeof(asn_DEF_Vanetza_Security_EcdsaP384Signature_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EcdsaP384Signature_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EcdsaP384Signature_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EcdsaP384Signature_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EcdsaP384Signature_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_EcdsaP384Signature_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EcdsaP384Signature_specs_1 /* Additional specs */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EcdsaP384Signature_H_
#define _Vanetza_Security_EcdsaP384Signature_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EccP384CurvePoint.h"
#include "OCTET_STRING.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EcdsaP384Signature */
typedef struct Vanetza_Security_EcdsaP384Signature {
Vanetza_Security_EccP384CurvePoint_t rSig;
OCTET_STRING_t sSig;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EcdsaP384Signature_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EcdsaP384Signature;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EcdsaP384Signature_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EcdsaP384Signature_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EcdsaP384Signature_H_ */
#include "asn_internal.h"
@@ -0,0 +1,190 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EciesP256EncryptedKey.h"
static int
memb_Vanetza_Security_c_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_Security_t_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_Security_c_constr_3 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_Security_c_constr_3 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_Security_t_constr_4 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_Security_t_constr_4 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) */
asn_TYPE_member_t asn_MBR_Vanetza_Security_EciesP256EncryptedKey_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EciesP256EncryptedKey, v),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_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 */
"v"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EciesP256EncryptedKey, c),
(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_Security_c_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_c_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_c_constraint_1
},
0, 0, /* No default value */
"c"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EciesP256EncryptedKey, t),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_t_constr_4,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_t_constr_4,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_t_constraint_1
},
0, 0, /* No default value */
"t"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EciesP256EncryptedKey_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EciesP256EncryptedKey_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* v */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* c */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* t */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EciesP256EncryptedKey_specs_1 = {
sizeof(struct Vanetza_Security_EciesP256EncryptedKey),
offsetof(struct Vanetza_Security_EciesP256EncryptedKey, _asn_ctx),
asn_MAP_Vanetza_Security_EciesP256EncryptedKey_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_Security_EciesP256EncryptedKey = {
"EciesP256EncryptedKey",
"EciesP256EncryptedKey",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EciesP256EncryptedKey_tags_1,
sizeof(asn_DEF_Vanetza_Security_EciesP256EncryptedKey_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EciesP256EncryptedKey_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EciesP256EncryptedKey_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EciesP256EncryptedKey_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EciesP256EncryptedKey_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_EciesP256EncryptedKey_1,
3, /* Elements count */
&asn_SPC_Vanetza_Security_EciesP256EncryptedKey_specs_1 /* Additional specs */
};
@@ -0,0 +1,43 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EciesP256EncryptedKey_H_
#define _Vanetza_Security_EciesP256EncryptedKey_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EccP256CurvePoint.h"
#include "OCTET_STRING.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EciesP256EncryptedKey */
typedef struct Vanetza_Security_EciesP256EncryptedKey {
Vanetza_Security_EccP256CurvePoint_t v;
OCTET_STRING_t c;
OCTET_STRING_t t;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EciesP256EncryptedKey_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EciesP256EncryptedKey;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EciesP256EncryptedKey_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EciesP256EncryptedKey_1[3];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EciesP256EncryptedKey_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "ElevInt.h"
int
Vanetza_Security_ElevInt_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 65535L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using Vanetza_Security_Uint16,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_ElevInt_constr_1 CC_NOTUSED = {
{ 2, 1 } /* (0..65535) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security_ElevInt_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_ElevInt_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ElevInt = {
"ElevInt",
"ElevInt",
&asn_OP_NativeInteger,
asn_DEF_Vanetza_Security_ElevInt_tags_1,
sizeof(asn_DEF_Vanetza_Security_ElevInt_tags_1)
/sizeof(asn_DEF_Vanetza_Security_ElevInt_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_ElevInt_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_ElevInt_tags_1)
/sizeof(asn_DEF_Vanetza_Security_ElevInt_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_ElevInt_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_ElevInt_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_ElevInt_constraint
},
0, 0, /* No members */
0 /* No specifics */
};
@@ -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_Security_ -R`
*/
#ifndef _Vanetza_Security_ElevInt_H_
#define _Vanetza_Security_ElevInt_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Uint16.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_ElevInt */
typedef Vanetza_Security_Uint16_t Vanetza_Security_ElevInt_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_ElevInt_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_ElevInt_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ElevInt;
asn_struct_free_f Vanetza_Security_ElevInt_free;
asn_struct_print_f Vanetza_Security_ElevInt_print;
asn_constr_check_f Vanetza_Security_ElevInt_constraint;
ber_type_decoder_f Vanetza_Security_ElevInt_decode_ber;
der_type_encoder_f Vanetza_Security_ElevInt_encode_der;
xer_type_decoder_f Vanetza_Security_ElevInt_decode_xer;
xer_type_encoder_f Vanetza_Security_ElevInt_encode_xer;
jer_type_encoder_f Vanetza_Security_ElevInt_encode_jer;
oer_type_decoder_f Vanetza_Security_ElevInt_decode_oer;
oer_type_encoder_f Vanetza_Security_ElevInt_encode_oer;
per_type_decoder_f Vanetza_Security_ElevInt_decode_uper;
per_type_encoder_f Vanetza_Security_ElevInt_encode_uper;
per_type_decoder_f Vanetza_Security_ElevInt_decode_aper;
per_type_encoder_f Vanetza_Security_ElevInt_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_ElevInt_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2BaseTypes"
* found in "IEEE1609dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "Elevation.h"
int
Vanetza_Security_Elevation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 65535L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using Vanetza_Security_ElevInt,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_Elevation_constr_1 CC_NOTUSED = {
{ 2, 1 } /* (0..65535) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security_Elevation_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_Elevation_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Elevation = {
"Elevation",
"Elevation",
&asn_OP_NativeInteger,
asn_DEF_Vanetza_Security_Elevation_tags_1,
sizeof(asn_DEF_Vanetza_Security_Elevation_tags_1)
/sizeof(asn_DEF_Vanetza_Security_Elevation_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_Elevation_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_Elevation_tags_1)
/sizeof(asn_DEF_Vanetza_Security_Elevation_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_Elevation_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_Elevation_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_Elevation_constraint
},
0, 0, /* No members */
0 /* No specifics */
};
@@ -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_Security_ -R`
*/
#ifndef _Vanetza_Security_Elevation_H_
#define _Vanetza_Security_Elevation_H_
#include "asn_application.h"
/* Including external dependencies */
#include "ElevInt.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_Elevation */
typedef Vanetza_Security_ElevInt_t Vanetza_Security_Elevation_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_Elevation_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_Elevation_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Elevation;
asn_struct_free_f Vanetza_Security_Elevation_free;
asn_struct_print_f Vanetza_Security_Elevation_print;
asn_constr_check_f Vanetza_Security_Elevation_constraint;
ber_type_decoder_f Vanetza_Security_Elevation_decode_ber;
der_type_encoder_f Vanetza_Security_Elevation_encode_der;
xer_type_decoder_f Vanetza_Security_Elevation_decode_xer;
xer_type_encoder_f Vanetza_Security_Elevation_encode_xer;
jer_type_encoder_f Vanetza_Security_Elevation_encode_jer;
oer_type_decoder_f Vanetza_Security_Elevation_decode_oer;
oer_type_encoder_f Vanetza_Security_Elevation_encode_oer;
per_type_decoder_f Vanetza_Security_Elevation_decode_uper;
per_type_encoder_f Vanetza_Security_Elevation_encode_uper;
per_type_decoder_f Vanetza_Security_Elevation_decode_aper;
per_type_encoder_f Vanetza_Security_Elevation_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_Elevation_H_ */
#include "asn_internal.h"
@@ -0,0 +1,93 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2"
* found in "IEEE1609dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EncryptedData.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security_EncryptedData_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EncryptedData, recipients),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_SequenceOfRecipientInfo,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"recipients"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EncryptedData, ciphertext),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_SymmetricCiphertext,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"ciphertext"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EncryptedData_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EncryptedData_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* recipients */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ciphertext */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EncryptedData_specs_1 = {
sizeof(struct Vanetza_Security_EncryptedData),
offsetof(struct Vanetza_Security_EncryptedData, _asn_ctx),
asn_MAP_Vanetza_Security_EncryptedData_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_Security_EncryptedData = {
"EncryptedData",
"EncryptedData",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EncryptedData_tags_1,
sizeof(asn_DEF_Vanetza_Security_EncryptedData_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EncryptedData_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EncryptedData_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EncryptedData_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EncryptedData_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_EncryptedData_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EncryptedData_specs_1 /* Additional specs */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2"
* found in "IEEE1609dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EncryptedData_H_
#define _Vanetza_Security_EncryptedData_H_
#include "asn_application.h"
/* Including external dependencies */
#include "SequenceOfRecipientInfo.h"
#include "SymmetricCiphertext.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EncryptedData */
typedef struct Vanetza_Security_EncryptedData {
Vanetza_Security_SequenceOfRecipientInfo_t recipients;
Vanetza_Security_SymmetricCiphertext_t ciphertext;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EncryptedData_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EncryptedData;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EncryptedData_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EncryptedData_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EncryptedData_H_ */
#include "asn_internal.h"
@@ -0,0 +1,102 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2"
* found in "IEEE1609dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EncryptedDataEncryptionKey.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_EncryptedDataEncryptionKey_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_Security_EncryptedDataEncryptionKey_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_Security_EncryptedDataEncryptionKey_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EncryptedDataEncryptionKey, choice.eciesNistP256),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_EciesP256EncryptedKey,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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_Security_EncryptedDataEncryptionKey, choice.eciesBrainpoolP256r1),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_EciesP256EncryptedKey,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EncryptedDataEncryptionKey_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eciesNistP256 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eciesBrainpoolP256r1 */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_EncryptedDataEncryptionKey_specs_1 = {
sizeof(struct Vanetza_Security_EncryptedDataEncryptionKey),
offsetof(struct Vanetza_Security_EncryptedDataEncryptionKey, _asn_ctx),
offsetof(struct Vanetza_Security_EncryptedDataEncryptionKey, present),
sizeof(((struct Vanetza_Security_EncryptedDataEncryptionKey *)0)->present),
asn_MAP_Vanetza_Security_EncryptedDataEncryptionKey_tag2el_1,
2, /* Count of tags in the map */
0, 0,
2 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EncryptedDataEncryptionKey = {
"EncryptedDataEncryptionKey",
"EncryptedDataEncryptionKey",
&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_Security_EncryptedDataEncryptionKey_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_EncryptedDataEncryptionKey_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_EncryptedDataEncryptionKey_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EncryptedDataEncryptionKey_specs_1 /* Additional specs */
};
@@ -0,0 +1,59 @@
/*
* Generated by asn1c
* From ASN.1 module "IEEE1609dot2"
* found in "IEEE1609dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EncryptedDataEncryptionKey_H_
#define _Vanetza_Security_EncryptedDataEncryptionKey_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EciesP256EncryptedKey.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_EncryptedDataEncryptionKey_PR {
Vanetza_Security_EncryptedDataEncryptionKey_PR_NOTHING, /* No components present */
Vanetza_Security_EncryptedDataEncryptionKey_PR_eciesNistP256,
Vanetza_Security_EncryptedDataEncryptionKey_PR_eciesBrainpoolP256r1
/* Extensions may appear below */
} Vanetza_Security_EncryptedDataEncryptionKey_PR;
/* Vanetza_Security_EncryptedDataEncryptionKey */
typedef struct Vanetza_Security_EncryptedDataEncryptionKey {
Vanetza_Security_EncryptedDataEncryptionKey_PR present;
union Vanetza_Security_EncryptedDataEncryptionKey_u {
Vanetza_Security_EciesP256EncryptedKey_t eciesNistP256;
Vanetza_Security_EciesP256EncryptedKey_t eciesBrainpoolP256r1;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EncryptedDataEncryptionKey_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EncryptedDataEncryptionKey;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_EncryptedDataEncryptionKey_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EncryptedDataEncryptionKey_1[2];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_EncryptedDataEncryptionKey_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_EncryptedDataEncryptionKey_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EncryptedDataEncryptionKey_H_ */
#include "asn_internal.h"

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