diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_Angle.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_Angle.h index c68835e06..f4e463591 100644 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_Angle.h +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_Angle.h @@ -1,8 +1,8 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #ifndef _AddGrpB_Angle_H_ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_DayOfWeek.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_DayOfWeek.h new file mode 100644 index 000000000..e60b82fee --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_DayOfWeek.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#ifndef _AddGrpB_DayOfWeek_H_ +#define _AddGrpB_DayOfWeek_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum AddGrpB_DayOfWeek { + AddGrpB_DayOfWeek_unknown = 0, + AddGrpB_DayOfWeek_monday = 1, + AddGrpB_DayOfWeek_tuesday = 2, + AddGrpB_DayOfWeek_wednesday = 3, + AddGrpB_DayOfWeek_thursday = 4, + AddGrpB_DayOfWeek_friday = 5, + AddGrpB_DayOfWeek_saturday = 6, + AddGrpB_DayOfWeek_sunday = 7 +} e_AddGrpB_DayOfWeek; + +/* AddGrpB_DayOfWeek */ +typedef long AddGrpB_DayOfWeek_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_AddGrpB_DayOfWeek_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_AddGrpB_DayOfWeek; +extern const asn_INTEGER_specifics_t asn_SPC_AddGrpB_DayOfWeek_specs_1; +asn_struct_free_f AddGrpB_DayOfWeek_free; +asn_struct_print_f AddGrpB_DayOfWeek_print; +asn_constr_check_f AddGrpB_DayOfWeek_constraint; +ber_type_decoder_f AddGrpB_DayOfWeek_decode_ber; +der_type_encoder_f AddGrpB_DayOfWeek_encode_der; +xer_type_decoder_f AddGrpB_DayOfWeek_decode_xer; +xer_type_encoder_f AddGrpB_DayOfWeek_encode_xer; +oer_type_decoder_f AddGrpB_DayOfWeek_decode_oer; +oer_type_encoder_f AddGrpB_DayOfWeek_encode_oer; +per_type_decoder_f AddGrpB_DayOfWeek_decode_uper; +per_type_encoder_f AddGrpB_DayOfWeek_encode_uper; +per_type_decoder_f AddGrpB_DayOfWeek_decode_aper; +per_type_encoder_f AddGrpB_DayOfWeek_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _AddGrpB_DayOfWeek_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_Elevation.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_Elevation.h index 1b9e01e4a..4ade1c06a 100644 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_Elevation.h +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_Elevation.h @@ -1,8 +1,8 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #ifndef _AddGrpB_Elevation_H_ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_MsgCount.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_MsgCount.h index c33b88609..64f57e889 100644 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_MsgCount.h +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_MsgCount.h @@ -1,8 +1,8 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #ifndef _AddGrpB_MsgCount_H_ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_TimeMark.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_TimeMark.h index 7a112d7d8..e58042735 100644 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_TimeMark.h +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/AddGrpB_TimeMark.h @@ -1,8 +1,8 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #ifndef _AddGrpB_TimeMark_H_ @@ -17,7 +17,7 @@ #include "Day.h" #include "SummerTime.h" #include "Holiday.h" -#include "DayOfWeek.h" +#include "AddGrpB_DayOfWeek.h" #include "Hour.h" #include "Minute.h" #include "Second.h" @@ -35,7 +35,7 @@ typedef struct AddGrpB_TimeMark { Day_t day; SummerTime_t summerTime; Holiday_t holiday; - DayOfWeek_t dayofWeek; + AddGrpB_DayOfWeek_t dayofWeek; Hour_t hour; Minute_t minute; Second_t second; diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/BMPString.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/BMPString.h new file mode 100644 index 000000000..198b9e5e6 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/BMPString.h @@ -0,0 +1,37 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _BMPString_H_ +#define _BMPString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t BMPString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_BMPString; +extern asn_TYPE_operation_t asn_OP_BMPString; +extern asn_OCTET_STRING_specifics_t asn_SPC_BMPString_specs; + +asn_struct_print_f BMPString_print; /* Human-readable output */ +xer_type_decoder_f BMPString_decode_xer; +xer_type_encoder_f BMPString_encode_xer; + +#define BMPString_free OCTET_STRING_free +#define BMPString_print BMPString_print +#define BMPString_compare OCTET_STRING_compare +#define BMPString_constraint asn_generic_no_constraint +#define BMPString_decode_ber OCTET_STRING_decode_ber +#define BMPString_encode_der OCTET_STRING_encode_der +#define BMPString_decode_uper OCTET_STRING_decode_uper +#define BMPString_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _BMPString_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/ISO646String.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/ISO646String.h new file mode 100644 index 000000000..494831541 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/ISO646String.h @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _ISO646String_H_ +#define _ISO646String_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef VisibleString_t ISO646String_t; /* Implemented using VisibleString */ + +extern asn_TYPE_descriptor_t asn_DEF_ISO646String; +extern asn_TYPE_operation_t asn_OP_ISO646String; + +#define ISO646String_free OCTET_STRING_free +#define ISO646String_print OCTET_STRING_print_utf8 +#define ISO646String_compare OCTET_STRING_compare +#define ISO646String_constraint VisibleString_constraint +#define ISO646String_decode_ber OCTET_STRING_decode_ber +#define ISO646String_encode_der OCTET_STRING_encode_der +#define ISO646String_decode_xer OCTET_STRING_decode_xer_utf8 +#define ISO646String_encode_xer OCTET_STRING_encode_xer_utf8 +#define ISO646String_decode_uper OCTET_STRING_decode_uper +#define ISO646String_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _ISO646String_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/MobilityNeeds.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/MobilityNeeds.h deleted file mode 100644 index 4eceaa686..000000000 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2020/MobilityNeeds.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "DSRC" - * found in "../J2735_201603DA_with_PMM.ASN" - * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` - */ - -#ifndef _MobilityNeeds_H_ -#define _MobilityNeeds_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "MobilityNeedsType.h" -#include "SeatCount.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MobilityNeeds */ -typedef struct MobilityNeeds { - MobilityNeedsType_t type; - SeatCount_t count; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MobilityNeeds_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MobilityNeeds; -extern asn_SEQUENCE_specifics_t asn_SPC_MobilityNeeds_specs_1; -extern asn_TYPE_member_t asn_MBR_MobilityNeeds_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _MobilityNeeds_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/MobilityNeedsList.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/MobilityNeedsList.h deleted file mode 100644 index 05421eb09..000000000 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2020/MobilityNeedsList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "DSRC" - * found in "../J2735_201603DA_with_PMM.ASN" - * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` - */ - -#ifndef _MobilityNeedsList_H_ -#define _MobilityNeedsList_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 MobilityNeeds; - -/* MobilityNeedsList */ -typedef struct MobilityNeedsList { - A_SEQUENCE_OF(struct MobilityNeeds) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MobilityNeedsList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MobilityNeedsList; -extern asn_SET_OF_specifics_t asn_SPC_MobilityNeedsList_specs_1; -extern asn_TYPE_member_t asn_MBR_MobilityNeedsList_1[1]; -extern asn_per_constraints_t asn_PER_type_MobilityNeedsList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "MobilityNeeds.h" - -#endif /* _MobilityNeedsList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/MobilityNeedsType.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/MobilityNeedsType.h deleted file mode 100644 index 9da4492ee..000000000 --- a/src/tmx/Asn_J2735/include/asn_j2735_r2020/MobilityNeedsType.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "DSRC" - * found in "../J2735_201603DA_with_PMM.ASN" - * `asn1c -gen-PER -fcompound-names -fincludes-quoted -S/home/gmb/TMX-OAM/Build/asn1c/skeletons` - */ - -#ifndef _MobilityNeedsType_H_ -#define _MobilityNeedsType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum MobilityNeedsType { - MobilityNeedsType_noSpecialNeeds = 0, - MobilityNeedsType_wheelchair = 1, - MobilityNeedsType_needsSeat = 2 -} e_MobilityNeedsType; - -/* MobilityNeedsType */ -typedef long MobilityNeedsType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MobilityNeedsType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MobilityNeedsType; -extern const asn_INTEGER_specifics_t asn_SPC_MobilityNeedsType_specs_1; -asn_struct_free_f MobilityNeedsType_free; -asn_struct_print_f MobilityNeedsType_print; -asn_constr_check_f MobilityNeedsType_constraint; -ber_type_decoder_f MobilityNeedsType_decode_ber; -der_type_encoder_f MobilityNeedsType_encode_der; -xer_type_decoder_f MobilityNeedsType_decode_xer; -xer_type_encoder_f MobilityNeedsType_encode_xer; -per_type_decoder_f MobilityNeedsType_decode_uper; -per_type_encoder_f MobilityNeedsType_encode_uper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MobilityNeedsType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/Schedule.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/Schedule.h new file mode 100644 index 000000000..e05936375 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/Schedule.h @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _Schedule_H_ +#define _Schedule_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "INTEGER.h" +#include "BOOLEAN.h" +#include "asn_SEQUENCE_OF.h" +#include "constr_SEQUENCE_OF.h" +#include "constr_SEQUENCE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct RepeatParams; +struct DaySchedule; + +/* Schedule */ +typedef struct Schedule { + INTEGER_t start; + INTEGER_t end; + struct Schedule__dow { + A_SEQUENCE_OF(BOOLEAN_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } dow; + struct Schedule__between { + A_SEQUENCE_OF(struct DaySchedule) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *between; + struct RepeatParams *repeat; /* OPTIONAL */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Schedule_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Schedule; +extern asn_SEQUENCE_specifics_t asn_SPC_Schedule_specs_1; +extern asn_TYPE_member_t asn_MBR_Schedule_1[5]; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "RepeatParams.h" +#include "DaySchedule.h" + +#endif /* _Schedule_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/UTCTime.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/UTCTime.h new file mode 100644 index 000000000..553702013 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/UTCTime.h @@ -0,0 +1,47 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _UTCTime_H_ +#define _UTCTime_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t UTCTime_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_UTCTime; +extern asn_TYPE_operation_t asn_OP_UTCTime; + +asn_struct_print_f UTCTime_print; +asn_constr_check_f UTCTime_constraint; +xer_type_encoder_f UTCTime_encode_xer; + +#define UTCTime_free OCTET_STRING_free +#define UTCTime_compare OCTET_STRING_compare +#define UTCTime_decode_ber OCTET_STRING_decode_ber +#define UTCTime_encode_der OCTET_STRING_encode_der +#define UTCTime_decode_xer OCTET_STRING_decode_xer_utf8 +#define UTCTime_decode_uper OCTET_STRING_decode_uper +#define UTCTime_encode_uper OCTET_STRING_encode_uper + +/*********************** + * Some handy helpers. * + ***********************/ + +struct tm; /* */ + +/* See asn_GT2time() in GeneralizedTime.h */ +time_t asn_UT2time(const UTCTime_t *, struct tm *_optional_tm4fill, int as_gmt); + +/* See asn_time2GT() in GeneralizedTime.h */ +UTCTime_t *asn_time2UT(UTCTime_t *__opt_ut, const struct tm *, int force_gmt); + +#ifdef __cplusplus +} +#endif + +#endif /* _UTCTime_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/UTF8String.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/UTF8String.h new file mode 100644 index 000000000..1853573a7 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/UTF8String.h @@ -0,0 +1,60 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _UTF8String_H_ +#define _UTF8String_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t UTF8String_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_UTF8String; +extern asn_TYPE_operation_t asn_OP_UTF8String; + +asn_struct_print_f UTF8String_print; +asn_constr_check_f UTF8String_constraint; + +#define UTF8String_free OCTET_STRING_free +#define UTF8String_compare OCTET_STRING_compare +#define UTF8String_constraint UTF8String_constraint +#define UTF8String_decode_ber OCTET_STRING_decode_ber +#define UTF8String_encode_der OCTET_STRING_encode_der +#define UTF8String_decode_xer OCTET_STRING_decode_xer_utf8 +#define UTF8String_encode_xer OCTET_STRING_encode_xer_utf8 +#define UTF8String_decode_uper OCTET_STRING_decode_uper +#define UTF8String_encode_uper OCTET_STRING_encode_uper + +/* + * Returns length of the given UTF-8 string in characters, + * or a negative error code: + * -1: UTF-8 sequence truncated + * -2: Illegal UTF-8 sequence start + * -3: Continuation expectation failed + * -4: Not minimal length encoding + * -5: Invalid arguments + */ +ssize_t UTF8String_length(const UTF8String_t *st); + +/* + * Convert the UTF-8 string into a sequence of wide characters. + * Returns the number of characters necessary. + * Returned value might be greater than dstlen. + * In case of conversion error, 0 is returned. + * + * If st points to a valid UTF-8 string, calling + * UTF8String_to_wcs(st, 0, 0); + * is equivalent to + * UTF8String_length(const UTF8String_t *st); + */ +size_t UTF8String_to_wcs(const UTF8String_t *st, uint32_t *dst, size_t dstlen); + +#ifdef __cplusplus +} +#endif + +#endif /* _UTF8String_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/UniversalString.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/UniversalString.h new file mode 100644 index 000000000..ff2253739 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/UniversalString.h @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _UniversalString_H_ +#define _UniversalString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t UniversalString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_UniversalString; +extern asn_TYPE_operation_t asn_OP_UniversalString; +extern asn_OCTET_STRING_specifics_t asn_SPC_UniversalString_specs; + +asn_struct_print_f UniversalString_print; /* Human-readable output */ +xer_type_decoder_f UniversalString_decode_xer; +xer_type_encoder_f UniversalString_encode_xer; + +#define UniversalString_free OCTET_STRING_free +#define UniversalString_compare OCTET_STRING_compare +#define UniversalString_decode_ber OCTET_STRING_decode_ber +#define UniversalString_encode_der OCTET_STRING_encode_der +#define UniversalString_decode_uper OCTET_STRING_decode_uper +#define UniversalString_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _UniversalString_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/VType.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/VType.h new file mode 100644 index 000000000..6b8267016 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/VType.h @@ -0,0 +1,69 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#ifndef _VType_H_ +#define _VType_H_ + + +#include "asn_application.h" + +/* Including external dependencies */ +#include "NativeEnumerated.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum VType { + VType_pedestrian = 0, + VType_bicycle = 1, + VType_micromobile = 2, + VType_motorcycle = 3, + VType_passenger_car = 4, + VType_light_truck_van = 5, + VType_bus = 6, + VType_two_axle_six_tire_single_unit_truck = 7, + VType_three_axle_single_unit_truck = 8, + VType_four_or_more_axle_single_unit_truck = 9, + VType_four_or_fewer_axle_single_trailer_truck = 10, + VType_five_axle_single_trailer_truck = 11, + VType_six_or_more_axle_single_trailer_truck = 12, + VType_five_or_fewer_axle_multi_trailer_truck = 13, + VType_six_axle_multi_trailer_truck = 14, + VType_seven_or_more_axle_multi_trailer_truck = 15, + VType_rail = 16, + VType_unclassified = 17 +} e_VType; + +/* VType */ +typedef long VType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_VType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_VType; +extern const asn_INTEGER_specifics_t asn_SPC_VType_specs_1; +asn_struct_free_f VType_free; +asn_struct_print_f VType_print; +asn_constr_check_f VType_constraint; +ber_type_decoder_f VType_decode_ber; +der_type_encoder_f VType_encode_der; +xer_type_decoder_f VType_decode_xer; +xer_type_encoder_f VType_encode_xer; +oer_type_decoder_f VType_decode_oer; +oer_type_encoder_f VType_encode_oer; +per_type_decoder_f VType_decode_uper; +per_type_encoder_f VType_encode_uper; +per_type_decoder_f VType_decode_aper; +per_type_encoder_f VType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _VType_H_ */ +#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/VisibleString.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/VisibleString.h new file mode 100644 index 000000000..a8d278bed --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/VisibleString.h @@ -0,0 +1,36 @@ +/*- + * Copyright (c) 2003 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _VisibleString_H_ +#define _VisibleString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t VisibleString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_VisibleString; +extern asn_TYPE_operation_t asn_OP_VisibleString; + +asn_constr_check_f VisibleString_constraint; + +#define VisibleString_free OCTET_STRING_free +#define VisibleString_print OCTET_STRING_print +#define VisibleString_compare OCTET_STRING_compare +#define VisibleString_constraint VisibleString_constraint +#define VisibleString_decode_ber OCTET_STRING_decode_ber +#define VisibleString_encode_der OCTET_STRING_encode_der +#define VisibleString_decode_xer OCTET_STRING_decode_xer_hex +#define VisibleString_encode_xer OCTET_STRING_encode_xer +#define VisibleString_decode_uper OCTET_STRING_decode_uper +#define VisibleString_encode_uper OCTET_STRING_encode_uper + +#ifdef __cplusplus +} +#endif + +#endif /* _VisibleString_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/constr_SET.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/constr_SET.h new file mode 100644 index 000000000..eb61b5a39 --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/constr_SET.h @@ -0,0 +1,86 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _CONSTR_SET_H_ +#define _CONSTR_SET_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +typedef const struct asn_SET_specifics_s { + /* + * Target structure description. + */ + unsigned struct_size; /* Size of the target structure. */ + unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ + unsigned pres_offset; /* Offset of _presence_map member */ + + /* + * Tags to members mapping table (sorted). + * Sometimes suitable for DER encoding (untagged CHOICE is present); + * if so, tag2el_count will be greater than td->elements_count. + */ + const asn_TYPE_tag2member_t *tag2el; + unsigned tag2el_count; + + /* + * Tags to members mapping table, second edition. + * Suitable for CANONICAL-XER encoding. + */ + const asn_TYPE_tag2member_t *tag2el_cxer; + unsigned tag2el_cxer_count; + + /* + * Extensions-related stuff. + */ + int extensible; /* Whether SET is extensible */ + const unsigned int *_mandatory_elements; /* Bitmask of mandatory ones */ +} asn_SET_specifics_t; + +/* + * A set specialized functions dealing with the SET type. + */ +asn_struct_free_f SET_free; +asn_struct_print_f SET_print; +asn_struct_compare_f SET_compare; +asn_constr_check_f SET_constraint; +ber_type_decoder_f SET_decode_ber; +der_type_encoder_f SET_encode_der; +xer_type_decoder_f SET_decode_xer; +xer_type_encoder_f SET_encode_xer; +per_type_decoder_f SET_decode_uper; +per_type_encoder_f SET_encode_uper; +extern asn_TYPE_operation_t asn_OP_SET; + +/*********************** + * Some handy helpers. * + ***********************/ + +/* + * Figure out whether the SET member indicated by PR_x has already been decoded. + * It is very simple bitfield test, despite its visual complexity. + */ +#define ASN_SET_ISPRESENT(set_ptr, PR_x) \ + ASN_SET_ISPRESENT2(&((set_ptr)->_presence_map), PR_x) +#define ASN_SET_ISPRESENT2(map_ptr, PR_x) \ + (((unsigned int *)(map_ptr)) \ + [(PR_x) / (8 * sizeof(unsigned int))] \ + & (1 << ((8 * sizeof(unsigned int)) - 1 \ + - ((PR_x) % (8 * sizeof(unsigned int)))))) + +#define ASN_SET_MKPRESENT(map_ptr, PR_x) \ + (((unsigned int *)(map_ptr)) \ + [(PR_x) / (8 * sizeof(unsigned int))] \ + |= (1 << ((8 * sizeof(unsigned int)) - 1 \ + - ((PR_x) % (8 * sizeof(unsigned int)))))) + +#ifdef __cplusplus +} +#endif + +#endif /* _CONSTR_SET_H_ */ diff --git a/src/tmx/Asn_J2735/include/asn_j2735_r2020/version.h b/src/tmx/Asn_J2735/include/asn_j2735_r2020/version.h new file mode 100644 index 000000000..b0c133f0e --- /dev/null +++ b/src/tmx/Asn_J2735/include/asn_j2735_r2020/version.h @@ -0,0 +1,14 @@ +/* + * version.h + * + * Created on: Aug 29, 2014 + * Author: ivp + */ + +#ifndef VERSION_H_ +#define VERSION_H_ + +#define TMXASN_VERSION "3.1.0" +#define TMXASN_SPEC "2020" + +#endif /* VERSION_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2020/AddGrpB_Angle.c b/src/tmx/Asn_J2735/src/r2020/AddGrpB_Angle.c index 45140a7e8..f4c63efa6 100644 --- a/src/tmx/Asn_J2735/src/r2020/AddGrpB_Angle.c +++ b/src/tmx/Asn_J2735/src/r2020/AddGrpB_Angle.c @@ -1,8 +1,8 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #include "AddGrpB_Angle.h" @@ -21,7 +21,7 @@ AddGrpB_Angle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, value = *(const long *)sptr; - if((value >= 0L && value <= 239L)) { + if((value >= 0 && value <= 239)) { /* Constraint check succeeded */ return 0; } else { @@ -36,18 +36,14 @@ AddGrpB_Angle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, * This type is implemented using NativeInteger, * so here we adjust the DEF accordingly. */ -#if !defined(ASN_DISABLE_OER_SUPPORT) static asn_oer_constraints_t asn_OER_type_AddGrpB_Angle_constr_1 CC_NOTUSED = { { 1, 1 } /* (0..239) */, -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_AddGrpB_Angle_constr_1 CC_NOTUSED = { { APC_CONSTRAINED, 8, 8, 0, 239 } /* (0..239) */, { 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_AddGrpB_Angle_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) }; @@ -61,15 +57,7 @@ asn_TYPE_descriptor_t asn_DEF_AddGrpB_Angle = { asn_DEF_AddGrpB_Angle_tags_1, /* Same as above */ sizeof(asn_DEF_AddGrpB_Angle_tags_1) /sizeof(asn_DEF_AddGrpB_Angle_tags_1[0]), /* 1 */ - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - &asn_OER_type_AddGrpB_Angle_constr_1, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - &asn_PER_type_AddGrpB_Angle_constr_1, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - AddGrpB_Angle_constraint - }, + { &asn_OER_type_AddGrpB_Angle_constr_1, &asn_PER_type_AddGrpB_Angle_constr_1, AddGrpB_Angle_constraint }, 0, 0, /* No members */ 0 /* No specifics */ }; diff --git a/src/tmx/Asn_J2735/src/r2020/AddGrpB_DayOfWeek.c b/src/tmx/Asn_J2735/src/r2020/AddGrpB_DayOfWeek.c new file mode 100644 index 000000000..a441d8fd9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2020/AddGrpB_DayOfWeek.c @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` + */ + +#include "AddGrpB_DayOfWeek.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_AddGrpB_DayOfWeek_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +asn_per_constraints_t asn_PER_type_AddGrpB_DayOfWeek_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_AddGrpB_DayOfWeek_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 6, "monday" }, + { 2, 7, "tuesday" }, + { 3, 9, "wednesday" }, + { 4, 8, "thursday" }, + { 5, 6, "friday" }, + { 6, 8, "saturday" }, + { 7, 6, "sunday" } +}; +static const unsigned int asn_MAP_AddGrpB_DayOfWeek_enum2value_1[] = { + 5, /* friday(5) */ + 1, /* monday(1) */ + 6, /* saturday(6) */ + 7, /* sunday(7) */ + 4, /* thursday(4) */ + 2, /* tuesday(2) */ + 0, /* unknown(0) */ + 3 /* wednesday(3) */ +}; +const asn_INTEGER_specifics_t asn_SPC_AddGrpB_DayOfWeek_specs_1 = { + asn_MAP_AddGrpB_DayOfWeek_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AddGrpB_DayOfWeek_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AddGrpB_DayOfWeek_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AddGrpB_DayOfWeek = { + "DayOfWeek", + "DayOfWeek", + &asn_OP_NativeEnumerated, + asn_DEF_AddGrpB_DayOfWeek_tags_1, + sizeof(asn_DEF_AddGrpB_DayOfWeek_tags_1) + /sizeof(asn_DEF_AddGrpB_DayOfWeek_tags_1[0]), /* 1 */ + asn_DEF_AddGrpB_DayOfWeek_tags_1, /* Same as above */ + sizeof(asn_DEF_AddGrpB_DayOfWeek_tags_1) + /sizeof(asn_DEF_AddGrpB_DayOfWeek_tags_1[0]), /* 1 */ + { &asn_OER_type_AddGrpB_DayOfWeek_constr_1, &asn_PER_type_AddGrpB_DayOfWeek_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AddGrpB_DayOfWeek_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2020/AddGrpB_Elevation.c b/src/tmx/Asn_J2735/src/r2020/AddGrpB_Elevation.c index 341e756be..aad6c0a6b 100644 --- a/src/tmx/Asn_J2735/src/r2020/AddGrpB_Elevation.c +++ b/src/tmx/Asn_J2735/src/r2020/AddGrpB_Elevation.c @@ -1,8 +1,8 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #include "AddGrpB_Elevation.h" @@ -21,7 +21,7 @@ AddGrpB_Elevation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, value = *(const long *)sptr; - if((value >= -32768L && value <= 32767L)) { + if((value >= -32768 && value <= 32767)) { /* Constraint check succeeded */ return 0; } else { @@ -36,18 +36,14 @@ AddGrpB_Elevation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, * This type is implemented using NativeInteger, * so here we adjust the DEF accordingly. */ -#if !defined(ASN_DISABLE_OER_SUPPORT) static asn_oer_constraints_t asn_OER_type_AddGrpB_Elevation_constr_1 CC_NOTUSED = { { 2, 0 } /* (-32768..32767) */, -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_AddGrpB_Elevation_constr_1 CC_NOTUSED = { { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, { 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_AddGrpB_Elevation_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) }; @@ -61,15 +57,7 @@ asn_TYPE_descriptor_t asn_DEF_AddGrpB_Elevation = { asn_DEF_AddGrpB_Elevation_tags_1, /* Same as above */ sizeof(asn_DEF_AddGrpB_Elevation_tags_1) /sizeof(asn_DEF_AddGrpB_Elevation_tags_1[0]), /* 1 */ - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - &asn_OER_type_AddGrpB_Elevation_constr_1, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - &asn_PER_type_AddGrpB_Elevation_constr_1, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - AddGrpB_Elevation_constraint - }, + { &asn_OER_type_AddGrpB_Elevation_constr_1, &asn_PER_type_AddGrpB_Elevation_constr_1, AddGrpB_Elevation_constraint }, 0, 0, /* No members */ 0 /* No specifics */ }; diff --git a/src/tmx/Asn_J2735/src/r2020/AddGrpB_MsgCount.c b/src/tmx/Asn_J2735/src/r2020/AddGrpB_MsgCount.c index 200e3f61d..0c4d81493 100644 --- a/src/tmx/Asn_J2735/src/r2020/AddGrpB_MsgCount.c +++ b/src/tmx/Asn_J2735/src/r2020/AddGrpB_MsgCount.c @@ -1,8 +1,8 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #include "AddGrpB_MsgCount.h" @@ -21,7 +21,7 @@ AddGrpB_MsgCount_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, value = *(const long *)sptr; - if((value >= 0L && value <= 255L)) { + if((value >= 0 && value <= 255)) { /* Constraint check succeeded */ return 0; } else { @@ -36,18 +36,14 @@ AddGrpB_MsgCount_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, * This type is implemented using NativeInteger, * so here we adjust the DEF accordingly. */ -#if !defined(ASN_DISABLE_OER_SUPPORT) static asn_oer_constraints_t asn_OER_type_AddGrpB_MsgCount_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) static asn_per_constraints_t asn_PER_type_AddGrpB_MsgCount_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_AddGrpB_MsgCount_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) }; @@ -61,15 +57,7 @@ asn_TYPE_descriptor_t asn_DEF_AddGrpB_MsgCount = { asn_DEF_AddGrpB_MsgCount_tags_1, /* Same as above */ sizeof(asn_DEF_AddGrpB_MsgCount_tags_1) /sizeof(asn_DEF_AddGrpB_MsgCount_tags_1[0]), /* 1 */ - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - &asn_OER_type_AddGrpB_MsgCount_constr_1, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - &asn_PER_type_AddGrpB_MsgCount_constr_1, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - AddGrpB_MsgCount_constraint - }, + { &asn_OER_type_AddGrpB_MsgCount_constr_1, &asn_PER_type_AddGrpB_MsgCount_constr_1, AddGrpB_MsgCount_constraint }, 0, 0, /* No members */ 0 /* No specifics */ }; diff --git a/src/tmx/Asn_J2735/src/r2020/AddGrpB_TimeMark.c b/src/tmx/Asn_J2735/src/r2020/AddGrpB_TimeMark.c index a2e484d51..1e42c3ca6 100644 --- a/src/tmx/Asn_J2735/src/r2020/AddGrpB_TimeMark.c +++ b/src/tmx/Asn_J2735/src/r2020/AddGrpB_TimeMark.c @@ -1,8 +1,8 @@ /* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted -fskeletons-copy` */ #include "AddGrpB_TimeMark.h" @@ -13,15 +13,7 @@ static asn_TYPE_member_t asn_MBR_AddGrpB_TimeMark_1[] = { -1, /* IMPLICIT tag at current level */ &asn_DEF_Year, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "year" }, @@ -30,15 +22,7 @@ static asn_TYPE_member_t asn_MBR_AddGrpB_TimeMark_1[] = { -1, /* IMPLICIT tag at current level */ &asn_DEF_Month, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "month" }, @@ -47,15 +31,7 @@ static asn_TYPE_member_t asn_MBR_AddGrpB_TimeMark_1[] = { -1, /* IMPLICIT tag at current level */ &asn_DEF_Day, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "day" }, @@ -64,15 +40,7 @@ static asn_TYPE_member_t asn_MBR_AddGrpB_TimeMark_1[] = { -1, /* IMPLICIT tag at current level */ &asn_DEF_SummerTime, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "summerTime" }, @@ -81,32 +49,16 @@ static asn_TYPE_member_t asn_MBR_AddGrpB_TimeMark_1[] = { -1, /* IMPLICIT tag at current level */ &asn_DEF_Holiday, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "holiday" }, { ATF_NOFLAGS, 0, offsetof(struct AddGrpB_TimeMark, dayofWeek), (ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */ - &asn_DEF_DayOfWeek, + &asn_DEF_AddGrpB_DayOfWeek, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "dayofWeek" }, @@ -115,15 +67,7 @@ static asn_TYPE_member_t asn_MBR_AddGrpB_TimeMark_1[] = { -1, /* IMPLICIT tag at current level */ &asn_DEF_Hour, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "hour" }, @@ -132,15 +76,7 @@ static asn_TYPE_member_t asn_MBR_AddGrpB_TimeMark_1[] = { -1, /* IMPLICIT tag at current level */ &asn_DEF_Minute, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "minute" }, @@ -149,15 +85,7 @@ static asn_TYPE_member_t asn_MBR_AddGrpB_TimeMark_1[] = { -1, /* IMPLICIT tag at current level */ &asn_DEF_Second, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "second" }, @@ -166,15 +94,7 @@ static asn_TYPE_member_t asn_MBR_AddGrpB_TimeMark_1[] = { -1, /* IMPLICIT tag at current level */ &asn_DEF_TenthSecond, 0, - { -#if !defined(ASN_DISABLE_OER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - 0, -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - 0 - }, + { 0, 0, 0 }, 0, 0, /* No default value */ "tenthSecond" }, @@ -212,15 +132,7 @@ asn_TYPE_descriptor_t asn_DEF_AddGrpB_TimeMark = { asn_DEF_AddGrpB_TimeMark_tags_1, /* Same as above */ sizeof(asn_DEF_AddGrpB_TimeMark_tags_1) /sizeof(asn_DEF_AddGrpB_TimeMark_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) */ - SEQUENCE_constraint - }, + { 0, 0, SEQUENCE_constraint }, asn_MBR_AddGrpB_TimeMark_1, 10, /* Elements count */ &asn_SPC_AddGrpB_TimeMark_specs_1 /* Additional specs */ diff --git a/src/tmx/Asn_J2735/src/r2020/Schedule.c b/src/tmx/Asn_J2735/src/r2020/Schedule.c new file mode 100644 index 000000000..5af708a5e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2020/Schedule.c @@ -0,0 +1,328 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "Schedule.h" + +static int +memb_start_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(asn_INTEGER2long(st, &value)) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value too large (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if((value >= 0 && value <= 9223372036854775807)) { + /* 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_end_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(asn_INTEGER2long(st, &value)) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value too large (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if((value >= 0 && value <= 9223372036854775807)) { + /* 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_dow_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 == 7)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_between_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 <= 32)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_oer_constraints_t asn_OER_type_dow_constr_4 CC_NOTUSED = { + { 0, 0 }, + 7 /* (SIZE(7..7)) */}; +static asn_per_constraints_t asn_PER_type_dow_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 7, 7 } /* (SIZE(7..7)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_between_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..32)) */}; +static asn_per_constraints_t asn_PER_type_between_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 0, 32 } /* (SIZE(0..32)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_start_constr_2 CC_NOTUSED = { + { 8, 1 } /* (0..9223372036854775807) */, + -1}; +static asn_per_constraints_t asn_PER_memb_start_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 63, -1, 0, 9223372036854775807 } /* (0..9223372036854775807) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_end_constr_3 CC_NOTUSED = { + { 8, 1 } /* (0..9223372036854775807) */, + -1}; +static asn_per_constraints_t asn_PER_memb_end_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 63, -1, 0, 9223372036854775807 } /* (0..9223372036854775807) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_dow_constr_4 CC_NOTUSED = { + { 0, 0 }, + 7 /* (SIZE(7..7)) */}; +static asn_per_constraints_t asn_PER_memb_dow_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 7, 7 } /* (SIZE(7..7)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_between_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..32)) */}; +static asn_per_constraints_t asn_PER_memb_between_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 0, 32 } /* (SIZE(0..32)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_dow_4[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), + 0, + &asn_DEF_BOOLEAN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_dow_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_dow_specs_4 = { + sizeof(struct Schedule__dow), + offsetof(struct Schedule__dow, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_dow_4 = { + "dow", + "dow", + &asn_OP_SEQUENCE_OF, + asn_DEF_dow_tags_4, + sizeof(asn_DEF_dow_tags_4) + /sizeof(asn_DEF_dow_tags_4[0]) - 1, /* 1 */ + asn_DEF_dow_tags_4, /* Same as above */ + sizeof(asn_DEF_dow_tags_4) + /sizeof(asn_DEF_dow_tags_4[0]), /* 2 */ + { &asn_OER_type_dow_constr_4, &asn_PER_type_dow_constr_4, SEQUENCE_OF_constraint }, + asn_MBR_dow_4, + 1, /* Single element */ + &asn_SPC_dow_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_between_6[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DaySchedule, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_between_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_between_specs_6 = { + sizeof(struct Schedule__between), + offsetof(struct Schedule__between, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_between_6 = { + "between", + "between", + &asn_OP_SEQUENCE_OF, + asn_DEF_between_tags_6, + sizeof(asn_DEF_between_tags_6) + /sizeof(asn_DEF_between_tags_6[0]) - 1, /* 1 */ + asn_DEF_between_tags_6, /* Same as above */ + sizeof(asn_DEF_between_tags_6) + /sizeof(asn_DEF_between_tags_6[0]), /* 2 */ + { &asn_OER_type_between_constr_6, &asn_PER_type_between_constr_6, SEQUENCE_OF_constraint }, + asn_MBR_between_6, + 1, /* Single element */ + &asn_SPC_between_specs_6 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Schedule_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Schedule, start), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_INTEGER, + 0, + { &asn_OER_memb_start_constr_2, &asn_PER_memb_start_constr_2, memb_start_constraint_1 }, + 0, 0, /* No default value */ + "start" + }, + { ATF_NOFLAGS, 0, offsetof(struct Schedule, end), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_INTEGER, + 0, + { &asn_OER_memb_end_constr_3, &asn_PER_memb_end_constr_3, memb_end_constraint_1 }, + 0, 0, /* No default value */ + "end" + }, + { ATF_NOFLAGS, 0, offsetof(struct Schedule, dow), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + 0, + &asn_DEF_dow_4, + 0, + { &asn_OER_memb_dow_constr_4, &asn_PER_memb_dow_constr_4, memb_dow_constraint_1 }, + 0, 0, /* No default value */ + "dow" + }, + { ATF_POINTER, 2, offsetof(struct Schedule, between), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_between_6, + 0, + { &asn_OER_memb_between_constr_6, &asn_PER_memb_between_constr_6, memb_between_constraint_1 }, + 0, 0, /* No default value */ + "between" + }, + { ATF_POINTER, 1, offsetof(struct Schedule, repeat), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RepeatParams, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "repeat" + }, +}; +static const int asn_MAP_Schedule_oms_1[] = { 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Schedule_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Schedule_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* start */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* end */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dow */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* between */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* repeat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Schedule_specs_1 = { + sizeof(struct Schedule), + offsetof(struct Schedule, _asn_ctx), + asn_MAP_Schedule_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Schedule_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Schedule = { + "Schedule", + "Schedule", + &asn_OP_SEQUENCE, + asn_DEF_Schedule_tags_1, + sizeof(asn_DEF_Schedule_tags_1) + /sizeof(asn_DEF_Schedule_tags_1[0]), /* 1 */ + asn_DEF_Schedule_tags_1, /* Same as above */ + sizeof(asn_DEF_Schedule_tags_1) + /sizeof(asn_DEF_Schedule_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Schedule_1, + 5, /* Elements count */ + &asn_SPC_Schedule_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2020/VType.c b/src/tmx/Asn_J2735/src/r2020/VType.c new file mode 100644 index 000000000..8cb73e011 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2020/VType.c @@ -0,0 +1,88 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "DSRC" + * found in "J2735_201603_ASN_CC.asn" + * `asn1c -gen-PER -fcompound-names -fincludes-quoted` + */ + +#include "VType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_type_VType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +asn_per_constraints_t asn_PER_type_VType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 17 } /* (0..17) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_VType_value2enum_1[] = { + { 0, 10, "pedestrian" }, + { 1, 7, "bicycle" }, + { 2, 11, "micromobile" }, + { 3, 10, "motorcycle" }, + { 4, 13, "passenger-car" }, + { 5, 15, "light-truck-van" }, + { 6, 3, "bus" }, + { 7, 35, "two-axle-six-tire-single-unit-truck" }, + { 8, 28, "three-axle-single-unit-truck" }, + { 9, 35, "four-or-more-axle-single-unit-truck" }, + { 10, 39, "four-or-fewer-axle-single-trailer-truck" }, + { 11, 30, "five-axle-single-trailer-truck" }, + { 12, 37, "six-or-more-axle-single-trailer-truck" }, + { 13, 38, "five-or-fewer-axle-multi-trailer-truck" }, + { 14, 28, "six-axle-multi-trailer-truck" }, + { 15, 38, "seven-or-more-axle-multi-trailer-truck" }, + { 16, 4, "rail" }, + { 17, 12, "unclassified" } +}; +static const unsigned int asn_MAP_VType_enum2value_1[] = { + 1, /* bicycle(1) */ + 6, /* bus(6) */ + 11, /* five-axle-single-trailer-truck(11) */ + 13, /* five-or-fewer-axle-multi-trailer-truck(13) */ + 10, /* four-or-fewer-axle-single-trailer-truck(10) */ + 9, /* four-or-more-axle-single-unit-truck(9) */ + 5, /* light-truck-van(5) */ + 2, /* micromobile(2) */ + 3, /* motorcycle(3) */ + 4, /* passenger-car(4) */ + 0, /* pedestrian(0) */ + 16, /* rail(16) */ + 15, /* seven-or-more-axle-multi-trailer-truck(15) */ + 14, /* six-axle-multi-trailer-truck(14) */ + 12, /* six-or-more-axle-single-trailer-truck(12) */ + 8, /* three-axle-single-unit-truck(8) */ + 7, /* two-axle-six-tire-single-unit-truck(7) */ + 17 /* unclassified(17) */ +}; +const asn_INTEGER_specifics_t asn_SPC_VType_specs_1 = { + asn_MAP_VType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_VType_enum2value_1, /* N => "tag"; sorted by N */ + 18, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_VType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VType = { + "VType", + "VType", + &asn_OP_NativeEnumerated, + asn_DEF_VType_tags_1, + sizeof(asn_DEF_VType_tags_1) + /sizeof(asn_DEF_VType_tags_1[0]), /* 1 */ + asn_DEF_VType_tags_1, /* Same as above */ + sizeof(asn_DEF_VType_tags_1) + /sizeof(asn_DEF_VType_tags_1[0]), /* 1 */ + { &asn_OER_type_VType_constr_1, &asn_PER_type_VType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_VType_specs_1 /* Additional specs */ +}; +