4typedef struct OCTET_STRING OCTET_STRING_t;
5typedef struct ASN__PRIMITIVE_TYPE_s INTEGER_t;
6using Vanetza_Security_Uint64_t = INTEGER_t;
8#define ASN1_TYPE_ALIAS(name) Vanetza_Security_ ## name ## _t
9#define ASN1_TYPE_NAME(name) Vanetza_Security_ ## name
11#define FWD_ALIAS(name, base) \
12 using ASN1_TYPE_ALIAS(name) = ASN1_TYPE_ALIAS(base); \
13 namespace vanetza { namespace security { namespace v3 { namespace asn1 { \
14 using name = ::ASN1_TYPE_ALIAS(name); \
17#define FWD_OCTET_STRING(name) \
18 using ASN1_TYPE_ALIAS(name) = OCTET_STRING_t; \
19 namespace vanetza { namespace security { namespace v3 { namespace asn1 { \
20 using name = ::ASN1_TYPE_ALIAS(name); \
23#define FWD_STRUCT(name) \
24 typedef struct ASN1_TYPE_NAME(name) ASN1_TYPE_ALIAS(name); \
25 namespace vanetza { namespace security { namespace v3 { namespace asn1 { \
26 using name = ::ASN1_TYPE_ALIAS(name); \
29#define FWD_NATIVE_INTEGER(name) \
30 using ASN1_TYPE_ALIAS(name) = long; \
31 namespace vanetza { namespace security { namespace v3 { namespace asn1 { \
32 using name = ::ASN1_TYPE_ALIAS(name); \
35FWD_OCTET_STRING(BitmapSsp)
36FWD_OCTET_STRING(HashedId8)
37FWD_OCTET_STRING(Opaque)
39FWD_NATIVE_INTEGER(Latitude)
40FWD_NATIVE_INTEGER(Longitude)
42FWD_STRUCT(AesCcmCiphertext)
43FWD_STRUCT(CertificateBase)
44FWD_STRUCT(CircularRegion)
45FWD_STRUCT(EccP256CurvePoint)
46FWD_STRUCT(EccP384CurvePoint)
47FWD_STRUCT(EciesP256EncryptedKey)
48FWD_STRUCT(EncryptedDataEncryptionKey)
49FWD_STRUCT(GeographicRegion)
52FWD_STRUCT(Ieee1609Dot2Content)
53FWD_STRUCT(Ieee1609Dot2Data)
54FWD_STRUCT(PKRecipientInfo)
55FWD_STRUCT(PsidGroupPermissions)
57FWD_STRUCT(PsidSspRange)
58FWD_STRUCT(PolygonalRegion)
59FWD_STRUCT(PublicEncryptionKey)
60FWD_STRUCT(PublicVerificationKey)
61FWD_STRUCT(RecipientInfo)
62FWD_STRUCT(RectangularRegion)
63FWD_STRUCT(SequenceOfCertificate)
64FWD_STRUCT(SequenceOfHashedId3)
65FWD_STRUCT(SequenceOfPsidGroupPermissions)
66FWD_STRUCT(SequenceOfPsidSsp)
67FWD_STRUCT(SequenceOfRectangularRegion)
68FWD_STRUCT(ServiceSpecificPermissions)
71FWD_STRUCT(SignedDataPayload)
72FWD_STRUCT(SignerIdentifier)
74FWD_STRUCT(SymmetricCiphertext)
75FWD_STRUCT(SymmetricEncryptionKey)
76FWD_STRUCT(ThreeDLocation)
77FWD_STRUCT(ToBeSignedData)
78FWD_STRUCT(TwoDLocation)
79FWD_STRUCT(ValidityPeriod)
80FWD_STRUCT(VerificationKeyIndicator)
82FWD_ALIAS(Certificate, CertificateBase)
83FWD_ALIAS(EtsiTs103097Certificate, CertificateBase)
84FWD_ALIAS(EtsiTs103097Data, Ieee1609Dot2Data)
85FWD_ALIAS(Time64, Uint64)
90#undef FWD_NATIVE_INTEGER
91#undef FWT_OCTET_STRING
107using namespace vanetza::asn1;