asn1c/tests/03-enum-OK.asn1.-Pfwide-types

464 lines
11 KiB
Plaintext

/*** <<< INCLUDES [Enum1] >>> ***/
#include <ENUMERATED.h>
/*** <<< DEPS [Enum1] >>> ***/
typedef enum Enum1 {
Enum1_red = 0,
Enum1_green = 1,
Enum1_blue = 4,
Enum1_alpha = 5
/*
* Enumeration is extensible
*/
} e_Enum1;
/*** <<< TYPE-DECLS [Enum1] >>> ***/
typedef ENUMERATED_t Enum1_t;
/*** <<< FUNC-DECLS [Enum1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Enum1;
asn_struct_free_f Enum1_free;
asn_struct_print_f Enum1_print;
asn_constr_check_f Enum1_constraint;
ber_type_decoder_f Enum1_decode_ber;
der_type_encoder_f Enum1_encode_der;
xer_type_decoder_f Enum1_decode_xer;
xer_type_encoder_f Enum1_encode_xer;
/*** <<< CODE [Enum1] >>> ***/
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
/*** <<< STAT-DEFS [Enum1] >>> ***/
static const asn_INTEGER_enum_map_t asn_MAP_Enum1_value2enum_1[] = {
{ 0, 3, "red" },
{ 1, 5, "green" },
{ 4, 4, "blue" },
{ 5, 5, "alpha" }
/* This list is extensible */
};
static const unsigned int asn_MAP_Enum1_enum2value_1[] = {
3, /* alpha(5) */
2, /* blue(4) */
1, /* green(1) */
0 /* red(0) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_Enum1_specs_1 = {
asn_MAP_Enum1_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum1_enum2value_1, /* N => "tag"; sorted by N */
4, /* Number of elements in the maps */
5, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_Enum1_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Enum1 = {
"Enum1",
"Enum1",
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_Enum1_tags_1,
sizeof(asn_DEF_Enum1_tags_1)
/sizeof(asn_DEF_Enum1_tags_1[0]), /* 1 */
asn_DEF_Enum1_tags_1, /* Same as above */
sizeof(asn_DEF_Enum1_tags_1)
/sizeof(asn_DEF_Enum1_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
&asn_SPC_Enum1_specs_1 /* Additional specs */
};
/*** <<< INCLUDES [Enum2] >>> ***/
#include <ENUMERATED.h>
/*** <<< DEPS [Enum2] >>> ***/
typedef enum Enum2 {
Enum2_red = 0,
Enum2_green = 1,
Enum2_blue = 45,
Enum2_orange = 23,
Enum2_alpha = 46,
/*
* Enumeration is extensible
*/
Enum2_beta = 12,
Enum2_gamma = 103
} e_Enum2;
/*** <<< TYPE-DECLS [Enum2] >>> ***/
typedef ENUMERATED_t Enum2_t;
/*** <<< FUNC-DECLS [Enum2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Enum2;
asn_struct_free_f Enum2_free;
asn_struct_print_f Enum2_print;
asn_constr_check_f Enum2_constraint;
ber_type_decoder_f Enum2_decode_ber;
der_type_encoder_f Enum2_encode_der;
xer_type_decoder_f Enum2_decode_xer;
xer_type_encoder_f Enum2_encode_xer;
/*** <<< CODE [Enum2] >>> ***/
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
/*** <<< STAT-DEFS [Enum2] >>> ***/
static const asn_INTEGER_enum_map_t asn_MAP_Enum2_value2enum_1[] = {
{ 0, 3, "red" },
{ 1, 5, "green" },
{ 12, 4, "beta" },
{ 23, 6, "orange" },
{ 45, 4, "blue" },
{ 46, 5, "alpha" },
{ 103, 5, "gamma" }
/* This list is extensible */
};
static const unsigned int asn_MAP_Enum2_enum2value_1[] = {
5, /* alpha(46) */
2, /* beta(12) */
4, /* blue(45) */
6, /* gamma(103) */
1, /* green(1) */
3, /* orange(23) */
0 /* red(0) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_Enum2_specs_1 = {
asn_MAP_Enum2_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum2_enum2value_1, /* N => "tag"; sorted by N */
7, /* Number of elements in the maps */
6, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_Enum2_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Enum2 = {
"Enum2",
"Enum2",
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_Enum2_tags_1,
sizeof(asn_DEF_Enum2_tags_1)
/sizeof(asn_DEF_Enum2_tags_1[0]), /* 1 */
asn_DEF_Enum2_tags_1, /* Same as above */
sizeof(asn_DEF_Enum2_tags_1)
/sizeof(asn_DEF_Enum2_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
&asn_SPC_Enum2_specs_1 /* Additional specs */
};
/*** <<< INCLUDES [Enum3] >>> ***/
#include <ENUMERATED.h>
/*** <<< DEPS [Enum3] >>> ***/
typedef enum Enum3 {
Enum3_a = 0,
Enum3_b = 3,
/*
* Enumeration is extensible
*/
Enum3_c = 1
} e_Enum3;
/*** <<< TYPE-DECLS [Enum3] >>> ***/
typedef ENUMERATED_t Enum3_t;
/*** <<< FUNC-DECLS [Enum3] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Enum3;
asn_struct_free_f Enum3_free;
asn_struct_print_f Enum3_print;
asn_constr_check_f Enum3_constraint;
ber_type_decoder_f Enum3_decode_ber;
der_type_encoder_f Enum3_encode_der;
xer_type_decoder_f Enum3_decode_xer;
xer_type_encoder_f Enum3_encode_xer;
/*** <<< CODE [Enum3] >>> ***/
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
/*** <<< STAT-DEFS [Enum3] >>> ***/
static const asn_INTEGER_enum_map_t asn_MAP_Enum3_value2enum_1[] = {
{ 0, 1, "a" },
{ 1, 1, "c" },
{ 3, 1, "b" }
/* This list is extensible */
};
static const unsigned int asn_MAP_Enum3_enum2value_1[] = {
0, /* a(0) */
2, /* b(3) */
1 /* c(1) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_Enum3_specs_1 = {
asn_MAP_Enum3_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum3_enum2value_1, /* N => "tag"; sorted by N */
3, /* 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_Enum3_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Enum3 = {
"Enum3",
"Enum3",
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_Enum3_tags_1,
sizeof(asn_DEF_Enum3_tags_1)
/sizeof(asn_DEF_Enum3_tags_1[0]), /* 1 */
asn_DEF_Enum3_tags_1, /* Same as above */
sizeof(asn_DEF_Enum3_tags_1)
/sizeof(asn_DEF_Enum3_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
&asn_SPC_Enum3_specs_1 /* Additional specs */
};
/*** <<< INCLUDES [Enum4] >>> ***/
#include <ENUMERATED.h>
/*** <<< DEPS [Enum4] >>> ***/
typedef enum Enum4 {
Enum4_a = 0,
Enum4_b = 1,
/*
* Enumeration is extensible
*/
Enum4_c = 3,
Enum4_d = 4
} e_Enum4;
/*** <<< TYPE-DECLS [Enum4] >>> ***/
typedef ENUMERATED_t Enum4_t;
/*** <<< FUNC-DECLS [Enum4] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Enum4;
asn_struct_free_f Enum4_free;
asn_struct_print_f Enum4_print;
asn_constr_check_f Enum4_constraint;
ber_type_decoder_f Enum4_decode_ber;
der_type_encoder_f Enum4_encode_der;
xer_type_decoder_f Enum4_decode_xer;
xer_type_encoder_f Enum4_encode_xer;
/*** <<< CODE [Enum4] >>> ***/
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
/*** <<< STAT-DEFS [Enum4] >>> ***/
static const asn_INTEGER_enum_map_t asn_MAP_Enum4_value2enum_1[] = {
{ 0, 1, "a" },
{ 1, 1, "b" },
{ 3, 1, "c" },
{ 4, 1, "d" }
/* This list is extensible */
};
static const unsigned int asn_MAP_Enum4_enum2value_1[] = {
0, /* a(0) */
1, /* b(1) */
2, /* c(3) */
3 /* d(4) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_Enum4_specs_1 = {
asn_MAP_Enum4_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum4_enum2value_1, /* N => "tag"; sorted by N */
4, /* 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_Enum4_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Enum4 = {
"Enum4",
"Enum4",
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_Enum4_tags_1,
sizeof(asn_DEF_Enum4_tags_1)
/sizeof(asn_DEF_Enum4_tags_1[0]), /* 1 */
asn_DEF_Enum4_tags_1, /* Same as above */
sizeof(asn_DEF_Enum4_tags_1)
/sizeof(asn_DEF_Enum4_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
&asn_SPC_Enum4_specs_1 /* Additional specs */
};
/*** <<< INCLUDES [Enum5] >>> ***/
#include <ENUMERATED.h>
/*** <<< DEPS [Enum5] >>> ***/
typedef enum Enum5 {
Enum5_a = 0,
Enum5_z = 25,
/*
* Enumeration is extensible
*/
Enum5_d = 26
} e_Enum5;
/*** <<< TYPE-DECLS [Enum5] >>> ***/
typedef ENUMERATED_t Enum5_t;
/*** <<< FUNC-DECLS [Enum5] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Enum5;
asn_struct_free_f Enum5_free;
asn_struct_print_f Enum5_print;
asn_constr_check_f Enum5_constraint;
ber_type_decoder_f Enum5_decode_ber;
der_type_encoder_f Enum5_encode_der;
xer_type_decoder_f Enum5_decode_xer;
xer_type_encoder_f Enum5_encode_xer;
/*** <<< CODE [Enum5] >>> ***/
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
/*** <<< STAT-DEFS [Enum5] >>> ***/
static const asn_INTEGER_enum_map_t asn_MAP_Enum5_value2enum_1[] = {
{ 0, 1, "a" },
{ 25, 1, "z" },
{ 26, 1, "d" }
/* This list is extensible */
};
static const unsigned int asn_MAP_Enum5_enum2value_1[] = {
0, /* a(0) */
2, /* d(26) */
1 /* z(25) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_Enum5_specs_1 = {
asn_MAP_Enum5_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum5_enum2value_1, /* N => "tag"; sorted by N */
3, /* 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_Enum5_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_Enum5 = {
"Enum5",
"Enum5",
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_Enum5_tags_1,
sizeof(asn_DEF_Enum5_tags_1)
/sizeof(asn_DEF_Enum5_tags_1[0]), /* 1 */
asn_DEF_Enum5_tags_1, /* Same as above */
sizeof(asn_DEF_Enum5_tags_1)
/sizeof(asn_DEF_Enum5_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
&asn_SPC_Enum5_specs_1 /* Additional specs */
};