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,43 @@
/*
* 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 "Aes128CcmCiphertext.h"
/*
* This type is implemented using Vanetza_Security_One28BitCcmCiphertext,
* so here we adjust the DEF accordingly.
*/
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_Aes128CcmCiphertext_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Aes128CcmCiphertext = {
"Aes128CcmCiphertext",
"Aes128CcmCiphertext",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_Aes128CcmCiphertext_tags_1,
sizeof(asn_DEF_Vanetza_Security_Aes128CcmCiphertext_tags_1)
/sizeof(asn_DEF_Vanetza_Security_Aes128CcmCiphertext_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_Aes128CcmCiphertext_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_Aes128CcmCiphertext_tags_1)
/sizeof(asn_DEF_Vanetza_Security_Aes128CcmCiphertext_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_One28BitCcmCiphertext_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_One28BitCcmCiphertext_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_Aes128CcmCiphertext_H_
#define _Vanetza_Security_Aes128CcmCiphertext_H_
#include "asn_application.h"
/* Including external dependencies */
#include "One28BitCcmCiphertext.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_Aes128CcmCiphertext */
typedef Vanetza_Security_One28BitCcmCiphertext_t Vanetza_Security_Aes128CcmCiphertext_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Aes128CcmCiphertext;
asn_struct_free_f Vanetza_Security_Aes128CcmCiphertext_free;
asn_struct_print_f Vanetza_Security_Aes128CcmCiphertext_print;
asn_constr_check_f Vanetza_Security_Aes128CcmCiphertext_constraint;
ber_type_decoder_f Vanetza_Security_Aes128CcmCiphertext_decode_ber;
der_type_encoder_f Vanetza_Security_Aes128CcmCiphertext_encode_der;
xer_type_decoder_f Vanetza_Security_Aes128CcmCiphertext_decode_xer;
xer_type_encoder_f Vanetza_Security_Aes128CcmCiphertext_encode_xer;
jer_type_encoder_f Vanetza_Security_Aes128CcmCiphertext_encode_jer;
oer_type_decoder_f Vanetza_Security_Aes128CcmCiphertext_decode_oer;
oer_type_encoder_f Vanetza_Security_Aes128CcmCiphertext_encode_oer;
per_type_decoder_f Vanetza_Security_Aes128CcmCiphertext_decode_uper;
per_type_encoder_f Vanetza_Security_Aes128CcmCiphertext_encode_uper;
per_type_decoder_f Vanetza_Security_Aes128CcmCiphertext_decode_aper;
per_type_encoder_f Vanetza_Security_Aes128CcmCiphertext_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_Aes128CcmCiphertext_H_ */
#include "asn_internal.h"
@@ -0,0 +1,259 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "AppExtension.h"
static const long asn_VAL_2_Vanetza_Security_certExtId_OperatingOrganization = 1;
static const asn_ioc_cell_t asn_IOS_Vanetza_Security_SetCertExtensions_1_rows[] = {
{ "&id", aioc__value, &asn_DEF_Vanetza_Security_ExtId, &asn_VAL_2_Vanetza_Security_certExtId_OperatingOrganization },
{ "&App", aioc__type, &asn_DEF_Vanetza_Security_OperatingOrganizationId },
{ "&Issue", aioc__type, &asn_DEF_NULL },
{ "&Req", aioc__type, &asn_DEF_NULL }
};
static const asn_ioc_set_t asn_IOS_Vanetza_Security_SetCertExtensions_1[] = {
{ 1, 4, asn_IOS_Vanetza_Security_SetCertExtensions_1_rows }
};
static int
memb_Vanetza_Security_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_type_selector_result_t
select_AppExtension_Vanetza_Security_content_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
const asn_ioc_set_t *itable = asn_IOS_Vanetza_Security_SetCertExtensions_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &App */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Vanetza_Security_AppExtension, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
if(type_cell->cell_kind == aioc__undefined)
continue;
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
result.presence_index = presence_index;
break;
}
}
return result;
}
static int
memb_Vanetza_Security_content_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_id_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (0..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_id_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_content_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_content_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security_content_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_AppExtension__content, choice.OperatingOrganizationId),
(ASN_TAG_CLASS_UNIVERSAL | (6 << 2)),
0,
&asn_DEF_Vanetza_Security_OperatingOrganizationId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"OperatingOrganizationId"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_content_tag2el_3[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 0, 0, 0 } /* OperatingOrganizationId */
};
static asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_content_specs_3 = {
sizeof(struct Vanetza_Security_AppExtension__content),
offsetof(struct Vanetza_Security_AppExtension__content, _asn_ctx),
offsetof(struct Vanetza_Security_AppExtension__content, present),
sizeof(((struct Vanetza_Security_AppExtension__content *)0)->present),
asn_MAP_Vanetza_Security_content_tag2el_3,
1, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_content_3 = {
"content",
"content",
&asn_OP_OPEN_TYPE,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
OPEN_TYPE_constraint
},
asn_MBR_Vanetza_Security_content_3,
1, /* Elements count */
&asn_SPC_Vanetza_Security_content_specs_3 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security_AppExtension_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_AppExtension, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_ExtId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_id_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_id_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_id_constraint_1
},
0, 0, /* No default value */
"id"
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_AppExtension, content),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_content_3,
select_AppExtension_Vanetza_Security_content_type,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_content_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_content_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_content_constraint_1
},
0, 0, /* No default value */
"content"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_AppExtension_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_AppExtension_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* content */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_AppExtension_specs_1 = {
sizeof(struct Vanetza_Security_AppExtension),
offsetof(struct Vanetza_Security_AppExtension, _asn_ctx),
asn_MAP_Vanetza_Security_AppExtension_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AppExtension = {
"AppExtension",
"AppExtension",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_AppExtension_tags_1,
sizeof(asn_DEF_Vanetza_Security_AppExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AppExtension_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_AppExtension_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_AppExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security_AppExtension_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_AppExtension_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_AppExtension_specs_1 /* Additional specs */
};
@@ -0,0 +1,61 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_AppExtension_H_
#define _Vanetza_Security_AppExtension_H_
#include "asn_application.h"
/* Including external dependencies */
#include "ExtId.h"
#include "ANY.h"
#include "asn_ioc.h"
#include "OperatingOrganizationId.h"
#include "NULL.h"
#include "OPEN_TYPE.h"
#include "constr_CHOICE.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_AppExtension__content_PR {
Vanetza_Security_AppExtension__content_PR_NOTHING, /* No components present */
Vanetza_Security_AppExtension__content_PR_OperatingOrganizationId
} Vanetza_Security_AppExtension__content_PR;
/* Vanetza_Security_AppExtension */
typedef struct Vanetza_Security_AppExtension {
Vanetza_Security_ExtId_t id;
struct Vanetza_Security_AppExtension__content {
Vanetza_Security_AppExtension__content_PR present;
union Vanetza_Security_AppExtension__Vanetza_Security_content_u {
Vanetza_Security_OperatingOrganizationId_t OperatingOrganizationId;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} content;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_AppExtension_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_AppExtension;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_AppExtension_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_AppExtension_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_AppExtension_H_ */
#include "asn_internal.h"
@@ -0,0 +1,123 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2BaseTypes"
* found in "Ieee1609Dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_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"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_BasePublicEncryptionKey, choice.ecencSm2),
(ASN_TAG_CLASS_CONTEXT | (2 << 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 */
"ecencSm2"
},
};
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_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ecencSm2 */
};
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,
3, /* 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,
3, /* Elements count */
&asn_SPC_Vanetza_Security_BasePublicEncryptionKey_specs_1 /* Additional specs */
};
@@ -0,0 +1,60 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2BaseTypes"
* found in "Ieee1609Dot2BaseTypes.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_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_ecencSm2
} 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.
*/
Vanetza_Security_EccP256CurvePoint_t ecencSm2;
} 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[3];
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,265 @@
/*
* 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 "CertIssueExtension.h"
static const long asn_VAL_2_Vanetza_Security_certExtId_OperatingOrganization = 1;
static const asn_ioc_cell_t asn_IOS_Vanetza_Security_SetCertExtensions_1_rows[] = {
{ "&id", aioc__value, &asn_DEF_Vanetza_Security_ExtId, &asn_VAL_2_Vanetza_Security_certExtId_OperatingOrganization },
{ "&App", aioc__type, &asn_DEF_Vanetza_Security_OperatingOrganizationId },
{ "&Issue", aioc__type, &asn_DEF_NULL },
{ "&Req", aioc__type, &asn_DEF_NULL }
};
static const asn_ioc_set_t asn_IOS_Vanetza_Security_SetCertExtensions_1[] = {
{ 1, 4, asn_IOS_Vanetza_Security_SetCertExtensions_1_rows }
};
static int
memb_Vanetza_Security_specific_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
}
static int
memb_Vanetza_Security_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_specific_constr_4 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_specific_constr_4 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_permissions_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security_permissions_constr_3 CC_NOTUSED = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_id_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (0..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_id_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security_permissions_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertIssueExtension__permissions, choice.specific),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_ANY,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_specific_constr_4,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_specific_constr_4,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_specific_constraint_3
},
0, 0, /* No default value */
"specific"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertIssueExtension__permissions, choice.all),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"all"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_permissions_tag2el_3[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* specific */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* all */
};
static asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_permissions_specs_3 = {
sizeof(struct Vanetza_Security_CertIssueExtension__permissions),
offsetof(struct Vanetza_Security_CertIssueExtension__permissions, _asn_ctx),
offsetof(struct Vanetza_Security_CertIssueExtension__permissions, present),
sizeof(((struct Vanetza_Security_CertIssueExtension__permissions *)0)->present),
asn_MAP_Vanetza_Security_permissions_tag2el_3,
2, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_permissions_3 = {
"permissions",
"permissions",
&asn_OP_CHOICE,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_permissions_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_permissions_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_permissions_3,
2, /* Elements count */
&asn_SPC_Vanetza_Security_permissions_specs_3 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security_CertIssueExtension_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertIssueExtension, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_ExtId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_id_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_id_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_id_constraint_1
},
0, 0, /* No default value */
"id"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertIssueExtension, permissions),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_permissions_3,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"permissions"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CertIssueExtension_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_CertIssueExtension_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* permissions */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CertIssueExtension_specs_1 = {
sizeof(struct Vanetza_Security_CertIssueExtension),
offsetof(struct Vanetza_Security_CertIssueExtension, _asn_ctx),
asn_MAP_Vanetza_Security_CertIssueExtension_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertIssueExtension = {
"CertIssueExtension",
"CertIssueExtension",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CertIssueExtension_tags_1,
sizeof(asn_DEF_Vanetza_Security_CertIssueExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertIssueExtension_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CertIssueExtension_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CertIssueExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertIssueExtension_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_CertIssueExtension_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_CertIssueExtension_specs_1 /* Additional specs */
};
@@ -0,0 +1,62 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CertIssueExtension_H_
#define _Vanetza_Security_CertIssueExtension_H_
#include "asn_application.h"
/* Including external dependencies */
#include "ExtId.h"
#include "asn_ioc.h"
#include "OperatingOrganizationId.h"
#include "NULL.h"
#include "ANY.h"
#include "constr_CHOICE.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_CertIssueExtension__permissions_PR {
Vanetza_Security_CertIssueExtension__permissions_PR_NOTHING, /* No components present */
Vanetza_Security_CertIssueExtension__permissions_PR_specific,
Vanetza_Security_CertIssueExtension__permissions_PR_all
} Vanetza_Security_CertIssueExtension__permissions_PR;
/* Vanetza_Security_CertIssueExtension */
typedef struct Vanetza_Security_CertIssueExtension {
Vanetza_Security_ExtId_t id;
struct Vanetza_Security_CertIssueExtension__permissions {
Vanetza_Security_CertIssueExtension__permissions_PR present;
union Vanetza_Security_CertIssueExtension__Vanetza_Security_permissions_u {
ANY_t specific;
NULL_t all;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} permissions;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CertIssueExtension_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertIssueExtension;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CertIssueExtension_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CertIssueExtension_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CertIssueExtension_H_ */
#include "asn_internal.h"
@@ -0,0 +1,265 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "CertRequestExtension.h"
static const long asn_VAL_2_Vanetza_Security_certExtId_OperatingOrganization = 1;
static const asn_ioc_cell_t asn_IOS_Vanetza_Security_SetCertExtensions_1_rows[] = {
{ "&id", aioc__value, &asn_DEF_Vanetza_Security_ExtId, &asn_VAL_2_Vanetza_Security_certExtId_OperatingOrganization },
{ "&App", aioc__type, &asn_DEF_Vanetza_Security_OperatingOrganizationId },
{ "&Issue", aioc__type, &asn_DEF_NULL },
{ "&Req", aioc__type, &asn_DEF_NULL }
};
static const asn_ioc_set_t asn_IOS_Vanetza_Security_SetCertExtensions_1[] = {
{ 1, 4, asn_IOS_Vanetza_Security_SetCertExtensions_1_rows }
};
static int
memb_Vanetza_Security_content_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
}
static int
memb_Vanetza_Security_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_content_constr_4 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_content_constr_4 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_permissions_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security_permissions_constr_3 CC_NOTUSED = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_id_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (0..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_id_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security_permissions_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertRequestExtension__permissions, choice.content),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_ANY,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_content_constr_4,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_content_constr_4,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_content_constraint_3
},
0, 0, /* No default value */
"content"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertRequestExtension__permissions, choice.all),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"all"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_permissions_tag2el_3[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* content */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* all */
};
static asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_permissions_specs_3 = {
sizeof(struct Vanetza_Security_CertRequestExtension__permissions),
offsetof(struct Vanetza_Security_CertRequestExtension__permissions, _asn_ctx),
offsetof(struct Vanetza_Security_CertRequestExtension__permissions, present),
sizeof(((struct Vanetza_Security_CertRequestExtension__permissions *)0)->present),
asn_MAP_Vanetza_Security_permissions_tag2el_3,
2, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_permissions_3 = {
"permissions",
"permissions",
&asn_OP_CHOICE,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_permissions_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_permissions_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_permissions_3,
2, /* Elements count */
&asn_SPC_Vanetza_Security_permissions_specs_3 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security_CertRequestExtension_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertRequestExtension, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_ExtId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_id_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_id_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_id_constraint_1
},
0, 0, /* No default value */
"id"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_CertRequestExtension, permissions),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_permissions_3,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"permissions"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_CertRequestExtension_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_CertRequestExtension_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* permissions */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CertRequestExtension_specs_1 = {
sizeof(struct Vanetza_Security_CertRequestExtension),
offsetof(struct Vanetza_Security_CertRequestExtension, _asn_ctx),
asn_MAP_Vanetza_Security_CertRequestExtension_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertRequestExtension = {
"CertRequestExtension",
"CertRequestExtension",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_CertRequestExtension_tags_1,
sizeof(asn_DEF_Vanetza_Security_CertRequestExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertRequestExtension_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_CertRequestExtension_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_CertRequestExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security_CertRequestExtension_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_constraint
},
asn_MBR_Vanetza_Security_CertRequestExtension_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_CertRequestExtension_specs_1 /* Additional specs */
};
@@ -0,0 +1,62 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_CertRequestExtension_H_
#define _Vanetza_Security_CertRequestExtension_H_
#include "asn_application.h"
/* Including external dependencies */
#include "ExtId.h"
#include "asn_ioc.h"
#include "OperatingOrganizationId.h"
#include "NULL.h"
#include "ANY.h"
#include "constr_CHOICE.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_CertRequestExtension__permissions_PR {
Vanetza_Security_CertRequestExtension__permissions_PR_NOTHING, /* No components present */
Vanetza_Security_CertRequestExtension__permissions_PR_content,
Vanetza_Security_CertRequestExtension__permissions_PR_all
} Vanetza_Security_CertRequestExtension__permissions_PR;
/* Vanetza_Security_CertRequestExtension */
typedef struct Vanetza_Security_CertRequestExtension {
Vanetza_Security_ExtId_t id;
struct Vanetza_Security_CertRequestExtension__permissions {
Vanetza_Security_CertRequestExtension__permissions_PR present;
union Vanetza_Security_CertRequestExtension__Vanetza_Security_permissions_u {
ANY_t content;
NULL_t all;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} permissions;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_CertRequestExtension_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_CertRequestExtension;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_CertRequestExtension_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_CertRequestExtension_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_CertRequestExtension_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_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,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,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,281 @@
/*
* 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 "ContributedExtensionBlock.h"
static const long asn_VAL_1_Vanetza_Security_ieee1609HeaderInfoContributorId = 1;
static const long asn_VAL_2_Vanetza_Security_etsiHeaderInfoContributorId = 2;
static const asn_ioc_cell_t asn_IOS_Vanetza_Security_Ieee1609Dot2HeaderInfoContributedExtensions_1_rows[] = {
{ "&id", aioc__value, &asn_DEF_Vanetza_Security_HeaderInfoContributorId, &asn_VAL_1_Vanetza_Security_ieee1609HeaderInfoContributorId },
{ "&Extn", aioc__type, &asn_DEF_Vanetza_Security_Ieee1609ContributedHeaderInfoExtension },
{ "&id", aioc__value, &asn_DEF_Vanetza_Security_HeaderInfoContributorId, &asn_VAL_2_Vanetza_Security_etsiHeaderInfoContributorId },
{ "&Extn", aioc__type, &asn_DEF_Vanetza_Security_EtsiOriginatingHeaderInfoExtension }
};
static const asn_ioc_set_t asn_IOS_Vanetza_Security_Ieee1609Dot2HeaderInfoContributedExtensions_1[] = {
{ 2, 2, asn_IOS_Vanetza_Security_Ieee1609Dot2HeaderInfoContributedExtensions_1_rows }
};
static int
memb_ANY_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
}
static int
memb_Vanetza_Security_contributorId_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_Vanetza_Security_extns_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
/* Determine the number of elements */
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
if((size >= 1UL)) {
/* Perform validation of the inner elements */
return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key);
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_Member_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_Member_constr_4 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_extns_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..MAX)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_type_Vanetza_Security_extns_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_SEMI_CONSTRAINED, -1, -1, 1, 0 } /* (SIZE(1..MAX)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_contributorId_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (0..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_contributorId_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_extns_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..MAX)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_extns_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_SEMI_CONSTRAINED, -1, -1, 1, 0 } /* (SIZE(1..MAX)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security_extns_3[] = {
{ ATF_ANY_TYPE | ATF_POINTER, 0, 0,
-1 /* Ambiguous tag (ANY?) */,
0,
&asn_DEF_ANY,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_Member_constr_4,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_Member_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_ANY_constraint_3
},
0, 0, /* No default value */
""
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_extns_tags_3[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Vanetza_Security_extns_specs_3 = {
sizeof(struct Vanetza_Security_ContributedExtensionBlock__extns),
offsetof(struct Vanetza_Security_ContributedExtensionBlock__extns, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_extns_3 = {
"extns",
"extns",
&asn_OP_SEQUENCE_OF,
asn_DEF_Vanetza_Security_extns_tags_3,
sizeof(asn_DEF_Vanetza_Security_extns_tags_3)
/sizeof(asn_DEF_Vanetza_Security_extns_tags_3[0]) - 1, /* 1 */
asn_DEF_Vanetza_Security_extns_tags_3, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_extns_tags_3)
/sizeof(asn_DEF_Vanetza_Security_extns_tags_3[0]), /* 2 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_extns_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_extns_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
SEQUENCE_OF_constraint
},
asn_MBR_Vanetza_Security_extns_3,
1, /* Single element */
&asn_SPC_Vanetza_Security_extns_specs_3 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security_ContributedExtensionBlock_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_ContributedExtensionBlock, contributorId),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_HeaderInfoContributorId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_contributorId_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_contributorId_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_contributorId_constraint_1
},
0, 0, /* No default value */
"contributorId"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_ContributedExtensionBlock, extns),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
0,
&asn_DEF_Vanetza_Security_extns_3,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_extns_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_extns_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_extns_constraint_1
},
0, 0, /* No default value */
"extns"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_ContributedExtensionBlock_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_ContributedExtensionBlock_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* contributorId */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* extns */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_ContributedExtensionBlock_specs_1 = {
sizeof(struct Vanetza_Security_ContributedExtensionBlock),
offsetof(struct Vanetza_Security_ContributedExtensionBlock, _asn_ctx),
asn_MAP_Vanetza_Security_ContributedExtensionBlock_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_ContributedExtensionBlock = {
"ContributedExtensionBlock",
"ContributedExtensionBlock",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_ContributedExtensionBlock_tags_1,
sizeof(asn_DEF_Vanetza_Security_ContributedExtensionBlock_tags_1)
/sizeof(asn_DEF_Vanetza_Security_ContributedExtensionBlock_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_ContributedExtensionBlock_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_ContributedExtensionBlock_tags_1)
/sizeof(asn_DEF_Vanetza_Security_ContributedExtensionBlock_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_ContributedExtensionBlock_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_ContributedExtensionBlock_specs_1 /* Additional specs */
};
@@ -0,0 +1,52 @@
/*
* 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_ContributedExtensionBlock_H_
#define _Vanetza_Security_ContributedExtensionBlock_H_
#include "asn_application.h"
/* Including external dependencies */
#include "HeaderInfoContributorId.h"
#include "asn_ioc.h"
#include "Ieee1609ContributedHeaderInfoExtension.h"
#include "EtsiOriginatingHeaderInfoExtension.h"
#include "ANY.h"
#include "asn_SEQUENCE_OF.h"
#include "constr_SEQUENCE_OF.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_ContributedExtensionBlock */
typedef struct Vanetza_Security_ContributedExtensionBlock {
Vanetza_Security_HeaderInfoContributorId_t contributorId;
struct Vanetza_Security_ContributedExtensionBlock__extns {
A_SEQUENCE_OF(ANY_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extns;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_ContributedExtensionBlock_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ContributedExtensionBlock;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_ContributedExtensionBlock_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_ContributedExtensionBlock_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_ContributedExtensionBlock_H_ */
#include "asn_internal.h"
@@ -0,0 +1,78 @@
/*
* 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 "ContributedExtensionBlocks.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_ContributedExtensionBlocks_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..MAX)) */};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security_ContributedExtensionBlocks_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_SEMI_CONSTRAINED, -1, -1, 1, 0 } /* (SIZE(1..MAX)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
asn_TYPE_member_t asn_MBR_Vanetza_Security_ContributedExtensionBlocks_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_Vanetza_Security_ContributedExtensionBlock,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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_ContributedExtensionBlocks_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_SET_OF_specifics_t asn_SPC_Vanetza_Security_ContributedExtensionBlocks_specs_1 = {
sizeof(struct Vanetza_Security_ContributedExtensionBlocks),
offsetof(struct Vanetza_Security_ContributedExtensionBlocks, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ContributedExtensionBlocks = {
"ContributedExtensionBlocks",
"ContributedExtensionBlocks",
&asn_OP_SEQUENCE_OF,
asn_DEF_Vanetza_Security_ContributedExtensionBlocks_tags_1,
sizeof(asn_DEF_Vanetza_Security_ContributedExtensionBlocks_tags_1)
/sizeof(asn_DEF_Vanetza_Security_ContributedExtensionBlocks_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_ContributedExtensionBlocks_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_ContributedExtensionBlocks_tags_1)
/sizeof(asn_DEF_Vanetza_Security_ContributedExtensionBlocks_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_ContributedExtensionBlocks_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_ContributedExtensionBlocks_constr_1,
#endif /* !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_ContributedExtensionBlocks_1,
1, /* Single element */
&asn_SPC_Vanetza_Security_ContributedExtensionBlocks_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_ContributedExtensionBlocks_H_
#define _Vanetza_Security_ContributedExtensionBlocks_H_
#include "asn_application.h"
/* Including external dependencies */
#include "asn_SEQUENCE_OF.h"
#include "constr_SEQUENCE_OF.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct Vanetza_Security_ContributedExtensionBlock;
/* Vanetza_Security_ContributedExtensionBlocks */
typedef struct Vanetza_Security_ContributedExtensionBlocks {
A_SEQUENCE_OF(struct Vanetza_Security_ContributedExtensionBlock) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_ContributedExtensionBlocks_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ContributedExtensionBlocks;
extern asn_SET_OF_specifics_t asn_SPC_Vanetza_Security_ContributedExtensionBlocks_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_ContributedExtensionBlocks_1[1];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_ContributedExtensionBlocks_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_ContributedExtensionBlocks_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "ContributedExtensionBlock.h"
#endif /* _Vanetza_Security_ContributedExtensionBlocks_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_UnCountryId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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 "UnCountryId.h"
#include "SequenceOfUint8.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CountryAndRegions */
typedef struct Vanetza_Security_CountryAndRegions {
Vanetza_Security_UnCountryId_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, countryOnly),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_UnCountryId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !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_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 }, /* countryOnly */
{ (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 "UnCountryId.h"
#include "SequenceOfRegionAndSubregions.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CountryAndSubregions */
typedef struct Vanetza_Security_CountryAndSubregions {
Vanetza_Security_UnCountryId_t countryOnly;
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_UnCountryId,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static 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)
static 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,46 @@
/*
* 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 "UnCountryId.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_CountryOnly */
typedef Vanetza_Security_UnCountryId_t Vanetza_Security_CountryOnly_t;
/* Implementation */
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,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,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,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 "EcencP256EncryptedKey.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 == 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_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 },
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_t_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) */
asn_TYPE_member_t asn_MBR_Vanetza_Security_EcencP256EncryptedKey_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EcencP256EncryptedKey, 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_EcencP256EncryptedKey, 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_EcencP256EncryptedKey, 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_EcencP256EncryptedKey_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EcencP256EncryptedKey_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_EcencP256EncryptedKey_specs_1 = {
sizeof(struct Vanetza_Security_EcencP256EncryptedKey),
offsetof(struct Vanetza_Security_EcencP256EncryptedKey, _asn_ctx),
asn_MAP_Vanetza_Security_EcencP256EncryptedKey_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_EcencP256EncryptedKey = {
"EcencP256EncryptedKey",
"EcencP256EncryptedKey",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EcencP256EncryptedKey_tags_1,
sizeof(asn_DEF_Vanetza_Security_EcencP256EncryptedKey_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EcencP256EncryptedKey_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EcencP256EncryptedKey_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EcencP256EncryptedKey_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EcencP256EncryptedKey_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_EcencP256EncryptedKey_1,
3, /* Elements count */
&asn_SPC_Vanetza_Security_EcencP256EncryptedKey_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_EcencP256EncryptedKey_H_
#define _Vanetza_Security_EcencP256EncryptedKey_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_EcencP256EncryptedKey */
typedef struct Vanetza_Security_EcencP256EncryptedKey {
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_EcencP256EncryptedKey_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EcencP256EncryptedKey;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EcencP256EncryptedKey_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EcencP256EncryptedKey_1[3];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EcencP256EncryptedKey_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,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 "EcsigP256Signature.h"
static int
memb_Vanetza_Security_rSig_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_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_rSig_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_rSig_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_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_EcsigP256Signature_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EcsigP256Signature, rSig),
(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_rSig_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_rSig_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_rSig_constraint_1
},
0, 0, /* No default value */
"rSig"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EcsigP256Signature, 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_EcsigP256Signature_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EcsigP256Signature_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_EcsigP256Signature_specs_1 = {
sizeof(struct Vanetza_Security_EcsigP256Signature),
offsetof(struct Vanetza_Security_EcsigP256Signature, _asn_ctx),
asn_MAP_Vanetza_Security_EcsigP256Signature_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_EcsigP256Signature = {
"EcsigP256Signature",
"EcsigP256Signature",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EcsigP256Signature_tags_1,
sizeof(asn_DEF_Vanetza_Security_EcsigP256Signature_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EcsigP256Signature_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EcsigP256Signature_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EcsigP256Signature_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EcsigP256Signature_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_EcsigP256Signature_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EcsigP256Signature_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_EcsigP256Signature_H_
#define _Vanetza_Security_EcsigP256Signature_H_
#include "asn_application.h"
/* Including external dependencies */
#include "OCTET_STRING.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EcsigP256Signature */
typedef struct Vanetza_Security_EcsigP256Signature {
OCTET_STRING_t rSig;
OCTET_STRING_t sSig;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EcsigP256Signature_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EcsigP256Signature;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EcsigP256Signature_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EcsigP256Signature_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EcsigP256Signature_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_Uint16,
* 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 "Uint16.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_Elevation */
typedef Vanetza_Security_Uint16_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,123 @@
/*
* 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"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EncryptedDataEncryptionKey, choice.ecencSm2256),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_EcencP256EncryptedKey,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"ecencSm2256"
},
};
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_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ecencSm2256 */
};
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,
3, /* 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,
3, /* Elements count */
&asn_SPC_Vanetza_Security_EncryptedDataEncryptionKey_specs_1 /* Additional specs */
};
@@ -0,0 +1,61 @@
/*
* Generated by asn1c
* From ASN.1 module "Ieee1609Dot2"
* found in "Ieee1609Dot2.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EncryptedDataEncryptionKey_H_
#define _Vanetza_Security_EncryptedDataEncryptionKey_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EciesP256EncryptedKey.h"
#include "EcencP256EncryptedKey.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_ecencSm2256
} 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.
*/
Vanetza_Security_EcencP256EncryptedKey_t ecencSm2256;
} 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[3];
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"
@@ -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 "EncryptionKey.h"
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_EncryptionKey_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_EncryptionKey_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_EncryptionKey_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EncryptionKey, choice.Public),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_PublicEncryptionKey,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"public"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EncryptionKey, choice.symmetric),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_SymmetricEncryptionKey,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"symmetric"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EncryptionKey_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* public */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* symmetric */
};
asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_EncryptionKey_specs_1 = {
sizeof(struct Vanetza_Security_EncryptionKey),
offsetof(struct Vanetza_Security_EncryptionKey, _asn_ctx),
offsetof(struct Vanetza_Security_EncryptionKey, present),
sizeof(((struct Vanetza_Security_EncryptionKey *)0)->present),
asn_MAP_Vanetza_Security_EncryptionKey_tag2el_1,
2, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EncryptionKey = {
"EncryptionKey",
"EncryptionKey",
&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_EncryptionKey_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_EncryptionKey_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
CHOICE_constraint
},
asn_MBR_Vanetza_Security_EncryptionKey_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EncryptionKey_specs_1 /* Additional specs */
};
@@ -0,0 +1,54 @@
/*
* 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_EncryptionKey_H_
#define _Vanetza_Security_EncryptionKey_H_
#include "asn_application.h"
/* Including external dependencies */
#include "PublicEncryptionKey.h"
#include "SymmetricEncryptionKey.h"
#include "constr_CHOICE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_EncryptionKey_PR {
Vanetza_Security_EncryptionKey_PR_NOTHING, /* No components present */
Vanetza_Security_EncryptionKey_PR_public,
Vanetza_Security_EncryptionKey_PR_symmetric
} Vanetza_Security_EncryptionKey_PR;
/* Vanetza_Security_EncryptionKey */
typedef struct Vanetza_Security_EncryptionKey {
Vanetza_Security_EncryptionKey_PR present;
union Vanetza_Security_EncryptionKey_u {
Vanetza_Security_PublicEncryptionKey_t Public;
Vanetza_Security_SymmetricEncryptionKey_t symmetric;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EncryptionKey_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EncryptionKey;
extern asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_EncryptionKey_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EncryptionKey_1[2];
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_EncryptionKey_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_EncryptionKey_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EncryptionKey_H_ */
#include "asn_internal.h"
@@ -0,0 +1,89 @@
/*
* 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 "EndEntityType.h"
int
Vanetza_Security_EndEntityType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 8UL)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using BIT_STRING,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_EndEntityType_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_EndEntityType_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */,
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
asn_jer_constraints_t asn_JER_type_Vanetza_Security_EndEntityType_constr_1 CC_NOTUSED = {
8};
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EndEntityType_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EndEntityType = {
"EndEntityType",
"EndEntityType",
&asn_OP_BIT_STRING,
asn_DEF_Vanetza_Security_EndEntityType_tags_1,
sizeof(asn_DEF_Vanetza_Security_EndEntityType_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EndEntityType_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EndEntityType_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EndEntityType_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EndEntityType_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_EndEntityType_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_EndEntityType_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
&asn_JER_type_Vanetza_Security_EndEntityType_constr_1,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_EndEntityType_constraint
},
0, 0, /* Defined elsewhere */
&asn_SPC_BIT_STRING_specs /* Additional specs */
};
@@ -0,0 +1,55 @@
/*
* 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_EndEntityType_H_
#define _Vanetza_Security_EndEntityType_H_
#include "asn_application.h"
/* Including external dependencies */
#include "BIT_STRING.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_EndEntityType {
Vanetza_Security_EndEntityType_app = 0,
Vanetza_Security_EndEntityType_enrol = 1
} e_Vanetza_Security_EndEntityType;
/* Vanetza_Security_EndEntityType */
typedef BIT_STRING_t Vanetza_Security_EndEntityType_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_EndEntityType_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_EndEntityType_constr_1;
extern asn_jer_constraints_t asn_JER_type_Vanetza_Security_EndEntityType_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EndEntityType;
asn_struct_free_f Vanetza_Security_EndEntityType_free;
asn_struct_print_f Vanetza_Security_EndEntityType_print;
asn_constr_check_f Vanetza_Security_EndEntityType_constraint;
ber_type_decoder_f Vanetza_Security_EndEntityType_decode_ber;
der_type_encoder_f Vanetza_Security_EndEntityType_encode_der;
xer_type_decoder_f Vanetza_Security_EndEntityType_decode_xer;
xer_type_encoder_f Vanetza_Security_EndEntityType_encode_xer;
jer_type_encoder_f Vanetza_Security_EndEntityType_encode_jer;
oer_type_decoder_f Vanetza_Security_EndEntityType_decode_oer;
oer_type_encoder_f Vanetza_Security_EndEntityType_encode_oer;
per_type_decoder_f Vanetza_Security_EndEntityType_decode_uper;
per_type_encoder_f Vanetza_Security_EndEntityType_encode_uper;
per_type_decoder_f Vanetza_Security_EndEntityType_decode_aper;
per_type_encoder_f Vanetza_Security_EndEntityType_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EndEntityType_H_ */
#include "asn_internal.h"
@@ -0,0 +1,43 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiOriginatingHeaderInfoExtension.h"
/*
* This type is implemented using Vanetza_Security_EtsiTs103097HeaderInfoExtensions,
* so here we adjust the DEF accordingly.
*/
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EtsiOriginatingHeaderInfoExtension_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiOriginatingHeaderInfoExtension = {
"EtsiOriginatingHeaderInfoExtension",
"EtsiOriginatingHeaderInfoExtension",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EtsiOriginatingHeaderInfoExtension_tags_1,
sizeof(asn_DEF_Vanetza_Security_EtsiOriginatingHeaderInfoExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiOriginatingHeaderInfoExtension_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EtsiOriginatingHeaderInfoExtension_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EtsiOriginatingHeaderInfoExtension_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiOriginatingHeaderInfoExtension_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_EtsiTs103097HeaderInfoExtensions_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiOriginatingHeaderInfoExtension_H_
#define _Vanetza_Security_EtsiOriginatingHeaderInfoExtension_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Extension.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EtsiOriginatingHeaderInfoExtension */
typedef Vanetza_Security_EtsiTs103097HeaderInfoExtensions_t Vanetza_Security_EtsiOriginatingHeaderInfoExtension_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiOriginatingHeaderInfoExtension;
asn_struct_free_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_free;
asn_struct_print_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_print;
asn_constr_check_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_constraint;
ber_type_decoder_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_decode_ber;
der_type_encoder_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_encode_der;
xer_type_decoder_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_decode_xer;
xer_type_encoder_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_encode_xer;
jer_type_encoder_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_encode_jer;
oer_type_decoder_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_decode_oer;
oer_type_encoder_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_encode_oer;
per_type_decoder_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_decode_uper;
per_type_encoder_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_encode_uper;
per_type_decoder_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_decode_aper;
per_type_encoder_f Vanetza_Security_EtsiOriginatingHeaderInfoExtension_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiOriginatingHeaderInfoExtension_H_ */
#include "asn_internal.h"
@@ -0,0 +1,95 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs102941CrlRequest.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941CrlRequest_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EtsiTs102941CrlRequest, issuerId),
(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 */
"issuerId"
},
{ ATF_POINTER, 1, offsetof(struct Vanetza_Security_EtsiTs102941CrlRequest, lastKnownUpdate),
(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 */
"lastKnownUpdate"
},
};
static const int asn_MAP_Vanetza_Security_EtsiTs102941CrlRequest_oms_1[] = { 1 };
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EtsiTs102941CrlRequest_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EtsiTs102941CrlRequest_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* issuerId */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lastKnownUpdate */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EtsiTs102941CrlRequest_specs_1 = {
sizeof(struct Vanetza_Security_EtsiTs102941CrlRequest),
offsetof(struct Vanetza_Security_EtsiTs102941CrlRequest, _asn_ctx),
asn_MAP_Vanetza_Security_EtsiTs102941CrlRequest_tag2el_1,
2, /* Count of tags in the map */
asn_MAP_Vanetza_Security_EtsiTs102941CrlRequest_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs102941CrlRequest = {
"EtsiTs102941CrlRequest",
"EtsiTs102941CrlRequest",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EtsiTs102941CrlRequest_tags_1,
sizeof(asn_DEF_Vanetza_Security_EtsiTs102941CrlRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs102941CrlRequest_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EtsiTs102941CrlRequest_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EtsiTs102941CrlRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs102941CrlRequest_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_EtsiTs102941CrlRequest_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EtsiTs102941CrlRequest_specs_1 /* Additional specs */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs102941CrlRequest_H_
#define _Vanetza_Security_EtsiTs102941CrlRequest_H_
#include "asn_application.h"
/* Including external dependencies */
#include "HashedId8.h"
#include "Time32.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EtsiTs102941CrlRequest */
typedef struct Vanetza_Security_EtsiTs102941CrlRequest {
Vanetza_Security_HashedId8_t issuerId;
Vanetza_Security_Time32_t *lastKnownUpdate; /* OPTIONAL */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EtsiTs102941CrlRequest_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs102941CrlRequest;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EtsiTs102941CrlRequest_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941CrlRequest_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs102941CrlRequest_H_ */
#include "asn_internal.h"
@@ -0,0 +1,95 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs102941CtlRequest.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941CtlRequest_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EtsiTs102941CtlRequest, issuerId),
(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 */
"issuerId"
},
{ ATF_POINTER, 1, offsetof(struct Vanetza_Security_EtsiTs102941CtlRequest, lastKnownCtlSequence),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"lastKnownCtlSequence"
},
};
static const int asn_MAP_Vanetza_Security_EtsiTs102941CtlRequest_oms_1[] = { 1 };
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EtsiTs102941CtlRequest_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EtsiTs102941CtlRequest_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* issuerId */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lastKnownCtlSequence */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EtsiTs102941CtlRequest_specs_1 = {
sizeof(struct Vanetza_Security_EtsiTs102941CtlRequest),
offsetof(struct Vanetza_Security_EtsiTs102941CtlRequest, _asn_ctx),
asn_MAP_Vanetza_Security_EtsiTs102941CtlRequest_tag2el_1,
2, /* Count of tags in the map */
asn_MAP_Vanetza_Security_EtsiTs102941CtlRequest_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs102941CtlRequest = {
"EtsiTs102941CtlRequest",
"EtsiTs102941CtlRequest",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EtsiTs102941CtlRequest_tags_1,
sizeof(asn_DEF_Vanetza_Security_EtsiTs102941CtlRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs102941CtlRequest_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EtsiTs102941CtlRequest_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EtsiTs102941CtlRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs102941CtlRequest_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_EtsiTs102941CtlRequest_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EtsiTs102941CtlRequest_specs_1 /* Additional specs */
};
@@ -0,0 +1,42 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs102941CtlRequest_H_
#define _Vanetza_Security_EtsiTs102941CtlRequest_H_
#include "asn_application.h"
/* Including external dependencies */
#include "HashedId8.h"
#include "Uint8.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EtsiTs102941CtlRequest */
typedef struct Vanetza_Security_EtsiTs102941CtlRequest {
Vanetza_Security_HashedId8_t issuerId;
Vanetza_Security_Uint8_t *lastKnownCtlSequence; /* OPTIONAL */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EtsiTs102941CtlRequest_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs102941CtlRequest;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EtsiTs102941CtlRequest_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941CtlRequest_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs102941CtlRequest_H_ */
#include "asn_internal.h"
@@ -0,0 +1,43 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs102941DeltaCtlRequest.h"
/*
* This type is implemented using Vanetza_Security_EtsiTs102941CtlRequest,
* so here we adjust the DEF accordingly.
*/
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EtsiTs102941DeltaCtlRequest_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs102941DeltaCtlRequest = {
"EtsiTs102941DeltaCtlRequest",
"EtsiTs102941DeltaCtlRequest",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EtsiTs102941DeltaCtlRequest_tags_1,
sizeof(asn_DEF_Vanetza_Security_EtsiTs102941DeltaCtlRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs102941DeltaCtlRequest_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EtsiTs102941DeltaCtlRequest_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EtsiTs102941DeltaCtlRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs102941DeltaCtlRequest_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_EtsiTs102941CtlRequest_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EtsiTs102941CtlRequest_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs102941DeltaCtlRequest_H_
#define _Vanetza_Security_EtsiTs102941DeltaCtlRequest_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs102941CtlRequest.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EtsiTs102941DeltaCtlRequest */
typedef Vanetza_Security_EtsiTs102941CtlRequest_t Vanetza_Security_EtsiTs102941DeltaCtlRequest_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs102941DeltaCtlRequest;
asn_struct_free_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_free;
asn_struct_print_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_print;
asn_constr_check_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_constraint;
ber_type_decoder_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_decode_ber;
der_type_encoder_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_encode_der;
xer_type_decoder_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_decode_xer;
xer_type_encoder_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_encode_xer;
jer_type_encoder_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_encode_jer;
oer_type_decoder_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_decode_oer;
oer_type_encoder_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_encode_oer;
per_type_decoder_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_decode_uper;
per_type_encoder_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_encode_uper;
per_type_decoder_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_decode_aper;
per_type_encoder_f Vanetza_Security_EtsiTs102941DeltaCtlRequest_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs102941DeltaCtlRequest_H_ */
#include "asn_internal.h"
@@ -0,0 +1,116 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs102941FullCtlRequest.h"
asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941FullCtlRequest_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EtsiTs102941FullCtlRequest, issuerId),
(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 */
"issuerId"
},
{ ATF_POINTER, 2, offsetof(struct Vanetza_Security_EtsiTs102941FullCtlRequest, lastKnownCtlSequence),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"lastKnownCtlSequence"
},
{ ATF_POINTER, 1, offsetof(struct Vanetza_Security_EtsiTs102941FullCtlRequest, segmentNumber),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_Uint8,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"segmentNumber"
},
};
static const int asn_MAP_Vanetza_Security_EtsiTs102941FullCtlRequest_oms_1[] = { 1, 2 };
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EtsiTs102941FullCtlRequest_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EtsiTs102941FullCtlRequest_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* issuerId */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lastKnownCtlSequence */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* segmentNumber */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EtsiTs102941FullCtlRequest_specs_1 = {
sizeof(struct Vanetza_Security_EtsiTs102941FullCtlRequest),
offsetof(struct Vanetza_Security_EtsiTs102941FullCtlRequest, _asn_ctx),
asn_MAP_Vanetza_Security_EtsiTs102941FullCtlRequest_tag2el_1,
3, /* Count of tags in the map */
asn_MAP_Vanetza_Security_EtsiTs102941FullCtlRequest_oms_1, /* Optional members */
2, 0, /* Root/Additions */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs102941FullCtlRequest = {
"EtsiTs102941FullCtlRequest",
"EtsiTs102941FullCtlRequest",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EtsiTs102941FullCtlRequest_tags_1,
sizeof(asn_DEF_Vanetza_Security_EtsiTs102941FullCtlRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs102941FullCtlRequest_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EtsiTs102941FullCtlRequest_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EtsiTs102941FullCtlRequest_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs102941FullCtlRequest_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_EtsiTs102941FullCtlRequest_1,
3, /* Elements count */
&asn_SPC_Vanetza_Security_EtsiTs102941FullCtlRequest_specs_1 /* Additional specs */
};
@@ -0,0 +1,43 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs102941FullCtlRequest_H_
#define _Vanetza_Security_EtsiTs102941FullCtlRequest_H_
#include "asn_application.h"
/* Including external dependencies */
#include "HashedId8.h"
#include "Uint8.h"
#include "constr_SEQUENCE.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EtsiTs102941FullCtlRequest */
typedef struct Vanetza_Security_EtsiTs102941FullCtlRequest {
Vanetza_Security_HashedId8_t issuerId;
Vanetza_Security_Uint8_t *lastKnownCtlSequence; /* OPTIONAL */
Vanetza_Security_Uint8_t *segmentNumber; /* OPTIONAL */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EtsiTs102941FullCtlRequest_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs102941FullCtlRequest;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EtsiTs102941FullCtlRequest_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs102941FullCtlRequest_1[3];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs102941FullCtlRequest_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs103097Certificate.h"
int
Vanetza_Security_EtsiTs103097Certificate_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_EtsiTs103097Certificate_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_Certificate,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_EtsiTs103097Certificate_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_EtsiTs103097Certificate_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_EtsiTs103097Certificate_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Certificate = {
"EtsiTs103097Certificate",
"EtsiTs103097Certificate",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EtsiTs103097Certificate_tags_1,
sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Certificate_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Certificate_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EtsiTs103097Certificate_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Certificate_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Certificate_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_EtsiTs103097Certificate_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_EtsiTs103097Certificate_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_EtsiTs103097Certificate_constraint
},
asn_MBR_Vanetza_Security_CertificateBase_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security_CertificateBase_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs103097Certificate_H_
#define _Vanetza_Security_EtsiTs103097Certificate_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Certificate.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EtsiTs103097Certificate */
typedef Vanetza_Security_Certificate_t Vanetza_Security_EtsiTs103097Certificate_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Certificate;
asn_struct_free_f Vanetza_Security_EtsiTs103097Certificate_free;
asn_struct_print_f Vanetza_Security_EtsiTs103097Certificate_print;
asn_constr_check_f Vanetza_Security_EtsiTs103097Certificate_constraint;
ber_type_decoder_f Vanetza_Security_EtsiTs103097Certificate_decode_ber;
der_type_encoder_f Vanetza_Security_EtsiTs103097Certificate_encode_der;
xer_type_decoder_f Vanetza_Security_EtsiTs103097Certificate_decode_xer;
xer_type_encoder_f Vanetza_Security_EtsiTs103097Certificate_encode_xer;
jer_type_encoder_f Vanetza_Security_EtsiTs103097Certificate_encode_jer;
oer_type_decoder_f Vanetza_Security_EtsiTs103097Certificate_decode_oer;
oer_type_encoder_f Vanetza_Security_EtsiTs103097Certificate_encode_oer;
per_type_decoder_f Vanetza_Security_EtsiTs103097Certificate_decode_uper;
per_type_encoder_f Vanetza_Security_EtsiTs103097Certificate_encode_uper;
per_type_decoder_f Vanetza_Security_EtsiTs103097Certificate_decode_aper;
per_type_encoder_f Vanetza_Security_EtsiTs103097Certificate_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs103097Certificate_H_ */
#include "asn_internal.h"
@@ -0,0 +1,9 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs103097Data-Encrypted-Unicast.h"
@@ -0,0 +1,23 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs103097Data_Encrypted_Unicast_H_
#define _Vanetza_Security_EtsiTs103097Data_Encrypted_Unicast_H_
#include "asn_application.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs103097Data_Encrypted_Unicast_H_ */
#include "asn_internal.h"
@@ -0,0 +1,9 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs103097Data-Encrypted.h"
@@ -0,0 +1,23 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs103097Data_Encrypted_H_
#define _Vanetza_Security_EtsiTs103097Data_Encrypted_H_
#include "asn_application.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs103097Data_Encrypted_H_ */
#include "asn_internal.h"
@@ -0,0 +1,9 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs103097Data-Signed.h"
@@ -0,0 +1,23 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs103097Data_Signed_H_
#define _Vanetza_Security_EtsiTs103097Data_Signed_H_
#include "asn_application.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs103097Data_Signed_H_ */
#include "asn_internal.h"
@@ -0,0 +1,9 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
@@ -0,0 +1,23 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_H_
#define _Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_H_
#include "asn_application.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_Unicast_H_ */
#include "asn_internal.h"
@@ -0,0 +1,9 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs103097Data-SignedAndEncrypted.h"
@@ -0,0 +1,23 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_H_
#define _Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_H_
#include "asn_application.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs103097Data_SignedAndEncrypted_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs103097Data-SignedExternalPayload.h"
int
Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_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_EtsiTs103097Data_SignedExternalPayload_constraint) {
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
return 0;
}
}
/*
* This type is implemented using Vanetza_Security_EtsiTs103097Data,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_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_EtsiTs103097Data_SignedExternalPayload_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_EtsiTs103097Data_SignedExternalPayload_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload = {
"EtsiTs103097Data-SignedExternalPayload",
"EtsiTs103097Data-SignedExternalPayload",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_tags_1,
sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_constraint
},
asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,46 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_H_
#define _Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_H_
#include "asn_application.h"
/* Including external dependencies */
#include "EtsiTs103097Data.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EtsiTs103097Data-SignedExternalPayload */
typedef Vanetza_Security_EtsiTs103097Data_t Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data_SignedExternalPayload;
asn_struct_free_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_free;
asn_struct_print_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_print;
asn_constr_check_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_constraint;
ber_type_decoder_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_decode_ber;
der_type_encoder_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_encode_der;
xer_type_decoder_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_decode_xer;
xer_type_encoder_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_encode_xer;
jer_type_encoder_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_encode_jer;
oer_type_decoder_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_decode_oer;
oer_type_encoder_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_encode_oer;
per_type_decoder_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_decode_uper;
per_type_encoder_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_encode_uper;
per_type_decoder_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_decode_aper;
per_type_encoder_f Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs103097Data_SignedExternalPayload_H_ */
#include "asn_internal.h"
@@ -0,0 +1,9 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs103097Data-Unsecured.h"
@@ -0,0 +1,23 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs103097Data_Unsecured_H_
#define _Vanetza_Security_EtsiTs103097Data_Unsecured_H_
#include "asn_application.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs103097Data_Unsecured_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs103097Data.h"
int
Vanetza_Security_EtsiTs103097Data_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_EtsiTs103097Data_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)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_EtsiTs103097Data_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_EtsiTs103097Data_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_EtsiTs103097Data_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data = {
"EtsiTs103097Data",
"EtsiTs103097Data",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EtsiTs103097Data_tags_1,
sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Data_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Data_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EtsiTs103097Data_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Data_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs103097Data_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_EtsiTs103097Data_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_EtsiTs103097Data_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_EtsiTs103097Data_constraint
},
asn_MBR_Vanetza_Security_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609Dot2Data_specs_1 /* Additional specs */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097Module"
* found in "EtsiTs103097Module.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs103097Data_H_
#define _Vanetza_Security_EtsiTs103097Data_H_
#include "asn_application.h"
/* Including external dependencies */
#include "Ieee1609Dot2Data.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EtsiTs103097Data */
typedef Vanetza_Security_Ieee1609Dot2Data_t Vanetza_Security_EtsiTs103097Data_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_EtsiTs103097Data_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_EtsiTs103097Data_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097Data;
asn_struct_free_f Vanetza_Security_EtsiTs103097Data_free;
asn_struct_print_f Vanetza_Security_EtsiTs103097Data_print;
asn_constr_check_f Vanetza_Security_EtsiTs103097Data_constraint;
ber_type_decoder_f Vanetza_Security_EtsiTs103097Data_decode_ber;
der_type_encoder_f Vanetza_Security_EtsiTs103097Data_encode_der;
xer_type_decoder_f Vanetza_Security_EtsiTs103097Data_decode_xer;
xer_type_encoder_f Vanetza_Security_EtsiTs103097Data_encode_xer;
jer_type_encoder_f Vanetza_Security_EtsiTs103097Data_encode_jer;
oer_type_decoder_f Vanetza_Security_EtsiTs103097Data_decode_oer;
oer_type_encoder_f Vanetza_Security_EtsiTs103097Data_encode_oer;
per_type_decoder_f Vanetza_Security_EtsiTs103097Data_decode_uper;
per_type_encoder_f Vanetza_Security_EtsiTs103097Data_encode_uper;
per_type_decoder_f Vanetza_Security_EtsiTs103097Data_decode_aper;
per_type_encoder_f Vanetza_Security_EtsiTs103097Data_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs103097Data_H_ */
#include "asn_internal.h"
@@ -0,0 +1,79 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#include "EtsiTs103097HeaderInfoExtensionId.h"
int
Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using Vanetza_Security_ExtId,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_constr_1 CC_NOTUSED = {
{ 1, 1 } /* (0..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId = {
"EtsiTs103097HeaderInfoExtensionId",
"EtsiTs103097HeaderInfoExtensionId",
&asn_OP_NativeInteger,
asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_tags_1,
sizeof(asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_constr_1,
#endif /* !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_EtsiTs103097HeaderInfoExtensionId_constraint
},
0, 0, /* No members */
0 /* No specifics */
};
@@ -0,0 +1,48 @@
/*
* Generated by asn1c
* From ASN.1 module "EtsiTs103097ExtensionModule"
* found in "EtsiTs103097ExtensionModule.asn"
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -fprefix=Vanetza_Security_ -R`
*/
#ifndef _Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_H_
#define _Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_H_
#include "asn_application.h"
/* Including external dependencies */
#include "ExtId.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_EtsiTs103097HeaderInfoExtensionId */
typedef Vanetza_Security_ExtId_t Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_t;
/* Implementation */
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensionId;
asn_struct_free_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_free;
asn_struct_print_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_print;
asn_constr_check_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_constraint;
ber_type_decoder_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_decode_ber;
der_type_encoder_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_encode_der;
xer_type_decoder_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_decode_xer;
xer_type_encoder_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_encode_xer;
jer_type_encoder_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_encode_jer;
oer_type_decoder_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_decode_oer;
oer_type_encoder_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_encode_oer;
per_type_decoder_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_decode_uper;
per_type_encoder_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_encode_uper;
per_type_decoder_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_decode_aper;
per_type_encoder_f Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_EtsiTs103097HeaderInfoExtensionId_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 "ExplicitCertificate.h"
int
Vanetza_Security_ExplicitCertificate_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_ExplicitCertificate_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)
static asn_oer_constraints_t asn_OER_type_Vanetza_Security_ExplicitCertificate_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_ExplicitCertificate_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_ExplicitCertificate_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ExplicitCertificate = {
"ExplicitCertificate",
"ExplicitCertificate",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_ExplicitCertificate_tags_1,
sizeof(asn_DEF_Vanetza_Security_ExplicitCertificate_tags_1)
/sizeof(asn_DEF_Vanetza_Security_ExplicitCertificate_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_ExplicitCertificate_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_ExplicitCertificate_tags_1)
/sizeof(asn_DEF_Vanetza_Security_ExplicitCertificate_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_ExplicitCertificate_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_ExplicitCertificate_constr_1,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
Vanetza_Security_ExplicitCertificate_constraint
},
asn_MBR_Vanetza_Security_CertificateBase_1,
5, /* Elements count */
&asn_SPC_Vanetza_Security_CertificateBase_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_ExplicitCertificate_H_
#define _Vanetza_Security_ExplicitCertificate_H_
#include "asn_application.h"
/* Including external dependencies */
#include "CertificateBase.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_ExplicitCertificate */
typedef Vanetza_Security_CertificateBase_t Vanetza_Security_ExplicitCertificate_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ExplicitCertificate;
asn_struct_free_f Vanetza_Security_ExplicitCertificate_free;
asn_struct_print_f Vanetza_Security_ExplicitCertificate_print;
asn_constr_check_f Vanetza_Security_ExplicitCertificate_constraint;
ber_type_decoder_f Vanetza_Security_ExplicitCertificate_decode_ber;
der_type_encoder_f Vanetza_Security_ExplicitCertificate_encode_der;
xer_type_decoder_f Vanetza_Security_ExplicitCertificate_decode_xer;
xer_type_encoder_f Vanetza_Security_ExplicitCertificate_encode_xer;
jer_type_encoder_f Vanetza_Security_ExplicitCertificate_encode_jer;
oer_type_decoder_f Vanetza_Security_ExplicitCertificate_decode_oer;
oer_type_encoder_f Vanetza_Security_ExplicitCertificate_encode_oer;
per_type_decoder_f Vanetza_Security_ExplicitCertificate_decode_uper;
per_type_encoder_f Vanetza_Security_ExplicitCertificate_encode_uper;
per_type_decoder_f Vanetza_Security_ExplicitCertificate_decode_aper;
per_type_encoder_f Vanetza_Security_ExplicitCertificate_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_ExplicitCertificate_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 "ExtId.h"
int
Vanetza_Security_ExtId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
#if !defined(ASN_DISABLE_OER_SUPPORT)
asn_oer_constraints_t asn_OER_type_Vanetza_Security_ExtId_constr_1 CC_NOTUSED = {
{ 1, 1 } /* (0..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_Vanetza_Security_ExtId_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_ExtId_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ExtId = {
"ExtId",
"ExtId",
&asn_OP_NativeInteger,
asn_DEF_Vanetza_Security_ExtId_tags_1,
sizeof(asn_DEF_Vanetza_Security_ExtId_tags_1)
/sizeof(asn_DEF_Vanetza_Security_ExtId_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_ExtId_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_ExtId_tags_1)
/sizeof(asn_DEF_Vanetza_Security_ExtId_tags_1[0]), /* 1 */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_type_Vanetza_Security_ExtId_constr_1,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_type_Vanetza_Security_ExtId_constr_1,
#endif /* !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_ExtId_constraint
},
0, 0, /* No members */
0 /* No specifics */
};
@@ -0,0 +1,49 @@
/*
* 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_ExtId_H_
#define _Vanetza_Security_ExtId_H_
#include "asn_application.h"
/* Including external dependencies */
#include "NativeInteger.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Vanetza_Security_ExtId */
typedef long Vanetza_Security_ExtId_t;
/* Implementation */
#define Vanetza_Security_ExtId_certExtId_OperatingOrganization ((Vanetza_Security_ExtId_t)1)
extern asn_oer_constraints_t asn_OER_type_Vanetza_Security_ExtId_constr_1;
extern asn_per_constraints_t asn_PER_type_Vanetza_Security_ExtId_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_ExtId;
asn_struct_free_f Vanetza_Security_ExtId_free;
asn_struct_print_f Vanetza_Security_ExtId_print;
asn_constr_check_f Vanetza_Security_ExtId_constraint;
ber_type_decoder_f Vanetza_Security_ExtId_decode_ber;
der_type_encoder_f Vanetza_Security_ExtId_encode_der;
xer_type_decoder_f Vanetza_Security_ExtId_decode_xer;
xer_type_encoder_f Vanetza_Security_ExtId_encode_xer;
jer_type_encoder_f Vanetza_Security_ExtId_encode_jer;
oer_type_decoder_f Vanetza_Security_ExtId_decode_oer;
oer_type_encoder_f Vanetza_Security_ExtId_encode_oer;
per_type_decoder_f Vanetza_Security_ExtId_decode_uper;
per_type_encoder_f Vanetza_Security_ExtId_encode_uper;
per_type_decoder_f Vanetza_Security_ExtId_decode_aper;
per_type_encoder_f Vanetza_Security_ExtId_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_ExtId_H_ */
#include "asn_internal.h"
@@ -0,0 +1,553 @@
/*
* 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 "Extension.h"
static const long asn_VAL_1_Vanetza_Security_etsiTs102941CrlRequestId = 1;
static const long asn_VAL_2_Vanetza_Security_etsiTs102941DeltaCtlRequestId = 2;
static const long asn_VAL_3_Vanetza_Security_etsiTs102941FullCtlRequestId = 3;
static const asn_ioc_cell_t asn_IOS_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_1_rows[] = {
{ "&extId", aioc__value, &asn_DEF_Vanetza_Security_ExtId, &asn_VAL_1_Vanetza_Security_etsiTs102941CrlRequestId },
{ "&ExtContent", aioc__type, &asn_DEF_Vanetza_Security_EtsiTs102941CrlRequest },
{ "&extId", aioc__value, &asn_DEF_Vanetza_Security_ExtId, &asn_VAL_2_Vanetza_Security_etsiTs102941DeltaCtlRequestId },
{ "&ExtContent", aioc__type, &asn_DEF_Vanetza_Security_EtsiTs102941DeltaCtlRequest },
{ "&extId", aioc__value, &asn_DEF_Vanetza_Security_ExtId, &asn_VAL_3_Vanetza_Security_etsiTs102941FullCtlRequestId },
{ "&ExtContent", aioc__type, &asn_DEF_Vanetza_Security_EtsiTs102941FullCtlRequest }
};
static const asn_ioc_set_t asn_IOS_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_1[] = {
{ 3, 2, asn_IOS_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_1_rows }
};
static const long asn_VAL_4_Vanetza_Security_p2pcd8ByteLearningRequestId = 1;
static const asn_ioc_cell_t asn_IOS_Vanetza_Security_Ieee1609HeaderInfoExtensions_1_rows[] = {
{ "&extId", aioc__value, &asn_DEF_Vanetza_Security_ExtId, &asn_VAL_4_Vanetza_Security_p2pcd8ByteLearningRequestId },
{ "&ExtContent", aioc__type, &asn_DEF_Vanetza_Security_HashedId8 }
};
static const asn_ioc_set_t asn_IOS_Vanetza_Security_Ieee1609HeaderInfoExtensions_1[] = {
{ 1, 2, asn_IOS_Vanetza_Security_Ieee1609HeaderInfoExtensions_1_rows }
};
static int
memb_Vanetza_Security_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_type_selector_result_t
select_EtsiTs103097HeaderInfoExtensions_Vanetza_Security_content_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
const asn_ioc_set_t *itable = asn_IOS_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_1;
size_t constraining_column = 0; /* &extId */
size_t for_column = 1; /* &ExtContent */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
if(type_cell->cell_kind == aioc__undefined)
continue;
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
result.presence_index = presence_index;
break;
}
}
return result;
}
static int
memb_Vanetza_Security_content_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
}
static int
memb_Vanetza_Security_id_constraint_4(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0L && value <= 255L)) {
/* Constraint check succeeded */
return 0;
} else {
ASN__CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_type_selector_result_t
select_Ieee1609HeaderInfoExtensions_Vanetza_Security_content_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
const asn_ioc_set_t *itable = asn_IOS_Vanetza_Security_Ieee1609HeaderInfoExtensions_1;
size_t constraining_column = 0; /* &extId */
size_t for_column = 1; /* &ExtContent */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Vanetza_Security_Ieee1609HeaderInfoExtensions, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
if(type_cell->cell_kind == aioc__undefined)
continue;
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
result.presence_index = presence_index;
break;
}
}
return result;
}
static int
memb_Vanetza_Security_content_constraint_4(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_id_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (0..255) */,
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_id_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_content_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1};
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
static asn_per_constraints_t asn_PER_memb_Vanetza_Security_content_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_id_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_id_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) */
#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_Vanetza_Security_content_constr_6 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_content_constr_6 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static asn_TYPE_member_t asn_MBR_Vanetza_Security_content_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content, choice.EtsiTs102941CrlRequest),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_Vanetza_Security_EtsiTs102941CrlRequest,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"EtsiTs102941CrlRequest"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content, choice.EtsiTs102941DeltaCtlRequest),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_Vanetza_Security_EtsiTs102941DeltaCtlRequest,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"EtsiTs102941DeltaCtlRequest"
},
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content, choice.EtsiTs102941FullCtlRequest),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_Vanetza_Security_EtsiTs102941FullCtlRequest,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
0
},
0, 0, /* No default value */
"EtsiTs102941FullCtlRequest"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_content_tag2el_3[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* EtsiTs102941CrlRequest */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 1 }, /* EtsiTs102941DeltaCtlRequest */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 0 } /* EtsiTs102941FullCtlRequest */
};
static asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_content_specs_3 = {
sizeof(struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content),
offsetof(struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content, _asn_ctx),
offsetof(struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content, present),
sizeof(((struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content *)0)->present),
asn_MAP_Vanetza_Security_content_tag2el_3,
3, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_content_3 = {
"content",
"content",
&asn_OP_OPEN_TYPE,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
OPEN_TYPE_constraint
},
asn_MBR_Vanetza_Security_content_3,
3, /* Elements count */
&asn_SPC_Vanetza_Security_content_specs_3 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_ExtId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_id_constr_2,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_id_constr_2,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_id_constraint_1
},
0, 0, /* No default value */
"id"
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions, content),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_content_3,
select_EtsiTs103097HeaderInfoExtensions_Vanetza_Security_content_type,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_content_constr_3,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_content_constr_3,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_content_constraint_1
},
0, 0, /* No default value */
"content"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* content */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_specs_1 = {
sizeof(struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions),
offsetof(struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions, _asn_ctx),
asn_MAP_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_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_EtsiTs103097HeaderInfoExtensions = {
"EtsiTs103097HeaderInfoExtensions",
"EtsiTs103097HeaderInfoExtensions",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_tags_1,
sizeof(asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_tags_1[0]), /* 1 */
asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_tags_1, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_tags_1)
/sizeof(asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_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_EtsiTs103097HeaderInfoExtensions_1,
2, /* Elements count */
&asn_SPC_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_specs_1 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Vanetza_Security_content_6[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_Ieee1609HeaderInfoExtensions__content, choice.HashedId8),
(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 */
"HashedId8"
},
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_content_tag2el_6[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 } /* HashedId8 */
};
static asn_CHOICE_specifics_t asn_SPC_Vanetza_Security_content_specs_6 = {
sizeof(struct Vanetza_Security_Ieee1609HeaderInfoExtensions__content),
offsetof(struct Vanetza_Security_Ieee1609HeaderInfoExtensions__content, _asn_ctx),
offsetof(struct Vanetza_Security_Ieee1609HeaderInfoExtensions__content, present),
sizeof(((struct Vanetza_Security_Ieee1609HeaderInfoExtensions__content *)0)->present),
asn_MAP_Vanetza_Security_content_tag2el_6,
1, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_content_6 = {
"content",
"content",
&asn_OP_OPEN_TYPE,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
OPEN_TYPE_constraint
},
asn_MBR_Vanetza_Security_content_6,
1, /* Elements count */
&asn_SPC_Vanetza_Security_content_specs_6 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_Vanetza_Security_Ieee1609HeaderInfoExtensions_4[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_Ieee1609HeaderInfoExtensions, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Vanetza_Security_ExtId,
0,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_id_constr_5,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_id_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_id_constraint_4
},
0, 0, /* No default value */
"id"
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Vanetza_Security_Ieee1609HeaderInfoExtensions, content),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_Vanetza_Security_content_6,
select_Ieee1609HeaderInfoExtensions_Vanetza_Security_content_type,
{
#if !defined(ASN_DISABLE_OER_SUPPORT)
&asn_OER_memb_Vanetza_Security_content_constr_6,
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
&asn_PER_memb_Vanetza_Security_content_constr_6,
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
0,
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
memb_Vanetza_Security_content_constraint_4
},
0, 0, /* No default value */
"content"
},
};
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_Ieee1609HeaderInfoExtensions_tags_4[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Vanetza_Security_Ieee1609HeaderInfoExtensions_tag2el_4[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* content */
};
asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_Ieee1609HeaderInfoExtensions_specs_4 = {
sizeof(struct Vanetza_Security_Ieee1609HeaderInfoExtensions),
offsetof(struct Vanetza_Security_Ieee1609HeaderInfoExtensions, _asn_ctx),
asn_MAP_Vanetza_Security_Ieee1609HeaderInfoExtensions_tag2el_4,
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_Ieee1609HeaderInfoExtensions = {
"Ieee1609HeaderInfoExtensions",
"Ieee1609HeaderInfoExtensions",
&asn_OP_SEQUENCE,
asn_DEF_Vanetza_Security_Ieee1609HeaderInfoExtensions_tags_4,
sizeof(asn_DEF_Vanetza_Security_Ieee1609HeaderInfoExtensions_tags_4)
/sizeof(asn_DEF_Vanetza_Security_Ieee1609HeaderInfoExtensions_tags_4[0]), /* 1 */
asn_DEF_Vanetza_Security_Ieee1609HeaderInfoExtensions_tags_4, /* Same as above */
sizeof(asn_DEF_Vanetza_Security_Ieee1609HeaderInfoExtensions_tags_4)
/sizeof(asn_DEF_Vanetza_Security_Ieee1609HeaderInfoExtensions_tags_4[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_Ieee1609HeaderInfoExtensions_4,
2, /* Elements count */
&asn_SPC_Vanetza_Security_Ieee1609HeaderInfoExtensions_specs_4 /* Additional specs */
};
@@ -0,0 +1,89 @@
/*
* 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_Extension_H_
#define _Vanetza_Security_Extension_H_
#include "asn_application.h"
/* Including external dependencies */
#include "ExtId.h"
#include "ANY.h"
#include "asn_ioc.h"
#include "EtsiTs102941CrlRequest.h"
#include "EtsiTs102941DeltaCtlRequest.h"
#include "EtsiTs102941FullCtlRequest.h"
#include "OPEN_TYPE.h"
#include "constr_CHOICE.h"
#include "constr_SEQUENCE.h"
#include "HashedId8.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content_PR {
Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content_PR_NOTHING, /* No components present */
Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content_PR_EtsiTs102941CrlRequest,
Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content_PR_EtsiTs102941DeltaCtlRequest,
Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content_PR_EtsiTs102941FullCtlRequest
} Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content_PR;
typedef enum Vanetza_Security_Ieee1609HeaderInfoExtensions__content_PR {
Vanetza_Security_Ieee1609HeaderInfoExtensions__content_PR_NOTHING, /* No components present */
Vanetza_Security_Ieee1609HeaderInfoExtensions__content_PR_HashedId8
} Vanetza_Security_Ieee1609HeaderInfoExtensions__content_PR;
/* Vanetza_Security_Extension */
typedef struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions {
Vanetza_Security_ExtId_t id;
struct Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content {
Vanetza_Security_EtsiTs103097HeaderInfoExtensions__content_PR present;
union Vanetza_Security_EtsiTs103097HeaderInfoExtensions__Vanetza_Security_content_u {
Vanetza_Security_EtsiTs102941CrlRequest_t EtsiTs102941CrlRequest;
Vanetza_Security_EtsiTs102941DeltaCtlRequest_t EtsiTs102941DeltaCtlRequest;
Vanetza_Security_EtsiTs102941FullCtlRequest_t EtsiTs102941FullCtlRequest;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} content;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_EtsiTs103097HeaderInfoExtensions_t;
typedef struct Vanetza_Security_Ieee1609HeaderInfoExtensions {
Vanetza_Security_ExtId_t id;
struct Vanetza_Security_Ieee1609HeaderInfoExtensions__content {
Vanetza_Security_Ieee1609HeaderInfoExtensions__content_PR present;
union Vanetza_Security_Ieee1609HeaderInfoExtensions__Vanetza_Security_content_u {
Vanetza_Security_HashedId8_t HashedId8;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} content;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Vanetza_Security_Ieee1609HeaderInfoExtensions_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_EtsiTs103097HeaderInfoExtensions;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_specs_1;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_EtsiTs103097HeaderInfoExtensions_1[2];
extern asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Ieee1609HeaderInfoExtensions;
extern asn_SEQUENCE_specifics_t asn_SPC_Vanetza_Security_Ieee1609HeaderInfoExtensions_specs_4;
extern asn_TYPE_member_t asn_MBR_Vanetza_Security_Ieee1609HeaderInfoExtensions_4[2];
#ifdef __cplusplus
}
#endif
#endif /* _Vanetza_Security_Extension_H_ */
#include "asn_internal.h"

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