Simplify the logic of accessing codec function for specific TYPE
diff --git a/tests/03-enum-OK.asn1.-Pfwide-types b/tests/03-enum-OK.asn1.-Pfwide-types
index b525b54..5cc60ce 100644
--- a/tests/03-enum-OK.asn1.-Pfwide-types
+++ b/tests/03-enum-OK.asn1.-Pfwide-types
@@ -32,84 +32,10 @@
/*** <<< CODE [Enum1] >>> ***/
-int
-Enum1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-Enum1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-void
-Enum1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Enum1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Enum1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Enum1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Enum1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Enum1] >>> ***/
@@ -127,7 +53,7 @@
0 /* red(0) */
/* This list is extensible */
};
-static asn_INTEGER_specifics_t asn_SPC_Enum1_specs_1 = {
+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 */
@@ -142,13 +68,13 @@
asn_TYPE_descriptor_t asn_DEF_Enum1 = {
"Enum1",
"Enum1",
- Enum1_free,
- Enum1_print,
- Enum1_constraint,
- Enum1_decode_ber,
- Enum1_encode_der,
- Enum1_decode_xer,
- Enum1_encode_xer,
+ 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 */
@@ -201,84 +127,10 @@
/*** <<< CODE [Enum2] >>> ***/
-int
-Enum2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-Enum2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-void
-Enum2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Enum2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Enum2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Enum2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Enum2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Enum2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Enum2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Enum2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Enum2] >>> ***/
@@ -302,7 +154,7 @@
0 /* red(0) */
/* This list is extensible */
};
-static asn_INTEGER_specifics_t asn_SPC_Enum2_specs_1 = {
+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 */
@@ -317,13 +169,13 @@
asn_TYPE_descriptor_t asn_DEF_Enum2 = {
"Enum2",
"Enum2",
- Enum2_free,
- Enum2_print,
- Enum2_constraint,
- Enum2_decode_ber,
- Enum2_encode_der,
- Enum2_decode_xer,
- Enum2_encode_xer,
+ 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 */
@@ -372,84 +224,10 @@
/*** <<< CODE [Enum3] >>> ***/
-int
-Enum3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-Enum3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-void
-Enum3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Enum3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Enum3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Enum3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Enum3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Enum3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Enum3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Enum3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Enum3] >>> ***/
@@ -465,7 +243,7 @@
1 /* c(1) */
/* This list is extensible */
};
-static asn_INTEGER_specifics_t asn_SPC_Enum3_specs_1 = {
+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 */
@@ -480,13 +258,13 @@
asn_TYPE_descriptor_t asn_DEF_Enum3 = {
"Enum3",
"Enum3",
- Enum3_free,
- Enum3_print,
- Enum3_constraint,
- Enum3_decode_ber,
- Enum3_encode_der,
- Enum3_decode_xer,
- Enum3_encode_xer,
+ 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 */
@@ -536,84 +314,10 @@
/*** <<< CODE [Enum4] >>> ***/
-int
-Enum4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-Enum4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-void
-Enum4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Enum4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Enum4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Enum4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Enum4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Enum4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Enum4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Enum4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Enum4] >>> ***/
@@ -631,7 +335,7 @@
3 /* d(4) */
/* This list is extensible */
};
-static asn_INTEGER_specifics_t asn_SPC_Enum4_specs_1 = {
+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 */
@@ -646,13 +350,13 @@
asn_TYPE_descriptor_t asn_DEF_Enum4 = {
"Enum4",
"Enum4",
- Enum4_free,
- Enum4_print,
- Enum4_constraint,
- Enum4_decode_ber,
- Enum4_encode_der,
- Enum4_decode_xer,
- Enum4_encode_xer,
+ 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 */
@@ -701,84 +405,10 @@
/*** <<< CODE [Enum5] >>> ***/
-int
-Enum5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-Enum5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-void
-Enum5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Enum5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Enum5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Enum5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Enum5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Enum5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Enum5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Enum5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Enum5] >>> ***/
@@ -794,7 +424,7 @@
1 /* z(25) */
/* This list is extensible */
};
-static asn_INTEGER_specifics_t asn_SPC_Enum5_specs_1 = {
+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 */
@@ -809,13 +439,13 @@
asn_TYPE_descriptor_t asn_DEF_Enum5 = {
"Enum5",
"Enum5",
- Enum5_free,
- Enum5_print,
- Enum5_constraint,
- Enum5_decode_ber,
- Enum5_encode_der,
- Enum5_decode_xer,
- Enum5_encode_xer,
+ 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 */
diff --git a/tests/104-param-1-OK.asn1.-Pfwide-types b/tests/104-param-1-OK.asn1.-Pfwide-types
index 1b9d60c..a806cd3 100644
--- a/tests/104-param-1-OK.asn1.-Pfwide-types
+++ b/tests/104-param-1-OK.asn1.-Pfwide-types
@@ -24,11 +24,15 @@
/*** <<< FUNC-DECLS [Collection] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Collection_16P0;
+extern asn_SET_OF_specifics_t asn_SPC_Collection_16P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_Collection_16P0_1[1];
extern asn_TYPE_descriptor_t asn_DEF_Collection_16P1;
+extern asn_SET_OF_specifics_t asn_SPC_Collection_16P1_specs_3;
+extern asn_TYPE_member_t asn_MBR_Collection_16P1_3[1];
/*** <<< STAT-DEFS [Collection] >>> ***/
-static asn_TYPE_member_t asn_MBR_Collection_16P0_1[] = {
+asn_TYPE_member_t asn_MBR_Collection_16P0_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
.tag_mode = 0,
@@ -43,7 +47,7 @@
static const ber_tlv_tag_t asn_DEF_Collection_16P0_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_Collection_16P0_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_Collection_16P0_specs_1 = {
sizeof(struct Collection_16P0),
offsetof(struct Collection_16P0, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@@ -74,7 +78,7 @@
&asn_SPC_Collection_16P0_specs_1 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Collection_16P1_3[] = {
+asn_TYPE_member_t asn_MBR_Collection_16P1_3[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
.tag_mode = 0,
@@ -89,7 +93,7 @@
static const ber_tlv_tag_t asn_DEF_Collection_16P1_tags_3[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_Collection_16P1_specs_3 = {
+asn_SET_OF_specifics_t asn_SPC_Collection_16P1_specs_3 = {
sizeof(struct Collection_16P1),
offsetof(struct Collection_16P1, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
diff --git a/tests/105-param-2-OK.asn1.-Pfwide-types b/tests/105-param-2-OK.asn1.-Pfwide-types
index 4a6f995..4727e08 100644
--- a/tests/105-param-2-OK.asn1.-Pfwide-types
+++ b/tests/105-param-2-OK.asn1.-Pfwide-types
@@ -43,11 +43,15 @@
/*** <<< FUNC-DECLS [SIGNED] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SIGNED_16P0;
+extern asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_SIGNED_16P0_1[1];
extern asn_TYPE_descriptor_t asn_DEF_SIGNED_16P1;
+extern asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P1_specs_3;
+extern asn_TYPE_member_t asn_MBR_SIGNED_16P1_3[1];
/*** <<< STAT-DEFS [SIGNED] >>> ***/
-static asn_TYPE_member_t asn_MBR_SIGNED_16P0_1[] = {
+asn_TYPE_member_t asn_MBR_SIGNED_16P0_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct SIGNED_16P0, Signed),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
.tag_mode = 0,
@@ -65,7 +69,7 @@
static const asn_TYPE_tag2member_t asn_MAP_SIGNED_16P0_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 0, 0, 0 } /* signed */
};
-static asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P0_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P0_specs_1 = {
sizeof(struct SIGNED_16P0),
offsetof(struct SIGNED_16P0, _asn_ctx),
asn_MAP_SIGNED_16P0_tag2el_1,
@@ -121,7 +125,8 @@
static const uint8_t asn_MAP_signed_mmap_4[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
-static asn_SET_specifics_t asn_SPC_signed_specs_4 = {
+static
+asn_SET_specifics_t asn_SPC_signed_specs_4 = {
sizeof(struct Signed),
offsetof(struct Signed, _asn_ctx),
offsetof(struct Signed, _presence_map),
@@ -159,7 +164,7 @@
&asn_SPC_signed_specs_4 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_SIGNED_16P1_3[] = {
+asn_TYPE_member_t asn_MBR_SIGNED_16P1_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct SIGNED_16P1, Signed),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@@ -177,7 +182,7 @@
static const asn_TYPE_tag2member_t asn_MAP_SIGNED_16P1_tag2el_3[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* signed */
};
-static asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P1_specs_3 = {
+asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P1_specs_3 = {
sizeof(struct SIGNED_16P1),
offsetof(struct SIGNED_16P1, _asn_ctx),
asn_MAP_SIGNED_16P1_tag2el_3,
@@ -234,84 +239,10 @@
/*** <<< CODE [SignedREAL] >>> ***/
-int
-SignedREAL_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_SIGNED_16P0.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using SIGNED_16P0,
* so here we adjust the DEF accordingly.
*/
-static void
-SignedREAL_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_SIGNED_16P0.free_struct;
- td->print_struct = asn_DEF_SIGNED_16P0.print_struct;
- td->check_constraints = asn_DEF_SIGNED_16P0.check_constraints;
- td->ber_decoder = asn_DEF_SIGNED_16P0.ber_decoder;
- td->der_encoder = asn_DEF_SIGNED_16P0.der_encoder;
- td->xer_decoder = asn_DEF_SIGNED_16P0.xer_decoder;
- td->xer_encoder = asn_DEF_SIGNED_16P0.xer_encoder;
- td->uper_decoder = asn_DEF_SIGNED_16P0.uper_decoder;
- td->uper_encoder = asn_DEF_SIGNED_16P0.uper_encoder;
- td->oer_decoder = asn_DEF_SIGNED_16P0.oer_decoder;
- td->oer_encoder = asn_DEF_SIGNED_16P0.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_SIGNED_16P0.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_SIGNED_16P0.per_constraints;
- td->elements = asn_DEF_SIGNED_16P0.elements;
- td->elements_count = asn_DEF_SIGNED_16P0.elements_count;
- td->specifics = asn_DEF_SIGNED_16P0.specifics;
-}
-
-void
-SignedREAL_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- SignedREAL_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-SignedREAL_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- SignedREAL_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-SignedREAL_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- SignedREAL_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-SignedREAL_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SignedREAL_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-SignedREAL_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- SignedREAL_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-SignedREAL_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SignedREAL_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [SignedREAL] >>> ***/
@@ -321,13 +252,13 @@
asn_TYPE_descriptor_t asn_DEF_SignedREAL = {
"SignedREAL",
"SignedREAL",
- SignedREAL_free,
- SignedREAL_print,
- SignedREAL_constraint,
- SignedREAL_decode_ber,
- SignedREAL_encode_der,
- SignedREAL_decode_xer,
- SignedREAL_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -339,8 +270,9 @@
/sizeof(asn_DEF_SignedREAL_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_SIGNED_16P0_1,
+ 1, /* Elements count */
+ &asn_SPC_SIGNED_16P0_specs_1 /* Additional specs */
};
@@ -365,84 +297,10 @@
/*** <<< CODE [SignedSET] >>> ***/
-int
-SignedSET_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_SIGNED_16P1.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using SIGNED_16P1,
* so here we adjust the DEF accordingly.
*/
-static void
-SignedSET_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_SIGNED_16P1.free_struct;
- td->print_struct = asn_DEF_SIGNED_16P1.print_struct;
- td->check_constraints = asn_DEF_SIGNED_16P1.check_constraints;
- td->ber_decoder = asn_DEF_SIGNED_16P1.ber_decoder;
- td->der_encoder = asn_DEF_SIGNED_16P1.der_encoder;
- td->xer_decoder = asn_DEF_SIGNED_16P1.xer_decoder;
- td->xer_encoder = asn_DEF_SIGNED_16P1.xer_encoder;
- td->uper_decoder = asn_DEF_SIGNED_16P1.uper_decoder;
- td->uper_encoder = asn_DEF_SIGNED_16P1.uper_encoder;
- td->oer_decoder = asn_DEF_SIGNED_16P1.oer_decoder;
- td->oer_encoder = asn_DEF_SIGNED_16P1.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_SIGNED_16P1.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_SIGNED_16P1.per_constraints;
- td->elements = asn_DEF_SIGNED_16P1.elements;
- td->elements_count = asn_DEF_SIGNED_16P1.elements_count;
- td->specifics = asn_DEF_SIGNED_16P1.specifics;
-}
-
-void
-SignedSET_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- SignedSET_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-SignedSET_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- SignedSET_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-SignedSET_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- SignedSET_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-SignedSET_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SignedSET_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-SignedSET_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- SignedSET_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-SignedSET_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SignedSET_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [SignedSET] >>> ***/
@@ -452,13 +310,13 @@
asn_TYPE_descriptor_t asn_DEF_SignedSET = {
"SignedSET",
"SignedSET",
- SignedSET_free,
- SignedSET_print,
- SignedSET_constraint,
- SignedSET_decode_ber,
- SignedSET_encode_der,
- SignedSET_decode_xer,
- SignedSET_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -470,7 +328,8 @@
/sizeof(asn_DEF_SignedSET_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_SIGNED_16P1_3,
+ 1, /* Elements count */
+ &asn_SPC_SIGNED_16P1_specs_3 /* Additional specs */
};
diff --git a/tests/106-param-constr-OK.asn1.-P b/tests/106-param-constr-OK.asn1.-P
index 89d2038..3b1661e 100644
--- a/tests/106-param-constr-OK.asn1.-P
+++ b/tests/106-param-constr-OK.asn1.-P
@@ -18,6 +18,8 @@
/*** <<< FUNC-DECLS [Narrow] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Narrow_15P0;
+extern asn_SEQUENCE_specifics_t asn_SPC_Narrow_15P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_Narrow_15P0_1[3];
/*** <<< CODE [Narrow] >>> ***/
@@ -117,7 +119,7 @@
return (*st == 3);
}
}
-static asn_TYPE_member_t asn_MBR_Narrow_15P0_1[] = {
+asn_TYPE_member_t asn_MBR_Narrow_15P0_1[] = {
{ ATF_POINTER, 1, offsetof(struct Narrow_15P0, narrow1),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@@ -157,7 +159,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* narrow2 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 } /* narrow3 */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Narrow_15P0_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Narrow_15P0_specs_1 = {
sizeof(struct Narrow_15P0),
offsetof(struct Narrow_15P0, _asn_ctx),
asn_MAP_Narrow_15P0_tag2el_1,
@@ -214,84 +216,10 @@
/*** <<< CODE [NarrowInteger] >>> ***/
-int
-NarrowInteger_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Narrow_15P0.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Narrow_15P0,
* so here we adjust the DEF accordingly.
*/
-static void
-NarrowInteger_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Narrow_15P0.free_struct;
- td->print_struct = asn_DEF_Narrow_15P0.print_struct;
- td->check_constraints = asn_DEF_Narrow_15P0.check_constraints;
- td->ber_decoder = asn_DEF_Narrow_15P0.ber_decoder;
- td->der_encoder = asn_DEF_Narrow_15P0.der_encoder;
- td->xer_decoder = asn_DEF_Narrow_15P0.xer_decoder;
- td->xer_encoder = asn_DEF_Narrow_15P0.xer_encoder;
- td->uper_decoder = asn_DEF_Narrow_15P0.uper_decoder;
- td->uper_encoder = asn_DEF_Narrow_15P0.uper_encoder;
- td->oer_decoder = asn_DEF_Narrow_15P0.oer_decoder;
- td->oer_encoder = asn_DEF_Narrow_15P0.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Narrow_15P0.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Narrow_15P0.per_constraints;
- td->elements = asn_DEF_Narrow_15P0.elements;
- td->elements_count = asn_DEF_Narrow_15P0.elements_count;
- td->specifics = asn_DEF_Narrow_15P0.specifics;
-}
-
-void
-NarrowInteger_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NarrowInteger_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NarrowInteger_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NarrowInteger_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NarrowInteger_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NarrowInteger_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NarrowInteger_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NarrowInteger_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NarrowInteger_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NarrowInteger_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NarrowInteger_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NarrowInteger_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NarrowInteger] >>> ***/
@@ -301,13 +229,13 @@
asn_TYPE_descriptor_t asn_DEF_NarrowInteger = {
"NarrowInteger",
"NarrowInteger",
- NarrowInteger_free,
- NarrowInteger_print,
- NarrowInteger_constraint,
- NarrowInteger_decode_ber,
- NarrowInteger_encode_der,
- NarrowInteger_decode_xer,
- NarrowInteger_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -319,7 +247,8 @@
/sizeof(asn_DEF_NarrowInteger_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Narrow_15P0_1,
+ 3, /* Elements count */
+ &asn_SPC_Narrow_15P0_specs_1 /* Additional specs */
};
diff --git a/tests/108-param-constr-3-OK.asn1.-Pfwide-types b/tests/108-param-constr-3-OK.asn1.-Pfwide-types
index ca9ce53..67ae950 100644
--- a/tests/108-param-constr-3-OK.asn1.-Pfwide-types
+++ b/tests/108-param-constr-3-OK.asn1.-Pfwide-types
@@ -55,72 +55,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-MinMax_16P0_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-MinMax_16P0_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- MinMax_16P0_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-MinMax_16P0_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- MinMax_16P0_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-MinMax_16P0_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- MinMax_16P0_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-MinMax_16P0_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- MinMax_16P0_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-MinMax_16P0_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- MinMax_16P0_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-MinMax_16P0_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- MinMax_16P0_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [MinMax] >>> ***/
@@ -130,13 +64,13 @@
asn_TYPE_descriptor_t asn_DEF_MinMax_16P0 = {
"MinMax",
"MinMax",
- MinMax_16P0_free,
- MinMax_16P0_print,
+ INTEGER_free,
+ INTEGER_print,
MinMax_16P0_constraint,
- MinMax_16P0_decode_ber,
- MinMax_16P0_encode_der,
- MinMax_16P0_decode_xer,
- MinMax_16P0_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -209,72 +143,6 @@
* This type is implemented using MinMax_16P0,
* so here we adjust the DEF accordingly.
*/
-static void
-ThreePlus_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_MinMax_16P0.free_struct;
- td->print_struct = asn_DEF_MinMax_16P0.print_struct;
- td->check_constraints = asn_DEF_MinMax_16P0.check_constraints;
- td->ber_decoder = asn_DEF_MinMax_16P0.ber_decoder;
- td->der_encoder = asn_DEF_MinMax_16P0.der_encoder;
- td->xer_decoder = asn_DEF_MinMax_16P0.xer_decoder;
- td->xer_encoder = asn_DEF_MinMax_16P0.xer_encoder;
- td->uper_decoder = asn_DEF_MinMax_16P0.uper_decoder;
- td->uper_encoder = asn_DEF_MinMax_16P0.uper_encoder;
- td->oer_decoder = asn_DEF_MinMax_16P0.oer_decoder;
- td->oer_encoder = asn_DEF_MinMax_16P0.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_MinMax_16P0.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_MinMax_16P0.per_constraints;
- td->elements = asn_DEF_MinMax_16P0.elements;
- td->elements_count = asn_DEF_MinMax_16P0.elements_count;
- td->specifics = asn_DEF_MinMax_16P0.specifics;
-}
-
-void
-ThreePlus_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- ThreePlus_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-ThreePlus_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- ThreePlus_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-ThreePlus_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- ThreePlus_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-ThreePlus_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- ThreePlus_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-ThreePlus_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- ThreePlus_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-ThreePlus_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- ThreePlus_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [ThreePlus] >>> ***/
@@ -284,13 +152,13 @@
asn_TYPE_descriptor_t asn_DEF_ThreePlus = {
"ThreePlus",
"ThreePlus",
- ThreePlus_free,
- ThreePlus_print,
+ INTEGER_free,
+ INTEGER_print,
ThreePlus_constraint,
- ThreePlus_decode_ber,
- ThreePlus_encode_der,
- ThreePlus_decode_xer,
- ThreePlus_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
diff --git a/tests/110-param-3-OK.asn1.-Pfwide-types b/tests/110-param-3-OK.asn1.-Pfwide-types
index 5c26d8d..d8258ff 100644
--- a/tests/110-param-3-OK.asn1.-Pfwide-types
+++ b/tests/110-param-3-OK.asn1.-Pfwide-types
@@ -36,89 +36,19 @@
/*** <<< FUNC-DECLS [Flag] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Flag_16P0;
+extern asn_SEQUENCE_specifics_t asn_SPC_Flag_16P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_Flag_16P0_1[1];
/* extern asn_TYPE_descriptor_t asn_DEF_field_7; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_Flag_16P1;
+extern asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6;
+extern asn_TYPE_member_t asn_MBR_Flag_16P1_6[1];
/*** <<< CODE [Flag] >>> ***/
-static int
-field_7_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-field_7_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-static void
-field_7_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- field_7_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-static int
-field_7_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- field_7_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-static asn_dec_rval_t
-field_7_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- field_7_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-static asn_enc_rval_t
-field_7_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- field_7_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-static asn_dec_rval_t
-field_7_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- field_7_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-static asn_enc_rval_t
-field_7_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- field_7_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Flag] >>> ***/
@@ -142,7 +72,7 @@
return (value == 5);
}
}
-static asn_TYPE_member_t asn_MBR_Flag_16P0_1[] = {
+asn_TYPE_member_t asn_MBR_Flag_16P0_1[] = {
{ ATF_POINTER, 1, offsetof(struct Flag_16P0, field),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@@ -160,7 +90,7 @@
static const asn_TYPE_tag2member_t asn_MAP_Flag_16P0_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* field */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Flag_16P0_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Flag_16P0_specs_1 = {
sizeof(struct Flag_16P0),
offsetof(struct Flag_16P0, _asn_ctx),
asn_MAP_Flag_16P0_tag2el_1,
@@ -225,7 +155,7 @@
1, /* green(4) */
0 /* red(3) */
};
-static asn_INTEGER_specifics_t asn_SPC_field_specs_7 = {
+static const asn_INTEGER_specifics_t asn_SPC_field_specs_7 = {
asn_MAP_field_value2enum_7, /* "tag" => N; sorted by tag */
asn_MAP_field_enum2value_7, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
@@ -241,13 +171,13 @@
asn_TYPE_descriptor_t asn_DEF_field_7 = {
"field",
"field",
- field_7_free,
- field_7_print,
- field_7_constraint,
- field_7_decode_ber,
- field_7_encode_der,
- field_7_decode_xer,
- field_7_encode_xer,
+ 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 */
@@ -263,7 +193,7 @@
&asn_SPC_field_specs_7 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Flag_16P1_6[] = {
+asn_TYPE_member_t asn_MBR_Flag_16P1_6[] = {
{ ATF_POINTER, 1, offsetof(struct Flag_16P1, field),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
@@ -281,7 +211,7 @@
static const asn_TYPE_tag2member_t asn_MAP_Flag_16P1_tag2el_6[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* field */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6 = {
+asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6 = {
sizeof(struct Flag_16P1),
offsetof(struct Flag_16P1, _asn_ctx),
asn_MAP_Flag_16P1_tag2el_6,
@@ -338,84 +268,10 @@
/*** <<< CODE [IntegerColorFlag] >>> ***/
-int
-IntegerColorFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Flag_16P0.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Flag_16P0,
* so here we adjust the DEF accordingly.
*/
-static void
-IntegerColorFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Flag_16P0.free_struct;
- td->print_struct = asn_DEF_Flag_16P0.print_struct;
- td->check_constraints = asn_DEF_Flag_16P0.check_constraints;
- td->ber_decoder = asn_DEF_Flag_16P0.ber_decoder;
- td->der_encoder = asn_DEF_Flag_16P0.der_encoder;
- td->xer_decoder = asn_DEF_Flag_16P0.xer_decoder;
- td->xer_encoder = asn_DEF_Flag_16P0.xer_encoder;
- td->uper_decoder = asn_DEF_Flag_16P0.uper_decoder;
- td->uper_encoder = asn_DEF_Flag_16P0.uper_encoder;
- td->oer_decoder = asn_DEF_Flag_16P0.oer_decoder;
- td->oer_encoder = asn_DEF_Flag_16P0.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Flag_16P0.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Flag_16P0.per_constraints;
- td->elements = asn_DEF_Flag_16P0.elements;
- td->elements_count = asn_DEF_Flag_16P0.elements_count;
- td->specifics = asn_DEF_Flag_16P0.specifics;
-}
-
-void
-IntegerColorFlag_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- IntegerColorFlag_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-IntegerColorFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- IntegerColorFlag_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-IntegerColorFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- IntegerColorFlag_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-IntegerColorFlag_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- IntegerColorFlag_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-IntegerColorFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- IntegerColorFlag_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-IntegerColorFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- IntegerColorFlag_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [IntegerColorFlag] >>> ***/
@@ -425,13 +281,13 @@
asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag = {
"IntegerColorFlag",
"IntegerColorFlag",
- IntegerColorFlag_free,
- IntegerColorFlag_print,
- IntegerColorFlag_constraint,
- IntegerColorFlag_decode_ber,
- IntegerColorFlag_encode_der,
- IntegerColorFlag_decode_xer,
- IntegerColorFlag_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -443,8 +299,9 @@
/sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Flag_16P0_1,
+ 1, /* Elements count */
+ &asn_SPC_Flag_16P0_specs_1 /* Additional specs */
};
@@ -469,84 +326,10 @@
/*** <<< CODE [EnumeratedColorFlag] >>> ***/
-int
-EnumeratedColorFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Flag_16P1.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Flag_16P1,
* so here we adjust the DEF accordingly.
*/
-static void
-EnumeratedColorFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Flag_16P1.free_struct;
- td->print_struct = asn_DEF_Flag_16P1.print_struct;
- td->check_constraints = asn_DEF_Flag_16P1.check_constraints;
- td->ber_decoder = asn_DEF_Flag_16P1.ber_decoder;
- td->der_encoder = asn_DEF_Flag_16P1.der_encoder;
- td->xer_decoder = asn_DEF_Flag_16P1.xer_decoder;
- td->xer_encoder = asn_DEF_Flag_16P1.xer_encoder;
- td->uper_decoder = asn_DEF_Flag_16P1.uper_decoder;
- td->uper_encoder = asn_DEF_Flag_16P1.uper_encoder;
- td->oer_decoder = asn_DEF_Flag_16P1.oer_decoder;
- td->oer_encoder = asn_DEF_Flag_16P1.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Flag_16P1.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Flag_16P1.per_constraints;
- td->elements = asn_DEF_Flag_16P1.elements;
- td->elements_count = asn_DEF_Flag_16P1.elements_count;
- td->specifics = asn_DEF_Flag_16P1.specifics;
-}
-
-void
-EnumeratedColorFlag_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-EnumeratedColorFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-EnumeratedColorFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-EnumeratedColorFlag_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-EnumeratedColorFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-EnumeratedColorFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [EnumeratedColorFlag] >>> ***/
@@ -556,13 +339,13 @@
asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag = {
"EnumeratedColorFlag",
"EnumeratedColorFlag",
- EnumeratedColorFlag_free,
- EnumeratedColorFlag_print,
- EnumeratedColorFlag_constraint,
- EnumeratedColorFlag_decode_ber,
- EnumeratedColorFlag_encode_der,
- EnumeratedColorFlag_decode_xer,
- EnumeratedColorFlag_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -574,7 +357,8 @@
/sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Flag_16P1_6,
+ 1, /* Elements count */
+ &asn_SPC_Flag_16P1_specs_6 /* Additional specs */
};
diff --git a/tests/119-per-strings-OK.asn1.-Pgen-PER b/tests/119-per-strings-OK.asn1.-Pgen-PER
index 650f9f5..2b85cd6 100644
--- a/tests/119-per-strings-OK.asn1.-Pgen-PER
+++ b/tests/119-per-strings-OK.asn1.-Pgen-PER
@@ -65,6 +65,8 @@
/*** <<< FUNC-DECLS [PDU] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_PDU;
+extern asn_SEQUENCE_specifics_t asn_SPC_PDU_specs_1;
+extern asn_TYPE_member_t asn_MBR_PDU_1[31];
/*** <<< POST-INCLUDE [PDU] >>> ***/
@@ -1230,7 +1232,7 @@
&asn_SPC_many_specs_2 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_PDU_1[] = {
+asn_TYPE_member_t asn_MBR_PDU_1[] = {
{ ATF_POINTER, 31, offsetof(struct PDU, many),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = 0,
@@ -1579,7 +1581,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (29 << 2)), 29, 0, 0 }, /* real */
{ (ASN_TAG_CLASS_CONTEXT | (30 << 2)), 30, 0, 0 } /* oid */
};
-static asn_SEQUENCE_specifics_t asn_SPC_PDU_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_PDU_specs_1 = {
sizeof(struct PDU),
offsetof(struct PDU, _asn_ctx),
asn_MAP_PDU_tag2el_1,
diff --git a/tests/125-bitstring-constraint-OK.asn1.-P b/tests/125-bitstring-constraint-OK.asn1.-P
index 930b110..2a9b2df 100644
--- a/tests/125-bitstring-constraint-OK.asn1.-P
+++ b/tests/125-bitstring-constraint-OK.asn1.-P
@@ -55,72 +55,6 @@
* This type is implemented using BIT_STRING,
* so here we adjust the DEF accordingly.
*/
-static void
-T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_BIT_STRING.free_struct;
- td->print_struct = asn_DEF_BIT_STRING.print_struct;
- td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
- td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
- td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
- td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
- td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
- td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
- td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
- td->oer_decoder = asn_DEF_BIT_STRING.oer_decoder;
- td->oer_encoder = asn_DEF_BIT_STRING.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_BIT_STRING.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
- td->elements = asn_DEF_BIT_STRING.elements;
- td->elements_count = asn_DEF_BIT_STRING.elements_count;
- td->specifics = asn_DEF_BIT_STRING.specifics;
-}
-
-void
-T_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T] >>> ***/
@@ -130,13 +64,13 @@
asn_TYPE_descriptor_t asn_DEF_T = {
"T",
"T",
- T_free,
- T_print,
+ BIT_STRING_free,
+ BIT_STRING_print,
T_constraint,
- T_decode_ber,
- T_encode_der,
- T_decode_xer,
- T_encode_xer,
+ BIT_STRING_decode_ber,
+ BIT_STRING_encode_der,
+ BIT_STRING_decode_xer,
+ BIT_STRING_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 */
@@ -149,6 +83,6 @@
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ &asn_SPC_BIT_STRING_specs /* Additional specs */
};
diff --git a/tests/126-per-extensions-OK.asn1.-Pgen-PER b/tests/126-per-extensions-OK.asn1.-Pgen-PER
index abfaeb3..ad0ac8e 100644
--- a/tests/126-per-extensions-OK.asn1.-Pgen-PER
+++ b/tests/126-per-extensions-OK.asn1.-Pgen-PER
@@ -143,6 +143,8 @@
/*** <<< FUNC-DECLS [Singleton] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Singleton;
+extern asn_SEQUENCE_specifics_t asn_SPC_Singleton_specs_1;
+extern asn_TYPE_member_t asn_MBR_Singleton_1[1];
/*** <<< STAT-DEFS [Singleton] >>> ***/
@@ -172,7 +174,7 @@
}
}
-static asn_TYPE_member_t asn_MBR_Singleton_1[] = {
+asn_TYPE_member_t asn_MBR_Singleton_1[] = {
{ ATF_POINTER, 1, offsetof(struct Singleton, opt_z),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -191,7 +193,7 @@
static const asn_TYPE_tag2member_t asn_MAP_Singleton_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* opt-z */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Singleton_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Singleton_specs_1 = {
sizeof(struct Singleton),
offsetof(struct Singleton, _asn_ctx),
asn_MAP_Singleton_tag2el_1,
@@ -265,10 +267,13 @@
/*** <<< FUNC-DECLS [PDU-2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_PDU_2;
+extern asn_CHOICE_specifics_t asn_SPC_PDU_2_specs_1;
+extern asn_TYPE_member_t asn_MBR_PDU_2_1[3];
+extern asn_per_constraints_t asn_PER_type_PDU_2_constr_1;
/*** <<< CTDEFS [PDU-2] >>> ***/
-static asn_per_constraints_t asn_PER_type_PDU_2_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_PDU_2_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
@@ -276,7 +281,7 @@
/*** <<< STAT-DEFS [PDU-2] >>> ***/
-static asn_TYPE_member_t asn_MBR_PDU_2_1[] = {
+asn_TYPE_member_t asn_MBR_PDU_2_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct PDU_2, choice.main),
.tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -314,7 +319,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ext1 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* main */
};
-static asn_CHOICE_specifics_t asn_SPC_PDU_2_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_PDU_2_specs_1 = {
sizeof(struct PDU_2),
offsetof(struct PDU_2, _asn_ctx),
offsetof(struct PDU_2, present),
diff --git a/tests/127-per-long-OK.asn1.-Pgen-PER b/tests/127-per-long-OK.asn1.-Pgen-PER
index 8334d94..f9d3c80 100644
--- a/tests/127-per-long-OK.asn1.-Pgen-PER
+++ b/tests/127-per-long-OK.asn1.-Pgen-PER
@@ -44,87 +44,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-unsigned32_4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-static void
-unsigned32_4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- unsigned32_4_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-static int
-unsigned32_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- unsigned32_4_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-static asn_dec_rval_t
-unsigned32_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- unsigned32_4_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-static asn_enc_rval_t
-unsigned32_4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- unsigned32_4_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-static asn_dec_rval_t
-unsigned32_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- unsigned32_4_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-static asn_enc_rval_t
-unsigned32_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- unsigned32_4_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-static asn_dec_rval_t
-unsigned32_4_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- unsigned32_4_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-static asn_enc_rval_t
-unsigned32_4_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- unsigned32_4_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
static int
unsplit32_5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
@@ -154,87 +73,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-unsplit32_5_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-static void
-unsplit32_5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- unsplit32_5_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-static int
-unsplit32_5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- unsplit32_5_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-static asn_dec_rval_t
-unsplit32_5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- unsplit32_5_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-static asn_enc_rval_t
-unsplit32_5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- unsplit32_5_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-static asn_dec_rval_t
-unsplit32_5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- unsplit32_5_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-static asn_enc_rval_t
-unsplit32_5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- unsplit32_5_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-static asn_dec_rval_t
-unsplit32_5_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- unsplit32_5_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-static asn_enc_rval_t
-unsplit32_5_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- unsplit32_5_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
static int
memb_small32range_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
@@ -362,7 +200,7 @@
/*** <<< STAT-DEFS [T] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_unsigned32_specs_4 = {
+static const asn_INTEGER_specifics_t asn_SPC_unsigned32_specs_4 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -375,16 +213,16 @@
asn_TYPE_descriptor_t asn_DEF_unsigned32_4 = {
"unsigned32",
"unsigned32",
- unsigned32_4_free,
- unsigned32_4_print,
+ NativeInteger_free,
+ NativeInteger_print,
unsigned32_4_constraint,
- unsigned32_4_decode_ber,
- unsigned32_4_encode_der,
- unsigned32_4_decode_xer,
- unsigned32_4_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- unsigned32_4_decode_uper,
- unsigned32_4_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_unsigned32_tags_4,
sizeof(asn_DEF_unsigned32_tags_4)
@@ -398,7 +236,7 @@
&asn_SPC_unsigned32_specs_4 /* Additional specs */
};
-static asn_INTEGER_specifics_t asn_SPC_unsplit32_specs_5 = {
+static const asn_INTEGER_specifics_t asn_SPC_unsplit32_specs_5 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -411,16 +249,16 @@
asn_TYPE_descriptor_t asn_DEF_unsplit32_5 = {
"unsplit32",
"unsplit32",
- unsplit32_5_free,
- unsplit32_5_print,
+ NativeInteger_free,
+ NativeInteger_print,
unsplit32_5_constraint,
- unsplit32_5_decode_ber,
- unsplit32_5_encode_der,
- unsplit32_5_decode_xer,
- unsplit32_5_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- unsplit32_5_decode_uper,
- unsplit32_5_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_unsplit32_tags_5,
sizeof(asn_DEF_unsplit32_tags_5)
diff --git a/tests/138-oer-constraints-OK.asn1.-Pgen-OER b/tests/138-oer-constraints-OK.asn1.-Pgen-OER
index 0dcf873..a633a8c 100644
--- a/tests/138-oer-constraints-OK.asn1.-Pgen-OER
+++ b/tests/138-oer-constraints-OK.asn1.-Pgen-OER
@@ -22,99 +22,10 @@
/*** <<< CODE [A-noc] >>> ***/
-int
-A_noc_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-A_noc_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-A_noc_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- A_noc_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-A_noc_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- A_noc_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-A_noc_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- A_noc_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-A_noc_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- A_noc_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-A_noc_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- A_noc_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-A_noc_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- A_noc_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-A_noc_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- A_noc_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-A_noc_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- A_noc_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< STAT-DEFS [A-noc] >>> ***/
@@ -124,15 +35,15 @@
asn_TYPE_descriptor_t asn_DEF_A_noc = {
"A-noc",
"A-noc",
- A_noc_free,
- A_noc_print,
- A_noc_constraint,
- A_noc_decode_ber,
- A_noc_encode_der,
- A_noc_decode_xer,
- A_noc_encode_xer,
- A_noc_decode_oer,
- A_noc_encode_oer,
+ NativeInteger_free,
+ NativeInteger_print,
+ NativeInteger_constraint,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_A_noc_tags_1,
@@ -200,87 +111,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-B_0_0_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-B_0_0_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- B_0_0_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-B_0_0_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- B_0_0_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-B_0_0_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- B_0_0_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-B_0_0_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- B_0_0_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-B_0_0_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- B_0_0_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-B_0_0_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- B_0_0_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-B_0_0_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- B_0_0_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-B_0_0_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- B_0_0_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [B-0-0] >>> ***/
@@ -296,15 +126,15 @@
asn_TYPE_descriptor_t asn_DEF_B_0_0 = {
"B-0-0",
"B-0-0",
- B_0_0_free,
- B_0_0_print,
+ NativeInteger_free,
+ NativeInteger_print,
B_0_0_constraint,
- B_0_0_decode_ber,
- B_0_0_encode_der,
- B_0_0_decode_xer,
- B_0_0_encode_xer,
- B_0_0_decode_oer,
- B_0_0_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_B_0_0_tags_1,
@@ -372,87 +202,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-C_1_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-C_1_2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- C_1_2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-C_1_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- C_1_2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-C_1_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- C_1_2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-C_1_2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- C_1_2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-C_1_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- C_1_2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-C_1_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- C_1_2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-C_1_2_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- C_1_2_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-C_1_2_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- C_1_2_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [C-1-2] >>> ***/
@@ -468,15 +217,15 @@
asn_TYPE_descriptor_t asn_DEF_C_1_2 = {
"C-1-2",
"C-1-2",
- C_1_2_free,
- C_1_2_print,
+ NativeInteger_free,
+ NativeInteger_print,
C_1_2_constraint,
- C_1_2_decode_ber,
- C_1_2_encode_der,
- C_1_2_decode_xer,
- C_1_2_encode_xer,
- C_1_2_decode_oer,
- C_1_2_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_C_1_2_tags_1,
@@ -544,87 +293,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-D_inv_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-D_inv_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- D_inv_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-D_inv_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- D_inv_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-D_inv_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- D_inv_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-D_inv_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- D_inv_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-D_inv_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- D_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-D_inv_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- D_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-D_inv_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- D_inv_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-D_inv_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- D_inv_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [D-inv] >>> ***/
@@ -640,15 +308,15 @@
asn_TYPE_descriptor_t asn_DEF_D_inv = {
"D-inv",
"D-inv",
- D_inv_free,
- D_inv_print,
+ NativeInteger_free,
+ NativeInteger_print,
D_inv_constraint,
- D_inv_decode_ber,
- D_inv_encode_der,
- D_inv_decode_xer,
- D_inv_encode_xer,
- D_inv_decode_oer,
- D_inv_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_D_inv_tags_1,
@@ -716,87 +384,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-E_2_5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-E_2_5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- E_2_5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-E_2_5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- E_2_5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-E_2_5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- E_2_5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-E_2_5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- E_2_5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-E_2_5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- E_2_5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-E_2_5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- E_2_5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-E_2_5_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- E_2_5_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-E_2_5_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- E_2_5_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [E-2-5] >>> ***/
@@ -812,15 +399,15 @@
asn_TYPE_descriptor_t asn_DEF_E_2_5 = {
"E-2-5",
"E-2-5",
- E_2_5_free,
- E_2_5_print,
+ NativeInteger_free,
+ NativeInteger_print,
E_2_5_constraint,
- E_2_5_decode_ber,
- E_2_5_encode_der,
- E_2_5_decode_xer,
- E_2_5_encode_xer,
- E_2_5_decode_oer,
- E_2_5_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_E_2_5_tags_1,
@@ -888,87 +475,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-F_inv_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-F_inv_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- F_inv_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-F_inv_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- F_inv_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-F_inv_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- F_inv_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-F_inv_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- F_inv_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-F_inv_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- F_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-F_inv_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- F_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-F_inv_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- F_inv_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-F_inv_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- F_inv_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [F-inv] >>> ***/
@@ -984,15 +490,15 @@
asn_TYPE_descriptor_t asn_DEF_F_inv = {
"F-inv",
"F-inv",
- F_inv_free,
- F_inv_print,
+ NativeInteger_free,
+ NativeInteger_print,
F_inv_constraint,
- F_inv_decode_ber,
- F_inv_encode_der,
- F_inv_decode_xer,
- F_inv_encode_xer,
- F_inv_decode_oer,
- F_inv_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_F_inv_tags_1,
@@ -1060,87 +566,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-G_3_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-G_3_3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- G_3_3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-G_3_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- G_3_3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-G_3_3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- G_3_3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-G_3_3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- G_3_3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-G_3_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- G_3_3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-G_3_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- G_3_3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-G_3_3_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- G_3_3_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-G_3_3_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- G_3_3_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [G-3-3] >>> ***/
@@ -1156,15 +581,15 @@
asn_TYPE_descriptor_t asn_DEF_G_3_3 = {
"G-3-3",
"G-3-3",
- G_3_3_free,
- G_3_3_print,
+ NativeInteger_free,
+ NativeInteger_print,
G_3_3_constraint,
- G_3_3_decode_ber,
- G_3_3_encode_der,
- G_3_3_decode_xer,
- G_3_3_encode_xer,
- G_3_3_decode_oer,
- G_3_3_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_G_3_3_tags_1,
@@ -1232,87 +657,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-H_4_5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-H_4_5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- H_4_5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-H_4_5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- H_4_5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-H_4_5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- H_4_5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-H_4_5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- H_4_5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-H_4_5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- H_4_5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-H_4_5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- H_4_5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-H_4_5_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- H_4_5_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-H_4_5_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- H_4_5_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [H-4-5] >>> ***/
@@ -1328,15 +672,15 @@
asn_TYPE_descriptor_t asn_DEF_H_4_5 = {
"H-4-5",
"H-4-5",
- H_4_5_free,
- H_4_5_print,
+ NativeInteger_free,
+ NativeInteger_print,
H_4_5_constraint,
- H_4_5_decode_ber,
- H_4_5_encode_der,
- H_4_5_decode_xer,
- H_4_5_encode_xer,
- H_4_5_decode_oer,
- H_4_5_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_H_4_5_tags_1,
@@ -1404,87 +748,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-I_0_5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-I_0_5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- I_0_5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-I_0_5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- I_0_5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-I_0_5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- I_0_5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-I_0_5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- I_0_5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-I_0_5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- I_0_5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-I_0_5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- I_0_5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-I_0_5_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- I_0_5_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-I_0_5_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- I_0_5_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [I-0-5] >>> ***/
@@ -1500,15 +763,15 @@
asn_TYPE_descriptor_t asn_DEF_I_0_5 = {
"I-0-5",
"I-0-5",
- I_0_5_free,
- I_0_5_print,
+ NativeInteger_free,
+ NativeInteger_print,
I_0_5_constraint,
- I_0_5_decode_ber,
- I_0_5_encode_der,
- I_0_5_decode_xer,
- I_0_5_encode_xer,
- I_0_5_decode_oer,
- I_0_5_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_I_0_5_tags_1,
@@ -1576,87 +839,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-J_4_9_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-J_4_9_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- J_4_9_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-J_4_9_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- J_4_9_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-J_4_9_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- J_4_9_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-J_4_9_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- J_4_9_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-J_4_9_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- J_4_9_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-J_4_9_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- J_4_9_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-J_4_9_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- J_4_9_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-J_4_9_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- J_4_9_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [J-4-9] >>> ***/
@@ -1672,15 +854,15 @@
asn_TYPE_descriptor_t asn_DEF_J_4_9 = {
"J-4-9",
"J-4-9",
- J_4_9_free,
- J_4_9_print,
+ NativeInteger_free,
+ NativeInteger_print,
J_4_9_constraint,
- J_4_9_decode_ber,
- J_4_9_encode_der,
- J_4_9_decode_xer,
- J_4_9_encode_xer,
- J_4_9_decode_oer,
- J_4_9_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_J_4_9_tags_1,
@@ -1748,87 +930,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-K_inv_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-K_inv_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- K_inv_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-K_inv_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- K_inv_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-K_inv_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- K_inv_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-K_inv_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- K_inv_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-K_inv_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- K_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-K_inv_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- K_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-K_inv_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- K_inv_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-K_inv_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- K_inv_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [K-inv] >>> ***/
@@ -1844,15 +945,15 @@
asn_TYPE_descriptor_t asn_DEF_K_inv = {
"K-inv",
"K-inv",
- K_inv_free,
- K_inv_print,
+ NativeInteger_free,
+ NativeInteger_print,
K_inv_constraint,
- K_inv_decode_ber,
- K_inv_encode_der,
- K_inv_decode_xer,
- K_inv_encode_xer,
- K_inv_decode_oer,
- K_inv_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_K_inv_tags_1,
@@ -1920,87 +1021,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-L_0_5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-L_0_5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- L_0_5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-L_0_5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- L_0_5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-L_0_5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- L_0_5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-L_0_5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- L_0_5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-L_0_5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- L_0_5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-L_0_5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- L_0_5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-L_0_5_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- L_0_5_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-L_0_5_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- L_0_5_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [L-0-5] >>> ***/
@@ -2016,15 +1036,15 @@
asn_TYPE_descriptor_t asn_DEF_L_0_5 = {
"L-0-5",
"L-0-5",
- L_0_5_free,
- L_0_5_print,
+ NativeInteger_free,
+ NativeInteger_print,
L_0_5_constraint,
- L_0_5_decode_ber,
- L_0_5_encode_der,
- L_0_5_decode_xer,
- L_0_5_encode_xer,
- L_0_5_decode_oer,
- L_0_5_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_L_0_5_tags_1,
@@ -2092,87 +1112,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-M_inv_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-M_inv_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- M_inv_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-M_inv_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- M_inv_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-M_inv_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- M_inv_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-M_inv_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- M_inv_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-M_inv_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- M_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-M_inv_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- M_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-M_inv_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- M_inv_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-M_inv_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- M_inv_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [M-inv] >>> ***/
@@ -2188,15 +1127,15 @@
asn_TYPE_descriptor_t asn_DEF_M_inv = {
"M-inv",
"M-inv",
- M_inv_free,
- M_inv_print,
+ NativeInteger_free,
+ NativeInteger_print,
M_inv_constraint,
- M_inv_decode_ber,
- M_inv_encode_der,
- M_inv_decode_xer,
- M_inv_encode_xer,
- M_inv_decode_oer,
- M_inv_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_M_inv_tags_1,
@@ -2264,87 +1203,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-N_inv_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-N_inv_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- N_inv_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-N_inv_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- N_inv_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-N_inv_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- N_inv_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-N_inv_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- N_inv_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-N_inv_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- N_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-N_inv_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- N_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-N_inv_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- N_inv_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-N_inv_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- N_inv_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [N-inv] >>> ***/
@@ -2360,15 +1218,15 @@
asn_TYPE_descriptor_t asn_DEF_N_inv = {
"N-inv",
"N-inv",
- N_inv_free,
- N_inv_print,
+ NativeInteger_free,
+ NativeInteger_print,
N_inv_constraint,
- N_inv_decode_ber,
- N_inv_encode_der,
- N_inv_decode_xer,
- N_inv_encode_xer,
- N_inv_decode_oer,
- N_inv_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_N_inv_tags_1,
@@ -2436,87 +1294,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-O_inv_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-O_inv_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- O_inv_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-O_inv_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- O_inv_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-O_inv_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- O_inv_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-O_inv_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- O_inv_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-O_inv_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- O_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-O_inv_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- O_inv_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-O_inv_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints, void **structure, const void *buffer, size_t size) {
- O_inv_1_inherit_TYPE_descriptor(td);
- return td->oer_decoder(opt_codec_ctx, td, constraints, structure, buffer, size);
-}
-
-asn_enc_rval_t
-O_inv_encode_oer(asn_TYPE_descriptor_t *td,
- asn_oer_constraints_t *constraints,
- void *structure, asn_app_consume_bytes_f *cb, void *app_key) {
- O_inv_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, cb, app_key);
-}
-
/*** <<< CTDEFS [O-inv] >>> ***/
@@ -2532,15 +1309,15 @@
asn_TYPE_descriptor_t asn_DEF_O_inv = {
"O-inv",
"O-inv",
- O_inv_free,
- O_inv_print,
+ NativeInteger_free,
+ NativeInteger_print,
O_inv_constraint,
- O_inv_decode_ber,
- O_inv_encode_der,
- O_inv_decode_xer,
- O_inv_encode_xer,
- O_inv_decode_oer,
- O_inv_encode_oer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
+ NativeInteger_decode_oer,
+ NativeInteger_encode_oer,
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_O_inv_tags_1,
diff --git a/tests/19-param-OK.asn1.-Pfwide-types b/tests/19-param-OK.asn1.-Pfwide-types
index 6fbda3d..1268ffc 100644
--- a/tests/19-param-OK.asn1.-Pfwide-types
+++ b/tests/19-param-OK.asn1.-Pfwide-types
@@ -28,6 +28,8 @@
/*** <<< FUNC-DECLS [SIGNED] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SIGNED_15P0;
+extern asn_SEQUENCE_specifics_t asn_SPC_SIGNED_15P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_SIGNED_15P0_1[3];
/*** <<< CODE [SIGNED] >>> ***/
@@ -141,7 +143,7 @@
&asn_SPC_toBeSigned_specs_2 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_SIGNED_15P0_1[] = {
+asn_TYPE_member_t asn_MBR_SIGNED_15P0_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct SIGNED_15P0, toBeSigned),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@@ -181,7 +183,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 1, 0, 0 }, /* algorithm */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* toBeSigned */
};
-static asn_SEQUENCE_specifics_t asn_SPC_SIGNED_15P0_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_SIGNED_15P0_specs_1 = {
sizeof(struct SIGNED_15P0),
offsetof(struct SIGNED_15P0, _asn_ctx),
asn_MAP_SIGNED_15P0_tag2el_1,
@@ -238,84 +240,10 @@
/*** <<< CODE [Certificate] >>> ***/
-int
-Certificate_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_SIGNED_15P0.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using SIGNED_15P0,
* so here we adjust the DEF accordingly.
*/
-static void
-Certificate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_SIGNED_15P0.free_struct;
- td->print_struct = asn_DEF_SIGNED_15P0.print_struct;
- td->check_constraints = asn_DEF_SIGNED_15P0.check_constraints;
- td->ber_decoder = asn_DEF_SIGNED_15P0.ber_decoder;
- td->der_encoder = asn_DEF_SIGNED_15P0.der_encoder;
- td->xer_decoder = asn_DEF_SIGNED_15P0.xer_decoder;
- td->xer_encoder = asn_DEF_SIGNED_15P0.xer_encoder;
- td->uper_decoder = asn_DEF_SIGNED_15P0.uper_decoder;
- td->uper_encoder = asn_DEF_SIGNED_15P0.uper_encoder;
- td->oer_decoder = asn_DEF_SIGNED_15P0.oer_decoder;
- td->oer_encoder = asn_DEF_SIGNED_15P0.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_SIGNED_15P0.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_SIGNED_15P0.per_constraints;
- td->elements = asn_DEF_SIGNED_15P0.elements;
- td->elements_count = asn_DEF_SIGNED_15P0.elements_count;
- td->specifics = asn_DEF_SIGNED_15P0.specifics;
-}
-
-void
-Certificate_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Certificate_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Certificate_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Certificate_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Certificate_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Certificate_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Certificate_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Certificate_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Certificate_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Certificate_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Certificate_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Certificate_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Certificate] >>> ***/
@@ -325,13 +253,13 @@
asn_TYPE_descriptor_t asn_DEF_Certificate = {
"Certificate",
"Certificate",
- Certificate_free,
- Certificate_print,
- Certificate_constraint,
- Certificate_decode_ber,
- Certificate_encode_der,
- Certificate_decode_xer,
- Certificate_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -343,8 +271,9 @@
/sizeof(asn_DEF_Certificate_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_SIGNED_15P0_1,
+ 3, /* Elements count */
+ &asn_SPC_SIGNED_15P0_specs_1 /* Additional specs */
};
@@ -369,6 +298,8 @@
/*** <<< FUNC-DECLS [Name] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Name;
+extern asn_SET_OF_specifics_t asn_SPC_Name_specs_1;
+extern asn_TYPE_member_t asn_MBR_Name_1[1];
/*** <<< POST-INCLUDE [Name] >>> ***/
@@ -376,7 +307,7 @@
/*** <<< STAT-DEFS [Name] >>> ***/
-static asn_TYPE_member_t asn_MBR_Name_1[] = {
+asn_TYPE_member_t asn_MBR_Name_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@@ -391,7 +322,7 @@
static const ber_tlv_tag_t asn_DEF_Name_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_Name_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_Name_specs_1 = {
sizeof(struct Name),
offsetof(struct Name, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@@ -441,6 +372,8 @@
/*** <<< FUNC-DECLS [RelativeDistinguishedName] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_RelativeDistinguishedName;
+extern asn_SET_OF_specifics_t asn_SPC_RelativeDistinguishedName_specs_1;
+extern asn_TYPE_member_t asn_MBR_RelativeDistinguishedName_1[1];
/*** <<< CTABLES [RelativeDistinguishedName] >>> ***/
@@ -499,7 +432,7 @@
/*** <<< STAT-DEFS [RelativeDistinguishedName] >>> ***/
-static asn_TYPE_member_t asn_MBR_RelativeDistinguishedName_1[] = {
+asn_TYPE_member_t asn_MBR_RelativeDistinguishedName_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
.tag_mode = 0,
@@ -514,7 +447,7 @@
static const ber_tlv_tag_t asn_DEF_RelativeDistinguishedName_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_RelativeDistinguishedName_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_RelativeDistinguishedName_specs_1 = {
sizeof(struct RelativeDistinguishedName),
offsetof(struct RelativeDistinguishedName, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
diff --git a/tests/30-set-OK.asn1.-Pfwide-types b/tests/30-set-OK.asn1.-Pfwide-types
index 665baa9..991bbba 100644
--- a/tests/30-set-OK.asn1.-Pfwide-types
+++ b/tests/30-set-OK.asn1.-Pfwide-types
@@ -86,7 +86,8 @@
static const uint8_t asn_MAP_T_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (1 << 6) | (0 << 5)
};
-static asn_SET_specifics_t asn_SPC_T_specs_1 = {
+static
+asn_SET_specifics_t asn_SPC_T_specs_1 = {
sizeof(struct T),
offsetof(struct T, _asn_ctx),
offsetof(struct T, _presence_map),
diff --git a/tests/31-set-of-OK.asn1.-Pfwide-types b/tests/31-set-of-OK.asn1.-Pfwide-types
index b6f81ca..0d25dac 100644
--- a/tests/31-set-of-OK.asn1.-Pfwide-types
+++ b/tests/31-set-of-OK.asn1.-Pfwide-types
@@ -20,6 +20,8 @@
/*** <<< FUNC-DECLS [Forest] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Forest;
+extern asn_SET_OF_specifics_t asn_SPC_Forest_specs_1;
+extern asn_TYPE_member_t asn_MBR_Forest_1[1];
/*** <<< POST-INCLUDE [Forest] >>> ***/
@@ -27,7 +29,7 @@
/*** <<< STAT-DEFS [Forest] >>> ***/
-static asn_TYPE_member_t asn_MBR_Forest_1[] = {
+asn_TYPE_member_t asn_MBR_Forest_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@@ -42,7 +44,7 @@
static const ber_tlv_tag_t asn_DEF_Forest_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_Forest_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_Forest_specs_1 = {
sizeof(struct Forest),
offsetof(struct Forest, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@@ -92,10 +94,12 @@
/*** <<< FUNC-DECLS [Tree] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Tree;
+extern asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1;
+extern asn_TYPE_member_t asn_MBR_Tree_1[2];
/*** <<< STAT-DEFS [Tree] >>> ***/
-static asn_TYPE_member_t asn_MBR_Tree_1[] = {
+asn_TYPE_member_t asn_MBR_Tree_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Tree, height),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@@ -124,7 +128,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1 = {
sizeof(struct Tree),
offsetof(struct Tree, _asn_ctx),
asn_MAP_Tree_tag2el_1,
@@ -512,7 +516,8 @@
static const uint8_t asn_MAP_Stuff_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(0 << 7) | (0 << 6) | (0 << 5)
};
-static asn_SET_specifics_t asn_SPC_Stuff_specs_1 = {
+static
+asn_SET_specifics_t asn_SPC_Stuff_specs_1 = {
sizeof(struct Stuff),
offsetof(struct Stuff, _asn_ctx),
offsetof(struct Stuff, _presence_map),
diff --git a/tests/32-sequence-of-OK.asn1.-P b/tests/32-sequence-of-OK.asn1.-P
index 447668b..a67bcd7 100644
--- a/tests/32-sequence-of-OK.asn1.-P
+++ b/tests/32-sequence-of-OK.asn1.-P
@@ -95,6 +95,8 @@
/*** <<< FUNC-DECLS [Fault] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Fault;
+extern asn_SET_OF_specifics_t asn_SPC_Fault_specs_1;
+extern asn_TYPE_member_t asn_MBR_Fault_1[1];
/*** <<< POST-INCLUDE [Fault] >>> ***/
@@ -102,7 +104,7 @@
/*** <<< STAT-DEFS [Fault] >>> ***/
-static asn_TYPE_member_t asn_MBR_Fault_1[] = {
+asn_TYPE_member_t asn_MBR_Fault_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@@ -117,7 +119,7 @@
static const ber_tlv_tag_t asn_DEF_Fault_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_Fault_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_Fault_specs_1 = {
sizeof(struct Fault),
offsetof(struct Fault, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@@ -168,13 +170,14 @@
/*** <<< FUNC-DECLS [Error] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Error;
+extern asn_SEQUENCE_specifics_t asn_SPC_Error_specs_1;
/*** <<< STAT-DEFS [Error] >>> ***/
static const ber_tlv_tag_t asn_DEF_Error_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_SEQUENCE_specifics_t asn_SPC_Error_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Error_specs_1 = {
sizeof(struct Error),
offsetof(struct Error, _asn_ctx),
0, /* No top level tags */
diff --git a/tests/37-indirect-choice-OK.asn1.-Pfwide-types b/tests/37-indirect-choice-OK.asn1.-Pfwide-types
index 7ea04f3..e97312a 100644
--- a/tests/37-indirect-choice-OK.asn1.-Pfwide-types
+++ b/tests/37-indirect-choice-OK.asn1.-Pfwide-types
@@ -151,10 +151,12 @@
/*** <<< FUNC-DECLS [Choice1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice1;
+extern asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1;
+extern asn_TYPE_member_t asn_MBR_Choice1_1[2];
/*** <<< STAT-DEFS [Choice1] >>> ***/
-static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
+asn_TYPE_member_t asn_MBR_Choice1_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Choice1, choice.c_a),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
.tag_mode = 0,
@@ -180,7 +182,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* c-b */
{ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 } /* c-a */
};
-static asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
sizeof(struct Choice1),
offsetof(struct Choice1, _asn_ctx),
offsetof(struct Choice1, present),
@@ -250,10 +252,12 @@
/*** <<< FUNC-DECLS [Choice2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice2;
+extern asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1;
+extern asn_TYPE_member_t asn_MBR_Choice2_1[4];
/*** <<< STAT-DEFS [Choice2] >>> ***/
-static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
+asn_TYPE_member_t asn_MBR_Choice2_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.c_a),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
.tag_mode = 0,
@@ -304,7 +308,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* c-d */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* c-e */
};
-static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
sizeof(struct Choice2),
offsetof(struct Choice2, _asn_ctx),
offsetof(struct Choice2, present),
@@ -362,84 +366,10 @@
/*** <<< CODE [Choice3] >>> ***/
-int
-Choice3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Choice2.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Choice2,
* so here we adjust the DEF accordingly.
*/
-static void
-Choice3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Choice2.free_struct;
- td->print_struct = asn_DEF_Choice2.print_struct;
- td->check_constraints = asn_DEF_Choice2.check_constraints;
- td->ber_decoder = asn_DEF_Choice2.ber_decoder;
- td->der_encoder = asn_DEF_Choice2.der_encoder;
- td->xer_decoder = asn_DEF_Choice2.xer_decoder;
- td->xer_encoder = asn_DEF_Choice2.xer_encoder;
- td->uper_decoder = asn_DEF_Choice2.uper_decoder;
- td->uper_encoder = asn_DEF_Choice2.uper_encoder;
- td->oer_decoder = asn_DEF_Choice2.oer_decoder;
- td->oer_encoder = asn_DEF_Choice2.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Choice2.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Choice2.per_constraints;
- td->elements = asn_DEF_Choice2.elements;
- td->elements_count = asn_DEF_Choice2.elements_count;
- td->specifics = asn_DEF_Choice2.specifics;
-}
-
-void
-Choice3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Choice3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Choice3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Choice3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Choice3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Choice3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Choice3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Choice3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Choice3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Choice3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Choice3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Choice3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Choice3] >>> ***/
@@ -450,13 +380,13 @@
asn_TYPE_descriptor_t asn_DEF_Choice3 = {
"Choice3",
"Choice3",
- Choice3_free,
- Choice3_print,
- Choice3_constraint,
- Choice3_decode_ber,
- Choice3_encode_der,
- Choice3_decode_xer,
- Choice3_encode_xer,
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
CHOICE_outmost_tag,
@@ -468,8 +398,9 @@
/sizeof(asn_DEF_Choice3_tags_1[0]), /* 2 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Choice2_1,
+ 4, /* Elements count */
+ &asn_SPC_Choice2_specs_1 /* Additional specs */
};
@@ -494,84 +425,10 @@
/*** <<< CODE [Choice4] >>> ***/
-int
-Choice4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Choice2.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Choice2,
* so here we adjust the DEF accordingly.
*/
-static void
-Choice4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Choice2.free_struct;
- td->print_struct = asn_DEF_Choice2.print_struct;
- td->check_constraints = asn_DEF_Choice2.check_constraints;
- td->ber_decoder = asn_DEF_Choice2.ber_decoder;
- td->der_encoder = asn_DEF_Choice2.der_encoder;
- td->xer_decoder = asn_DEF_Choice2.xer_decoder;
- td->xer_encoder = asn_DEF_Choice2.xer_encoder;
- td->uper_decoder = asn_DEF_Choice2.uper_decoder;
- td->uper_encoder = asn_DEF_Choice2.uper_encoder;
- td->oer_decoder = asn_DEF_Choice2.oer_decoder;
- td->oer_encoder = asn_DEF_Choice2.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Choice2.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Choice2.per_constraints;
- td->elements = asn_DEF_Choice2.elements;
- td->elements_count = asn_DEF_Choice2.elements_count;
- td->specifics = asn_DEF_Choice2.specifics;
-}
-
-void
-Choice4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Choice4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Choice4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Choice4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Choice4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Choice4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Choice4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Choice4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Choice4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Choice4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Choice4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Choice4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Choice4] >>> ***/
@@ -582,13 +439,13 @@
asn_TYPE_descriptor_t asn_DEF_Choice4 = {
"Choice4",
"Choice4",
- Choice4_free,
- Choice4_print,
- Choice4_constraint,
- Choice4_decode_ber,
- Choice4_encode_der,
- Choice4_decode_xer,
- Choice4_encode_xer,
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
CHOICE_outmost_tag,
@@ -600,8 +457,9 @@
/sizeof(asn_DEF_Choice4_tags_1[0]), /* 2 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Choice2_1,
+ 4, /* Elements count */
+ &asn_SPC_Choice2_specs_1 /* Additional specs */
};
@@ -626,84 +484,10 @@
/*** <<< CODE [Choice5] >>> ***/
-int
-Choice5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Choice2.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Choice2,
* so here we adjust the DEF accordingly.
*/
-static void
-Choice5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Choice2.free_struct;
- td->print_struct = asn_DEF_Choice2.print_struct;
- td->check_constraints = asn_DEF_Choice2.check_constraints;
- td->ber_decoder = asn_DEF_Choice2.ber_decoder;
- td->der_encoder = asn_DEF_Choice2.der_encoder;
- td->xer_decoder = asn_DEF_Choice2.xer_decoder;
- td->xer_encoder = asn_DEF_Choice2.xer_encoder;
- td->uper_decoder = asn_DEF_Choice2.uper_decoder;
- td->uper_encoder = asn_DEF_Choice2.uper_encoder;
- td->oer_decoder = asn_DEF_Choice2.oer_decoder;
- td->oer_encoder = asn_DEF_Choice2.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Choice2.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Choice2.per_constraints;
- td->elements = asn_DEF_Choice2.elements;
- td->elements_count = asn_DEF_Choice2.elements_count;
- td->specifics = asn_DEF_Choice2.specifics;
-}
-
-void
-Choice5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Choice5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Choice5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Choice5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Choice5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Choice5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Choice5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Choice5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Choice5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Choice5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Choice5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Choice5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Choice5] >>> ***/
@@ -713,13 +497,13 @@
asn_TYPE_descriptor_t asn_DEF_Choice5 = {
"Choice5",
"Choice5",
- Choice5_free,
- Choice5_print,
- Choice5_constraint,
- Choice5_decode_ber,
- Choice5_encode_der,
- Choice5_decode_xer,
- Choice5_encode_xer,
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
CHOICE_outmost_tag,
@@ -731,8 +515,9 @@
/sizeof(asn_DEF_Choice5_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Choice2_1,
+ 4, /* Elements count */
+ &asn_SPC_Choice2_specs_1 /* Additional specs */
};
@@ -757,97 +542,23 @@
/*** <<< CODE [Choice6] >>> ***/
-int
-Choice6_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Choice1.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Choice1,
* so here we adjust the DEF accordingly.
*/
-static void
-Choice6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Choice1.free_struct;
- td->print_struct = asn_DEF_Choice1.print_struct;
- td->check_constraints = asn_DEF_Choice1.check_constraints;
- td->ber_decoder = asn_DEF_Choice1.ber_decoder;
- td->der_encoder = asn_DEF_Choice1.der_encoder;
- td->xer_decoder = asn_DEF_Choice1.xer_decoder;
- td->xer_encoder = asn_DEF_Choice1.xer_encoder;
- td->uper_decoder = asn_DEF_Choice1.uper_decoder;
- td->uper_encoder = asn_DEF_Choice1.uper_encoder;
- td->oer_decoder = asn_DEF_Choice1.oer_decoder;
- td->oer_encoder = asn_DEF_Choice1.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Choice1.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Choice1.per_constraints;
- td->elements = asn_DEF_Choice1.elements;
- td->elements_count = asn_DEF_Choice1.elements_count;
- td->specifics = asn_DEF_Choice1.specifics;
-}
-
-void
-Choice6_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Choice6_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Choice6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Choice6_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Choice6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Choice6_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Choice6_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Choice6_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Choice6_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Choice6_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Choice6_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Choice6_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Choice6] >>> ***/
asn_TYPE_descriptor_t asn_DEF_Choice6 = {
"Choice6",
"Choice6",
- Choice6_free,
- Choice6_print,
- Choice6_constraint,
- Choice6_decode_ber,
- Choice6_encode_der,
- Choice6_decode_xer,
- Choice6_encode_xer,
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
CHOICE_outmost_tag,
@@ -857,7 +568,8 @@
0, /* No tags (count) */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Choice1_1,
+ 2, /* Elements count */
+ &asn_SPC_Choice1_specs_1 /* Additional specs */
};
diff --git a/tests/39-sequence-of-OK.asn1.-Pfwide-types b/tests/39-sequence-of-OK.asn1.-Pfwide-types
index 9b1f885..0479ae3 100644
--- a/tests/39-sequence-of-OK.asn1.-Pfwide-types
+++ b/tests/39-sequence-of-OK.asn1.-Pfwide-types
@@ -166,10 +166,12 @@
/*** <<< FUNC-DECLS [T2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_T2;
+extern asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1;
+extern asn_TYPE_member_t asn_MBR_T2_1[2];
/*** <<< STAT-DEFS [T2] >>> ***/
-static asn_TYPE_member_t asn_MBR_T2_1[] = {
+asn_TYPE_member_t asn_MBR_T2_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct T2, flag),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
.tag_mode = 0,
@@ -198,7 +200,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* flag */
{ (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 } /* str */
};
-static asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1 = {
sizeof(struct T2),
offsetof(struct T2, _asn_ctx),
asn_MAP_T2_tag2el_1,
diff --git a/tests/42-real-life-OK.asn1.-PR b/tests/42-real-life-OK.asn1.-PR
index 4171f51..491ae7e 100644
--- a/tests/42-real-life-OK.asn1.-PR
+++ b/tests/42-real-life-OK.asn1.-PR
@@ -213,6 +213,8 @@
/*** <<< FUNC-DECLS [VariablePartSet] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet;
+extern asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1;
+extern asn_TYPE_member_t asn_MBR_VariablePartSet_1[2];
/*** <<< POST-INCLUDE [VariablePartSet] >>> ***/
@@ -289,7 +291,7 @@
&asn_SPC_vparts_specs_2 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = {
+asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@@ -318,7 +320,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* resolution */
};
-static asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1 = {
sizeof(struct VariablePartSet),
offsetof(struct VariablePartSet, _asn_ctx),
asn_MAP_VariablePartSet_tag2el_1,
@@ -407,6 +409,8 @@
/*** <<< FUNC-DECLS [VariablePart] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_VariablePart;
+extern asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1;
+extern asn_TYPE_member_t asn_MBR_VariablePart_1[2];
/*** <<< CODE [VariablePart] >>> ***/
@@ -551,7 +555,7 @@
&asn_SPC_vrange_specs_4 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_VariablePart_1[] = {
+asn_TYPE_member_t asn_MBR_VariablePart_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@@ -577,7 +581,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* vset */
};
-static asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1 = {
sizeof(struct VariablePart),
offsetof(struct VariablePart, _asn_ctx),
offsetof(struct VariablePart, present),
@@ -665,87 +669,15 @@
/* extern asn_TYPE_descriptor_t asn_DEF_accept_as_2; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_ActionItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_ActionItem_1[2];
/*** <<< CODE [ActionItem] >>> ***/
-static int
-accept_as_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
-static void
-accept_as_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeEnumerated.free_struct;
- td->print_struct = asn_DEF_NativeEnumerated.print_struct;
- td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
- td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
- td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
- td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
- td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
- td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
- td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
- td->oer_decoder = asn_DEF_NativeEnumerated.oer_decoder;
- td->oer_encoder = asn_DEF_NativeEnumerated.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeEnumerated.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
- td->elements = asn_DEF_NativeEnumerated.elements;
- td->elements_count = asn_DEF_NativeEnumerated.elements_count;
- /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
-}
-
-static void
-accept_as_2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- accept_as_2_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-static int
-accept_as_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- accept_as_2_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-static asn_dec_rval_t
-accept_as_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- accept_as_2_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-static asn_enc_rval_t
-accept_as_2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- accept_as_2_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-static asn_dec_rval_t
-accept_as_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- accept_as_2_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-static asn_enc_rval_t
-accept_as_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- accept_as_2_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [ActionItem] >>> ***/
@@ -761,7 +693,7 @@
2 /* unsafe(2) */
/* This list is extensible */
};
-static asn_INTEGER_specifics_t asn_SPC_accept_as_specs_2 = {
+static const asn_INTEGER_specifics_t asn_SPC_accept_as_specs_2 = {
asn_MAP_accept_as_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_accept_as_enum2value_2, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
@@ -777,13 +709,13 @@
asn_TYPE_descriptor_t asn_DEF_accept_as_2 = {
"accept-as",
"accept-as",
- accept_as_2_free,
- accept_as_2_print,
- accept_as_2_constraint,
- accept_as_2_decode_ber,
- accept_as_2_encode_der,
- accept_as_2_decode_xer,
- accept_as_2_encode_xer,
+ NativeEnumerated_free,
+ NativeEnumerated_print,
+ NativeEnumerated_constraint,
+ NativeEnumerated_decode_ber,
+ NativeEnumerated_encode_der,
+ NativeEnumerated_decode_xer,
+ NativeEnumerated_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 */
@@ -911,7 +843,7 @@
&asn_SPC_notify_specs_7 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
+asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
@@ -940,7 +872,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* notify */
};
-static asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = {
sizeof(struct ActionItem),
offsetof(struct ActionItem, _asn_ctx),
asn_MAP_ActionItem_tag2el_1,
diff --git a/tests/43-recursion-OK.asn1.-Pfwide-types b/tests/43-recursion-OK.asn1.-Pfwide-types
index 25b49e3..19d7d5f 100644
--- a/tests/43-recursion-OK.asn1.-Pfwide-types
+++ b/tests/43-recursion-OK.asn1.-Pfwide-types
@@ -37,6 +37,8 @@
/*** <<< FUNC-DECLS [Test-structure-1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Test_structure_1;
+extern asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1;
+extern asn_TYPE_member_t asn_MBR_Test_structure_1_1[4];
/*** <<< POST-INCLUDE [Test-structure-1] >>> ***/
@@ -138,7 +140,7 @@
&asn_SPC_t_member2_specs_4 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Test_structure_1_1[] = {
+asn_TYPE_member_t asn_MBR_Test_structure_1_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member1),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@@ -189,7 +191,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 }, /* t-member3 */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* t-member1 */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1 = {
sizeof(struct Test_structure_1),
offsetof(struct Test_structure_1, _asn_ctx),
asn_MAP_Test_structure_1_tag2el_1,
@@ -269,6 +271,8 @@
/*** <<< FUNC-DECLS [Choice-1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice_1;
+extern asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1;
+extern asn_TYPE_member_t asn_MBR_Choice_1_1[4];
/*** <<< POST-INCLUDE [Choice-1] >>> ***/
@@ -324,7 +328,7 @@
&asn_SPC_or_specs_3 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Choice_1_1[] = {
+asn_TYPE_member_t asn_MBR_Choice_1_1[] = {
{ ATF_POINTER, 0, offsetof(struct Choice_1, choice.And),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag_mode = +1, /* EXPLICIT tag at current level */
@@ -372,7 +376,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* not */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* other */
};
-static asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1 = {
sizeof(struct Choice_1),
offsetof(struct Choice_1, _asn_ctx),
offsetof(struct Choice_1, present),
@@ -441,6 +445,8 @@
/*** <<< FUNC-DECLS [Test-structure-2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Test_structure_2;
+extern asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1;
+extern asn_TYPE_member_t asn_MBR_Test_structure_2_1[1];
/*** <<< POST-INCLUDE [Test-structure-2] >>> ***/
@@ -448,7 +454,7 @@
/*** <<< STAT-DEFS [Test-structure-2] >>> ***/
-static asn_TYPE_member_t asn_MBR_Test_structure_2_1[] = {
+asn_TYPE_member_t asn_MBR_Test_structure_2_1[] = {
{ ATF_POINTER, 1, offsetof(struct Test_structure_2, m1),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@@ -469,7 +475,7 @@
static const uint8_t asn_MAP_Test_structure_2_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(0 << 7)
};
-static asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1 = {
+asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1 = {
sizeof(struct Test_structure_2),
offsetof(struct Test_structure_2, _asn_ctx),
offsetof(struct Test_structure_2, _presence_map),
@@ -541,6 +547,8 @@
/*** <<< FUNC-DECLS [Test-structure-3] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Test_structure_3;
+extern asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1;
+extern asn_TYPE_member_t asn_MBR_Test_structure_3_1[1];
/*** <<< POST-INCLUDE [Test-structure-3] >>> ***/
@@ -548,7 +556,7 @@
/*** <<< STAT-DEFS [Test-structure-3] >>> ***/
-static asn_TYPE_member_t asn_MBR_Test_structure_3_1[] = {
+asn_TYPE_member_t asn_MBR_Test_structure_3_1[] = {
{ ATF_POINTER, 1, offsetof(struct Test_structure_3, m1),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@@ -569,7 +577,7 @@
static const uint8_t asn_MAP_Test_structure_3_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(0 << 7)
};
-static asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1 = {
+asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1 = {
sizeof(struct Test_structure_3),
offsetof(struct Test_structure_3, _asn_ctx),
offsetof(struct Test_structure_3, _presence_map),
diff --git a/tests/46-redefine-OK.asn1.-PR b/tests/46-redefine-OK.asn1.-PR
index b4aec3d..970440d 100644
--- a/tests/46-redefine-OK.asn1.-PR
+++ b/tests/46-redefine-OK.asn1.-PR
@@ -20,84 +20,10 @@
/*** <<< CODE [PrimitiveType] >>> ***/
-int
-PrimitiveType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly.
*/
-static void
-PrimitiveType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_OCTET_STRING.free_struct;
- td->print_struct = asn_DEF_OCTET_STRING.print_struct;
- td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
- td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
- td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
- td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
- td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
- td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
- td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
- td->oer_decoder = asn_DEF_OCTET_STRING.oer_decoder;
- td->oer_encoder = asn_DEF_OCTET_STRING.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_OCTET_STRING.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
- td->elements = asn_DEF_OCTET_STRING.elements;
- td->elements_count = asn_DEF_OCTET_STRING.elements_count;
- td->specifics = asn_DEF_OCTET_STRING.specifics;
-}
-
-void
-PrimitiveType_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- PrimitiveType_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-PrimitiveType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- PrimitiveType_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-PrimitiveType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- PrimitiveType_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-PrimitiveType_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- PrimitiveType_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-PrimitiveType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- PrimitiveType_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-PrimitiveType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- PrimitiveType_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [PrimitiveType] >>> ***/
@@ -107,13 +33,13 @@
asn_TYPE_descriptor_t asn_DEF_PrimitiveType = {
"PrimitiveType",
"PrimitiveType",
- PrimitiveType_free,
- PrimitiveType_print,
- PrimitiveType_constraint,
- PrimitiveType_decode_ber,
- PrimitiveType_encode_der,
- PrimitiveType_decode_xer,
- PrimitiveType_encode_xer,
+ OCTET_STRING_free,
+ OCTET_STRING_print,
+ OCTET_STRING_constraint,
+ OCTET_STRING_decode_ber,
+ OCTET_STRING_encode_der,
+ OCTET_STRING_decode_xer,
+ OCTET_STRING_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 */
@@ -126,7 +52,7 @@
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
- 0 /* No specifics */
+ &asn_SPC_OCTET_STRING_specs /* Additional specs */
};
@@ -147,10 +73,12 @@
/*** <<< FUNC-DECLS [ConstructedType] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_ConstructedType;
+extern asn_SEQUENCE_specifics_t asn_SPC_ConstructedType_specs_1;
+extern asn_TYPE_member_t asn_MBR_ConstructedType_1[1];
/*** <<< STAT-DEFS [ConstructedType] >>> ***/
-static asn_TYPE_member_t asn_MBR_ConstructedType_1[] = {
+asn_TYPE_member_t asn_MBR_ConstructedType_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ConstructedType, field),
.tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -168,7 +96,7 @@
static const asn_TYPE_tag2member_t asn_MAP_ConstructedType_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 0, 0, 0 } /* field */
};
-static asn_SEQUENCE_specifics_t asn_SPC_ConstructedType_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_ConstructedType_specs_1 = {
sizeof(struct ConstructedType),
offsetof(struct ConstructedType, _asn_ctx),
asn_MAP_ConstructedType_tag2el_1,
@@ -225,84 +153,10 @@
/*** <<< CODE [T] >>> ***/
-int
-T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ConstructedType.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ConstructedType,
* so here we adjust the DEF accordingly.
*/
-static void
-T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ConstructedType.free_struct;
- td->print_struct = asn_DEF_ConstructedType.print_struct;
- td->check_constraints = asn_DEF_ConstructedType.check_constraints;
- td->ber_decoder = asn_DEF_ConstructedType.ber_decoder;
- td->der_encoder = asn_DEF_ConstructedType.der_encoder;
- td->xer_decoder = asn_DEF_ConstructedType.xer_decoder;
- td->xer_encoder = asn_DEF_ConstructedType.xer_encoder;
- td->uper_decoder = asn_DEF_ConstructedType.uper_decoder;
- td->uper_encoder = asn_DEF_ConstructedType.uper_encoder;
- td->oer_decoder = asn_DEF_ConstructedType.oer_decoder;
- td->oer_encoder = asn_DEF_ConstructedType.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ConstructedType.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ConstructedType.per_constraints;
- td->elements = asn_DEF_ConstructedType.elements;
- td->elements_count = asn_DEF_ConstructedType.elements_count;
- td->specifics = asn_DEF_ConstructedType.specifics;
-}
-
-void
-T_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T] >>> ***/
@@ -313,13 +167,13 @@
asn_TYPE_descriptor_t asn_DEF_T = {
"T",
"T",
- T_free,
- T_print,
- T_constraint,
- T_decode_ber,
- T_encode_der,
- T_decode_xer,
- T_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -331,7 +185,8 @@
/sizeof(asn_DEF_T_tags_1[0]), /* 2 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_ConstructedType_1,
+ 1, /* Elements count */
+ &asn_SPC_ConstructedType_specs_1 /* Additional specs */
};
diff --git a/tests/47-set-ext-OK.asn1.-Pfwide-types b/tests/47-set-ext-OK.asn1.-Pfwide-types
index 15b0744..2623926 100644
--- a/tests/47-set-ext-OK.asn1.-Pfwide-types
+++ b/tests/47-set-ext-OK.asn1.-Pfwide-types
@@ -58,7 +58,8 @@
static const uint8_t asn_MAP_T1_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
-static asn_SET_specifics_t asn_SPC_T1_specs_1 = {
+static
+asn_SET_specifics_t asn_SPC_T1_specs_1 = {
sizeof(struct T1),
offsetof(struct T1, _asn_ctx),
offsetof(struct T1, _presence_map),
@@ -155,7 +156,8 @@
static const uint8_t asn_MAP_T2_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
-static asn_SET_specifics_t asn_SPC_T2_specs_1 = {
+static
+asn_SET_specifics_t asn_SPC_T2_specs_1 = {
sizeof(struct T2),
offsetof(struct T2, _asn_ctx),
offsetof(struct T2, _presence_map),
diff --git a/tests/50-constraint-OK.asn1.-Pfwide-types b/tests/50-constraint-OK.asn1.-Pfwide-types
index d17d448..901824e 100644
--- a/tests/50-constraint-OK.asn1.-Pfwide-types
+++ b/tests/50-constraint-OK.asn1.-Pfwide-types
@@ -20,84 +20,10 @@
/*** <<< CODE [Int1] >>> ***/
-int
-Int1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-Int1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-Int1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Int1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Int1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Int1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Int1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Int1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Int1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Int1] >>> ***/
@@ -107,13 +33,13 @@
asn_TYPE_descriptor_t asn_DEF_Int1 = {
"Int1",
"Int1",
- Int1_free,
- Int1_print,
- Int1_constraint,
- Int1_decode_ber,
- Int1_encode_der,
- Int1_decode_xer,
- Int1_encode_xer,
+ INTEGER_free,
+ INTEGER_print,
+ INTEGER_constraint,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -182,72 +108,6 @@
* This type is implemented using Int1,
* so here we adjust the DEF accordingly.
*/
-static void
-Int2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Int1.free_struct;
- td->print_struct = asn_DEF_Int1.print_struct;
- td->check_constraints = asn_DEF_Int1.check_constraints;
- td->ber_decoder = asn_DEF_Int1.ber_decoder;
- td->der_encoder = asn_DEF_Int1.der_encoder;
- td->xer_decoder = asn_DEF_Int1.xer_decoder;
- td->xer_encoder = asn_DEF_Int1.xer_encoder;
- td->uper_decoder = asn_DEF_Int1.uper_decoder;
- td->uper_encoder = asn_DEF_Int1.uper_encoder;
- td->oer_decoder = asn_DEF_Int1.oer_decoder;
- td->oer_encoder = asn_DEF_Int1.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Int1.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Int1.per_constraints;
- td->elements = asn_DEF_Int1.elements;
- td->elements_count = asn_DEF_Int1.elements_count;
- td->specifics = asn_DEF_Int1.specifics;
-}
-
-void
-Int2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Int2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Int2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Int2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Int2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Int2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Int2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Int2] >>> ***/
@@ -257,13 +117,13 @@
asn_TYPE_descriptor_t asn_DEF_Int2 = {
"Int2",
"Int2",
- Int2_free,
- Int2_print,
+ INTEGER_free,
+ INTEGER_print,
Int2_constraint,
- Int2_decode_ber,
- Int2_encode_der,
- Int2_decode_xer,
- Int2_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -336,72 +196,6 @@
* This type is implemented using Int2,
* so here we adjust the DEF accordingly.
*/
-static void
-Int3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Int2.free_struct;
- td->print_struct = asn_DEF_Int2.print_struct;
- td->check_constraints = asn_DEF_Int2.check_constraints;
- td->ber_decoder = asn_DEF_Int2.ber_decoder;
- td->der_encoder = asn_DEF_Int2.der_encoder;
- td->xer_decoder = asn_DEF_Int2.xer_decoder;
- td->xer_encoder = asn_DEF_Int2.xer_encoder;
- td->uper_decoder = asn_DEF_Int2.uper_decoder;
- td->uper_encoder = asn_DEF_Int2.uper_encoder;
- td->oer_decoder = asn_DEF_Int2.oer_decoder;
- td->oer_encoder = asn_DEF_Int2.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Int2.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Int2.per_constraints;
- td->elements = asn_DEF_Int2.elements;
- td->elements_count = asn_DEF_Int2.elements_count;
- td->specifics = asn_DEF_Int2.specifics;
-}
-
-void
-Int3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Int3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Int3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Int3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Int3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Int3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Int3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Int3] >>> ***/
@@ -411,13 +205,13 @@
asn_TYPE_descriptor_t asn_DEF_Int3 = {
"Int3",
"Int3",
- Int3_free,
- Int3_print,
+ INTEGER_free,
+ INTEGER_print,
Int3_constraint,
- Int3_decode_ber,
- Int3_encode_der,
- Int3_decode_xer,
- Int3_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -490,72 +284,6 @@
* This type is implemented using Int3,
* so here we adjust the DEF accordingly.
*/
-static void
-Int4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Int3.free_struct;
- td->print_struct = asn_DEF_Int3.print_struct;
- td->check_constraints = asn_DEF_Int3.check_constraints;
- td->ber_decoder = asn_DEF_Int3.ber_decoder;
- td->der_encoder = asn_DEF_Int3.der_encoder;
- td->xer_decoder = asn_DEF_Int3.xer_decoder;
- td->xer_encoder = asn_DEF_Int3.xer_encoder;
- td->uper_decoder = asn_DEF_Int3.uper_decoder;
- td->uper_encoder = asn_DEF_Int3.uper_encoder;
- td->oer_decoder = asn_DEF_Int3.oer_decoder;
- td->oer_encoder = asn_DEF_Int3.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Int3.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Int3.per_constraints;
- td->elements = asn_DEF_Int3.elements;
- td->elements_count = asn_DEF_Int3.elements_count;
- td->specifics = asn_DEF_Int3.specifics;
-}
-
-void
-Int4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Int4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Int4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Int4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Int4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Int4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Int4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Int4] >>> ***/
@@ -565,13 +293,13 @@
asn_TYPE_descriptor_t asn_DEF_Int4 = {
"Int4",
"Int4",
- Int4_free,
- Int4_print,
+ INTEGER_free,
+ INTEGER_print,
Int4_constraint,
- Int4_decode_ber,
- Int4_encode_der,
- Int4_decode_xer,
- Int4_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -644,72 +372,6 @@
* This type is implemented using Int4,
* so here we adjust the DEF accordingly.
*/
-static void
-Int5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Int4.free_struct;
- td->print_struct = asn_DEF_Int4.print_struct;
- td->check_constraints = asn_DEF_Int4.check_constraints;
- td->ber_decoder = asn_DEF_Int4.ber_decoder;
- td->der_encoder = asn_DEF_Int4.der_encoder;
- td->xer_decoder = asn_DEF_Int4.xer_decoder;
- td->xer_encoder = asn_DEF_Int4.xer_encoder;
- td->uper_decoder = asn_DEF_Int4.uper_decoder;
- td->uper_encoder = asn_DEF_Int4.uper_encoder;
- td->oer_decoder = asn_DEF_Int4.oer_decoder;
- td->oer_encoder = asn_DEF_Int4.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Int4.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Int4.per_constraints;
- td->elements = asn_DEF_Int4.elements;
- td->elements_count = asn_DEF_Int4.elements_count;
- td->specifics = asn_DEF_Int4.specifics;
-}
-
-void
-Int5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Int5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Int5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Int5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Int5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Int5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Int5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Int5] >>> ***/
@@ -719,13 +381,13 @@
asn_TYPE_descriptor_t asn_DEF_Int5 = {
"Int5",
"Int5",
- Int5_free,
- Int5_print,
+ INTEGER_free,
+ INTEGER_print,
Int5_constraint,
- Int5_decode_ber,
- Int5_encode_der,
- Int5_decode_xer,
- Int5_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -798,72 +460,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-ExtensibleExtensions_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-ExtensibleExtensions_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-ExtensibleExtensions_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-ExtensibleExtensions_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-ExtensibleExtensions_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-ExtensibleExtensions_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-ExtensibleExtensions_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [ExtensibleExtensions] >>> ***/
@@ -873,13 +469,13 @@
asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions = {
"ExtensibleExtensions",
"ExtensibleExtensions",
- ExtensibleExtensions_free,
- ExtensibleExtensions_print,
+ INTEGER_free,
+ INTEGER_print,
ExtensibleExtensions_constraint,
- ExtensibleExtensions_decode_ber,
- ExtensibleExtensions_encode_der,
- ExtensibleExtensions_decode_xer,
- ExtensibleExtensions_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -917,84 +513,10 @@
/*** <<< CODE [Str1] >>> ***/
-int
-Str1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_IA5String.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using IA5String,
* so here we adjust the DEF accordingly.
*/
-static void
-Str1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_IA5String.free_struct;
- td->print_struct = asn_DEF_IA5String.print_struct;
- td->check_constraints = asn_DEF_IA5String.check_constraints;
- td->ber_decoder = asn_DEF_IA5String.ber_decoder;
- td->der_encoder = asn_DEF_IA5String.der_encoder;
- td->xer_decoder = asn_DEF_IA5String.xer_decoder;
- td->xer_encoder = asn_DEF_IA5String.xer_encoder;
- td->uper_decoder = asn_DEF_IA5String.uper_decoder;
- td->uper_encoder = asn_DEF_IA5String.uper_encoder;
- td->oer_decoder = asn_DEF_IA5String.oer_decoder;
- td->oer_encoder = asn_DEF_IA5String.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_IA5String.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_IA5String.per_constraints;
- td->elements = asn_DEF_IA5String.elements;
- td->elements_count = asn_DEF_IA5String.elements_count;
- td->specifics = asn_DEF_IA5String.specifics;
-}
-
-void
-Str1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Str1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Str1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Str1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Str1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Str1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Str1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Str1] >>> ***/
@@ -1004,13 +526,13 @@
asn_TYPE_descriptor_t asn_DEF_Str1 = {
"Str1",
"Str1",
- Str1_free,
- Str1_print,
- Str1_constraint,
- Str1_decode_ber,
- Str1_encode_der,
- Str1_decode_xer,
- Str1_encode_xer,
+ IA5String_free,
+ IA5String_print,
+ IA5String_constraint,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -1095,72 +617,6 @@
* This type is implemented using Str1,
* so here we adjust the DEF accordingly.
*/
-static void
-Str2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Str1.free_struct;
- td->print_struct = asn_DEF_Str1.print_struct;
- td->check_constraints = asn_DEF_Str1.check_constraints;
- td->ber_decoder = asn_DEF_Str1.ber_decoder;
- td->der_encoder = asn_DEF_Str1.der_encoder;
- td->xer_decoder = asn_DEF_Str1.xer_decoder;
- td->xer_encoder = asn_DEF_Str1.xer_encoder;
- td->uper_decoder = asn_DEF_Str1.uper_decoder;
- td->uper_encoder = asn_DEF_Str1.uper_encoder;
- td->oer_decoder = asn_DEF_Str1.oer_decoder;
- td->oer_encoder = asn_DEF_Str1.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Str1.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Str1.per_constraints;
- td->elements = asn_DEF_Str1.elements;
- td->elements_count = asn_DEF_Str1.elements_count;
- td->specifics = asn_DEF_Str1.specifics;
-}
-
-void
-Str2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Str2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Str2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Str2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Str2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Str2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Str2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Str2] >>> ***/
@@ -1170,13 +626,13 @@
asn_TYPE_descriptor_t asn_DEF_Str2 = {
"Str2",
"Str2",
- Str2_free,
- Str2_print,
+ IA5String_free,
+ IA5String_print,
Str2_constraint,
- Str2_decode_ber,
- Str2_encode_der,
- Str2_decode_xer,
- Str2_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -1272,72 +728,6 @@
* This type is implemented using Str2,
* so here we adjust the DEF accordingly.
*/
-static void
-Str3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Str2.free_struct;
- td->print_struct = asn_DEF_Str2.print_struct;
- td->check_constraints = asn_DEF_Str2.check_constraints;
- td->ber_decoder = asn_DEF_Str2.ber_decoder;
- td->der_encoder = asn_DEF_Str2.der_encoder;
- td->xer_decoder = asn_DEF_Str2.xer_decoder;
- td->xer_encoder = asn_DEF_Str2.xer_encoder;
- td->uper_decoder = asn_DEF_Str2.uper_decoder;
- td->uper_encoder = asn_DEF_Str2.uper_encoder;
- td->oer_decoder = asn_DEF_Str2.oer_decoder;
- td->oer_encoder = asn_DEF_Str2.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Str2.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Str2.per_constraints;
- td->elements = asn_DEF_Str2.elements;
- td->elements_count = asn_DEF_Str2.elements_count;
- td->specifics = asn_DEF_Str2.specifics;
-}
-
-void
-Str3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Str3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Str3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Str3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Str3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Str3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Str3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Str3] >>> ***/
@@ -1347,13 +737,13 @@
asn_TYPE_descriptor_t asn_DEF_Str3 = {
"Str3",
"Str3",
- Str3_free,
- Str3_print,
+ IA5String_free,
+ IA5String_print,
Str3_constraint,
- Str3_decode_ber,
- Str3_encode_der,
- Str3_decode_xer,
- Str3_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -1435,72 +825,6 @@
* This type is implemented using IA5String,
* so here we adjust the DEF accordingly.
*/
-static void
-Str4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_IA5String.free_struct;
- td->print_struct = asn_DEF_IA5String.print_struct;
- td->check_constraints = asn_DEF_IA5String.check_constraints;
- td->ber_decoder = asn_DEF_IA5String.ber_decoder;
- td->der_encoder = asn_DEF_IA5String.der_encoder;
- td->xer_decoder = asn_DEF_IA5String.xer_decoder;
- td->xer_encoder = asn_DEF_IA5String.xer_encoder;
- td->uper_decoder = asn_DEF_IA5String.uper_decoder;
- td->uper_encoder = asn_DEF_IA5String.uper_encoder;
- td->oer_decoder = asn_DEF_IA5String.oer_decoder;
- td->oer_encoder = asn_DEF_IA5String.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_IA5String.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_IA5String.per_constraints;
- td->elements = asn_DEF_IA5String.elements;
- td->elements_count = asn_DEF_IA5String.elements_count;
- td->specifics = asn_DEF_IA5String.specifics;
-}
-
-void
-Str4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Str4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Str4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Str4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Str4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Str4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Str4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Str4] >>> ***/
@@ -1510,13 +834,13 @@
asn_TYPE_descriptor_t asn_DEF_Str4 = {
"Str4",
"Str4",
- Str4_free,
- Str4_print,
+ IA5String_free,
+ IA5String_print,
Str4_constraint,
- Str4_decode_ber,
- Str4_encode_der,
- Str4_decode_xer,
- Str4_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -1598,72 +922,6 @@
* This type is implemented using IA5String,
* so here we adjust the DEF accordingly.
*/
-static void
-PER_Visible_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_IA5String.free_struct;
- td->print_struct = asn_DEF_IA5String.print_struct;
- td->check_constraints = asn_DEF_IA5String.check_constraints;
- td->ber_decoder = asn_DEF_IA5String.ber_decoder;
- td->der_encoder = asn_DEF_IA5String.der_encoder;
- td->xer_decoder = asn_DEF_IA5String.xer_decoder;
- td->xer_encoder = asn_DEF_IA5String.xer_encoder;
- td->uper_decoder = asn_DEF_IA5String.uper_decoder;
- td->uper_encoder = asn_DEF_IA5String.uper_encoder;
- td->oer_decoder = asn_DEF_IA5String.oer_decoder;
- td->oer_encoder = asn_DEF_IA5String.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_IA5String.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_IA5String.per_constraints;
- td->elements = asn_DEF_IA5String.elements;
- td->elements_count = asn_DEF_IA5String.elements_count;
- td->specifics = asn_DEF_IA5String.specifics;
-}
-
-void
-PER_Visible_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-PER_Visible_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-PER_Visible_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-PER_Visible_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-PER_Visible_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-PER_Visible_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [PER-Visible] >>> ***/
@@ -1673,13 +931,13 @@
asn_TYPE_descriptor_t asn_DEF_PER_Visible = {
"PER-Visible",
"PER-Visible",
- PER_Visible_free,
- PER_Visible_print,
+ IA5String_free,
+ IA5String_print,
PER_Visible_constraint,
- PER_Visible_decode_ber,
- PER_Visible_encode_der,
- PER_Visible_decode_xer,
- PER_Visible_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -1761,72 +1019,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-PER_Visible_2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-PER_Visible_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-PER_Visible_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-PER_Visible_2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-PER_Visible_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [PER-Visible-2] >>> ***/
@@ -1836,13 +1028,13 @@
asn_TYPE_descriptor_t asn_DEF_PER_Visible_2 = {
"PER-Visible-2",
"PER-Visible-2",
- PER_Visible_2_free,
- PER_Visible_2_print,
+ IA5String_free,
+ IA5String_print,
PER_Visible_2_constraint,
- PER_Visible_2_decode_ber,
- PER_Visible_2_encode_der,
- PER_Visible_2_decode_xer,
- PER_Visible_2_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -1924,72 +1116,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-Not_PER_Visible_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-Not_PER_Visible_1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Not_PER_Visible_1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Not-PER-Visible-1] >>> ***/
@@ -1999,13 +1125,13 @@
asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1 = {
"Not-PER-Visible-1",
"Not-PER-Visible-1",
- Not_PER_Visible_1_free,
- Not_PER_Visible_1_print,
+ IA5String_free,
+ IA5String_print,
Not_PER_Visible_1_constraint,
- Not_PER_Visible_1_decode_ber,
- Not_PER_Visible_1_encode_der,
- Not_PER_Visible_1_decode_xer,
- Not_PER_Visible_1_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -2087,72 +1213,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-Not_PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-Not_PER_Visible_2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Not_PER_Visible_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Not-PER-Visible-2] >>> ***/
@@ -2162,13 +1222,13 @@
asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2 = {
"Not-PER-Visible-2",
"Not-PER-Visible-2",
- Not_PER_Visible_2_free,
- Not_PER_Visible_2_print,
+ IA5String_free,
+ IA5String_print,
Not_PER_Visible_2_constraint,
- Not_PER_Visible_2_decode_ber,
- Not_PER_Visible_2_encode_der,
- Not_PER_Visible_2_decode_xer,
- Not_PER_Visible_2_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -2250,72 +1310,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-Not_PER_Visible_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-Not_PER_Visible_3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Not_PER_Visible_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Not-PER-Visible-3] >>> ***/
@@ -2325,13 +1319,13 @@
asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3 = {
"Not-PER-Visible-3",
"Not-PER-Visible-3",
- Not_PER_Visible_3_free,
- Not_PER_Visible_3_print,
+ IA5String_free,
+ IA5String_print,
Not_PER_Visible_3_constraint,
- Not_PER_Visible_3_decode_ber,
- Not_PER_Visible_3_encode_der,
- Not_PER_Visible_3_decode_xer,
- Not_PER_Visible_3_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -2416,72 +1410,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-SIZE_but_not_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-SIZE_but_not_FROM_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-SIZE_but_not_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-SIZE_but_not_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-SIZE_but_not_FROM_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-SIZE_but_not_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-SIZE_but_not_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [SIZE-but-not-FROM] >>> ***/
@@ -2491,13 +1419,13 @@
asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM = {
"SIZE-but-not-FROM",
"SIZE-but-not-FROM",
- SIZE_but_not_FROM_free,
- SIZE_but_not_FROM_print,
+ IA5String_free,
+ IA5String_print,
SIZE_but_not_FROM_constraint,
- SIZE_but_not_FROM_decode_ber,
- SIZE_but_not_FROM_encode_der,
- SIZE_but_not_FROM_decode_xer,
- SIZE_but_not_FROM_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -2582,72 +1510,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-SIZE_and_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-SIZE_and_FROM_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-SIZE_and_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-SIZE_and_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-SIZE_and_FROM_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-SIZE_and_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-SIZE_and_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [SIZE-and-FROM] >>> ***/
@@ -2657,13 +1519,13 @@
asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM = {
"SIZE-and-FROM",
"SIZE-and-FROM",
- SIZE_and_FROM_free,
- SIZE_and_FROM_print,
+ IA5String_free,
+ IA5String_print,
SIZE_and_FROM_constraint,
- SIZE_and_FROM_decode_ber,
- SIZE_and_FROM_encode_der,
- SIZE_and_FROM_decode_xer,
- SIZE_and_FROM_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -2745,72 +1607,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-Neither_SIZE_nor_FROM_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Neither_SIZE_nor_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Neither_SIZE_nor_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Neither_SIZE_nor_FROM_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Neither_SIZE_nor_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Neither_SIZE_nor_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Neither-SIZE-nor-FROM] >>> ***/
@@ -2820,13 +1616,13 @@
asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM = {
"Neither-SIZE-nor-FROM",
"Neither-SIZE-nor-FROM",
- Neither_SIZE_nor_FROM_free,
- Neither_SIZE_nor_FROM_print,
+ IA5String_free,
+ IA5String_print,
Neither_SIZE_nor_FROM_constraint,
- Neither_SIZE_nor_FROM_decode_ber,
- Neither_SIZE_nor_FROM_encode_der,
- Neither_SIZE_nor_FROM_decode_xer,
- Neither_SIZE_nor_FROM_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_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 */
@@ -2902,72 +1698,6 @@
* This type is implemented using UTF8String,
* so here we adjust the DEF accordingly.
*/
-static void
-Utf8_4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_UTF8String.free_struct;
- td->print_struct = asn_DEF_UTF8String.print_struct;
- td->check_constraints = asn_DEF_UTF8String.check_constraints;
- td->ber_decoder = asn_DEF_UTF8String.ber_decoder;
- td->der_encoder = asn_DEF_UTF8String.der_encoder;
- td->xer_decoder = asn_DEF_UTF8String.xer_decoder;
- td->xer_encoder = asn_DEF_UTF8String.xer_encoder;
- td->uper_decoder = asn_DEF_UTF8String.uper_decoder;
- td->uper_encoder = asn_DEF_UTF8String.uper_encoder;
- td->oer_decoder = asn_DEF_UTF8String.oer_decoder;
- td->oer_encoder = asn_DEF_UTF8String.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_UTF8String.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_UTF8String.per_constraints;
- td->elements = asn_DEF_UTF8String.elements;
- td->elements_count = asn_DEF_UTF8String.elements_count;
- td->specifics = asn_DEF_UTF8String.specifics;
-}
-
-void
-Utf8_4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Utf8_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Utf8_4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Utf8_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Utf8-4] >>> ***/
@@ -2977,13 +1707,13 @@
asn_TYPE_descriptor_t asn_DEF_Utf8_4 = {
"Utf8-4",
"Utf8-4",
- Utf8_4_free,
- Utf8_4_print,
+ UTF8String_free,
+ UTF8String_print,
Utf8_4_constraint,
- Utf8_4_decode_ber,
- Utf8_4_encode_der,
- Utf8_4_decode_xer,
- Utf8_4_encode_xer,
+ UTF8String_decode_ber,
+ UTF8String_encode_der,
+ UTF8String_decode_xer,
+ UTF8String_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 */
@@ -3087,72 +1817,6 @@
* This type is implemented using Utf8_2,
* so here we adjust the DEF accordingly.
*/
-static void
-Utf8_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Utf8_2.free_struct;
- td->print_struct = asn_DEF_Utf8_2.print_struct;
- td->check_constraints = asn_DEF_Utf8_2.check_constraints;
- td->ber_decoder = asn_DEF_Utf8_2.ber_decoder;
- td->der_encoder = asn_DEF_Utf8_2.der_encoder;
- td->xer_decoder = asn_DEF_Utf8_2.xer_decoder;
- td->xer_encoder = asn_DEF_Utf8_2.xer_encoder;
- td->uper_decoder = asn_DEF_Utf8_2.uper_decoder;
- td->uper_encoder = asn_DEF_Utf8_2.uper_encoder;
- td->oer_decoder = asn_DEF_Utf8_2.oer_decoder;
- td->oer_encoder = asn_DEF_Utf8_2.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Utf8_2.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Utf8_2.per_constraints;
- td->elements = asn_DEF_Utf8_2.elements;
- td->elements_count = asn_DEF_Utf8_2.elements_count;
- td->specifics = asn_DEF_Utf8_2.specifics;
-}
-
-void
-Utf8_3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Utf8_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Utf8_3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Utf8_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Utf8-3] >>> ***/
@@ -3162,13 +1826,13 @@
asn_TYPE_descriptor_t asn_DEF_Utf8_3 = {
"Utf8-3",
"Utf8-3",
- Utf8_3_free,
- Utf8_3_print,
+ UTF8String_free,
+ UTF8String_print,
Utf8_3_constraint,
- Utf8_3_decode_ber,
- Utf8_3_encode_der,
- Utf8_3_decode_xer,
- Utf8_3_encode_xer,
+ UTF8String_decode_ber,
+ UTF8String_encode_der,
+ UTF8String_decode_xer,
+ UTF8String_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 */
@@ -3242,72 +1906,6 @@
* This type is implemented using Utf8_1,
* so here we adjust the DEF accordingly.
*/
-static void
-Utf8_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Utf8_1.free_struct;
- td->print_struct = asn_DEF_Utf8_1.print_struct;
- td->check_constraints = asn_DEF_Utf8_1.check_constraints;
- td->ber_decoder = asn_DEF_Utf8_1.ber_decoder;
- td->der_encoder = asn_DEF_Utf8_1.der_encoder;
- td->xer_decoder = asn_DEF_Utf8_1.xer_decoder;
- td->xer_encoder = asn_DEF_Utf8_1.xer_encoder;
- td->uper_decoder = asn_DEF_Utf8_1.uper_decoder;
- td->uper_encoder = asn_DEF_Utf8_1.uper_encoder;
- td->oer_decoder = asn_DEF_Utf8_1.oer_decoder;
- td->oer_encoder = asn_DEF_Utf8_1.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Utf8_1.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Utf8_1.per_constraints;
- td->elements = asn_DEF_Utf8_1.elements;
- td->elements_count = asn_DEF_Utf8_1.elements_count;
- td->specifics = asn_DEF_Utf8_1.specifics;
-}
-
-void
-Utf8_2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Utf8_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Utf8_2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Utf8_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Utf8-2] >>> ***/
@@ -3317,13 +1915,13 @@
asn_TYPE_descriptor_t asn_DEF_Utf8_2 = {
"Utf8-2",
"Utf8-2",
- Utf8_2_free,
- Utf8_2_print,
+ UTF8String_free,
+ UTF8String_print,
Utf8_2_constraint,
- Utf8_2_decode_ber,
- Utf8_2_encode_der,
- Utf8_2_decode_xer,
- Utf8_2_encode_xer,
+ UTF8String_decode_ber,
+ UTF8String_encode_der,
+ UTF8String_decode_xer,
+ UTF8String_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 */
@@ -3361,84 +1959,10 @@
/*** <<< CODE [Utf8-1] >>> ***/
-int
-Utf8_1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_UTF8String.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using UTF8String,
* so here we adjust the DEF accordingly.
*/
-static void
-Utf8_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_UTF8String.free_struct;
- td->print_struct = asn_DEF_UTF8String.print_struct;
- td->check_constraints = asn_DEF_UTF8String.check_constraints;
- td->ber_decoder = asn_DEF_UTF8String.ber_decoder;
- td->der_encoder = asn_DEF_UTF8String.der_encoder;
- td->xer_decoder = asn_DEF_UTF8String.xer_decoder;
- td->xer_encoder = asn_DEF_UTF8String.xer_encoder;
- td->uper_decoder = asn_DEF_UTF8String.uper_decoder;
- td->uper_encoder = asn_DEF_UTF8String.uper_encoder;
- td->oer_decoder = asn_DEF_UTF8String.oer_decoder;
- td->oer_encoder = asn_DEF_UTF8String.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_UTF8String.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_UTF8String.per_constraints;
- td->elements = asn_DEF_UTF8String.elements;
- td->elements_count = asn_DEF_UTF8String.elements_count;
- td->specifics = asn_DEF_UTF8String.specifics;
-}
-
-void
-Utf8_1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Utf8_1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Utf8_1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Utf8_1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Utf8-1] >>> ***/
@@ -3448,13 +1972,13 @@
asn_TYPE_descriptor_t asn_DEF_Utf8_1 = {
"Utf8-1",
"Utf8-1",
- Utf8_1_free,
- Utf8_1_print,
- Utf8_1_constraint,
- Utf8_1_decode_ber,
- Utf8_1_encode_der,
- Utf8_1_decode_xer,
- Utf8_1_encode_xer,
+ UTF8String_free,
+ UTF8String_print,
+ UTF8String_constraint,
+ UTF8String_decode_ber,
+ UTF8String_encode_der,
+ UTF8String_decode_xer,
+ UTF8String_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 */
@@ -3551,72 +2075,6 @@
* This type is implemented using Identifier,
* so here we adjust the DEF accordingly.
*/
-static void
-VisibleIdentifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Identifier.free_struct;
- td->print_struct = asn_DEF_Identifier.print_struct;
- td->check_constraints = asn_DEF_Identifier.check_constraints;
- td->ber_decoder = asn_DEF_Identifier.ber_decoder;
- td->der_encoder = asn_DEF_Identifier.der_encoder;
- td->xer_decoder = asn_DEF_Identifier.xer_decoder;
- td->xer_encoder = asn_DEF_Identifier.xer_encoder;
- td->uper_decoder = asn_DEF_Identifier.uper_decoder;
- td->uper_encoder = asn_DEF_Identifier.uper_encoder;
- td->oer_decoder = asn_DEF_Identifier.oer_decoder;
- td->oer_encoder = asn_DEF_Identifier.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Identifier.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Identifier.per_constraints;
- td->elements = asn_DEF_Identifier.elements;
- td->elements_count = asn_DEF_Identifier.elements_count;
- td->specifics = asn_DEF_Identifier.specifics;
-}
-
-void
-VisibleIdentifier_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-VisibleIdentifier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-VisibleIdentifier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-VisibleIdentifier_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-VisibleIdentifier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-VisibleIdentifier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [VisibleIdentifier] >>> ***/
@@ -3626,13 +2084,13 @@
asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier = {
"VisibleIdentifier",
"VisibleIdentifier",
- VisibleIdentifier_free,
- VisibleIdentifier_print,
+ VisibleString_free,
+ VisibleString_print,
VisibleIdentifier_constraint,
- VisibleIdentifier_decode_ber,
- VisibleIdentifier_encode_der,
- VisibleIdentifier_decode_xer,
- VisibleIdentifier_encode_xer,
+ VisibleString_decode_ber,
+ VisibleString_encode_der,
+ VisibleString_decode_xer,
+ VisibleString_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 */
@@ -3693,87 +2151,15 @@
/* extern asn_TYPE_descriptor_t asn_DEF_enum_c_6; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_Sequence;
+extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
+extern asn_TYPE_member_t asn_MBR_Sequence_1[7];
/*** <<< CODE [Sequence] >>> ***/
-static int
-enum_c_6_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-enum_c_6_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-static void
-enum_c_6_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- enum_c_6_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-static int
-enum_c_6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-static asn_dec_rval_t
-enum_c_6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-static asn_enc_rval_t
-enum_c_6_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-static asn_dec_rval_t
-enum_c_6_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-static asn_enc_rval_t
-enum_c_6_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
static int
memb_int1_c_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
@@ -3920,7 +2306,7 @@
1 /* two(2) */
/* This list is extensible */
};
-static asn_INTEGER_specifics_t asn_SPC_enum_c_specs_6 = {
+static const asn_INTEGER_specifics_t asn_SPC_enum_c_specs_6 = {
asn_MAP_enum_c_value2enum_6, /* "tag" => N; sorted by tag */
asn_MAP_enum_c_enum2value_6, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
@@ -3936,13 +2322,13 @@
asn_TYPE_descriptor_t asn_DEF_enum_c_6 = {
"enum-c",
"enum-c",
- enum_c_6_free,
- enum_c_6_print,
- enum_c_6_constraint,
- enum_c_6_decode_ber,
- enum_c_6_encode_der,
- enum_c_6_decode_xer,
- enum_c_6_encode_xer,
+ 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 */
@@ -3958,7 +2344,7 @@
&asn_SPC_enum_c_specs_6 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
+asn_TYPE_member_t asn_MBR_Sequence_1[] = {
{ ATF_POINTER, 1, offsetof(struct Sequence, int1_c),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@@ -4042,7 +2428,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* enum-c */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 } /* int4 */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
sizeof(struct Sequence),
offsetof(struct Sequence, _asn_ctx),
asn_MAP_Sequence_tag2el_1,
@@ -4181,84 +2567,10 @@
/*** <<< CODE [Enum0] >>> ***/
-int
-Enum0_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-Enum0_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-void
-Enum0_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Enum0_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Enum0_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum0_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Enum0_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum0_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Enum0_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Enum0] >>> ***/
@@ -4270,7 +2582,7 @@
0, /* one(0) */
1 /* two(1) */
};
-static asn_INTEGER_specifics_t asn_SPC_Enum0_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_Enum0_specs_1 = {
asn_MAP_Enum0_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum0_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
@@ -4285,13 +2597,13 @@
asn_TYPE_descriptor_t asn_DEF_Enum0 = {
"Enum0",
"Enum0",
- Enum0_free,
- Enum0_print,
- Enum0_constraint,
- Enum0_decode_ber,
- Enum0_encode_der,
- Enum0_decode_xer,
- Enum0_encode_xer,
+ 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 */
@@ -4365,72 +2677,6 @@
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
-static void
-Enum1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeEnumerated.free_struct;
- td->print_struct = asn_DEF_NativeEnumerated.print_struct;
- td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
- td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
- td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
- td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
- td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
- td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
- td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
- td->oer_decoder = asn_DEF_NativeEnumerated.oer_decoder;
- td->oer_encoder = asn_DEF_NativeEnumerated.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeEnumerated.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
- td->elements = asn_DEF_NativeEnumerated.elements;
- td->elements_count = asn_DEF_NativeEnumerated.elements_count;
- /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
-}
-
-void
-Enum1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Enum1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Enum1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Enum1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Enum1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Enum1] >>> ***/
@@ -4442,7 +2688,7 @@
0, /* one(0) */
1 /* two(1) */
};
-static asn_INTEGER_specifics_t asn_SPC_Enum1_specs_1 = {
+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 */
2, /* Number of elements in the maps */
@@ -4457,13 +2703,13 @@
asn_TYPE_descriptor_t asn_DEF_Enum1 = {
"Enum1",
"Enum1",
- Enum1_free,
- Enum1_print,
+ NativeEnumerated_free,
+ NativeEnumerated_print,
Enum1_constraint,
- Enum1_decode_ber,
- Enum1_encode_der,
- Enum1_decode_xer,
- Enum1_encode_xer,
+ NativeEnumerated_decode_ber,
+ NativeEnumerated_encode_der,
+ NativeEnumerated_decode_xer,
+ NativeEnumerated_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 */
@@ -4560,72 +2806,6 @@
* This type is implemented using VisibleString,
* so here we adjust the DEF accordingly.
*/
-static void
-Identifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_VisibleString.free_struct;
- td->print_struct = asn_DEF_VisibleString.print_struct;
- td->check_constraints = asn_DEF_VisibleString.check_constraints;
- td->ber_decoder = asn_DEF_VisibleString.ber_decoder;
- td->der_encoder = asn_DEF_VisibleString.der_encoder;
- td->xer_decoder = asn_DEF_VisibleString.xer_decoder;
- td->xer_encoder = asn_DEF_VisibleString.xer_encoder;
- td->uper_decoder = asn_DEF_VisibleString.uper_decoder;
- td->uper_encoder = asn_DEF_VisibleString.uper_encoder;
- td->oer_decoder = asn_DEF_VisibleString.oer_decoder;
- td->oer_encoder = asn_DEF_VisibleString.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_VisibleString.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_VisibleString.per_constraints;
- td->elements = asn_DEF_VisibleString.elements;
- td->elements_count = asn_DEF_VisibleString.elements_count;
- td->specifics = asn_DEF_VisibleString.specifics;
-}
-
-void
-Identifier_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Identifier_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Identifier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Identifier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Identifier_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Identifier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Identifier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [Identifier] >>> ***/
@@ -4635,13 +2815,13 @@
asn_TYPE_descriptor_t asn_DEF_Identifier = {
"Identifier",
"Identifier",
- Identifier_free,
- Identifier_print,
+ VisibleString_free,
+ VisibleString_print,
Identifier_constraint,
- Identifier_decode_ber,
- Identifier_encode_der,
- Identifier_decode_xer,
- Identifier_encode_xer,
+ VisibleString_decode_ber,
+ VisibleString_encode_der,
+ VisibleString_decode_xer,
+ VisibleString_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 */
diff --git a/tests/50-constraint-OK.asn1.-Pgen-PER b/tests/50-constraint-OK.asn1.-Pgen-PER
index 15d438d..0468213 100644
--- a/tests/50-constraint-OK.asn1.-Pgen-PER
+++ b/tests/50-constraint-OK.asn1.-Pgen-PER
@@ -22,99 +22,10 @@
/*** <<< CODE [Int1] >>> ***/
-int
-Int1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-Int1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-Int1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Int1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Int1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Int1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Int1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Int1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Int1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Int1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Int1_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Int1_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< STAT-DEFS [Int1] >>> ***/
@@ -124,16 +35,16 @@
asn_TYPE_descriptor_t asn_DEF_Int1 = {
"Int1",
"Int1",
- Int1_free,
- Int1_print,
- Int1_constraint,
- Int1_decode_ber,
- Int1_encode_der,
- Int1_decode_xer,
- Int1_encode_xer,
+ NativeInteger_free,
+ NativeInteger_print,
+ NativeInteger_constraint,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Int1_decode_uper,
- Int1_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Int1_tags_1,
sizeof(asn_DEF_Int1_tags_1)
@@ -158,6 +69,7 @@
/*** <<< FUNC-DECLS [Int2] >>> ***/
+extern asn_per_constraints_t asn_PER_type_Int2_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Int2;
asn_struct_free_f Int2_free;
asn_struct_print_f Int2_print;
@@ -200,91 +112,10 @@
* This type is implemented using Int1,
* so here we adjust the DEF accordingly.
*/
-static void
-Int2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Int1.free_struct;
- td->print_struct = asn_DEF_Int1.print_struct;
- td->check_constraints = asn_DEF_Int1.check_constraints;
- td->ber_decoder = asn_DEF_Int1.ber_decoder;
- td->der_encoder = asn_DEF_Int1.der_encoder;
- td->xer_decoder = asn_DEF_Int1.xer_decoder;
- td->xer_encoder = asn_DEF_Int1.xer_encoder;
- td->uper_decoder = asn_DEF_Int1.uper_decoder;
- td->uper_encoder = asn_DEF_Int1.uper_encoder;
- td->oer_decoder = asn_DEF_Int1.oer_decoder;
- td->oer_encoder = asn_DEF_Int1.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Int1.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Int1.per_constraints;
- td->elements = asn_DEF_Int1.elements;
- td->elements_count = asn_DEF_Int1.elements_count;
- td->specifics = asn_DEF_Int1.specifics;
-}
-
-void
-Int2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Int2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Int2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Int2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Int2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Int2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Int2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Int2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Int2_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Int2_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Int2] >>> ***/
-static asn_per_constraints_t asn_PER_type_Int2_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Int2_constr_1 GCC_NOTUSED = {
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (0..MAX) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
@@ -298,16 +129,16 @@
asn_TYPE_descriptor_t asn_DEF_Int2 = {
"Int2",
"Int2",
- Int2_free,
- Int2_print,
+ NativeInteger_free,
+ NativeInteger_print,
Int2_constraint,
- Int2_decode_ber,
- Int2_encode_der,
- Int2_decode_xer,
- Int2_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Int2_decode_uper,
- Int2_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Int2_tags_1,
sizeof(asn_DEF_Int2_tags_1)
@@ -332,6 +163,7 @@
/*** <<< FUNC-DECLS [Int3] >>> ***/
+extern asn_per_constraints_t asn_PER_type_Int3_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Int3;
asn_struct_free_f Int3_free;
asn_struct_print_f Int3_print;
@@ -374,91 +206,10 @@
* This type is implemented using Int2,
* so here we adjust the DEF accordingly.
*/
-static void
-Int3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Int2.free_struct;
- td->print_struct = asn_DEF_Int2.print_struct;
- td->check_constraints = asn_DEF_Int2.check_constraints;
- td->ber_decoder = asn_DEF_Int2.ber_decoder;
- td->der_encoder = asn_DEF_Int2.der_encoder;
- td->xer_decoder = asn_DEF_Int2.xer_decoder;
- td->xer_encoder = asn_DEF_Int2.xer_encoder;
- td->uper_decoder = asn_DEF_Int2.uper_decoder;
- td->uper_encoder = asn_DEF_Int2.uper_encoder;
- td->oer_decoder = asn_DEF_Int2.oer_decoder;
- td->oer_encoder = asn_DEF_Int2.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Int2.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Int2.per_constraints;
- td->elements = asn_DEF_Int2.elements;
- td->elements_count = asn_DEF_Int2.elements_count;
- td->specifics = asn_DEF_Int2.specifics;
-}
-
-void
-Int3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Int3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Int3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Int3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Int3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Int3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Int3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Int3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Int3_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Int3_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Int3] >>> ***/
-static asn_per_constraints_t asn_PER_type_Int3_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Int3_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 4, 4, 0, 10 } /* (0..10) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
@@ -472,16 +223,16 @@
asn_TYPE_descriptor_t asn_DEF_Int3 = {
"Int3",
"Int3",
- Int3_free,
- Int3_print,
+ NativeInteger_free,
+ NativeInteger_print,
Int3_constraint,
- Int3_decode_ber,
- Int3_encode_der,
- Int3_decode_xer,
- Int3_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Int3_decode_uper,
- Int3_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Int3_tags_1,
sizeof(asn_DEF_Int3_tags_1)
@@ -506,6 +257,7 @@
/*** <<< FUNC-DECLS [Int4] >>> ***/
+extern asn_per_constraints_t asn_PER_type_Int4_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Int4;
asn_struct_free_f Int4_free;
asn_struct_print_f Int4_print;
@@ -548,91 +300,10 @@
* This type is implemented using Int3,
* so here we adjust the DEF accordingly.
*/
-static void
-Int4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Int3.free_struct;
- td->print_struct = asn_DEF_Int3.print_struct;
- td->check_constraints = asn_DEF_Int3.check_constraints;
- td->ber_decoder = asn_DEF_Int3.ber_decoder;
- td->der_encoder = asn_DEF_Int3.der_encoder;
- td->xer_decoder = asn_DEF_Int3.xer_decoder;
- td->xer_encoder = asn_DEF_Int3.xer_encoder;
- td->uper_decoder = asn_DEF_Int3.uper_decoder;
- td->uper_encoder = asn_DEF_Int3.uper_encoder;
- td->oer_decoder = asn_DEF_Int3.oer_decoder;
- td->oer_encoder = asn_DEF_Int3.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Int3.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Int3.per_constraints;
- td->elements = asn_DEF_Int3.elements;
- td->elements_count = asn_DEF_Int3.elements_count;
- td->specifics = asn_DEF_Int3.specifics;
-}
-
-void
-Int4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Int4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Int4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Int4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Int4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Int4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Int4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Int4_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Int4_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Int4_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Int4] >>> ***/
-static asn_per_constraints_t asn_PER_type_Int4_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Int4_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (1..10,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
@@ -646,16 +317,16 @@
asn_TYPE_descriptor_t asn_DEF_Int4 = {
"Int4",
"Int4",
- Int4_free,
- Int4_print,
+ NativeInteger_free,
+ NativeInteger_print,
Int4_constraint,
- Int4_decode_ber,
- Int4_encode_der,
- Int4_decode_xer,
- Int4_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Int4_decode_uper,
- Int4_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Int4_tags_1,
sizeof(asn_DEF_Int4_tags_1)
@@ -680,6 +351,7 @@
/*** <<< FUNC-DECLS [Int5] >>> ***/
+extern asn_per_constraints_t asn_PER_type_Int5_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Int5;
asn_struct_free_f Int5_free;
asn_struct_print_f Int5_print;
@@ -722,91 +394,10 @@
* This type is implemented using Int4,
* so here we adjust the DEF accordingly.
*/
-static void
-Int5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Int4.free_struct;
- td->print_struct = asn_DEF_Int4.print_struct;
- td->check_constraints = asn_DEF_Int4.check_constraints;
- td->ber_decoder = asn_DEF_Int4.ber_decoder;
- td->der_encoder = asn_DEF_Int4.der_encoder;
- td->xer_decoder = asn_DEF_Int4.xer_decoder;
- td->xer_encoder = asn_DEF_Int4.xer_encoder;
- td->uper_decoder = asn_DEF_Int4.uper_decoder;
- td->uper_encoder = asn_DEF_Int4.uper_encoder;
- td->oer_decoder = asn_DEF_Int4.oer_decoder;
- td->oer_encoder = asn_DEF_Int4.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Int4.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Int4.per_constraints;
- td->elements = asn_DEF_Int4.elements;
- td->elements_count = asn_DEF_Int4.elements_count;
- td->specifics = asn_DEF_Int4.specifics;
-}
-
-void
-Int5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Int5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Int5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Int5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Int5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Int5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Int5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Int5_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Int5_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Int5_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Int5] >>> ***/
-static asn_per_constraints_t asn_PER_type_Int5_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Int5_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 0, 0, 5, 5 } /* (5..5) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
@@ -820,16 +411,16 @@
asn_TYPE_descriptor_t asn_DEF_Int5 = {
"Int5",
"Int5",
- Int5_free,
- Int5_print,
+ NativeInteger_free,
+ NativeInteger_print,
Int5_constraint,
- Int5_decode_ber,
- Int5_encode_der,
- Int5_decode_xer,
- Int5_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Int5_decode_uper,
- Int5_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Int5_tags_1,
sizeof(asn_DEF_Int5_tags_1)
@@ -896,87 +487,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-ExtensibleExtensions_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-ExtensibleExtensions_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-ExtensibleExtensions_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-ExtensibleExtensions_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-ExtensibleExtensions_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-ExtensibleExtensions_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-ExtensibleExtensions_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-ExtensibleExtensions_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-ExtensibleExtensions_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [ExtensibleExtensions] >>> ***/
@@ -994,16 +504,16 @@
asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions = {
"ExtensibleExtensions",
"ExtensibleExtensions",
- ExtensibleExtensions_free,
- ExtensibleExtensions_print,
+ NativeInteger_free,
+ NativeInteger_print,
ExtensibleExtensions_constraint,
- ExtensibleExtensions_decode_ber,
- ExtensibleExtensions_encode_der,
- ExtensibleExtensions_decode_xer,
- ExtensibleExtensions_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- ExtensibleExtensions_decode_uper,
- ExtensibleExtensions_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ExtensibleExtensions_tags_1,
sizeof(asn_DEF_ExtensibleExtensions_tags_1)
@@ -1041,99 +551,10 @@
/*** <<< CODE [Str1] >>> ***/
-int
-Str1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_IA5String.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using IA5String,
* so here we adjust the DEF accordingly.
*/
-static void
-Str1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_IA5String.free_struct;
- td->print_struct = asn_DEF_IA5String.print_struct;
- td->check_constraints = asn_DEF_IA5String.check_constraints;
- td->ber_decoder = asn_DEF_IA5String.ber_decoder;
- td->der_encoder = asn_DEF_IA5String.der_encoder;
- td->xer_decoder = asn_DEF_IA5String.xer_decoder;
- td->xer_encoder = asn_DEF_IA5String.xer_encoder;
- td->uper_decoder = asn_DEF_IA5String.uper_decoder;
- td->uper_encoder = asn_DEF_IA5String.uper_encoder;
- td->oer_decoder = asn_DEF_IA5String.oer_decoder;
- td->oer_encoder = asn_DEF_IA5String.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_IA5String.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_IA5String.per_constraints;
- td->elements = asn_DEF_IA5String.elements;
- td->elements_count = asn_DEF_IA5String.elements_count;
- td->specifics = asn_DEF_IA5String.specifics;
-}
-
-void
-Str1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Str1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Str1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Str1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Str1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Str1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Str1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Str1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Str1_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Str1_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< STAT-DEFS [Str1] >>> ***/
@@ -1143,16 +564,16 @@
asn_TYPE_descriptor_t asn_DEF_Str1 = {
"Str1",
"Str1",
- Str1_free,
- Str1_print,
- Str1_constraint,
- Str1_decode_ber,
- Str1_encode_der,
- Str1_decode_xer,
- Str1_encode_xer,
+ IA5String_free,
+ IA5String_print,
+ IA5String_constraint,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Str1_decode_uper,
- Str1_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Str1_tags_1,
sizeof(asn_DEF_Str1_tags_1)
@@ -1177,6 +598,7 @@
/*** <<< FUNC-DECLS [Str2] >>> ***/
+extern asn_per_constraints_t asn_PER_type_Str2_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Str2;
asn_struct_free_f Str2_free;
asn_struct_print_f Str2_print;
@@ -1237,91 +659,10 @@
* This type is implemented using Str1,
* so here we adjust the DEF accordingly.
*/
-static void
-Str2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Str1.free_struct;
- td->print_struct = asn_DEF_Str1.print_struct;
- td->check_constraints = asn_DEF_Str1.check_constraints;
- td->ber_decoder = asn_DEF_Str1.ber_decoder;
- td->der_encoder = asn_DEF_Str1.der_encoder;
- td->xer_decoder = asn_DEF_Str1.xer_decoder;
- td->xer_encoder = asn_DEF_Str1.xer_encoder;
- td->uper_decoder = asn_DEF_Str1.uper_decoder;
- td->uper_encoder = asn_DEF_Str1.uper_encoder;
- td->oer_decoder = asn_DEF_Str1.oer_decoder;
- td->oer_encoder = asn_DEF_Str1.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Str1.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Str1.per_constraints;
- td->elements = asn_DEF_Str1.elements;
- td->elements_count = asn_DEF_Str1.elements_count;
- td->specifics = asn_DEF_Str1.specifics;
-}
-
-void
-Str2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Str2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Str2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Str2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Str2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Str2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Str2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Str2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Str2_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Str2_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Str2] >>> ***/
-static asn_per_constraints_t asn_PER_type_Str2_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Str2_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */,
{ APC_CONSTRAINED, 5, 5, 0, 30 } /* (SIZE(0..30)) */,
0, 0 /* No PER character map necessary */
@@ -1335,16 +676,16 @@
asn_TYPE_descriptor_t asn_DEF_Str2 = {
"Str2",
"Str2",
- Str2_free,
- Str2_print,
+ IA5String_free,
+ IA5String_print,
Str2_constraint,
- Str2_decode_ber,
- Str2_encode_der,
- Str2_decode_xer,
- Str2_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Str2_decode_uper,
- Str2_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Str2_tags_1,
sizeof(asn_DEF_Str2_tags_1)
@@ -1453,87 +794,6 @@
* This type is implemented using Str2,
* so here we adjust the DEF accordingly.
*/
-static void
-Str3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Str2.free_struct;
- td->print_struct = asn_DEF_Str2.print_struct;
- td->check_constraints = asn_DEF_Str2.check_constraints;
- td->ber_decoder = asn_DEF_Str2.ber_decoder;
- td->der_encoder = asn_DEF_Str2.der_encoder;
- td->xer_decoder = asn_DEF_Str2.xer_decoder;
- td->xer_encoder = asn_DEF_Str2.xer_encoder;
- td->uper_decoder = asn_DEF_Str2.uper_decoder;
- td->uper_encoder = asn_DEF_Str2.uper_encoder;
- td->oer_decoder = asn_DEF_Str2.oer_decoder;
- td->oer_encoder = asn_DEF_Str2.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Str2.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Str2.per_constraints;
- td->elements = asn_DEF_Str2.elements;
- td->elements_count = asn_DEF_Str2.elements_count;
- td->specifics = asn_DEF_Str2.specifics;
-}
-
-void
-Str3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Str3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Str3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Str3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Str3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Str3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Str3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Str3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Str3_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Str3_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Str3] >>> ***/
@@ -1552,16 +812,16 @@
asn_TYPE_descriptor_t asn_DEF_Str3 = {
"Str3",
"Str3",
- Str3_free,
- Str3_print,
+ IA5String_free,
+ IA5String_print,
Str3_constraint,
- Str3_decode_ber,
- Str3_encode_der,
- Str3_decode_xer,
- Str3_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Str3_decode_uper,
- Str3_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Str3_tags_1,
sizeof(asn_DEF_Str3_tags_1)
@@ -1643,87 +903,6 @@
* This type is implemented using IA5String,
* so here we adjust the DEF accordingly.
*/
-static void
-Str4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_IA5String.free_struct;
- td->print_struct = asn_DEF_IA5String.print_struct;
- td->check_constraints = asn_DEF_IA5String.check_constraints;
- td->ber_decoder = asn_DEF_IA5String.ber_decoder;
- td->der_encoder = asn_DEF_IA5String.der_encoder;
- td->xer_decoder = asn_DEF_IA5String.xer_decoder;
- td->xer_encoder = asn_DEF_IA5String.xer_encoder;
- td->uper_decoder = asn_DEF_IA5String.uper_decoder;
- td->uper_encoder = asn_DEF_IA5String.uper_encoder;
- td->oer_decoder = asn_DEF_IA5String.oer_decoder;
- td->oer_encoder = asn_DEF_IA5String.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_IA5String.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_IA5String.per_constraints;
- td->elements = asn_DEF_IA5String.elements;
- td->elements_count = asn_DEF_IA5String.elements_count;
- td->specifics = asn_DEF_IA5String.specifics;
-}
-
-void
-Str4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Str4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Str4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Str4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Str4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Str4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Str4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Str4_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Str4_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Str4_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Str4] >>> ***/
@@ -1741,16 +920,16 @@
asn_TYPE_descriptor_t asn_DEF_Str4 = {
"Str4",
"Str4",
- Str4_free,
- Str4_print,
+ IA5String_free,
+ IA5String_print,
Str4_constraint,
- Str4_decode_ber,
- Str4_encode_der,
- Str4_decode_xer,
- Str4_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Str4_decode_uper,
- Str4_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Str4_tags_1,
sizeof(asn_DEF_Str4_tags_1)
@@ -1775,6 +954,7 @@
/*** <<< FUNC-DECLS [PER-Visible] >>> ***/
+extern asn_per_constraints_t asn_PER_type_PER_Visible_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_PER_Visible;
asn_struct_free_f PER_Visible_free;
asn_struct_print_f PER_Visible_print;
@@ -1832,91 +1012,10 @@
* This type is implemented using IA5String,
* so here we adjust the DEF accordingly.
*/
-static void
-PER_Visible_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_IA5String.free_struct;
- td->print_struct = asn_DEF_IA5String.print_struct;
- td->check_constraints = asn_DEF_IA5String.check_constraints;
- td->ber_decoder = asn_DEF_IA5String.ber_decoder;
- td->der_encoder = asn_DEF_IA5String.der_encoder;
- td->xer_decoder = asn_DEF_IA5String.xer_decoder;
- td->xer_encoder = asn_DEF_IA5String.xer_encoder;
- td->uper_decoder = asn_DEF_IA5String.uper_decoder;
- td->uper_encoder = asn_DEF_IA5String.uper_encoder;
- td->oer_decoder = asn_DEF_IA5String.oer_decoder;
- td->oer_encoder = asn_DEF_IA5String.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_IA5String.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_IA5String.per_constraints;
- td->elements = asn_DEF_IA5String.elements;
- td->elements_count = asn_DEF_IA5String.elements_count;
- td->specifics = asn_DEF_IA5String.specifics;
-}
-
-void
-PER_Visible_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-PER_Visible_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-PER_Visible_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-PER_Visible_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-PER_Visible_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-PER_Visible_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-PER_Visible_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-PER_Visible_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- PER_Visible_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [PER-Visible] >>> ***/
-static asn_per_constraints_t asn_PER_type_PER_Visible_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_PER_Visible_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 3, 3, 65, 70 } /* (65..70) */,
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
0, 0 /* No PER character map necessary */
@@ -1930,16 +1029,16 @@
asn_TYPE_descriptor_t asn_DEF_PER_Visible = {
"PER-Visible",
"PER-Visible",
- PER_Visible_free,
- PER_Visible_print,
+ IA5String_free,
+ IA5String_print,
PER_Visible_constraint,
- PER_Visible_decode_ber,
- PER_Visible_encode_der,
- PER_Visible_decode_xer,
- PER_Visible_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- PER_Visible_decode_uper,
- PER_Visible_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_PER_Visible_tags_1,
sizeof(asn_DEF_PER_Visible_tags_1)
@@ -2021,87 +1120,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-PER_Visible_2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-PER_Visible_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-PER_Visible_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-PER_Visible_2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-PER_Visible_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-PER_Visible_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-PER_Visible_2_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [PER-Visible-2] >>> ***/
@@ -2119,16 +1137,16 @@
asn_TYPE_descriptor_t asn_DEF_PER_Visible_2 = {
"PER-Visible-2",
"PER-Visible-2",
- PER_Visible_2_free,
- PER_Visible_2_print,
+ IA5String_free,
+ IA5String_print,
PER_Visible_2_constraint,
- PER_Visible_2_decode_ber,
- PER_Visible_2_encode_der,
- PER_Visible_2_decode_xer,
- PER_Visible_2_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- PER_Visible_2_decode_uper,
- PER_Visible_2_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_PER_Visible_2_tags_1,
sizeof(asn_DEF_PER_Visible_2_tags_1)
@@ -2210,87 +1228,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-Not_PER_Visible_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-Not_PER_Visible_1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Not_PER_Visible_1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_1_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Not-PER-Visible-1] >>> ***/
@@ -2308,16 +1245,16 @@
asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1 = {
"Not-PER-Visible-1",
"Not-PER-Visible-1",
- Not_PER_Visible_1_free,
- Not_PER_Visible_1_print,
+ IA5String_free,
+ IA5String_print,
Not_PER_Visible_1_constraint,
- Not_PER_Visible_1_decode_ber,
- Not_PER_Visible_1_encode_der,
- Not_PER_Visible_1_decode_xer,
- Not_PER_Visible_1_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Not_PER_Visible_1_decode_uper,
- Not_PER_Visible_1_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Not_PER_Visible_1_tags_1,
sizeof(asn_DEF_Not_PER_Visible_1_tags_1)
@@ -2399,87 +1336,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-Not_PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-Not_PER_Visible_2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Not_PER_Visible_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_2_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Not-PER-Visible-2] >>> ***/
@@ -2497,16 +1353,16 @@
asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2 = {
"Not-PER-Visible-2",
"Not-PER-Visible-2",
- Not_PER_Visible_2_free,
- Not_PER_Visible_2_print,
+ IA5String_free,
+ IA5String_print,
Not_PER_Visible_2_constraint,
- Not_PER_Visible_2_decode_ber,
- Not_PER_Visible_2_encode_der,
- Not_PER_Visible_2_decode_xer,
- Not_PER_Visible_2_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Not_PER_Visible_2_decode_uper,
- Not_PER_Visible_2_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Not_PER_Visible_2_tags_1,
sizeof(asn_DEF_Not_PER_Visible_2_tags_1)
@@ -2588,87 +1444,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-Not_PER_Visible_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-Not_PER_Visible_3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Not_PER_Visible_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Not_PER_Visible_3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Not_PER_Visible_3_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Not-PER-Visible-3] >>> ***/
@@ -2686,16 +1461,16 @@
asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3 = {
"Not-PER-Visible-3",
"Not-PER-Visible-3",
- Not_PER_Visible_3_free,
- Not_PER_Visible_3_print,
+ IA5String_free,
+ IA5String_print,
Not_PER_Visible_3_constraint,
- Not_PER_Visible_3_decode_ber,
- Not_PER_Visible_3_encode_der,
- Not_PER_Visible_3_decode_xer,
- Not_PER_Visible_3_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Not_PER_Visible_3_decode_uper,
- Not_PER_Visible_3_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Not_PER_Visible_3_tags_1,
sizeof(asn_DEF_Not_PER_Visible_3_tags_1)
@@ -2780,87 +1555,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-SIZE_but_not_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-SIZE_but_not_FROM_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-SIZE_but_not_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-SIZE_but_not_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-SIZE_but_not_FROM_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-SIZE_but_not_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-SIZE_but_not_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-SIZE_but_not_FROM_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-SIZE_but_not_FROM_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [SIZE-but-not-FROM] >>> ***/
@@ -2878,16 +1572,16 @@
asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM = {
"SIZE-but-not-FROM",
"SIZE-but-not-FROM",
- SIZE_but_not_FROM_free,
- SIZE_but_not_FROM_print,
+ IA5String_free,
+ IA5String_print,
SIZE_but_not_FROM_constraint,
- SIZE_but_not_FROM_decode_ber,
- SIZE_but_not_FROM_encode_der,
- SIZE_but_not_FROM_decode_xer,
- SIZE_but_not_FROM_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- SIZE_but_not_FROM_decode_uper,
- SIZE_but_not_FROM_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_SIZE_but_not_FROM_tags_1,
sizeof(asn_DEF_SIZE_but_not_FROM_tags_1)
@@ -2972,87 +1666,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-SIZE_and_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-SIZE_and_FROM_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-SIZE_and_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-SIZE_and_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-SIZE_and_FROM_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-SIZE_and_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-SIZE_and_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-SIZE_and_FROM_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-SIZE_and_FROM_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [SIZE-and-FROM] >>> ***/
@@ -3070,16 +1683,16 @@
asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM = {
"SIZE-and-FROM",
"SIZE-and-FROM",
- SIZE_and_FROM_free,
- SIZE_and_FROM_print,
+ IA5String_free,
+ IA5String_print,
SIZE_and_FROM_constraint,
- SIZE_and_FROM_decode_ber,
- SIZE_and_FROM_encode_der,
- SIZE_and_FROM_decode_xer,
- SIZE_and_FROM_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- SIZE_and_FROM_decode_uper,
- SIZE_and_FROM_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_SIZE_and_FROM_tags_1,
sizeof(asn_DEF_SIZE_and_FROM_tags_1)
@@ -3161,87 +1774,6 @@
* This type is implemented using PER_Visible,
* so here we adjust the DEF accordingly.
*/
-static void
-Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_PER_Visible.free_struct;
- td->print_struct = asn_DEF_PER_Visible.print_struct;
- td->check_constraints = asn_DEF_PER_Visible.check_constraints;
- td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
- td->der_encoder = asn_DEF_PER_Visible.der_encoder;
- td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
- td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
- td->uper_decoder = asn_DEF_PER_Visible.uper_decoder;
- td->uper_encoder = asn_DEF_PER_Visible.uper_encoder;
- td->oer_decoder = asn_DEF_PER_Visible.oer_decoder;
- td->oer_encoder = asn_DEF_PER_Visible.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_PER_Visible.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_PER_Visible.per_constraints;
- td->elements = asn_DEF_PER_Visible.elements;
- td->elements_count = asn_DEF_PER_Visible.elements_count;
- td->specifics = asn_DEF_PER_Visible.specifics;
-}
-
-void
-Neither_SIZE_nor_FROM_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Neither_SIZE_nor_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Neither_SIZE_nor_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Neither_SIZE_nor_FROM_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Neither_SIZE_nor_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Neither_SIZE_nor_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Neither_SIZE_nor_FROM_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Neither_SIZE_nor_FROM_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Neither-SIZE-nor-FROM] >>> ***/
@@ -3259,16 +1791,16 @@
asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM = {
"Neither-SIZE-nor-FROM",
"Neither-SIZE-nor-FROM",
- Neither_SIZE_nor_FROM_free,
- Neither_SIZE_nor_FROM_print,
+ IA5String_free,
+ IA5String_print,
Neither_SIZE_nor_FROM_constraint,
- Neither_SIZE_nor_FROM_decode_ber,
- Neither_SIZE_nor_FROM_encode_der,
- Neither_SIZE_nor_FROM_decode_xer,
- Neither_SIZE_nor_FROM_encode_xer,
+ IA5String_decode_ber,
+ IA5String_encode_der,
+ IA5String_decode_xer,
+ IA5String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Neither_SIZE_nor_FROM_decode_uper,
- Neither_SIZE_nor_FROM_encode_uper,
+ IA5String_decode_uper,
+ IA5String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Neither_SIZE_nor_FROM_tags_1,
sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1)
@@ -3344,87 +1876,6 @@
* This type is implemented using UTF8String,
* so here we adjust the DEF accordingly.
*/
-static void
-Utf8_4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_UTF8String.free_struct;
- td->print_struct = asn_DEF_UTF8String.print_struct;
- td->check_constraints = asn_DEF_UTF8String.check_constraints;
- td->ber_decoder = asn_DEF_UTF8String.ber_decoder;
- td->der_encoder = asn_DEF_UTF8String.der_encoder;
- td->xer_decoder = asn_DEF_UTF8String.xer_decoder;
- td->xer_encoder = asn_DEF_UTF8String.xer_encoder;
- td->uper_decoder = asn_DEF_UTF8String.uper_decoder;
- td->uper_encoder = asn_DEF_UTF8String.uper_encoder;
- td->oer_decoder = asn_DEF_UTF8String.oer_decoder;
- td->oer_encoder = asn_DEF_UTF8String.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_UTF8String.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_UTF8String.per_constraints;
- td->elements = asn_DEF_UTF8String.elements;
- td->elements_count = asn_DEF_UTF8String.elements_count;
- td->specifics = asn_DEF_UTF8String.specifics;
-}
-
-void
-Utf8_4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Utf8_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Utf8_4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Utf8_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_4_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Utf8_4_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Utf8_4_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Utf8-4] >>> ***/
@@ -3442,16 +1893,16 @@
asn_TYPE_descriptor_t asn_DEF_Utf8_4 = {
"Utf8-4",
"Utf8-4",
- Utf8_4_free,
- Utf8_4_print,
+ UTF8String_free,
+ UTF8String_print,
Utf8_4_constraint,
- Utf8_4_decode_ber,
- Utf8_4_encode_der,
- Utf8_4_decode_xer,
- Utf8_4_encode_xer,
+ UTF8String_decode_ber,
+ UTF8String_encode_der,
+ UTF8String_decode_xer,
+ UTF8String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Utf8_4_decode_uper,
- Utf8_4_encode_uper,
+ UTF8String_decode_uper,
+ UTF8String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Utf8_4_tags_1,
sizeof(asn_DEF_Utf8_4_tags_1)
@@ -3555,87 +2006,6 @@
* This type is implemented using Utf8_2,
* so here we adjust the DEF accordingly.
*/
-static void
-Utf8_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Utf8_2.free_struct;
- td->print_struct = asn_DEF_Utf8_2.print_struct;
- td->check_constraints = asn_DEF_Utf8_2.check_constraints;
- td->ber_decoder = asn_DEF_Utf8_2.ber_decoder;
- td->der_encoder = asn_DEF_Utf8_2.der_encoder;
- td->xer_decoder = asn_DEF_Utf8_2.xer_decoder;
- td->xer_encoder = asn_DEF_Utf8_2.xer_encoder;
- td->uper_decoder = asn_DEF_Utf8_2.uper_decoder;
- td->uper_encoder = asn_DEF_Utf8_2.uper_encoder;
- td->oer_decoder = asn_DEF_Utf8_2.oer_decoder;
- td->oer_encoder = asn_DEF_Utf8_2.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Utf8_2.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Utf8_2.per_constraints;
- td->elements = asn_DEF_Utf8_2.elements;
- td->elements_count = asn_DEF_Utf8_2.elements_count;
- td->specifics = asn_DEF_Utf8_2.specifics;
-}
-
-void
-Utf8_3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Utf8_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Utf8_3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Utf8_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Utf8_3_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Utf8_3_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Utf8-3] >>> ***/
@@ -3653,16 +2023,16 @@
asn_TYPE_descriptor_t asn_DEF_Utf8_3 = {
"Utf8-3",
"Utf8-3",
- Utf8_3_free,
- Utf8_3_print,
+ UTF8String_free,
+ UTF8String_print,
Utf8_3_constraint,
- Utf8_3_decode_ber,
- Utf8_3_encode_der,
- Utf8_3_decode_xer,
- Utf8_3_encode_xer,
+ UTF8String_decode_ber,
+ UTF8String_encode_der,
+ UTF8String_decode_xer,
+ UTF8String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Utf8_3_decode_uper,
- Utf8_3_encode_uper,
+ UTF8String_decode_uper,
+ UTF8String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Utf8_3_tags_1,
sizeof(asn_DEF_Utf8_3_tags_1)
@@ -3687,6 +2057,7 @@
/*** <<< FUNC-DECLS [Utf8-2] >>> ***/
+extern asn_per_constraints_t asn_PER_type_Utf8_2_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Utf8_2;
asn_struct_free_f Utf8_2_free;
asn_struct_print_f Utf8_2_print;
@@ -3736,91 +2107,10 @@
* This type is implemented using Utf8_1,
* so here we adjust the DEF accordingly.
*/
-static void
-Utf8_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Utf8_1.free_struct;
- td->print_struct = asn_DEF_Utf8_1.print_struct;
- td->check_constraints = asn_DEF_Utf8_1.check_constraints;
- td->ber_decoder = asn_DEF_Utf8_1.ber_decoder;
- td->der_encoder = asn_DEF_Utf8_1.der_encoder;
- td->xer_decoder = asn_DEF_Utf8_1.xer_decoder;
- td->xer_encoder = asn_DEF_Utf8_1.xer_encoder;
- td->uper_decoder = asn_DEF_Utf8_1.uper_decoder;
- td->uper_encoder = asn_DEF_Utf8_1.uper_encoder;
- td->oer_decoder = asn_DEF_Utf8_1.oer_decoder;
- td->oer_encoder = asn_DEF_Utf8_1.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Utf8_1.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Utf8_1.per_constraints;
- td->elements = asn_DEF_Utf8_1.elements;
- td->elements_count = asn_DEF_Utf8_1.elements_count;
- td->specifics = asn_DEF_Utf8_1.specifics;
-}
-
-void
-Utf8_2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Utf8_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Utf8_2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Utf8_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Utf8_2_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Utf8_2_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Utf8-2] >>> ***/
-static asn_per_constraints_t asn_PER_type_Utf8_2_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Utf8_2_constr_1 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
@@ -3834,16 +2124,16 @@
asn_TYPE_descriptor_t asn_DEF_Utf8_2 = {
"Utf8-2",
"Utf8-2",
- Utf8_2_free,
- Utf8_2_print,
+ UTF8String_free,
+ UTF8String_print,
Utf8_2_constraint,
- Utf8_2_decode_ber,
- Utf8_2_encode_der,
- Utf8_2_decode_xer,
- Utf8_2_encode_xer,
+ UTF8String_decode_ber,
+ UTF8String_encode_der,
+ UTF8String_decode_xer,
+ UTF8String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Utf8_2_decode_uper,
- Utf8_2_encode_uper,
+ UTF8String_decode_uper,
+ UTF8String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Utf8_2_tags_1,
sizeof(asn_DEF_Utf8_2_tags_1)
@@ -3881,99 +2171,10 @@
/*** <<< CODE [Utf8-1] >>> ***/
-int
-Utf8_1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_UTF8String.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using UTF8String,
* so here we adjust the DEF accordingly.
*/
-static void
-Utf8_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_UTF8String.free_struct;
- td->print_struct = asn_DEF_UTF8String.print_struct;
- td->check_constraints = asn_DEF_UTF8String.check_constraints;
- td->ber_decoder = asn_DEF_UTF8String.ber_decoder;
- td->der_encoder = asn_DEF_UTF8String.der_encoder;
- td->xer_decoder = asn_DEF_UTF8String.xer_decoder;
- td->xer_encoder = asn_DEF_UTF8String.xer_encoder;
- td->uper_decoder = asn_DEF_UTF8String.uper_decoder;
- td->uper_encoder = asn_DEF_UTF8String.uper_encoder;
- td->oer_decoder = asn_DEF_UTF8String.oer_decoder;
- td->oer_encoder = asn_DEF_UTF8String.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_UTF8String.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_UTF8String.per_constraints;
- td->elements = asn_DEF_UTF8String.elements;
- td->elements_count = asn_DEF_UTF8String.elements_count;
- td->specifics = asn_DEF_UTF8String.specifics;
-}
-
-void
-Utf8_1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Utf8_1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Utf8_1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Utf8_1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Utf8_1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Utf8_1_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Utf8_1_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< STAT-DEFS [Utf8-1] >>> ***/
@@ -3983,16 +2184,16 @@
asn_TYPE_descriptor_t asn_DEF_Utf8_1 = {
"Utf8-1",
"Utf8-1",
- Utf8_1_free,
- Utf8_1_print,
- Utf8_1_constraint,
- Utf8_1_decode_ber,
- Utf8_1_encode_der,
- Utf8_1_decode_xer,
- Utf8_1_encode_xer,
+ UTF8String_free,
+ UTF8String_print,
+ UTF8String_constraint,
+ UTF8String_decode_ber,
+ UTF8String_encode_der,
+ UTF8String_decode_xer,
+ UTF8String_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Utf8_1_decode_uper,
- Utf8_1_encode_uper,
+ UTF8String_decode_uper,
+ UTF8String_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Utf8_1_tags_1,
sizeof(asn_DEF_Utf8_1_tags_1)
@@ -4096,87 +2297,6 @@
* This type is implemented using Identifier,
* so here we adjust the DEF accordingly.
*/
-static void
-VisibleIdentifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Identifier.free_struct;
- td->print_struct = asn_DEF_Identifier.print_struct;
- td->check_constraints = asn_DEF_Identifier.check_constraints;
- td->ber_decoder = asn_DEF_Identifier.ber_decoder;
- td->der_encoder = asn_DEF_Identifier.der_encoder;
- td->xer_decoder = asn_DEF_Identifier.xer_decoder;
- td->xer_encoder = asn_DEF_Identifier.xer_encoder;
- td->uper_decoder = asn_DEF_Identifier.uper_decoder;
- td->uper_encoder = asn_DEF_Identifier.uper_encoder;
- td->oer_decoder = asn_DEF_Identifier.oer_decoder;
- td->oer_encoder = asn_DEF_Identifier.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Identifier.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Identifier.per_constraints;
- td->elements = asn_DEF_Identifier.elements;
- td->elements_count = asn_DEF_Identifier.elements_count;
- td->specifics = asn_DEF_Identifier.specifics;
-}
-
-void
-VisibleIdentifier_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-VisibleIdentifier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-VisibleIdentifier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-VisibleIdentifier_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-VisibleIdentifier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-VisibleIdentifier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-VisibleIdentifier_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-VisibleIdentifier_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- VisibleIdentifier_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< STAT-DEFS [VisibleIdentifier] >>> ***/
@@ -4186,16 +2306,16 @@
asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier = {
"VisibleIdentifier",
"VisibleIdentifier",
- VisibleIdentifier_free,
- VisibleIdentifier_print,
+ VisibleString_free,
+ VisibleString_print,
VisibleIdentifier_constraint,
- VisibleIdentifier_decode_ber,
- VisibleIdentifier_encode_der,
- VisibleIdentifier_decode_xer,
- VisibleIdentifier_encode_xer,
+ VisibleString_decode_ber,
+ VisibleString_encode_der,
+ VisibleString_decode_xer,
+ VisibleString_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- VisibleIdentifier_decode_uper,
- VisibleIdentifier_encode_uper,
+ VisibleString_decode_uper,
+ VisibleString_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_VisibleIdentifier_tags_1,
sizeof(asn_DEF_VisibleIdentifier_tags_1)
@@ -4254,102 +2374,15 @@
/* extern asn_TYPE_descriptor_t asn_DEF_enum_c_6; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_Sequence;
+extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
+extern asn_TYPE_member_t asn_MBR_Sequence_1[7];
/*** <<< CODE [Sequence] >>> ***/
-static int
-enum_c_6_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
-static void
-enum_c_6_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeEnumerated.free_struct;
- td->print_struct = asn_DEF_NativeEnumerated.print_struct;
- td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
- td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
- td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
- td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
- td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
- td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
- td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
- td->oer_decoder = asn_DEF_NativeEnumerated.oer_decoder;
- td->oer_encoder = asn_DEF_NativeEnumerated.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeEnumerated.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
- td->elements = asn_DEF_NativeEnumerated.elements;
- td->elements_count = asn_DEF_NativeEnumerated.elements_count;
- /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
-}
-
-static void
-enum_c_6_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- enum_c_6_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-static int
-enum_c_6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-static asn_dec_rval_t
-enum_c_6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-static asn_enc_rval_t
-enum_c_6_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-static asn_dec_rval_t
-enum_c_6_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-static asn_enc_rval_t
-enum_c_6_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-static asn_dec_rval_t
-enum_c_6_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-static asn_enc_rval_t
-enum_c_6_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- enum_c_6_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
static int
memb_int1_c_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
@@ -4499,7 +2532,7 @@
1 /* two(2) */
/* This list is extensible */
};
-static asn_INTEGER_specifics_t asn_SPC_enum_c_specs_6 = {
+static const asn_INTEGER_specifics_t asn_SPC_enum_c_specs_6 = {
asn_MAP_enum_c_value2enum_6, /* "tag" => N; sorted by tag */
asn_MAP_enum_c_enum2value_6, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
@@ -4515,16 +2548,16 @@
asn_TYPE_descriptor_t asn_DEF_enum_c_6 = {
"enum-c",
"enum-c",
- enum_c_6_free,
- enum_c_6_print,
- enum_c_6_constraint,
- enum_c_6_decode_ber,
- enum_c_6_encode_der,
- enum_c_6_decode_xer,
- enum_c_6_encode_xer,
+ NativeEnumerated_free,
+ NativeEnumerated_print,
+ NativeEnumerated_constraint,
+ NativeEnumerated_decode_ber,
+ NativeEnumerated_encode_der,
+ NativeEnumerated_decode_xer,
+ NativeEnumerated_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- enum_c_6_decode_uper,
- enum_c_6_encode_uper,
+ NativeEnumerated_decode_uper,
+ NativeEnumerated_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_enum_c_tags_6,
sizeof(asn_DEF_enum_c_tags_6)
@@ -4538,7 +2571,7 @@
&asn_SPC_enum_c_specs_6 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
+asn_TYPE_member_t asn_MBR_Sequence_1[] = {
{ ATF_POINTER, 1, offsetof(struct Sequence, int1_c),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@@ -4623,7 +2656,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* enum-c */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 } /* int4 */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
sizeof(struct Sequence),
offsetof(struct Sequence, _asn_ctx),
asn_MAP_Sequence_tag2el_1,
@@ -4775,99 +2808,10 @@
/*** <<< CODE [Enum0] >>> ***/
-int
-Enum0_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
-static void
-Enum0_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeEnumerated.free_struct;
- td->print_struct = asn_DEF_NativeEnumerated.print_struct;
- td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
- td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
- td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
- td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
- td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
- td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
- td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
- td->oer_decoder = asn_DEF_NativeEnumerated.oer_decoder;
- td->oer_encoder = asn_DEF_NativeEnumerated.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeEnumerated.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
- td->elements = asn_DEF_NativeEnumerated.elements;
- td->elements_count = asn_DEF_NativeEnumerated.elements_count;
- /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
-}
-
-void
-Enum0_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Enum0_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Enum0_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum0_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Enum0_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum0_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Enum0_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum0_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Enum0_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Enum0_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Enum0] >>> ***/
@@ -4887,7 +2831,7 @@
0, /* one(0) */
1 /* two(1) */
};
-static asn_INTEGER_specifics_t asn_SPC_Enum0_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_Enum0_specs_1 = {
asn_MAP_Enum0_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum0_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
@@ -4902,16 +2846,16 @@
asn_TYPE_descriptor_t asn_DEF_Enum0 = {
"Enum0",
"Enum0",
- Enum0_free,
- Enum0_print,
- Enum0_constraint,
- Enum0_decode_ber,
- Enum0_encode_der,
- Enum0_decode_xer,
- Enum0_encode_xer,
+ NativeEnumerated_free,
+ NativeEnumerated_print,
+ NativeEnumerated_constraint,
+ NativeEnumerated_decode_ber,
+ NativeEnumerated_encode_der,
+ NativeEnumerated_decode_xer,
+ NativeEnumerated_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Enum0_decode_uper,
- Enum0_encode_uper,
+ NativeEnumerated_decode_uper,
+ NativeEnumerated_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Enum0_tags_1,
sizeof(asn_DEF_Enum0_tags_1)
@@ -4985,87 +2929,6 @@
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
-static void
-Enum1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeEnumerated.free_struct;
- td->print_struct = asn_DEF_NativeEnumerated.print_struct;
- td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
- td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
- td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
- td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
- td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
- td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
- td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
- td->oer_decoder = asn_DEF_NativeEnumerated.oer_decoder;
- td->oer_encoder = asn_DEF_NativeEnumerated.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeEnumerated.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
- td->elements = asn_DEF_NativeEnumerated.elements;
- td->elements_count = asn_DEF_NativeEnumerated.elements_count;
- /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
-}
-
-void
-Enum1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Enum1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Enum1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Enum1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Enum1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Enum1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Enum1_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Enum1_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Enum1] >>> ***/
@@ -5085,7 +2948,7 @@
0, /* one(0) */
1 /* two(1) */
};
-static asn_INTEGER_specifics_t asn_SPC_Enum1_specs_1 = {
+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 */
2, /* Number of elements in the maps */
@@ -5100,16 +2963,16 @@
asn_TYPE_descriptor_t asn_DEF_Enum1 = {
"Enum1",
"Enum1",
- Enum1_free,
- Enum1_print,
+ NativeEnumerated_free,
+ NativeEnumerated_print,
Enum1_constraint,
- Enum1_decode_ber,
- Enum1_encode_der,
- Enum1_decode_xer,
- Enum1_encode_xer,
+ NativeEnumerated_decode_ber,
+ NativeEnumerated_encode_der,
+ NativeEnumerated_decode_xer,
+ NativeEnumerated_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Enum1_decode_uper,
- Enum1_encode_uper,
+ NativeEnumerated_decode_uper,
+ NativeEnumerated_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Enum1_tags_1,
sizeof(asn_DEF_Enum1_tags_1)
@@ -5134,6 +2997,7 @@
/*** <<< FUNC-DECLS [Identifier] >>> ***/
+extern asn_per_constraints_t asn_PER_type_Identifier_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Identifier;
asn_struct_free_f Identifier_free;
asn_struct_print_f Identifier_print;
@@ -5223,91 +3087,10 @@
* This type is implemented using VisibleString,
* so here we adjust the DEF accordingly.
*/
-static void
-Identifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_VisibleString.free_struct;
- td->print_struct = asn_DEF_VisibleString.print_struct;
- td->check_constraints = asn_DEF_VisibleString.check_constraints;
- td->ber_decoder = asn_DEF_VisibleString.ber_decoder;
- td->der_encoder = asn_DEF_VisibleString.der_encoder;
- td->xer_decoder = asn_DEF_VisibleString.xer_decoder;
- td->xer_encoder = asn_DEF_VisibleString.xer_encoder;
- td->uper_decoder = asn_DEF_VisibleString.uper_decoder;
- td->uper_encoder = asn_DEF_VisibleString.uper_encoder;
- td->oer_decoder = asn_DEF_VisibleString.oer_decoder;
- td->oer_encoder = asn_DEF_VisibleString.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_VisibleString.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_VisibleString.per_constraints;
- td->elements = asn_DEF_VisibleString.elements;
- td->elements_count = asn_DEF_VisibleString.elements_count;
- td->specifics = asn_DEF_VisibleString.specifics;
-}
-
-void
-Identifier_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Identifier_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Identifier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Identifier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Identifier_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Identifier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Identifier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-Identifier_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-Identifier_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- Identifier_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [Identifier] >>> ***/
-static asn_per_constraints_t asn_PER_type_Identifier_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Identifier_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 6, 6, 36, 122 } /* (36..122) */,
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
asn_PER_MAP_Identifier_1_v2c, /* Value to PER code map */
@@ -5322,16 +3105,16 @@
asn_TYPE_descriptor_t asn_DEF_Identifier = {
"Identifier",
"Identifier",
- Identifier_free,
- Identifier_print,
+ VisibleString_free,
+ VisibleString_print,
Identifier_constraint,
- Identifier_decode_ber,
- Identifier_encode_der,
- Identifier_decode_xer,
- Identifier_encode_xer,
+ VisibleString_decode_ber,
+ VisibleString_encode_der,
+ VisibleString_decode_xer,
+ VisibleString_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- Identifier_decode_uper,
- Identifier_encode_uper,
+ VisibleString_decode_uper,
+ VisibleString_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Identifier_tags_1,
sizeof(asn_DEF_Identifier_tags_1)
diff --git a/tests/59-choice-extended-OK.asn1.-Pfwide-types b/tests/59-choice-extended-OK.asn1.-Pfwide-types
index 651ba21..18fb910 100644
--- a/tests/59-choice-extended-OK.asn1.-Pfwide-types
+++ b/tests/59-choice-extended-OK.asn1.-Pfwide-types
@@ -39,6 +39,8 @@
/*** <<< FUNC-DECLS [Choice] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice;
+extern asn_CHOICE_specifics_t asn_SPC_Choice_specs_1;
+extern asn_TYPE_member_t asn_MBR_Choice_1[3];
/*** <<< POST-INCLUDE [Choice] >>> ***/
@@ -46,7 +48,7 @@
/*** <<< STAT-DEFS [Choice] >>> ***/
-static asn_TYPE_member_t asn_MBR_Choice_1[] = {
+asn_TYPE_member_t asn_MBR_Choice_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Choice, choice.a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -86,7 +88,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
};
-static asn_CHOICE_specifics_t asn_SPC_Choice_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_Choice_specs_1 = {
sizeof(struct Choice),
offsetof(struct Choice, _asn_ctx),
offsetof(struct Choice, present),
diff --git a/tests/65-multi-tag-OK.asn1.-Pfnative-types b/tests/65-multi-tag-OK.asn1.-Pfnative-types
index 9a20c0f..ba84d78 100644
--- a/tests/65-multi-tag-OK.asn1.-Pfnative-types
+++ b/tests/65-multi-tag-OK.asn1.-Pfnative-types
@@ -20,84 +20,10 @@
/*** <<< CODE [T1] >>> ***/
-int
-T1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_T2.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using T2,
* so here we adjust the DEF accordingly.
*/
-static void
-T1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_T2.free_struct;
- td->print_struct = asn_DEF_T2.print_struct;
- td->check_constraints = asn_DEF_T2.check_constraints;
- td->ber_decoder = asn_DEF_T2.ber_decoder;
- td->der_encoder = asn_DEF_T2.der_encoder;
- td->xer_decoder = asn_DEF_T2.xer_decoder;
- td->xer_encoder = asn_DEF_T2.xer_encoder;
- td->uper_decoder = asn_DEF_T2.uper_decoder;
- td->uper_encoder = asn_DEF_T2.uper_encoder;
- td->oer_decoder = asn_DEF_T2.oer_decoder;
- td->oer_encoder = asn_DEF_T2.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_T2.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_T2.per_constraints;
- td->elements = asn_DEF_T2.elements;
- td->elements_count = asn_DEF_T2.elements_count;
- td->specifics = asn_DEF_T2.specifics;
-}
-
-void
-T1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T1] >>> ***/
@@ -118,13 +44,13 @@
asn_TYPE_descriptor_t asn_DEF_T1 = {
"T1",
"T1",
- T1_free,
- T1_print,
- T1_constraint,
- T1_decode_ber,
- T1_encode_der,
- T1_decode_xer,
- T1_encode_xer,
+ NativeReal_free,
+ NativeReal_print,
+ NativeReal_constraint,
+ NativeReal_decode_ber,
+ NativeReal_encode_der,
+ NativeReal_decode_xer,
+ NativeReal_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 */
@@ -162,84 +88,10 @@
/*** <<< CODE [T2] >>> ***/
-int
-T2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_T3.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using T3,
* so here we adjust the DEF accordingly.
*/
-static void
-T2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_T3.free_struct;
- td->print_struct = asn_DEF_T3.print_struct;
- td->check_constraints = asn_DEF_T3.check_constraints;
- td->ber_decoder = asn_DEF_T3.ber_decoder;
- td->der_encoder = asn_DEF_T3.der_encoder;
- td->xer_decoder = asn_DEF_T3.xer_decoder;
- td->xer_encoder = asn_DEF_T3.xer_encoder;
- td->uper_decoder = asn_DEF_T3.uper_decoder;
- td->uper_encoder = asn_DEF_T3.uper_encoder;
- td->oer_decoder = asn_DEF_T3.oer_decoder;
- td->oer_encoder = asn_DEF_T3.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_T3.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_T3.per_constraints;
- td->elements = asn_DEF_T3.elements;
- td->elements_count = asn_DEF_T3.elements_count;
- td->specifics = asn_DEF_T3.specifics;
-}
-
-void
-T2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T2] >>> ***/
@@ -258,13 +110,13 @@
asn_TYPE_descriptor_t asn_DEF_T2 = {
"T2",
"T2",
- T2_free,
- T2_print,
- T2_constraint,
- T2_decode_ber,
- T2_encode_der,
- T2_decode_xer,
- T2_encode_xer,
+ NativeReal_free,
+ NativeReal_print,
+ NativeReal_constraint,
+ NativeReal_decode_ber,
+ NativeReal_encode_der,
+ NativeReal_decode_xer,
+ NativeReal_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 */
@@ -302,84 +154,10 @@
/*** <<< CODE [T3] >>> ***/
-int
-T3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_T4.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using T4,
* so here we adjust the DEF accordingly.
*/
-static void
-T3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_T4.free_struct;
- td->print_struct = asn_DEF_T4.print_struct;
- td->check_constraints = asn_DEF_T4.check_constraints;
- td->ber_decoder = asn_DEF_T4.ber_decoder;
- td->der_encoder = asn_DEF_T4.der_encoder;
- td->xer_decoder = asn_DEF_T4.xer_decoder;
- td->xer_encoder = asn_DEF_T4.xer_encoder;
- td->uper_decoder = asn_DEF_T4.uper_decoder;
- td->uper_encoder = asn_DEF_T4.uper_encoder;
- td->oer_decoder = asn_DEF_T4.oer_decoder;
- td->oer_encoder = asn_DEF_T4.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_T4.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_T4.per_constraints;
- td->elements = asn_DEF_T4.elements;
- td->elements_count = asn_DEF_T4.elements_count;
- td->specifics = asn_DEF_T4.specifics;
-}
-
-void
-T3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T3] >>> ***/
@@ -396,13 +174,13 @@
asn_TYPE_descriptor_t asn_DEF_T3 = {
"T3",
"T3",
- T3_free,
- T3_print,
- T3_constraint,
- T3_decode_ber,
- T3_encode_der,
- T3_decode_xer,
- T3_encode_xer,
+ NativeReal_free,
+ NativeReal_print,
+ NativeReal_constraint,
+ NativeReal_decode_ber,
+ NativeReal_encode_der,
+ NativeReal_decode_xer,
+ NativeReal_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 */
@@ -440,84 +218,10 @@
/*** <<< CODE [T4] >>> ***/
-int
-T4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_T5.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using T5,
* so here we adjust the DEF accordingly.
*/
-static void
-T4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_T5.free_struct;
- td->print_struct = asn_DEF_T5.print_struct;
- td->check_constraints = asn_DEF_T5.check_constraints;
- td->ber_decoder = asn_DEF_T5.ber_decoder;
- td->der_encoder = asn_DEF_T5.der_encoder;
- td->xer_decoder = asn_DEF_T5.xer_decoder;
- td->xer_encoder = asn_DEF_T5.xer_encoder;
- td->uper_decoder = asn_DEF_T5.uper_decoder;
- td->uper_encoder = asn_DEF_T5.uper_encoder;
- td->oer_decoder = asn_DEF_T5.oer_decoder;
- td->oer_encoder = asn_DEF_T5.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_T5.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_T5.per_constraints;
- td->elements = asn_DEF_T5.elements;
- td->elements_count = asn_DEF_T5.elements_count;
- td->specifics = asn_DEF_T5.specifics;
-}
-
-void
-T4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T4] >>> ***/
@@ -529,13 +233,13 @@
asn_TYPE_descriptor_t asn_DEF_T4 = {
"T4",
"T4",
- T4_free,
- T4_print,
- T4_constraint,
- T4_decode_ber,
- T4_encode_der,
- T4_decode_xer,
- T4_encode_xer,
+ NativeReal_free,
+ NativeReal_print,
+ NativeReal_constraint,
+ NativeReal_decode_ber,
+ NativeReal_encode_der,
+ NativeReal_decode_xer,
+ NativeReal_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 */
@@ -573,84 +277,10 @@
/*** <<< CODE [T5] >>> ***/
-int
-T5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_T6.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using T6,
* so here we adjust the DEF accordingly.
*/
-static void
-T5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_T6.free_struct;
- td->print_struct = asn_DEF_T6.print_struct;
- td->check_constraints = asn_DEF_T6.check_constraints;
- td->ber_decoder = asn_DEF_T6.ber_decoder;
- td->der_encoder = asn_DEF_T6.der_encoder;
- td->xer_decoder = asn_DEF_T6.xer_decoder;
- td->xer_encoder = asn_DEF_T6.xer_encoder;
- td->uper_decoder = asn_DEF_T6.uper_decoder;
- td->uper_encoder = asn_DEF_T6.uper_encoder;
- td->oer_decoder = asn_DEF_T6.oer_decoder;
- td->oer_encoder = asn_DEF_T6.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_T6.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_T6.per_constraints;
- td->elements = asn_DEF_T6.elements;
- td->elements_count = asn_DEF_T6.elements_count;
- td->specifics = asn_DEF_T6.specifics;
-}
-
-void
-T5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T5] >>> ***/
@@ -661,13 +291,13 @@
asn_TYPE_descriptor_t asn_DEF_T5 = {
"T5",
"T5",
- T5_free,
- T5_print,
- T5_constraint,
- T5_decode_ber,
- T5_encode_der,
- T5_decode_xer,
- T5_encode_xer,
+ NativeReal_free,
+ NativeReal_print,
+ NativeReal_constraint,
+ NativeReal_decode_ber,
+ NativeReal_encode_der,
+ NativeReal_decode_xer,
+ NativeReal_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 */
@@ -705,84 +335,10 @@
/*** <<< CODE [T6] >>> ***/
-int
-T6_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_NativeReal.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using NativeReal,
* so here we adjust the DEF accordingly.
*/
-static void
-T6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeReal.free_struct;
- td->print_struct = asn_DEF_NativeReal.print_struct;
- td->check_constraints = asn_DEF_NativeReal.check_constraints;
- td->ber_decoder = asn_DEF_NativeReal.ber_decoder;
- td->der_encoder = asn_DEF_NativeReal.der_encoder;
- td->xer_decoder = asn_DEF_NativeReal.xer_decoder;
- td->xer_encoder = asn_DEF_NativeReal.xer_encoder;
- td->uper_decoder = asn_DEF_NativeReal.uper_decoder;
- td->uper_encoder = asn_DEF_NativeReal.uper_encoder;
- td->oer_decoder = asn_DEF_NativeReal.oer_decoder;
- td->oer_encoder = asn_DEF_NativeReal.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeReal.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeReal.per_constraints;
- td->elements = asn_DEF_NativeReal.elements;
- td->elements_count = asn_DEF_NativeReal.elements_count;
- td->specifics = asn_DEF_NativeReal.specifics;
-}
-
-void
-T6_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T6_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T6_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T6_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T6_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T6_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T6_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T6_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T6_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T6_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T6] >>> ***/
@@ -792,13 +348,13 @@
asn_TYPE_descriptor_t asn_DEF_T6 = {
"T6",
"T6",
- T6_free,
- T6_print,
- T6_constraint,
- T6_decode_ber,
- T6_encode_der,
- T6_decode_xer,
- T6_encode_xer,
+ NativeReal_free,
+ NativeReal_print,
+ NativeReal_constraint,
+ NativeReal_decode_ber,
+ NativeReal_encode_der,
+ NativeReal_decode_xer,
+ NativeReal_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 */
@@ -836,84 +392,10 @@
/*** <<< CODE [T] >>> ***/
-int
-T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Ts.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Ts,
* so here we adjust the DEF accordingly.
*/
-static void
-T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Ts.free_struct;
- td->print_struct = asn_DEF_Ts.print_struct;
- td->check_constraints = asn_DEF_Ts.check_constraints;
- td->ber_decoder = asn_DEF_Ts.ber_decoder;
- td->der_encoder = asn_DEF_Ts.der_encoder;
- td->xer_decoder = asn_DEF_Ts.xer_decoder;
- td->xer_encoder = asn_DEF_Ts.xer_encoder;
- td->uper_decoder = asn_DEF_Ts.uper_decoder;
- td->uper_encoder = asn_DEF_Ts.uper_encoder;
- td->oer_decoder = asn_DEF_Ts.oer_decoder;
- td->oer_encoder = asn_DEF_Ts.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Ts.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Ts.per_constraints;
- td->elements = asn_DEF_Ts.elements;
- td->elements_count = asn_DEF_Ts.elements_count;
- td->specifics = asn_DEF_Ts.specifics;
-}
-
-void
-T_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T] >>> ***/
@@ -925,13 +407,13 @@
asn_TYPE_descriptor_t asn_DEF_T = {
"T",
"T",
- T_free,
- T_print,
- T_constraint,
- T_decode_ber,
- T_encode_der,
- T_decode_xer,
- T_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -943,8 +425,9 @@
/sizeof(asn_DEF_T_tags_1[0]), /* 3 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Ts_1,
+ 3, /* Elements count */
+ &asn_SPC_Ts_specs_1 /* Additional specs */
};
@@ -968,10 +451,12 @@
/*** <<< FUNC-DECLS [Ts] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Ts;
+extern asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1;
+extern asn_TYPE_member_t asn_MBR_Ts_1[3];
/*** <<< STAT-DEFS [Ts] >>> ***/
-static asn_TYPE_member_t asn_MBR_Ts_1[] = {
+asn_TYPE_member_t asn_MBR_Ts_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m1),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1012,7 +497,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* m2 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* m3 */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1 = {
sizeof(struct Ts),
offsetof(struct Ts, _asn_ctx),
asn_MAP_Ts_tag2el_1,
diff --git a/tests/65-multi-tag-OK.asn1.-Pfwide-types b/tests/65-multi-tag-OK.asn1.-Pfwide-types
index 5381ea7..8b2219e 100644
--- a/tests/65-multi-tag-OK.asn1.-Pfwide-types
+++ b/tests/65-multi-tag-OK.asn1.-Pfwide-types
@@ -20,84 +20,10 @@
/*** <<< CODE [T1] >>> ***/
-int
-T1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_T2.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using T2,
* so here we adjust the DEF accordingly.
*/
-static void
-T1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_T2.free_struct;
- td->print_struct = asn_DEF_T2.print_struct;
- td->check_constraints = asn_DEF_T2.check_constraints;
- td->ber_decoder = asn_DEF_T2.ber_decoder;
- td->der_encoder = asn_DEF_T2.der_encoder;
- td->xer_decoder = asn_DEF_T2.xer_decoder;
- td->xer_encoder = asn_DEF_T2.xer_encoder;
- td->uper_decoder = asn_DEF_T2.uper_decoder;
- td->uper_encoder = asn_DEF_T2.uper_encoder;
- td->oer_decoder = asn_DEF_T2.oer_decoder;
- td->oer_encoder = asn_DEF_T2.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_T2.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_T2.per_constraints;
- td->elements = asn_DEF_T2.elements;
- td->elements_count = asn_DEF_T2.elements_count;
- td->specifics = asn_DEF_T2.specifics;
-}
-
-void
-T1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T1] >>> ***/
@@ -118,13 +44,13 @@
asn_TYPE_descriptor_t asn_DEF_T1 = {
"T1",
"T1",
- T1_free,
- T1_print,
- T1_constraint,
- T1_decode_ber,
- T1_encode_der,
- T1_decode_xer,
- T1_encode_xer,
+ REAL_free,
+ REAL_print,
+ REAL_constraint,
+ REAL_decode_ber,
+ REAL_encode_der,
+ REAL_decode_xer,
+ REAL_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 */
@@ -162,84 +88,10 @@
/*** <<< CODE [T2] >>> ***/
-int
-T2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_T3.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using T3,
* so here we adjust the DEF accordingly.
*/
-static void
-T2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_T3.free_struct;
- td->print_struct = asn_DEF_T3.print_struct;
- td->check_constraints = asn_DEF_T3.check_constraints;
- td->ber_decoder = asn_DEF_T3.ber_decoder;
- td->der_encoder = asn_DEF_T3.der_encoder;
- td->xer_decoder = asn_DEF_T3.xer_decoder;
- td->xer_encoder = asn_DEF_T3.xer_encoder;
- td->uper_decoder = asn_DEF_T3.uper_decoder;
- td->uper_encoder = asn_DEF_T3.uper_encoder;
- td->oer_decoder = asn_DEF_T3.oer_decoder;
- td->oer_encoder = asn_DEF_T3.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_T3.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_T3.per_constraints;
- td->elements = asn_DEF_T3.elements;
- td->elements_count = asn_DEF_T3.elements_count;
- td->specifics = asn_DEF_T3.specifics;
-}
-
-void
-T2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T2] >>> ***/
@@ -258,13 +110,13 @@
asn_TYPE_descriptor_t asn_DEF_T2 = {
"T2",
"T2",
- T2_free,
- T2_print,
- T2_constraint,
- T2_decode_ber,
- T2_encode_der,
- T2_decode_xer,
- T2_encode_xer,
+ REAL_free,
+ REAL_print,
+ REAL_constraint,
+ REAL_decode_ber,
+ REAL_encode_der,
+ REAL_decode_xer,
+ REAL_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 */
@@ -302,84 +154,10 @@
/*** <<< CODE [T3] >>> ***/
-int
-T3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_T4.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using T4,
* so here we adjust the DEF accordingly.
*/
-static void
-T3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_T4.free_struct;
- td->print_struct = asn_DEF_T4.print_struct;
- td->check_constraints = asn_DEF_T4.check_constraints;
- td->ber_decoder = asn_DEF_T4.ber_decoder;
- td->der_encoder = asn_DEF_T4.der_encoder;
- td->xer_decoder = asn_DEF_T4.xer_decoder;
- td->xer_encoder = asn_DEF_T4.xer_encoder;
- td->uper_decoder = asn_DEF_T4.uper_decoder;
- td->uper_encoder = asn_DEF_T4.uper_encoder;
- td->oer_decoder = asn_DEF_T4.oer_decoder;
- td->oer_encoder = asn_DEF_T4.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_T4.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_T4.per_constraints;
- td->elements = asn_DEF_T4.elements;
- td->elements_count = asn_DEF_T4.elements_count;
- td->specifics = asn_DEF_T4.specifics;
-}
-
-void
-T3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T3] >>> ***/
@@ -396,13 +174,13 @@
asn_TYPE_descriptor_t asn_DEF_T3 = {
"T3",
"T3",
- T3_free,
- T3_print,
- T3_constraint,
- T3_decode_ber,
- T3_encode_der,
- T3_decode_xer,
- T3_encode_xer,
+ REAL_free,
+ REAL_print,
+ REAL_constraint,
+ REAL_decode_ber,
+ REAL_encode_der,
+ REAL_decode_xer,
+ REAL_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 */
@@ -440,84 +218,10 @@
/*** <<< CODE [T4] >>> ***/
-int
-T4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_T5.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using T5,
* so here we adjust the DEF accordingly.
*/
-static void
-T4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_T5.free_struct;
- td->print_struct = asn_DEF_T5.print_struct;
- td->check_constraints = asn_DEF_T5.check_constraints;
- td->ber_decoder = asn_DEF_T5.ber_decoder;
- td->der_encoder = asn_DEF_T5.der_encoder;
- td->xer_decoder = asn_DEF_T5.xer_decoder;
- td->xer_encoder = asn_DEF_T5.xer_encoder;
- td->uper_decoder = asn_DEF_T5.uper_decoder;
- td->uper_encoder = asn_DEF_T5.uper_encoder;
- td->oer_decoder = asn_DEF_T5.oer_decoder;
- td->oer_encoder = asn_DEF_T5.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_T5.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_T5.per_constraints;
- td->elements = asn_DEF_T5.elements;
- td->elements_count = asn_DEF_T5.elements_count;
- td->specifics = asn_DEF_T5.specifics;
-}
-
-void
-T4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T4] >>> ***/
@@ -529,13 +233,13 @@
asn_TYPE_descriptor_t asn_DEF_T4 = {
"T4",
"T4",
- T4_free,
- T4_print,
- T4_constraint,
- T4_decode_ber,
- T4_encode_der,
- T4_decode_xer,
- T4_encode_xer,
+ REAL_free,
+ REAL_print,
+ REAL_constraint,
+ REAL_decode_ber,
+ REAL_encode_der,
+ REAL_decode_xer,
+ REAL_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 */
@@ -573,84 +277,10 @@
/*** <<< CODE [T5] >>> ***/
-int
-T5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_T6.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using T6,
* so here we adjust the DEF accordingly.
*/
-static void
-T5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_T6.free_struct;
- td->print_struct = asn_DEF_T6.print_struct;
- td->check_constraints = asn_DEF_T6.check_constraints;
- td->ber_decoder = asn_DEF_T6.ber_decoder;
- td->der_encoder = asn_DEF_T6.der_encoder;
- td->xer_decoder = asn_DEF_T6.xer_decoder;
- td->xer_encoder = asn_DEF_T6.xer_encoder;
- td->uper_decoder = asn_DEF_T6.uper_decoder;
- td->uper_encoder = asn_DEF_T6.uper_encoder;
- td->oer_decoder = asn_DEF_T6.oer_decoder;
- td->oer_encoder = asn_DEF_T6.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_T6.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_T6.per_constraints;
- td->elements = asn_DEF_T6.elements;
- td->elements_count = asn_DEF_T6.elements_count;
- td->specifics = asn_DEF_T6.specifics;
-}
-
-void
-T5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T5] >>> ***/
@@ -661,13 +291,13 @@
asn_TYPE_descriptor_t asn_DEF_T5 = {
"T5",
"T5",
- T5_free,
- T5_print,
- T5_constraint,
- T5_decode_ber,
- T5_encode_der,
- T5_decode_xer,
- T5_encode_xer,
+ REAL_free,
+ REAL_print,
+ REAL_constraint,
+ REAL_decode_ber,
+ REAL_encode_der,
+ REAL_decode_xer,
+ REAL_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 */
@@ -705,84 +335,10 @@
/*** <<< CODE [T6] >>> ***/
-int
-T6_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_REAL.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using REAL,
* so here we adjust the DEF accordingly.
*/
-static void
-T6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_REAL.free_struct;
- td->print_struct = asn_DEF_REAL.print_struct;
- td->check_constraints = asn_DEF_REAL.check_constraints;
- td->ber_decoder = asn_DEF_REAL.ber_decoder;
- td->der_encoder = asn_DEF_REAL.der_encoder;
- td->xer_decoder = asn_DEF_REAL.xer_decoder;
- td->xer_encoder = asn_DEF_REAL.xer_encoder;
- td->uper_decoder = asn_DEF_REAL.uper_decoder;
- td->uper_encoder = asn_DEF_REAL.uper_encoder;
- td->oer_decoder = asn_DEF_REAL.oer_decoder;
- td->oer_encoder = asn_DEF_REAL.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_REAL.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_REAL.per_constraints;
- td->elements = asn_DEF_REAL.elements;
- td->elements_count = asn_DEF_REAL.elements_count;
- td->specifics = asn_DEF_REAL.specifics;
-}
-
-void
-T6_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T6_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T6_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T6_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T6_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T6_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T6_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T6_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T6_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T6_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T6] >>> ***/
@@ -792,13 +348,13 @@
asn_TYPE_descriptor_t asn_DEF_T6 = {
"T6",
"T6",
- T6_free,
- T6_print,
- T6_constraint,
- T6_decode_ber,
- T6_encode_der,
- T6_decode_xer,
- T6_encode_xer,
+ REAL_free,
+ REAL_print,
+ REAL_constraint,
+ REAL_decode_ber,
+ REAL_encode_der,
+ REAL_decode_xer,
+ REAL_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 */
@@ -836,84 +392,10 @@
/*** <<< CODE [T] >>> ***/
-int
-T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Ts.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Ts,
* so here we adjust the DEF accordingly.
*/
-static void
-T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Ts.free_struct;
- td->print_struct = asn_DEF_Ts.print_struct;
- td->check_constraints = asn_DEF_Ts.check_constraints;
- td->ber_decoder = asn_DEF_Ts.ber_decoder;
- td->der_encoder = asn_DEF_Ts.der_encoder;
- td->xer_decoder = asn_DEF_Ts.xer_decoder;
- td->xer_encoder = asn_DEF_Ts.xer_encoder;
- td->uper_decoder = asn_DEF_Ts.uper_decoder;
- td->uper_encoder = asn_DEF_Ts.uper_encoder;
- td->oer_decoder = asn_DEF_Ts.oer_decoder;
- td->oer_encoder = asn_DEF_Ts.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Ts.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Ts.per_constraints;
- td->elements = asn_DEF_Ts.elements;
- td->elements_count = asn_DEF_Ts.elements_count;
- td->specifics = asn_DEF_Ts.specifics;
-}
-
-void
-T_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T] >>> ***/
@@ -925,13 +407,13 @@
asn_TYPE_descriptor_t asn_DEF_T = {
"T",
"T",
- T_free,
- T_print,
- T_constraint,
- T_decode_ber,
- T_encode_der,
- T_decode_xer,
- T_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -943,8 +425,9 @@
/sizeof(asn_DEF_T_tags_1[0]), /* 3 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Ts_1,
+ 3, /* Elements count */
+ &asn_SPC_Ts_specs_1 /* Additional specs */
};
@@ -968,10 +451,12 @@
/*** <<< FUNC-DECLS [Ts] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Ts;
+extern asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1;
+extern asn_TYPE_member_t asn_MBR_Ts_1[3];
/*** <<< STAT-DEFS [Ts] >>> ***/
-static asn_TYPE_member_t asn_MBR_Ts_1[] = {
+asn_TYPE_member_t asn_MBR_Ts_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m1),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1012,7 +497,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* m2 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* m3 */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1 = {
sizeof(struct Ts),
offsetof(struct Ts, _asn_ctx),
asn_MAP_Ts_tag2el_1,
diff --git a/tests/66-ref-simple-OK.asn1.-Pfwide-types b/tests/66-ref-simple-OK.asn1.-Pfwide-types
index 8f37082..07aa780 100644
--- a/tests/66-ref-simple-OK.asn1.-Pfwide-types
+++ b/tests/66-ref-simple-OK.asn1.-Pfwide-types
@@ -86,6 +86,7 @@
/*** <<< FUNC-DECLS [SimpleType] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SimpleType;
+extern asn_INTEGER_specifics_t asn_SPC_SimpleType_specs_1;
asn_struct_free_f SimpleType_free;
asn_struct_print_f SimpleType_print;
asn_constr_check_f SimpleType_constraint;
@@ -96,84 +97,10 @@
/*** <<< CODE [SimpleType] >>> ***/
-int
-SimpleType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-SimpleType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-void
-SimpleType_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- SimpleType_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-SimpleType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- SimpleType_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-SimpleType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- SimpleType_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-SimpleType_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SimpleType_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-SimpleType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- SimpleType_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-SimpleType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- SimpleType_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [SimpleType] >>> ***/
@@ -187,7 +114,7 @@
2, /* three(2) */
1 /* two(1) */
};
-static asn_INTEGER_specifics_t asn_SPC_SimpleType_specs_1 = {
+const asn_INTEGER_specifics_t asn_SPC_SimpleType_specs_1 = {
asn_MAP_SimpleType_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_SimpleType_enum2value_1, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
@@ -202,13 +129,13 @@
asn_TYPE_descriptor_t asn_DEF_SimpleType = {
"SimpleType",
"SimpleType",
- SimpleType_free,
- SimpleType_print,
- SimpleType_constraint,
- SimpleType_decode_ber,
- SimpleType_encode_der,
- SimpleType_decode_xer,
- SimpleType_encode_xer,
+ 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 */
diff --git a/tests/69-reserved-words-OK.asn1.-Pfwide-types b/tests/69-reserved-words-OK.asn1.-Pfwide-types
index 6debb97..9259ee0 100644
--- a/tests/69-reserved-words-OK.asn1.-Pfwide-types
+++ b/tests/69-reserved-words-OK.asn1.-Pfwide-types
@@ -81,7 +81,8 @@
static const uint8_t asn_MAP_class_mmap_4[(0 + (8 * sizeof(unsigned int)) - 1) / 8] = {
0
};
-static asn_SET_specifics_t asn_SPC_class_specs_4 = {
+static
+asn_SET_specifics_t asn_SPC_class_specs_4 = {
sizeof(struct Class),
offsetof(struct Class, _asn_ctx),
offsetof(struct Class, _presence_map),
diff --git a/tests/70-xer-test-OK.asn1.-Pfwide-types b/tests/70-xer-test-OK.asn1.-Pfwide-types
index 4211c0c..459fc80 100644
--- a/tests/70-xer-test-OK.asn1.-Pfwide-types
+++ b/tests/70-xer-test-OK.asn1.-Pfwide-types
@@ -307,6 +307,8 @@
/*** <<< FUNC-DECLS [Sequence] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Sequence;
+extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
+extern asn_TYPE_member_t asn_MBR_Sequence_1[4];
/*** <<< POST-INCLUDE [Sequence] >>> ***/
@@ -314,7 +316,7 @@
/*** <<< STAT-DEFS [Sequence] >>> ***/
-static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
+asn_TYPE_member_t asn_MBR_Sequence_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Sequence, integer),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -365,7 +367,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bits */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* string */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
sizeof(struct Sequence),
offsetof(struct Sequence, _asn_ctx),
asn_MAP_Sequence_tag2el_1,
@@ -435,10 +437,12 @@
/*** <<< FUNC-DECLS [Set] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Set;
+extern asn_SET_specifics_t asn_SPC_Set_specs_1;
+extern asn_TYPE_member_t asn_MBR_Set_1[2];
/*** <<< STAT-DEFS [Set] >>> ***/
-static asn_TYPE_member_t asn_MBR_Set_1[] = {
+asn_TYPE_member_t asn_MBR_Set_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Set, roid),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -470,7 +474,7 @@
static const uint8_t asn_MAP_Set_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (0 << 6)
};
-static asn_SET_specifics_t asn_SPC_Set_specs_1 = {
+asn_SET_specifics_t asn_SPC_Set_specs_1 = {
sizeof(struct Set),
offsetof(struct Set, _asn_ctx),
offsetof(struct Set, _presence_map),
@@ -551,87 +555,15 @@
/* extern asn_TYPE_descriptor_t asn_DEF_enum_4; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSet;
+extern asn_SET_specifics_t asn_SPC_ExtensibleSet_specs_1;
+extern asn_TYPE_member_t asn_MBR_ExtensibleSet_1[2];
/*** <<< CODE [ExtensibleSet] >>> ***/
-static int
-enum_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-enum_4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-static void
-enum_4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- enum_4_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-static int
-enum_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- enum_4_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-static asn_dec_rval_t
-enum_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- enum_4_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-static asn_enc_rval_t
-enum_4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- enum_4_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-static asn_dec_rval_t
-enum_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- enum_4_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-static asn_enc_rval_t
-enum_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- enum_4_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [ExtensibleSet] >>> ***/
@@ -643,7 +575,7 @@
1, /* a(1) */
0 /* b(0) */
};
-static asn_INTEGER_specifics_t asn_SPC_enum_specs_4 = {
+static const asn_INTEGER_specifics_t asn_SPC_enum_specs_4 = {
asn_MAP_enum_value2enum_4, /* "tag" => N; sorted by tag */
asn_MAP_enum_enum2value_4, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
@@ -660,13 +592,13 @@
asn_TYPE_descriptor_t asn_DEF_enum_4 = {
"enum",
"enum",
- enum_4_free,
- enum_4_print,
- enum_4_constraint,
- enum_4_decode_ber,
- enum_4_encode_der,
- enum_4_decode_xer,
- enum_4_encode_xer,
+ 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 */
@@ -682,7 +614,7 @@
&asn_SPC_enum_specs_4 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_ExtensibleSet_1[] = {
+asn_TYPE_member_t asn_MBR_ExtensibleSet_1[] = {
{ ATF_POINTER, 2, offsetof(struct ExtensibleSet, string),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -714,7 +646,7 @@
static const uint8_t asn_MAP_ExtensibleSet_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(0 << 7) | (0 << 6)
};
-static asn_SET_specifics_t asn_SPC_ExtensibleSet_specs_1 = {
+asn_SET_specifics_t asn_SPC_ExtensibleSet_specs_1 = {
sizeof(struct ExtensibleSet),
offsetof(struct ExtensibleSet, _asn_ctx),
offsetof(struct ExtensibleSet, _presence_map),
@@ -777,10 +709,12 @@
/*** <<< FUNC-DECLS [ExtensibleSequence] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence;
+extern asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_specs_1;
+extern asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[3];
/*** <<< STAT-DEFS [ExtensibleSequence] >>> ***/
-static asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[] = {
+asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[] = {
{ ATF_POINTER, 3, offsetof(struct ExtensibleSequence, string),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -820,7 +754,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* integer */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gtime */
};
-static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_specs_1 = {
sizeof(struct ExtensibleSequence),
offsetof(struct ExtensibleSequence, _asn_ctx),
asn_MAP_ExtensibleSequence_tag2el_1,
@@ -879,10 +813,12 @@
/*** <<< FUNC-DECLS [ExtensibleSequence2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2;
+extern asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_specs_1;
+extern asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[2];
/*** <<< STAT-DEFS [ExtensibleSequence2] >>> ***/
-static asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[] = {
+asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[] = {
{ ATF_POINTER, 2, offsetof(struct ExtensibleSequence2, string),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -911,7 +847,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* integer */
};
-static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_specs_1 = {
sizeof(struct ExtensibleSequence2),
offsetof(struct ExtensibleSequence2, _asn_ctx),
asn_MAP_ExtensibleSequence2_tag2el_1,
@@ -965,10 +901,12 @@
/*** <<< FUNC-DECLS [SetOfNULL] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SetOfNULL;
+extern asn_SET_OF_specifics_t asn_SPC_SetOfNULL_specs_1;
+extern asn_TYPE_member_t asn_MBR_SetOfNULL_1[1];
/*** <<< STAT-DEFS [SetOfNULL] >>> ***/
-static asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = {
+asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
.tag_mode = 0,
@@ -983,7 +921,7 @@
static const ber_tlv_tag_t asn_DEF_SetOfNULL_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_SetOfNULL_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_SetOfNULL_specs_1 = {
sizeof(struct SetOfNULL),
offsetof(struct SetOfNULL, _asn_ctx),
1, /* XER encoding is XMLValueList */
@@ -1033,10 +971,12 @@
/*** <<< FUNC-DECLS [SetOfREAL] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SetOfREAL;
+extern asn_SET_OF_specifics_t asn_SPC_SetOfREAL_specs_1;
+extern asn_TYPE_member_t asn_MBR_SetOfREAL_1[1];
/*** <<< STAT-DEFS [SetOfREAL] >>> ***/
-static asn_TYPE_member_t asn_MBR_SetOfREAL_1[] = {
+asn_TYPE_member_t asn_MBR_SetOfREAL_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
.tag_mode = 0,
@@ -1051,7 +991,7 @@
static const ber_tlv_tag_t asn_DEF_SetOfREAL_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_SetOfREAL_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_SetOfREAL_specs_1 = {
sizeof(struct SetOfREAL),
offsetof(struct SetOfREAL, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@@ -1109,87 +1049,15 @@
/* extern asn_TYPE_descriptor_t asn_DEF_Member_2; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums;
+extern asn_SET_OF_specifics_t asn_SPC_SetOfEnums_specs_1;
+extern asn_TYPE_member_t asn_MBR_SetOfEnums_1[1];
/*** <<< CODE [SetOfEnums] >>> ***/
-static int
-Member_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-Member_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-static void
-Member_2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- Member_2_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-static int
-Member_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- Member_2_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-static asn_dec_rval_t
-Member_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- Member_2_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-static asn_enc_rval_t
-Member_2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Member_2_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-static asn_dec_rval_t
-Member_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- Member_2_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-static asn_enc_rval_t
-Member_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- Member_2_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [SetOfEnums] >>> ***/
@@ -1201,7 +1069,7 @@
0, /* one(0) */
1 /* oneMore(1) */
};
-static asn_INTEGER_specifics_t asn_SPC_Member_specs_2 = {
+static const asn_INTEGER_specifics_t asn_SPC_Member_specs_2 = {
asn_MAP_Member_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_Member_enum2value_2, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
@@ -1217,13 +1085,13 @@
asn_TYPE_descriptor_t asn_DEF_Member_2 = {
"ENUMERATED",
"ENUMERATED",
- Member_2_free,
- Member_2_print,
- Member_2_constraint,
- Member_2_decode_ber,
- Member_2_encode_der,
- Member_2_decode_xer,
- Member_2_encode_xer,
+ 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 */
@@ -1239,7 +1107,7 @@
&asn_SPC_Member_specs_2 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_SetOfEnums_1[] = {
+asn_TYPE_member_t asn_MBR_SetOfEnums_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
@@ -1254,7 +1122,7 @@
static const ber_tlv_tag_t asn_DEF_SetOfEnums_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_SetOfEnums_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_SetOfEnums_specs_1 = {
sizeof(struct SetOfEnums),
offsetof(struct SetOfEnums, _asn_ctx),
1, /* XER encoding is XMLValueList */
@@ -1304,10 +1172,12 @@
/*** <<< FUNC-DECLS [NamedSetOfNULL] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL;
+extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_specs_1;
+extern asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[1];
/*** <<< STAT-DEFS [NamedSetOfNULL] >>> ***/
-static asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[] = {
+asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
.tag_mode = 0,
@@ -1322,7 +1192,7 @@
static const ber_tlv_tag_t asn_DEF_NamedSetOfNULL_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_specs_1 = {
sizeof(struct NamedSetOfNULL),
offsetof(struct NamedSetOfNULL, _asn_ctx),
1, /* XER encoding is XMLValueList */
@@ -1372,10 +1242,12 @@
/*** <<< FUNC-DECLS [NamedSetOfREAL] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL;
+extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_specs_1;
+extern asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[1];
/*** <<< STAT-DEFS [NamedSetOfREAL] >>> ***/
-static asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[] = {
+asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
.tag_mode = 0,
@@ -1390,7 +1262,7 @@
static const ber_tlv_tag_t asn_DEF_NamedSetOfREAL_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_specs_1 = {
sizeof(struct NamedSetOfREAL),
offsetof(struct NamedSetOfREAL, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@@ -1448,87 +1320,15 @@
/* extern asn_TYPE_descriptor_t asn_DEF_name_2; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums;
+extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_specs_1;
+extern asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[1];
/*** <<< CODE [NamedSetOfEnums] >>> ***/
-static int
-name_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-name_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-static void
-name_2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- name_2_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-static int
-name_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- name_2_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-static asn_dec_rval_t
-name_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- name_2_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-static asn_enc_rval_t
-name_2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- name_2_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-static asn_dec_rval_t
-name_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- name_2_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-static asn_enc_rval_t
-name_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- name_2_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NamedSetOfEnums] >>> ***/
@@ -1540,7 +1340,7 @@
0, /* one(0) */
1 /* oneMore(1) */
};
-static asn_INTEGER_specifics_t asn_SPC_name_specs_2 = {
+static const asn_INTEGER_specifics_t asn_SPC_name_specs_2 = {
asn_MAP_name_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_name_enum2value_2, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
@@ -1556,13 +1356,13 @@
asn_TYPE_descriptor_t asn_DEF_name_2 = {
"ENUMERATED",
"ENUMERATED",
- name_2_free,
- name_2_print,
- name_2_constraint,
- name_2_decode_ber,
- name_2_encode_der,
- name_2_decode_xer,
- name_2_encode_xer,
+ 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 */
@@ -1578,7 +1378,7 @@
&asn_SPC_name_specs_2 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[] = {
+asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
@@ -1593,7 +1393,7 @@
static const ber_tlv_tag_t asn_DEF_NamedSetOfEnums_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_specs_1 = {
sizeof(struct NamedSetOfEnums),
offsetof(struct NamedSetOfEnums, _asn_ctx),
1, /* XER encoding is XMLValueList */
@@ -1643,10 +1443,12 @@
/*** <<< FUNC-DECLS [SequenceOf] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SequenceOf;
+extern asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1;
+extern asn_TYPE_member_t asn_MBR_SequenceOf_1[1];
/*** <<< STAT-DEFS [SequenceOf] >>> ***/
-static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = {
+asn_TYPE_member_t asn_MBR_SequenceOf_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@@ -1661,7 +1463,7 @@
static const ber_tlv_tag_t asn_DEF_SequenceOf_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1 = {
sizeof(struct SequenceOf),
offsetof(struct SequenceOf, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@@ -1711,10 +1513,12 @@
/*** <<< FUNC-DECLS [SeqOfZuka] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SeqOfZuka;
+extern asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_specs_1;
+extern asn_TYPE_member_t asn_MBR_SeqOfZuka_1[1];
/*** <<< STAT-DEFS [SeqOfZuka] >>> ***/
-static asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = {
+asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
.tag_mode = 0,
@@ -1729,7 +1533,7 @@
static const ber_tlv_tag_t asn_DEF_SeqOfZuka_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_specs_1 = {
sizeof(struct SeqOfZuka),
offsetof(struct SeqOfZuka, _asn_ctx),
1, /* XER encoding is XMLValueList */
@@ -1782,6 +1586,8 @@
/*** <<< FUNC-DECLS [SetOfChoice] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SetOfChoice;
+extern asn_SET_OF_specifics_t asn_SPC_SetOfChoice_specs_1;
+extern asn_TYPE_member_t asn_MBR_SetOfChoice_1[1];
/*** <<< POST-INCLUDE [SetOfChoice] >>> ***/
@@ -1789,7 +1595,7 @@
/*** <<< STAT-DEFS [SetOfChoice] >>> ***/
-static asn_TYPE_member_t asn_MBR_SetOfChoice_1[] = {
+asn_TYPE_member_t asn_MBR_SetOfChoice_1[] = {
{ ATF_POINTER, 0, 0,
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag_mode = 0,
@@ -1804,7 +1610,7 @@
static const ber_tlv_tag_t asn_DEF_SetOfChoice_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_SetOfChoice_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_SetOfChoice_specs_1 = {
sizeof(struct SetOfChoice),
offsetof(struct SetOfChoice, _asn_ctx),
2, /* XER encoding is XMLValueList */
@@ -1857,6 +1663,8 @@
/*** <<< FUNC-DECLS [NamedSetOfChoice] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice;
+extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_specs_1;
+extern asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[1];
/*** <<< POST-INCLUDE [NamedSetOfChoice] >>> ***/
@@ -1864,7 +1672,7 @@
/*** <<< STAT-DEFS [NamedSetOfChoice] >>> ***/
-static asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[] = {
+asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[] = {
{ ATF_POINTER, 0, 0,
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag_mode = 0,
@@ -1879,7 +1687,7 @@
static const ber_tlv_tag_t asn_DEF_NamedSetOfChoice_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_specs_1 = {
sizeof(struct NamedSetOfChoice),
offsetof(struct NamedSetOfChoice, _asn_ctx),
2, /* XER encoding is XMLValueList */
@@ -1941,10 +1749,12 @@
/*** <<< FUNC-DECLS [SimpleChoice] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SimpleChoice;
+extern asn_CHOICE_specifics_t asn_SPC_SimpleChoice_specs_1;
+extern asn_TYPE_member_t asn_MBR_SimpleChoice_1[2];
/*** <<< STAT-DEFS [SimpleChoice] >>> ***/
-static asn_TYPE_member_t asn_MBR_SimpleChoice_1[] = {
+asn_TYPE_member_t asn_MBR_SimpleChoice_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1970,7 +1780,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
};
-static asn_CHOICE_specifics_t asn_SPC_SimpleChoice_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_SimpleChoice_specs_1 = {
sizeof(struct SimpleChoice),
offsetof(struct SimpleChoice, _asn_ctx),
offsetof(struct SimpleChoice, present),
diff --git a/tests/72-same-names-OK.asn1.-Pfwide-types b/tests/72-same-names-OK.asn1.-Pfwide-types
index 2f601c5..7a466a4 100644
--- a/tests/72-same-names-OK.asn1.-Pfwide-types
+++ b/tests/72-same-names-OK.asn1.-Pfwide-types
@@ -184,6 +184,8 @@
/*** <<< FUNC-DECLS [Type1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Type1;
+extern asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1;
+extern asn_TYPE_member_t asn_MBR_Type1_1[1];
/*** <<< STAT-DEFS [Type1] >>> ***/
@@ -302,7 +304,7 @@
&asn_SPC_one_name_specs_2 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Type1_1[] = {
+asn_TYPE_member_t asn_MBR_Type1_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Type1, one_name),
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag_mode = 0,
@@ -320,7 +322,7 @@
static const asn_TYPE_tag2member_t asn_MAP_Type1_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1 = {
sizeof(struct Type1),
offsetof(struct Type1, _asn_ctx),
asn_MAP_Type1_tag2el_1,
@@ -427,6 +429,8 @@
/*** <<< FUNC-DECLS [Type2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Type2;
+extern asn_CHOICE_specifics_t asn_SPC_Type2_specs_1;
+extern asn_TYPE_member_t asn_MBR_Type2_1[2];
/*** <<< CODE [Type2] >>> ***/
@@ -700,7 +704,8 @@
static const uint8_t asn_MAP_two_name_mmap_7[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
-static asn_SET_specifics_t asn_SPC_two_name_specs_7 = {
+static
+asn_SET_specifics_t asn_SPC_two_name_specs_7 = {
sizeof(struct two_name),
offsetof(struct two_name, _asn_ctx),
offsetof(struct two_name, _presence_map),
@@ -738,7 +743,7 @@
&asn_SPC_two_name_specs_7 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Type2_1[] = {
+asn_TYPE_member_t asn_MBR_Type2_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Type2, choice.one_name),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@@ -764,7 +769,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* one-name */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
};
-static asn_CHOICE_specifics_t asn_SPC_Type2_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_Type2_specs_1 = {
sizeof(struct Type2),
offsetof(struct Type2, _asn_ctx),
offsetof(struct Type2, present),
diff --git a/tests/73-circular-OK.asn1.-Pfwide-types b/tests/73-circular-OK.asn1.-Pfwide-types
index e675d08..67bc99c 100644
--- a/tests/73-circular-OK.asn1.-Pfwide-types
+++ b/tests/73-circular-OK.asn1.-Pfwide-types
@@ -26,6 +26,8 @@
/*** <<< FUNC-DECLS [Type] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Type;
+extern asn_SEQUENCE_specifics_t asn_SPC_Type_specs_1;
+extern asn_TYPE_member_t asn_MBR_Type_1[1];
/*** <<< POST-INCLUDE [Type] >>> ***/
@@ -80,7 +82,7 @@
&asn_SPC_data_specs_2 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Type_1[] = {
+asn_TYPE_member_t asn_MBR_Type_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Type, data),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@@ -98,7 +100,7 @@
static const asn_TYPE_tag2member_t asn_MAP_Type_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* data */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Type_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Type_specs_1 = {
sizeof(struct Type),
offsetof(struct Type, _asn_ctx),
asn_MAP_Type_tag2el_1,
@@ -155,84 +157,10 @@
/*** <<< CODE [EpytRef] >>> ***/
-int
-EpytRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Epyt.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Epyt,
* so here we adjust the DEF accordingly.
*/
-static void
-EpytRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Epyt.free_struct;
- td->print_struct = asn_DEF_Epyt.print_struct;
- td->check_constraints = asn_DEF_Epyt.check_constraints;
- td->ber_decoder = asn_DEF_Epyt.ber_decoder;
- td->der_encoder = asn_DEF_Epyt.der_encoder;
- td->xer_decoder = asn_DEF_Epyt.xer_decoder;
- td->xer_encoder = asn_DEF_Epyt.xer_encoder;
- td->uper_decoder = asn_DEF_Epyt.uper_decoder;
- td->uper_encoder = asn_DEF_Epyt.uper_encoder;
- td->oer_decoder = asn_DEF_Epyt.oer_decoder;
- td->oer_encoder = asn_DEF_Epyt.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Epyt.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Epyt.per_constraints;
- td->elements = asn_DEF_Epyt.elements;
- td->elements_count = asn_DEF_Epyt.elements_count;
- td->specifics = asn_DEF_Epyt.specifics;
-}
-
-void
-EpytRef_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- EpytRef_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-EpytRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- EpytRef_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-EpytRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- EpytRef_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-EpytRef_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- EpytRef_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-EpytRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- EpytRef_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-EpytRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- EpytRef_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [EpytRef] >>> ***/
@@ -242,13 +170,13 @@
asn_TYPE_descriptor_t asn_DEF_EpytRef = {
"EpytRef",
"EpytRef",
- EpytRef_free,
- EpytRef_print,
- EpytRef_constraint,
- EpytRef_decode_ber,
- EpytRef_encode_der,
- EpytRef_decode_xer,
- EpytRef_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -260,8 +188,9 @@
/sizeof(asn_DEF_EpytRef_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Epyt_1,
+ 3, /* Elements count */
+ &asn_SPC_Epyt_specs_1 /* Additional specs */
};
@@ -295,6 +224,8 @@
/*** <<< FUNC-DECLS [Epyt] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Epyt;
+extern asn_SEQUENCE_specifics_t asn_SPC_Epyt_specs_1;
+extern asn_TYPE_member_t asn_MBR_Epyt_1[3];
/*** <<< POST-INCLUDE [Epyt] >>> ***/
@@ -350,7 +281,7 @@
&asn_SPC_stype_specs_2 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Epyt_1[] = {
+asn_TYPE_member_t asn_MBR_Epyt_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Epyt, stype),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@@ -390,7 +321,7 @@
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 1 }, /* stype */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, -1, 0 } /* ypet */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Epyt_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Epyt_specs_1 = {
sizeof(struct Epyt),
offsetof(struct Epyt, _asn_ctx),
asn_MAP_Epyt_tag2el_1,
@@ -478,6 +409,8 @@
/*** <<< FUNC-DECLS [Ypet] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Ypet;
+extern asn_SET_specifics_t asn_SPC_Ypet_specs_1;
+extern asn_TYPE_member_t asn_MBR_Ypet_1[5];
/*** <<< POST-INCLUDE [Ypet] >>> ***/
@@ -632,7 +565,7 @@
&asn_SPC_senums_specs_4 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Ypet_1[] = {
+asn_TYPE_member_t asn_MBR_Ypet_1[] = {
{ ATF_POINTER, 0, offsetof(struct Ypet, epyt),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@@ -697,7 +630,7 @@
static const uint8_t asn_MAP_Ypet_mmap_1[(5 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (0 << 6) | (1 << 5) | (1 << 4) | (1 << 3)
};
-static asn_SET_specifics_t asn_SPC_Ypet_specs_1 = {
+asn_SET_specifics_t asn_SPC_Ypet_specs_1 = {
sizeof(struct Ypet),
offsetof(struct Ypet, _asn_ctx),
offsetof(struct Ypet, _presence_map),
@@ -753,6 +686,7 @@
/*** <<< FUNC-DECLS [EnumType] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_EnumType;
+extern asn_INTEGER_specifics_t asn_SPC_EnumType_specs_1;
asn_struct_free_f EnumType_free;
asn_struct_print_f EnumType_print;
asn_constr_check_f EnumType_constraint;
@@ -763,84 +697,10 @@
/*** <<< CODE [EnumType] >>> ***/
-int
-EnumType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
-static void
-EnumType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_ENUMERATED.free_struct;
- td->print_struct = asn_DEF_ENUMERATED.print_struct;
- td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
- td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
- td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
- td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
- td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
- td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
- td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
- td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
- td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
- td->elements = asn_DEF_ENUMERATED.elements;
- td->elements_count = asn_DEF_ENUMERATED.elements_count;
- /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
-}
-
-void
-EnumType_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- EnumType_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-EnumType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- EnumType_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-EnumType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- EnumType_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-EnumType_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- EnumType_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-EnumType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- EnumType_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-EnumType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- EnumType_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [EnumType] >>> ***/
@@ -852,7 +712,7 @@
0, /* one(0) */
1 /* two(1) */
};
-static asn_INTEGER_specifics_t asn_SPC_EnumType_specs_1 = {
+const asn_INTEGER_specifics_t asn_SPC_EnumType_specs_1 = {
asn_MAP_EnumType_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_EnumType_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
@@ -867,13 +727,13 @@
asn_TYPE_descriptor_t asn_DEF_EnumType = {
"EnumType",
"EnumType",
- EnumType_free,
- EnumType_print,
- EnumType_constraint,
- EnumType_decode_ber,
- EnumType_encode_der,
- EnumType_decode_xer,
- EnumType_encode_xer,
+ 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 */
diff --git a/tests/84-param-tags-OK.asn1.-Pfwide-types b/tests/84-param-tags-OK.asn1.-Pfwide-types
index 682621b..6b9b672 100644
--- a/tests/84-param-tags-OK.asn1.-Pfwide-types
+++ b/tests/84-param-tags-OK.asn1.-Pfwide-types
@@ -23,7 +23,11 @@
/*** <<< FUNC-DECLS [TestType] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_TestType_16P0;
+extern asn_SEQUENCE_specifics_t asn_SPC_TestType_16P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_TestType_16P0_1[1];
extern asn_TYPE_descriptor_t asn_DEF_TestType_16P1;
+extern asn_SEQUENCE_specifics_t asn_SPC_TestType_16P1_specs_3;
+extern asn_TYPE_member_t asn_MBR_TestType_16P1_3[1];
/*** <<< CODE [TestType] >>> ***/
@@ -73,7 +77,7 @@
return (*st == 0);
}
}
-static asn_TYPE_member_t asn_MBR_TestType_16P0_1[] = {
+asn_TYPE_member_t asn_MBR_TestType_16P0_1[] = {
{ ATF_NOFLAGS, 1, offsetof(struct TestType_16P0, common),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@@ -91,7 +95,7 @@
static const asn_TYPE_tag2member_t asn_MAP_TestType_16P0_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* common */
};
-static asn_SEQUENCE_specifics_t asn_SPC_TestType_16P0_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_TestType_16P0_specs_1 = {
sizeof(struct TestType_16P0),
offsetof(struct TestType_16P0, _asn_ctx),
asn_MAP_TestType_16P0_tag2el_1,
@@ -144,7 +148,7 @@
return (*st == 0);
}
}
-static asn_TYPE_member_t asn_MBR_TestType_16P1_3[] = {
+asn_TYPE_member_t asn_MBR_TestType_16P1_3[] = {
{ ATF_NOFLAGS, 1, offsetof(struct TestType_16P1, common),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
.tag_mode = 0,
@@ -162,7 +166,7 @@
static const asn_TYPE_tag2member_t asn_MAP_TestType_16P1_tag2el_3[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 } /* common */
};
-static asn_SEQUENCE_specifics_t asn_SPC_TestType_16P1_specs_3 = {
+asn_SEQUENCE_specifics_t asn_SPC_TestType_16P1_specs_3 = {
sizeof(struct TestType_16P1),
offsetof(struct TestType_16P1, _asn_ctx),
asn_MAP_TestType_16P1_tag2el_3,
@@ -315,7 +319,11 @@
/*** <<< FUNC-DECLS [AutoType] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_AutoType_34P0;
+extern asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_AutoType_34P0_1[1];
extern asn_TYPE_descriptor_t asn_DEF_AutoType_34P1;
+extern asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P1_specs_3;
+extern asn_TYPE_member_t asn_MBR_AutoType_34P1_3[1];
/*** <<< CODE [AutoType] >>> ***/
@@ -372,7 +380,7 @@
/*** <<< STAT-DEFS [AutoType] >>> ***/
-static asn_TYPE_member_t asn_MBR_AutoType_34P0_1[] = {
+asn_TYPE_member_t asn_MBR_AutoType_34P0_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AutoType_34P0, common),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -390,7 +398,7 @@
static const asn_TYPE_tag2member_t asn_MAP_AutoType_34P0_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* common */
};
-static asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P0_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P0_specs_1 = {
sizeof(struct AutoType_34P0),
offsetof(struct AutoType_34P0, _asn_ctx),
asn_MAP_AutoType_34P0_tag2el_1,
@@ -425,7 +433,7 @@
&asn_SPC_AutoType_34P0_specs_1 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_AutoType_34P1_3[] = {
+asn_TYPE_member_t asn_MBR_AutoType_34P1_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AutoType_34P1, common),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -443,7 +451,7 @@
static const asn_TYPE_tag2member_t asn_MAP_AutoType_34P1_tag2el_3[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* common */
};
-static asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P1_specs_3 = {
+asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P1_specs_3 = {
sizeof(struct AutoType_34P1),
offsetof(struct AutoType_34P1, _asn_ctx),
asn_MAP_AutoType_34P1_tag2el_3,
diff --git a/tests/88-integer-enum-OK.asn1.-Pfwide-types b/tests/88-integer-enum-OK.asn1.-Pfwide-types
index 6fc58f5..ec41abf 100644
--- a/tests/88-integer-enum-OK.asn1.-Pfwide-types
+++ b/tests/88-integer-enum-OK.asn1.-Pfwide-types
@@ -27,84 +27,10 @@
/*** <<< CODE [T] >>> ***/
-int
-T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-T_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- T_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- T_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-T_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-T_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- T_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- T_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [T] >>> ***/
@@ -114,13 +40,13 @@
asn_TYPE_descriptor_t asn_DEF_T = {
"T",
"T",
- T_free,
- T_print,
- T_constraint,
- T_decode_ber,
- T_encode_der,
- T_decode_xer,
- T_encode_xer,
+ INTEGER_free,
+ INTEGER_print,
+ INTEGER_constraint,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
diff --git a/tests/90-cond-int-type-OK.asn1.-P b/tests/90-cond-int-type-OK.asn1.-P
index c446233..b2e2838 100644
--- a/tests/90-cond-int-type-OK.asn1.-P
+++ b/tests/90-cond-int-type-OK.asn1.-P
@@ -20,84 +20,10 @@
/*** <<< CODE [CN-IntegerUnlimited] >>> ***/
-int
-CN_IntegerUnlimited_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerUnlimited_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-CN_IntegerUnlimited_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerUnlimited_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerUnlimited_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerUnlimited_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerUnlimited_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerUnlimited_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [CN-IntegerUnlimited] >>> ***/
@@ -107,13 +33,13 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited = {
"CN-IntegerUnlimited",
"CN-IntegerUnlimited",
- CN_IntegerUnlimited_free,
- CN_IntegerUnlimited_print,
- CN_IntegerUnlimited_constraint,
- CN_IntegerUnlimited_decode_ber,
- CN_IntegerUnlimited_encode_der,
- CN_IntegerUnlimited_decode_xer,
- CN_IntegerUnlimited_encode_xer,
+ NativeInteger_free,
+ NativeInteger_print,
+ NativeInteger_constraint,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -176,72 +102,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerMinMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-CN_IntegerMinMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerMinMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerMinMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerMinMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [CN-IntegerMinMax] >>> ***/
@@ -251,13 +111,13 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax = {
"CN-IntegerMinMax",
"CN-IntegerMinMax",
- CN_IntegerMinMax_free,
- CN_IntegerMinMax_print,
+ NativeInteger_free,
+ NativeInteger_print,
CN_IntegerMinMax_constraint,
- CN_IntegerMinMax_decode_ber,
- CN_IntegerMinMax_encode_der,
- CN_IntegerMinMax_decode_xer,
- CN_IntegerMinMax_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -324,72 +184,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerMinLow_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-CN_IntegerMinLow_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerMinLow_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinLow_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerMinLow_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinLow_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerMinLow_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [CN-IntegerMinLow] >>> ***/
@@ -399,13 +193,13 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow = {
"CN-IntegerMinLow",
"CN-IntegerMinLow",
- CN_IntegerMinLow_free,
- CN_IntegerMinLow_print,
+ NativeInteger_free,
+ NativeInteger_print,
CN_IntegerMinLow_constraint,
- CN_IntegerMinLow_decode_ber,
- CN_IntegerMinLow_encode_der,
- CN_IntegerMinLow_decode_xer,
- CN_IntegerMinLow_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -478,72 +272,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerMinHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerMinHigh_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerMinHigh_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerMinHigh_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerMinHigh_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerMinHigh_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerMinHigh_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerMinHigh] >>> ***/
@@ -553,13 +281,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh = {
"NO-IntegerMinHigh",
"NO-IntegerMinHigh",
- NO_IntegerMinHigh_free,
- NO_IntegerMinHigh_print,
+ INTEGER_free,
+ INTEGER_print,
NO_IntegerMinHigh_constraint,
- NO_IntegerMinHigh_decode_ber,
- NO_IntegerMinHigh_encode_der,
- NO_IntegerMinHigh_decode_xer,
- NO_IntegerMinHigh_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -626,76 +354,10 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerLowHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerLowHigh_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerLowHigh_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowHigh_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerLowHigh_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowHigh_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerLowHigh_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerLowHigh] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerLowHigh_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerLowHigh_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -706,13 +368,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh = {
"NO-IntegerLowHigh",
"NO-IntegerLowHigh",
- NO_IntegerLowHigh_free,
- NO_IntegerLowHigh_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerLowHigh_constraint,
- NO_IntegerLowHigh_decode_ber,
- NO_IntegerLowHigh_encode_der,
- NO_IntegerLowHigh_decode_xer,
- NO_IntegerLowHigh_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -779,72 +441,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerLowMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-CN_IntegerLowMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerLowMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerLowMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerLowMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerLowMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerLowMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [CN-IntegerLowMax] >>> ***/
@@ -854,13 +450,13 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax = {
"CN-IntegerLowMax",
"CN-IntegerLowMax",
- CN_IntegerLowMax_free,
- CN_IntegerLowMax_print,
+ NativeInteger_free,
+ NativeInteger_print,
CN_IntegerLowMax_constraint,
- CN_IntegerLowMax_decode_ber,
- CN_IntegerLowMax_encode_der,
- CN_IntegerLowMax_decode_xer,
- CN_IntegerLowMax_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -933,72 +529,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerHighMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerHighMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerHighMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerHighMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerHighMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerHighMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerHighMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerHighMax] >>> ***/
@@ -1008,13 +538,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax = {
"NO-IntegerHighMax",
"NO-IntegerHighMax",
- NO_IntegerHighMax_free,
- NO_IntegerHighMax_print,
+ INTEGER_free,
+ INTEGER_print,
NO_IntegerHighMax_constraint,
- NO_IntegerHighMax_decode_ber,
- NO_IntegerHighMax_encode_der,
- NO_IntegerHighMax_decode_xer,
- NO_IntegerHighMax_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -1087,72 +617,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerLowestMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerLowestMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerLowestMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowestMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerLowestMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowestMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerLowestMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerLowestMax] >>> ***/
@@ -1162,13 +626,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax = {
"NO-IntegerLowestMax",
"NO-IntegerLowestMax",
- NO_IntegerLowestMax_free,
- NO_IntegerLowestMax_print,
+ INTEGER_free,
+ INTEGER_print,
NO_IntegerLowestMax_constraint,
- NO_IntegerLowestMax_decode_ber,
- NO_IntegerLowestMax_encode_der,
- NO_IntegerLowestMax_decode_xer,
- NO_IntegerLowestMax_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -1235,76 +699,10 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerOutRange_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerOutRange_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerOutRange_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutRange_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerOutRange_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutRange_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerOutRange_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerOutRange] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutRange_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutRange_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -1315,13 +713,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange = {
"NO-IntegerOutRange",
"NO-IntegerOutRange",
- NO_IntegerOutRange_free,
- NO_IntegerOutRange_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerOutRange_constraint,
- NO_IntegerOutRange_decode_ber,
- NO_IntegerOutRange_encode_der,
- NO_IntegerOutRange_decode_xer,
- NO_IntegerOutRange_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -1388,76 +786,10 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerOutValue_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerOutValue_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerOutValue_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutValue_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerOutValue_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutValue_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerOutValue_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerOutValue] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutValue_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutValue_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -1468,13 +800,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue = {
"NO-IntegerOutValue",
"NO-IntegerOutValue",
- NO_IntegerOutValue_free,
- NO_IntegerOutValue_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerOutValue_constraint,
- NO_IntegerOutValue_decode_ber,
- NO_IntegerOutValue_encode_der,
- NO_IntegerOutValue_decode_xer,
- NO_IntegerOutValue_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -1541,72 +873,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-IntegerInRange1] >>> ***/
@@ -1616,13 +882,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1 = {
"OK-IntegerInRange1",
"OK-IntegerInRange1",
- OK_IntegerInRange1_free,
- OK_IntegerInRange1_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange1_constraint,
- OK_IntegerInRange1_decode_ber,
- OK_IntegerInRange1_encode_der,
- OK_IntegerInRange1_decode_xer,
- OK_IntegerInRange1_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -1689,72 +955,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-IntegerInRange2] >>> ***/
@@ -1764,13 +964,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2 = {
"OK-IntegerInRange2",
"OK-IntegerInRange2",
- OK_IntegerInRange2_free,
- OK_IntegerInRange2_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange2_constraint,
- OK_IntegerInRange2_decode_ber,
- OK_IntegerInRange2_encode_der,
- OK_IntegerInRange2_decode_xer,
- OK_IntegerInRange2_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -1837,72 +1037,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-IntegerInRange3] >>> ***/
@@ -1912,13 +1046,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3 = {
"OK-IntegerInRange3",
"OK-IntegerInRange3",
- OK_IntegerInRange3_free,
- OK_IntegerInRange3_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange3_constraint,
- OK_IntegerInRange3_decode_ber,
- OK_IntegerInRange3_encode_der,
- OK_IntegerInRange3_decode_xer,
- OK_IntegerInRange3_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -1985,72 +1119,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-IntegerInRange4] >>> ***/
@@ -2060,13 +1128,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4 = {
"OK-IntegerInRange4",
"OK-IntegerInRange4",
- OK_IntegerInRange4_free,
- OK_IntegerInRange4_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange4_constraint,
- OK_IntegerInRange4_decode_ber,
- OK_IntegerInRange4_encode_der,
- OK_IntegerInRange4_decode_xer,
- OK_IntegerInRange4_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -2133,72 +1201,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-IntegerInRange5] >>> ***/
@@ -2208,13 +1210,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5 = {
"OK-IntegerInRange5",
"OK-IntegerInRange5",
- OK_IntegerInRange5_free,
- OK_IntegerInRange5_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange5_constraint,
- OK_IntegerInRange5_decode_ber,
- OK_IntegerInRange5_encode_der,
- OK_IntegerInRange5_decode_xer,
- OK_IntegerInRange5_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -2272,76 +1274,10 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerInRange6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerInRange6_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerInRange6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerInRange6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerInRange6_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerInRange6_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerInRange6_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerInRange6] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerInRange6_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerInRange6_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -2352,13 +1288,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = {
"NO-IntegerInRange6",
"NO-IntegerInRange6",
- NO_IntegerInRange6_free,
- NO_IntegerInRange6_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerInRange6_constraint,
- NO_IntegerInRange6_decode_ber,
- NO_IntegerInRange6_encode_der,
- NO_IntegerInRange6_decode_xer,
- NO_IntegerInRange6_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -2403,84 +1339,10 @@
/*** <<< CODE [CN-IntegerEnumerated1] >>> ***/
-int
-CN_IntegerEnumerated1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-CN_IntegerEnumerated1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerEnumerated1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerEnumerated1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerEnumerated1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerEnumerated1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerEnumerated1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [CN-IntegerEnumerated1] >>> ***/
@@ -2490,13 +1352,13 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = {
"CN-IntegerEnumerated1",
"CN-IntegerEnumerated1",
- CN_IntegerEnumerated1_free,
- CN_IntegerEnumerated1_print,
- CN_IntegerEnumerated1_constraint,
- CN_IntegerEnumerated1_decode_ber,
- CN_IntegerEnumerated1_encode_der,
- CN_IntegerEnumerated1_decode_xer,
- CN_IntegerEnumerated1_encode_xer,
+ NativeInteger_free,
+ NativeInteger_print,
+ NativeInteger_constraint,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -2541,84 +1403,10 @@
/*** <<< CODE [NO-IntegerEnumerated2] >>> ***/
-int
-NO_IntegerEnumerated2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerEnumerated2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerEnumerated2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerEnumerated2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerEnumerated2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerEnumerated2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerEnumerated2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerEnumerated2] >>> ***/
@@ -2628,13 +1416,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2 = {
"NO-IntegerEnumerated2",
"NO-IntegerEnumerated2",
- NO_IntegerEnumerated2_free,
- NO_IntegerEnumerated2_print,
- NO_IntegerEnumerated2_constraint,
- NO_IntegerEnumerated2_decode_ber,
- NO_IntegerEnumerated2_encode_der,
- NO_IntegerEnumerated2_decode_xer,
- NO_IntegerEnumerated2_encode_xer,
+ INTEGER_free,
+ INTEGER_print,
+ INTEGER_constraint,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
diff --git a/tests/90-cond-int-type-OK.asn1.-Pfwide-types b/tests/90-cond-int-type-OK.asn1.-Pfwide-types
index fee054c..3f7ea5b 100644
--- a/tests/90-cond-int-type-OK.asn1.-Pfwide-types
+++ b/tests/90-cond-int-type-OK.asn1.-Pfwide-types
@@ -20,84 +20,10 @@
/*** <<< CODE [CN-IntegerUnlimited] >>> ***/
-int
-CN_IntegerUnlimited_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerUnlimited_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-CN_IntegerUnlimited_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerUnlimited_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerUnlimited_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerUnlimited_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerUnlimited_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerUnlimited_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [CN-IntegerUnlimited] >>> ***/
@@ -107,13 +33,13 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited = {
"CN-IntegerUnlimited",
"CN-IntegerUnlimited",
- CN_IntegerUnlimited_free,
- CN_IntegerUnlimited_print,
- CN_IntegerUnlimited_constraint,
- CN_IntegerUnlimited_decode_ber,
- CN_IntegerUnlimited_encode_der,
- CN_IntegerUnlimited_decode_xer,
- CN_IntegerUnlimited_encode_xer,
+ INTEGER_free,
+ INTEGER_print,
+ INTEGER_constraint,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -178,72 +104,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerMinMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-CN_IntegerMinMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerMinMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerMinMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerMinMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [CN-IntegerMinMax] >>> ***/
@@ -253,13 +113,13 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax = {
"CN-IntegerMinMax",
"CN-IntegerMinMax",
- CN_IntegerMinMax_free,
- CN_IntegerMinMax_print,
+ INTEGER_free,
+ INTEGER_print,
CN_IntegerMinMax_constraint,
- CN_IntegerMinMax_decode_ber,
- CN_IntegerMinMax_encode_der,
- CN_IntegerMinMax_decode_xer,
- CN_IntegerMinMax_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -332,72 +192,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerMinLow_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-CN_IntegerMinLow_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerMinLow_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinLow_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerMinLow_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinLow_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerMinLow_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [CN-IntegerMinLow] >>> ***/
@@ -407,13 +201,13 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow = {
"CN-IntegerMinLow",
"CN-IntegerMinLow",
- CN_IntegerMinLow_free,
- CN_IntegerMinLow_print,
+ INTEGER_free,
+ INTEGER_print,
CN_IntegerMinLow_constraint,
- CN_IntegerMinLow_decode_ber,
- CN_IntegerMinLow_encode_der,
- CN_IntegerMinLow_decode_xer,
- CN_IntegerMinLow_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -486,72 +280,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerMinHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerMinHigh_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerMinHigh_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerMinHigh_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerMinHigh_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerMinHigh_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerMinHigh_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerMinHigh] >>> ***/
@@ -561,13 +289,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh = {
"NO-IntegerMinHigh",
"NO-IntegerMinHigh",
- NO_IntegerMinHigh_free,
- NO_IntegerMinHigh_print,
+ INTEGER_free,
+ INTEGER_print,
NO_IntegerMinHigh_constraint,
- NO_IntegerMinHigh_decode_ber,
- NO_IntegerMinHigh_encode_der,
- NO_IntegerMinHigh_decode_xer,
- NO_IntegerMinHigh_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -634,76 +362,10 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerLowHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerLowHigh_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerLowHigh_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowHigh_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerLowHigh_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowHigh_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerLowHigh_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerLowHigh] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerLowHigh_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerLowHigh_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -714,13 +376,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh = {
"NO-IntegerLowHigh",
"NO-IntegerLowHigh",
- NO_IntegerLowHigh_free,
- NO_IntegerLowHigh_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerLowHigh_constraint,
- NO_IntegerLowHigh_decode_ber,
- NO_IntegerLowHigh_encode_der,
- NO_IntegerLowHigh_decode_xer,
- NO_IntegerLowHigh_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -793,72 +455,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerLowMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-CN_IntegerLowMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerLowMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerLowMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerLowMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerLowMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerLowMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [CN-IntegerLowMax] >>> ***/
@@ -868,13 +464,13 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax = {
"CN-IntegerLowMax",
"CN-IntegerLowMax",
- CN_IntegerLowMax_free,
- CN_IntegerLowMax_print,
+ INTEGER_free,
+ INTEGER_print,
CN_IntegerLowMax_constraint,
- CN_IntegerLowMax_decode_ber,
- CN_IntegerLowMax_encode_der,
- CN_IntegerLowMax_decode_xer,
- CN_IntegerLowMax_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -947,72 +543,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerHighMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerHighMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerHighMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerHighMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerHighMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerHighMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerHighMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerHighMax] >>> ***/
@@ -1022,13 +552,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax = {
"NO-IntegerHighMax",
"NO-IntegerHighMax",
- NO_IntegerHighMax_free,
- NO_IntegerHighMax_print,
+ INTEGER_free,
+ INTEGER_print,
NO_IntegerHighMax_constraint,
- NO_IntegerHighMax_decode_ber,
- NO_IntegerHighMax_encode_der,
- NO_IntegerHighMax_decode_xer,
- NO_IntegerHighMax_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -1101,72 +631,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerLowestMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerLowestMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerLowestMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowestMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerLowestMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowestMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerLowestMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerLowestMax] >>> ***/
@@ -1176,13 +640,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax = {
"NO-IntegerLowestMax",
"NO-IntegerLowestMax",
- NO_IntegerLowestMax_free,
- NO_IntegerLowestMax_print,
+ INTEGER_free,
+ INTEGER_print,
NO_IntegerLowestMax_constraint,
- NO_IntegerLowestMax_decode_ber,
- NO_IntegerLowestMax_encode_der,
- NO_IntegerLowestMax_decode_xer,
- NO_IntegerLowestMax_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -1249,76 +713,10 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerOutRange_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerOutRange_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerOutRange_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutRange_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerOutRange_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutRange_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerOutRange_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerOutRange] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutRange_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutRange_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -1329,13 +727,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange = {
"NO-IntegerOutRange",
"NO-IntegerOutRange",
- NO_IntegerOutRange_free,
- NO_IntegerOutRange_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerOutRange_constraint,
- NO_IntegerOutRange_decode_ber,
- NO_IntegerOutRange_encode_der,
- NO_IntegerOutRange_decode_xer,
- NO_IntegerOutRange_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -1402,76 +800,10 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerOutValue_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerOutValue_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerOutValue_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutValue_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerOutValue_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutValue_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerOutValue_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerOutValue] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutValue_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutValue_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -1482,13 +814,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue = {
"NO-IntegerOutValue",
"NO-IntegerOutValue",
- NO_IntegerOutValue_free,
- NO_IntegerOutValue_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerOutValue_constraint,
- NO_IntegerOutValue_decode_ber,
- NO_IntegerOutValue_encode_der,
- NO_IntegerOutValue_decode_xer,
- NO_IntegerOutValue_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -1555,72 +887,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-IntegerInRange1] >>> ***/
@@ -1630,13 +896,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1 = {
"OK-IntegerInRange1",
"OK-IntegerInRange1",
- OK_IntegerInRange1_free,
- OK_IntegerInRange1_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange1_constraint,
- OK_IntegerInRange1_decode_ber,
- OK_IntegerInRange1_encode_der,
- OK_IntegerInRange1_decode_xer,
- OK_IntegerInRange1_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -1703,72 +969,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-IntegerInRange2] >>> ***/
@@ -1778,13 +978,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2 = {
"OK-IntegerInRange2",
"OK-IntegerInRange2",
- OK_IntegerInRange2_free,
- OK_IntegerInRange2_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange2_constraint,
- OK_IntegerInRange2_decode_ber,
- OK_IntegerInRange2_encode_der,
- OK_IntegerInRange2_decode_xer,
- OK_IntegerInRange2_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -1851,72 +1051,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-IntegerInRange3] >>> ***/
@@ -1926,13 +1060,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3 = {
"OK-IntegerInRange3",
"OK-IntegerInRange3",
- OK_IntegerInRange3_free,
- OK_IntegerInRange3_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange3_constraint,
- OK_IntegerInRange3_decode_ber,
- OK_IntegerInRange3_encode_der,
- OK_IntegerInRange3_decode_xer,
- OK_IntegerInRange3_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -1999,72 +1133,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-IntegerInRange4] >>> ***/
@@ -2074,13 +1142,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4 = {
"OK-IntegerInRange4",
"OK-IntegerInRange4",
- OK_IntegerInRange4_free,
- OK_IntegerInRange4_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange4_constraint,
- OK_IntegerInRange4_decode_ber,
- OK_IntegerInRange4_encode_der,
- OK_IntegerInRange4_decode_xer,
- OK_IntegerInRange4_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -2153,72 +1221,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-OK_IntegerInRange5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-IntegerInRange5] >>> ***/
@@ -2228,13 +1230,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5 = {
"OK-IntegerInRange5",
"OK-IntegerInRange5",
- OK_IntegerInRange5_free,
- OK_IntegerInRange5_print,
+ INTEGER_free,
+ INTEGER_print,
OK_IntegerInRange5_constraint,
- OK_IntegerInRange5_decode_ber,
- OK_IntegerInRange5_encode_der,
- OK_IntegerInRange5_decode_xer,
- OK_IntegerInRange5_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -2292,76 +1294,10 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerInRange6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerInRange6_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerInRange6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerInRange6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerInRange6_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerInRange6_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerInRange6_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerInRange6] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerInRange6_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerInRange6_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -2372,13 +1308,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = {
"NO-IntegerInRange6",
"NO-IntegerInRange6",
- NO_IntegerInRange6_free,
- NO_IntegerInRange6_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerInRange6_constraint,
- NO_IntegerInRange6_decode_ber,
- NO_IntegerInRange6_encode_der,
- NO_IntegerInRange6_decode_xer,
- NO_IntegerInRange6_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -2423,84 +1359,10 @@
/*** <<< CODE [CN-IntegerEnumerated1] >>> ***/
-int
-CN_IntegerEnumerated1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-CN_IntegerEnumerated1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerEnumerated1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerEnumerated1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerEnumerated1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerEnumerated1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerEnumerated1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [CN-IntegerEnumerated1] >>> ***/
@@ -2510,13 +1372,13 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = {
"CN-IntegerEnumerated1",
"CN-IntegerEnumerated1",
- CN_IntegerEnumerated1_free,
- CN_IntegerEnumerated1_print,
- CN_IntegerEnumerated1_constraint,
- CN_IntegerEnumerated1_decode_ber,
- CN_IntegerEnumerated1_encode_der,
- CN_IntegerEnumerated1_decode_xer,
- CN_IntegerEnumerated1_encode_xer,
+ INTEGER_free,
+ INTEGER_print,
+ INTEGER_constraint,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
@@ -2561,84 +1423,10 @@
/*** <<< CODE [NO-IntegerEnumerated2] >>> ***/
-int
-NO_IntegerEnumerated2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerEnumerated2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerEnumerated2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerEnumerated2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerEnumerated2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerEnumerated2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerEnumerated2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-IntegerEnumerated2] >>> ***/
@@ -2648,13 +1436,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2 = {
"NO-IntegerEnumerated2",
"NO-IntegerEnumerated2",
- NO_IntegerEnumerated2_free,
- NO_IntegerEnumerated2_print,
- NO_IntegerEnumerated2_constraint,
- NO_IntegerEnumerated2_decode_ber,
- NO_IntegerEnumerated2_encode_der,
- NO_IntegerEnumerated2_decode_xer,
- NO_IntegerEnumerated2_encode_xer,
+ INTEGER_free,
+ INTEGER_print,
+ INTEGER_constraint,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_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 */
diff --git a/tests/90-cond-int-type-OK.asn1.-Pgen-PER b/tests/90-cond-int-type-OK.asn1.-Pgen-PER
index 770ab8f..cf360b4 100644
--- a/tests/90-cond-int-type-OK.asn1.-Pgen-PER
+++ b/tests/90-cond-int-type-OK.asn1.-Pgen-PER
@@ -22,99 +22,10 @@
/*** <<< CODE [CN-IntegerUnlimited] >>> ***/
-int
-CN_IntegerUnlimited_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerUnlimited_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-CN_IntegerUnlimited_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerUnlimited_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerUnlimited_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerUnlimited_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerUnlimited_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerUnlimited_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerUnlimited_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-CN_IntegerUnlimited_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- CN_IntegerUnlimited_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< STAT-DEFS [CN-IntegerUnlimited] >>> ***/
@@ -124,16 +35,16 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited = {
"CN-IntegerUnlimited",
"CN-IntegerUnlimited",
- CN_IntegerUnlimited_free,
- CN_IntegerUnlimited_print,
- CN_IntegerUnlimited_constraint,
- CN_IntegerUnlimited_decode_ber,
- CN_IntegerUnlimited_encode_der,
- CN_IntegerUnlimited_decode_xer,
- CN_IntegerUnlimited_encode_xer,
+ NativeInteger_free,
+ NativeInteger_print,
+ NativeInteger_constraint,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- CN_IntegerUnlimited_decode_uper,
- CN_IntegerUnlimited_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CN_IntegerUnlimited_tags_1,
sizeof(asn_DEF_CN_IntegerUnlimited_tags_1)
@@ -196,87 +107,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerMinMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-CN_IntegerMinMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerMinMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerMinMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerMinMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinMax_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-CN_IntegerMinMax_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- CN_IntegerMinMax_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [CN-IntegerMinMax] >>> ***/
@@ -294,16 +124,16 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax = {
"CN-IntegerMinMax",
"CN-IntegerMinMax",
- CN_IntegerMinMax_free,
- CN_IntegerMinMax_print,
+ NativeInteger_free,
+ NativeInteger_print,
CN_IntegerMinMax_constraint,
- CN_IntegerMinMax_decode_ber,
- CN_IntegerMinMax_encode_der,
- CN_IntegerMinMax_decode_xer,
- CN_IntegerMinMax_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- CN_IntegerMinMax_decode_uper,
- CN_IntegerMinMax_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CN_IntegerMinMax_tags_1,
sizeof(asn_DEF_CN_IntegerMinMax_tags_1)
@@ -370,87 +200,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerMinLow_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-CN_IntegerMinLow_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerMinLow_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinLow_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerMinLow_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinLow_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerMinLow_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerMinLow_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-CN_IntegerMinLow_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- CN_IntegerMinLow_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [CN-IntegerMinLow] >>> ***/
@@ -468,16 +217,16 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow = {
"CN-IntegerMinLow",
"CN-IntegerMinLow",
- CN_IntegerMinLow_free,
- CN_IntegerMinLow_print,
+ NativeInteger_free,
+ NativeInteger_print,
CN_IntegerMinLow_constraint,
- CN_IntegerMinLow_decode_ber,
- CN_IntegerMinLow_encode_der,
- CN_IntegerMinLow_decode_xer,
- CN_IntegerMinLow_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- CN_IntegerMinLow_decode_uper,
- CN_IntegerMinLow_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CN_IntegerMinLow_tags_1,
sizeof(asn_DEF_CN_IntegerMinLow_tags_1)
@@ -550,87 +299,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerMinHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerMinHigh_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerMinHigh_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerMinHigh_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerMinHigh_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerMinHigh_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerMinHigh_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerMinHigh_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-NO_IntegerMinHigh_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- NO_IntegerMinHigh_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [NO-IntegerMinHigh] >>> ***/
@@ -648,16 +316,16 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh = {
"NO-IntegerMinHigh",
"NO-IntegerMinHigh",
- NO_IntegerMinHigh_free,
- NO_IntegerMinHigh_print,
+ INTEGER_free,
+ INTEGER_print,
NO_IntegerMinHigh_constraint,
- NO_IntegerMinHigh_decode_ber,
- NO_IntegerMinHigh_encode_der,
- NO_IntegerMinHigh_decode_xer,
- NO_IntegerMinHigh_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- NO_IntegerMinHigh_decode_uper,
- NO_IntegerMinHigh_encode_uper,
+ INTEGER_decode_uper,
+ INTEGER_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_NO_IntegerMinHigh_tags_1,
sizeof(asn_DEF_NO_IntegerMinHigh_tags_1)
@@ -724,87 +392,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerLowHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerLowHigh_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerLowHigh_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowHigh_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerLowHigh_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowHigh_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerLowHigh_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowHigh_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-NO_IntegerLowHigh_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- NO_IntegerLowHigh_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [NO-IntegerLowHigh] >>> ***/
@@ -816,7 +403,7 @@
/*** <<< STAT-DEFS [NO-IntegerLowHigh] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerLowHigh_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerLowHigh_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -827,16 +414,16 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh = {
"NO-IntegerLowHigh",
"NO-IntegerLowHigh",
- NO_IntegerLowHigh_free,
- NO_IntegerLowHigh_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerLowHigh_constraint,
- NO_IntegerLowHigh_decode_ber,
- NO_IntegerLowHigh_encode_der,
- NO_IntegerLowHigh_decode_xer,
- NO_IntegerLowHigh_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- NO_IntegerLowHigh_decode_uper,
- NO_IntegerLowHigh_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_NO_IntegerLowHigh_tags_1,
sizeof(asn_DEF_NO_IntegerLowHigh_tags_1)
@@ -903,87 +490,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerLowMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-CN_IntegerLowMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerLowMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerLowMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerLowMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerLowMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerLowMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerLowMax_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-CN_IntegerLowMax_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- CN_IntegerLowMax_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [CN-IntegerLowMax] >>> ***/
@@ -1001,16 +507,16 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax = {
"CN-IntegerLowMax",
"CN-IntegerLowMax",
- CN_IntegerLowMax_free,
- CN_IntegerLowMax_print,
+ NativeInteger_free,
+ NativeInteger_print,
CN_IntegerLowMax_constraint,
- CN_IntegerLowMax_decode_ber,
- CN_IntegerLowMax_encode_der,
- CN_IntegerLowMax_decode_xer,
- CN_IntegerLowMax_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- CN_IntegerLowMax_decode_uper,
- CN_IntegerLowMax_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CN_IntegerLowMax_tags_1,
sizeof(asn_DEF_CN_IntegerLowMax_tags_1)
@@ -1083,87 +589,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerHighMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerHighMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerHighMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerHighMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerHighMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerHighMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerHighMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerHighMax_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-NO_IntegerHighMax_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- NO_IntegerHighMax_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [NO-IntegerHighMax] >>> ***/
@@ -1181,16 +606,16 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax = {
"NO-IntegerHighMax",
"NO-IntegerHighMax",
- NO_IntegerHighMax_free,
- NO_IntegerHighMax_print,
+ INTEGER_free,
+ INTEGER_print,
NO_IntegerHighMax_constraint,
- NO_IntegerHighMax_decode_ber,
- NO_IntegerHighMax_encode_der,
- NO_IntegerHighMax_decode_xer,
- NO_IntegerHighMax_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- NO_IntegerHighMax_decode_uper,
- NO_IntegerHighMax_encode_uper,
+ INTEGER_decode_uper,
+ INTEGER_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_NO_IntegerHighMax_tags_1,
sizeof(asn_DEF_NO_IntegerHighMax_tags_1)
@@ -1263,87 +688,6 @@
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerLowestMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerLowestMax_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerLowestMax_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowestMax_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerLowestMax_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowestMax_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerLowestMax_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerLowestMax_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-NO_IntegerLowestMax_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- NO_IntegerLowestMax_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [NO-IntegerLowestMax] >>> ***/
@@ -1361,16 +705,16 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax = {
"NO-IntegerLowestMax",
"NO-IntegerLowestMax",
- NO_IntegerLowestMax_free,
- NO_IntegerLowestMax_print,
+ INTEGER_free,
+ INTEGER_print,
NO_IntegerLowestMax_constraint,
- NO_IntegerLowestMax_decode_ber,
- NO_IntegerLowestMax_encode_der,
- NO_IntegerLowestMax_decode_xer,
- NO_IntegerLowestMax_encode_xer,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- NO_IntegerLowestMax_decode_uper,
- NO_IntegerLowestMax_encode_uper,
+ INTEGER_decode_uper,
+ INTEGER_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_NO_IntegerLowestMax_tags_1,
sizeof(asn_DEF_NO_IntegerLowestMax_tags_1)
@@ -1437,87 +781,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerOutRange_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerOutRange_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerOutRange_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutRange_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerOutRange_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutRange_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerOutRange_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutRange_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-NO_IntegerOutRange_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- NO_IntegerOutRange_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [NO-IntegerOutRange] >>> ***/
@@ -1529,7 +792,7 @@
/*** <<< STAT-DEFS [NO-IntegerOutRange] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutRange_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutRange_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -1540,16 +803,16 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange = {
"NO-IntegerOutRange",
"NO-IntegerOutRange",
- NO_IntegerOutRange_free,
- NO_IntegerOutRange_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerOutRange_constraint,
- NO_IntegerOutRange_decode_ber,
- NO_IntegerOutRange_encode_der,
- NO_IntegerOutRange_decode_xer,
- NO_IntegerOutRange_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- NO_IntegerOutRange_decode_uper,
- NO_IntegerOutRange_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_NO_IntegerOutRange_tags_1,
sizeof(asn_DEF_NO_IntegerOutRange_tags_1)
@@ -1616,87 +879,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerOutValue_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerOutValue_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerOutValue_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutValue_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerOutValue_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutValue_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerOutValue_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerOutValue_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-NO_IntegerOutValue_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- NO_IntegerOutValue_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [NO-IntegerOutValue] >>> ***/
@@ -1708,7 +890,7 @@
/*** <<< STAT-DEFS [NO-IntegerOutValue] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutValue_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutValue_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -1719,16 +901,16 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue = {
"NO-IntegerOutValue",
"NO-IntegerOutValue",
- NO_IntegerOutValue_free,
- NO_IntegerOutValue_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerOutValue_constraint,
- NO_IntegerOutValue_decode_ber,
- NO_IntegerOutValue_encode_der,
- NO_IntegerOutValue_decode_xer,
- NO_IntegerOutValue_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- NO_IntegerOutValue_decode_uper,
- NO_IntegerOutValue_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_NO_IntegerOutValue_tags_1,
sizeof(asn_DEF_NO_IntegerOutValue_tags_1)
@@ -1795,87 +977,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange1_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- OK_IntegerInRange1_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [OK-IntegerInRange1] >>> ***/
@@ -1893,16 +994,16 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1 = {
"OK-IntegerInRange1",
"OK-IntegerInRange1",
- OK_IntegerInRange1_free,
- OK_IntegerInRange1_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange1_constraint,
- OK_IntegerInRange1_decode_ber,
- OK_IntegerInRange1_encode_der,
- OK_IntegerInRange1_decode_xer,
- OK_IntegerInRange1_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- OK_IntegerInRange1_decode_uper,
- OK_IntegerInRange1_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_OK_IntegerInRange1_tags_1,
sizeof(asn_DEF_OK_IntegerInRange1_tags_1)
@@ -1969,87 +1070,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange2_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- OK_IntegerInRange2_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [OK-IntegerInRange2] >>> ***/
@@ -2067,16 +1087,16 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2 = {
"OK-IntegerInRange2",
"OK-IntegerInRange2",
- OK_IntegerInRange2_free,
- OK_IntegerInRange2_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange2_constraint,
- OK_IntegerInRange2_decode_ber,
- OK_IntegerInRange2_encode_der,
- OK_IntegerInRange2_decode_xer,
- OK_IntegerInRange2_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- OK_IntegerInRange2_decode_uper,
- OK_IntegerInRange2_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_OK_IntegerInRange2_tags_1,
sizeof(asn_DEF_OK_IntegerInRange2_tags_1)
@@ -2143,87 +1163,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange3_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- OK_IntegerInRange3_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [OK-IntegerInRange3] >>> ***/
@@ -2241,16 +1180,16 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3 = {
"OK-IntegerInRange3",
"OK-IntegerInRange3",
- OK_IntegerInRange3_free,
- OK_IntegerInRange3_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange3_constraint,
- OK_IntegerInRange3_decode_ber,
- OK_IntegerInRange3_encode_der,
- OK_IntegerInRange3_decode_xer,
- OK_IntegerInRange3_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- OK_IntegerInRange3_decode_uper,
- OK_IntegerInRange3_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_OK_IntegerInRange3_tags_1,
sizeof(asn_DEF_OK_IntegerInRange3_tags_1)
@@ -2317,87 +1256,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange4_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange4_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- OK_IntegerInRange4_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [OK-IntegerInRange4] >>> ***/
@@ -2415,16 +1273,16 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4 = {
"OK-IntegerInRange4",
"OK-IntegerInRange4",
- OK_IntegerInRange4_free,
- OK_IntegerInRange4_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange4_constraint,
- OK_IntegerInRange4_decode_ber,
- OK_IntegerInRange4_encode_der,
- OK_IntegerInRange4_decode_xer,
- OK_IntegerInRange4_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- OK_IntegerInRange4_decode_uper,
- OK_IntegerInRange4_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_OK_IntegerInRange4_tags_1,
sizeof(asn_DEF_OK_IntegerInRange4_tags_1)
@@ -2491,87 +1349,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_IntegerInRange5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_IntegerInRange5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_IntegerInRange5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_IntegerInRange5_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-OK_IntegerInRange5_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- OK_IntegerInRange5_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [OK-IntegerInRange5] >>> ***/
@@ -2589,16 +1366,16 @@
asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5 = {
"OK-IntegerInRange5",
"OK-IntegerInRange5",
- OK_IntegerInRange5_free,
- OK_IntegerInRange5_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_IntegerInRange5_constraint,
- OK_IntegerInRange5_decode_ber,
- OK_IntegerInRange5_encode_der,
- OK_IntegerInRange5_decode_xer,
- OK_IntegerInRange5_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- OK_IntegerInRange5_decode_uper,
- OK_IntegerInRange5_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_OK_IntegerInRange5_tags_1,
sizeof(asn_DEF_OK_IntegerInRange5_tags_1)
@@ -2656,87 +1433,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerInRange6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
-}
-
-void
-NO_IntegerInRange6_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerInRange6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerInRange6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerInRange6_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerInRange6_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerInRange6_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerInRange6_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-NO_IntegerInRange6_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- NO_IntegerInRange6_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< CTDEFS [NO-IntegerInRange6] >>> ***/
@@ -2748,7 +1444,7 @@
/*** <<< STAT-DEFS [NO-IntegerInRange6] >>> ***/
-static asn_INTEGER_specifics_t asn_SPC_NO_IntegerInRange6_specs_1 = {
+static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerInRange6_specs_1 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@@ -2759,16 +1455,16 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = {
"NO-IntegerInRange6",
"NO-IntegerInRange6",
- NO_IntegerInRange6_free,
- NO_IntegerInRange6_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_IntegerInRange6_constraint,
- NO_IntegerInRange6_decode_ber,
- NO_IntegerInRange6_encode_der,
- NO_IntegerInRange6_decode_xer,
- NO_IntegerInRange6_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- NO_IntegerInRange6_decode_uper,
- NO_IntegerInRange6_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_NO_IntegerInRange6_tags_1,
sizeof(asn_DEF_NO_IntegerInRange6_tags_1)
@@ -2813,99 +1509,10 @@
/*** <<< CODE [CN-IntegerEnumerated1] >>> ***/
-int
-CN_IntegerEnumerated1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-CN_IntegerEnumerated1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-CN_IntegerEnumerated1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerEnumerated1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-CN_IntegerEnumerated1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerEnumerated1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-CN_IntegerEnumerated1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-CN_IntegerEnumerated1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-CN_IntegerEnumerated1_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< STAT-DEFS [CN-IntegerEnumerated1] >>> ***/
@@ -2915,16 +1522,16 @@
asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = {
"CN-IntegerEnumerated1",
"CN-IntegerEnumerated1",
- CN_IntegerEnumerated1_free,
- CN_IntegerEnumerated1_print,
- CN_IntegerEnumerated1_constraint,
- CN_IntegerEnumerated1_decode_ber,
- CN_IntegerEnumerated1_encode_der,
- CN_IntegerEnumerated1_decode_xer,
- CN_IntegerEnumerated1_encode_xer,
+ NativeInteger_free,
+ NativeInteger_print,
+ NativeInteger_constraint,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- CN_IntegerEnumerated1_decode_uper,
- CN_IntegerEnumerated1_encode_uper,
+ NativeInteger_decode_uper,
+ NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CN_IntegerEnumerated1_tags_1,
sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1)
@@ -2969,99 +1576,10 @@
/*** <<< CODE [NO-IntegerEnumerated2] >>> ***/
-int
-NO_IntegerEnumerated2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_INTEGER.free_struct;
- td->print_struct = asn_DEF_INTEGER.print_struct;
- td->check_constraints = asn_DEF_INTEGER.check_constraints;
- td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
- td->der_encoder = asn_DEF_INTEGER.der_encoder;
- td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
- td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
- td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
- td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
- td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
- td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_INTEGER.per_constraints;
- td->elements = asn_DEF_INTEGER.elements;
- td->elements_count = asn_DEF_INTEGER.elements_count;
- td->specifics = asn_DEF_INTEGER.specifics;
-}
-
-void
-NO_IntegerEnumerated2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_IntegerEnumerated2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerEnumerated2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_IntegerEnumerated2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerEnumerated2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_IntegerEnumerated2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_IntegerEnumerated2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
-}
-
-asn_enc_rval_t
-NO_IntegerEnumerated2_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints,
- void *structure, asn_per_outp_t *per_out) {
- NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(td);
- return td->uper_encoder(td, constraints, structure, per_out);
-}
-
/*** <<< STAT-DEFS [NO-IntegerEnumerated2] >>> ***/
@@ -3071,16 +1589,16 @@
asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2 = {
"NO-IntegerEnumerated2",
"NO-IntegerEnumerated2",
- NO_IntegerEnumerated2_free,
- NO_IntegerEnumerated2_print,
- NO_IntegerEnumerated2_constraint,
- NO_IntegerEnumerated2_decode_ber,
- NO_IntegerEnumerated2_encode_der,
- NO_IntegerEnumerated2_decode_xer,
- NO_IntegerEnumerated2_encode_xer,
+ INTEGER_free,
+ INTEGER_print,
+ INTEGER_constraint,
+ INTEGER_decode_ber,
+ INTEGER_encode_der,
+ INTEGER_decode_xer,
+ INTEGER_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
- NO_IntegerEnumerated2_decode_uper,
- NO_IntegerEnumerated2_encode_uper,
+ INTEGER_decode_uper,
+ INTEGER_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_NO_IntegerEnumerated2_tags_1,
sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1)
diff --git a/tests/91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE b/tests/91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE
index 0ffabb1..056a42b 100644
--- a/tests/91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE
+++ b/tests/91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE
@@ -45,72 +45,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_Integer1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_Integer1_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_Integer1_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_Integer1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer1_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_Integer1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_Integer1_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_Integer1_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer1_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_Integer1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_Integer1_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_Integer1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer1_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-Integer1] >>> ***/
@@ -120,13 +54,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_Integer1 = {
"OK-Integer1",
"OK-Integer1",
- OK_Integer1_free,
- OK_Integer1_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_Integer1_constraint,
- OK_Integer1_decode_ber,
- OK_Integer1_encode_der,
- OK_Integer1_decode_xer,
- OK_Integer1_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -189,72 +123,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_Integer2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_Integer2_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_Integer2_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_Integer2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer2_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_Integer2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_Integer2_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_Integer2_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer2_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_Integer2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_Integer2_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_Integer2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer2_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-Integer2] >>> ***/
@@ -264,13 +132,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_Integer2 = {
"OK-Integer2",
"OK-Integer2",
- OK_Integer2_free,
- OK_Integer2_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_Integer2_constraint,
- OK_Integer2_decode_ber,
- OK_Integer2_encode_der,
- OK_Integer2_decode_xer,
- OK_Integer2_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -333,72 +201,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_Integer3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_Integer3_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_Integer3_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_Integer3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer3_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_Integer3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_Integer3_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_Integer3_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer3_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_Integer3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_Integer3_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_Integer3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer3_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-Integer3] >>> ***/
@@ -408,13 +210,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_Integer3 = {
"OK-Integer3",
"OK-Integer3",
- OK_Integer3_free,
- OK_Integer3_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_Integer3_constraint,
- OK_Integer3_decode_ber,
- OK_Integer3_encode_der,
- OK_Integer3_decode_xer,
- OK_Integer3_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -477,72 +279,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-OK_Integer4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-OK_Integer4_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- OK_Integer4_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-OK_Integer4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer4_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_Integer4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- OK_Integer4_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-OK_Integer4_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer4_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-OK_Integer4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- OK_Integer4_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-OK_Integer4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- OK_Integer4_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [OK-Integer4] >>> ***/
@@ -552,13 +288,13 @@
asn_TYPE_descriptor_t asn_DEF_OK_Integer4 = {
"OK-Integer4",
"OK-Integer4",
- OK_Integer4_free,
- OK_Integer4_print,
+ NativeInteger_free,
+ NativeInteger_print,
OK_Integer4_constraint,
- OK_Integer4_decode_ber,
- OK_Integer4_encode_der,
- OK_Integer4_decode_xer,
- OK_Integer4_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
@@ -621,72 +357,6 @@
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
-static void
-NO_Integer5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_NativeInteger.free_struct;
- td->print_struct = asn_DEF_NativeInteger.print_struct;
- td->check_constraints = asn_DEF_NativeInteger.check_constraints;
- td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
- td->der_encoder = asn_DEF_NativeInteger.der_encoder;
- td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
- td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
- td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
- td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
- td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
- td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_NativeInteger.per_constraints;
- td->elements = asn_DEF_NativeInteger.elements;
- td->elements_count = asn_DEF_NativeInteger.elements_count;
- td->specifics = asn_DEF_NativeInteger.specifics;
-}
-
-void
-NO_Integer5_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- NO_Integer5_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-NO_Integer5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- NO_Integer5_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_Integer5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- NO_Integer5_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-NO_Integer5_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_Integer5_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-NO_Integer5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- NO_Integer5_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-NO_Integer5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- NO_Integer5_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [NO-Integer5] >>> ***/
@@ -696,13 +366,13 @@
asn_TYPE_descriptor_t asn_DEF_NO_Integer5 = {
"NO-Integer5",
"NO-Integer5",
- NO_Integer5_free,
- NO_Integer5_print,
+ NativeInteger_free,
+ NativeInteger_print,
NO_Integer5_constraint,
- NO_Integer5_decode_ber,
- NO_Integer5_encode_der,
- NO_Integer5_decode_xer,
- NO_Integer5_encode_xer,
+ NativeInteger_decode_ber,
+ NativeInteger_encode_der,
+ NativeInteger_decode_xer,
+ NativeInteger_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 */
diff --git a/tests/92-circular-loops-OK.asn1.-Pfindirect-choice b/tests/92-circular-loops-OK.asn1.-Pfindirect-choice
index 9ab79e9..9a9c007 100644
--- a/tests/92-circular-loops-OK.asn1.-Pfindirect-choice
+++ b/tests/92-circular-loops-OK.asn1.-Pfindirect-choice
@@ -37,6 +37,8 @@
/*** <<< FUNC-DECLS [Everything] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Everything;
+extern asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1;
+extern asn_TYPE_member_t asn_MBR_Everything_1[10];
/*** <<< POST-INCLUDE [Everything] >>> ***/
@@ -46,7 +48,7 @@
/*** <<< STAT-DEFS [Everything] >>> ***/
-static asn_TYPE_member_t asn_MBR_Everything_1[] = {
+asn_TYPE_member_t asn_MBR_Everything_1[] = {
{ ATF_POINTER, 0, offsetof(struct Everything, ch1),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = +1, /* EXPLICIT tag at current level */
@@ -163,7 +165,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt */
{ (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
sizeof(struct Everything),
offsetof(struct Everything, _asn_ctx),
asn_MAP_Everything_tag2el_1,
@@ -236,6 +238,8 @@
/*** <<< FUNC-DECLS [Choice1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice1;
+extern asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1;
+extern asn_TYPE_member_t asn_MBR_Choice1_1[2];
/*** <<< POST-INCLUDE [Choice1] >>> ***/
@@ -243,7 +247,7 @@
/*** <<< STAT-DEFS [Choice1] >>> ***/
-static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
+asn_TYPE_member_t asn_MBR_Choice1_1[] = {
{ ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -269,7 +273,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */
};
-static asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
sizeof(struct Choice1),
offsetof(struct Choice1, _asn_ctx),
offsetof(struct Choice1, present),
@@ -342,6 +346,8 @@
/*** <<< FUNC-DECLS [Choice2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice2;
+extern asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1;
+extern asn_TYPE_member_t asn_MBR_Choice2_1[2];
/*** <<< POST-INCLUDE [Choice2] >>> ***/
@@ -350,7 +356,7 @@
/*** <<< STAT-DEFS [Choice2] >>> ***/
-static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
+asn_TYPE_member_t asn_MBR_Choice2_1[] = {
{ ATF_POINTER, 0, offsetof(struct Choice2, choice.typeref),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -376,7 +382,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
};
-static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
sizeof(struct Choice2),
offsetof(struct Choice2, _asn_ctx),
offsetof(struct Choice2, present),
@@ -459,6 +465,8 @@
/*** <<< FUNC-DECLS [Choice3] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice3;
+extern asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1;
+extern asn_TYPE_member_t asn_MBR_Choice3_1[3];
/*** <<< POST-INCLUDE [Choice3] >>> ***/
@@ -570,7 +578,7 @@
&asn_SPC_c_specs_5 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
+asn_TYPE_member_t asn_MBR_Choice3_1[] = {
{ ATF_POINTER, 0, offsetof(struct Choice3, choice.a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = 0,
@@ -607,7 +615,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
};
-static asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
sizeof(struct Choice3),
offsetof(struct Choice3, _asn_ctx),
offsetof(struct Choice3, present),
@@ -683,6 +691,8 @@
/*** <<< FUNC-DECLS [Set] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Set;
+extern asn_SET_OF_specifics_t asn_SPC_Set_specs_1;
+extern asn_TYPE_member_t asn_MBR_Set_1[1];
/*** <<< POST-INCLUDE [Set] >>> ***/
@@ -789,7 +799,7 @@
&asn_SPC_Member_specs_2 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Set_1[] = {
+asn_TYPE_member_t asn_MBR_Set_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@@ -804,7 +814,7 @@
static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
sizeof(struct Set),
offsetof(struct Set, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@@ -865,6 +875,8 @@
/*** <<< FUNC-DECLS [Sequence] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Sequence;
+extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
+extern asn_TYPE_member_t asn_MBR_Sequence_1[4];
/*** <<< POST-INCLUDE [Sequence] >>> ***/
@@ -873,7 +885,7 @@
/*** <<< STAT-DEFS [Sequence] >>> ***/
-static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
+asn_TYPE_member_t asn_MBR_Sequence_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -924,7 +936,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
sizeof(struct Sequence),
offsetof(struct Sequence, _asn_ctx),
asn_MAP_Sequence_tag2el_1,
@@ -981,84 +993,10 @@
/*** <<< CODE [TypeRef] >>> ***/
-int
-TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Sequence.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Sequence,
* so here we adjust the DEF accordingly.
*/
-static void
-TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Sequence.free_struct;
- td->print_struct = asn_DEF_Sequence.print_struct;
- td->check_constraints = asn_DEF_Sequence.check_constraints;
- td->ber_decoder = asn_DEF_Sequence.ber_decoder;
- td->der_encoder = asn_DEF_Sequence.der_encoder;
- td->xer_decoder = asn_DEF_Sequence.xer_decoder;
- td->xer_encoder = asn_DEF_Sequence.xer_encoder;
- td->uper_decoder = asn_DEF_Sequence.uper_decoder;
- td->uper_encoder = asn_DEF_Sequence.uper_encoder;
- td->oer_decoder = asn_DEF_Sequence.oer_decoder;
- td->oer_encoder = asn_DEF_Sequence.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Sequence.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Sequence.per_constraints;
- td->elements = asn_DEF_Sequence.elements;
- td->elements_count = asn_DEF_Sequence.elements_count;
- td->specifics = asn_DEF_Sequence.specifics;
-}
-
-void
-TypeRef_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-TypeRef_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [TypeRef] >>> ***/
@@ -1068,13 +1006,13 @@
asn_TYPE_descriptor_t asn_DEF_TypeRef = {
"TypeRef",
"TypeRef",
- TypeRef_free,
- TypeRef_print,
- TypeRef_constraint,
- TypeRef_decode_ber,
- TypeRef_encode_der,
- TypeRef_decode_xer,
- TypeRef_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -1086,8 +1024,9 @@
/sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Sequence_1,
+ 4, /* Elements count */
+ &asn_SPC_Sequence_specs_1 /* Additional specs */
};
@@ -1117,6 +1056,8 @@
/*** <<< FUNC-DECLS [Alpha] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Alpha;
+extern asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1;
+extern asn_TYPE_member_t asn_MBR_Alpha_1[2];
/*** <<< POST-INCLUDE [Alpha] >>> ***/
@@ -1179,7 +1120,7 @@
&asn_SPC_b_specs_3 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
+asn_TYPE_member_t asn_MBR_Alpha_1[] = {
{ ATF_POINTER, 0, offsetof(struct Alpha, a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1208,7 +1149,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
sizeof(struct Alpha),
offsetof(struct Alpha, _asn_ctx),
asn_MAP_Alpha_tag2el_1,
@@ -1266,6 +1207,8 @@
/*** <<< FUNC-DECLS [Beta] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Beta;
+extern asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1;
+extern asn_TYPE_member_t asn_MBR_Beta_1[2];
/*** <<< POST-INCLUDE [Beta] >>> ***/
@@ -1274,7 +1217,7 @@
/*** <<< STAT-DEFS [Beta] >>> ***/
-static asn_TYPE_member_t asn_MBR_Beta_1[] = {
+asn_TYPE_member_t asn_MBR_Beta_1[] = {
{ ATF_POINTER, 2, offsetof(struct Beta, b),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1303,7 +1246,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
sizeof(struct Beta),
offsetof(struct Beta, _asn_ctx),
asn_MAP_Beta_tag2el_1,
@@ -1363,6 +1306,8 @@
/*** <<< FUNC-DECLS [Gamma] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Gamma;
+extern asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1;
+extern asn_TYPE_member_t asn_MBR_Gamma_1[3];
/*** <<< POST-INCLUDE [Gamma] >>> ***/
@@ -1372,7 +1317,7 @@
/*** <<< STAT-DEFS [Gamma] >>> ***/
-static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
+asn_TYPE_member_t asn_MBR_Gamma_1[] = {
{ ATF_POINTER, 0, offsetof(struct Gamma, o),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1412,7 +1357,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
sizeof(struct Gamma),
offsetof(struct Gamma, _asn_ctx),
asn_MAP_Gamma_tag2el_1,
@@ -1482,6 +1427,8 @@
/*** <<< FUNC-DECLS [OneTwo] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
+extern asn_SET_specifics_t asn_SPC_OneTwo_specs_1;
+extern asn_TYPE_member_t asn_MBR_OneTwo_1[1];
/*** <<< POST-INCLUDE [OneTwo] >>> ***/
@@ -1489,7 +1436,7 @@
/*** <<< STAT-DEFS [OneTwo] >>> ***/
-static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
+asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
{ ATF_POINTER, 0, offsetof(struct OneTwo, m12),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1510,7 +1457,7 @@
static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
-static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
+asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
sizeof(struct OneTwo),
offsetof(struct OneTwo, _asn_ctx),
offsetof(struct OneTwo, _presence_map),
@@ -1582,6 +1529,8 @@
/*** <<< FUNC-DECLS [TwoThree] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
+extern asn_SET_specifics_t asn_SPC_TwoThree_specs_1;
+extern asn_TYPE_member_t asn_MBR_TwoThree_1[1];
/*** <<< POST-INCLUDE [TwoThree] >>> ***/
@@ -1589,7 +1538,7 @@
/*** <<< STAT-DEFS [TwoThree] >>> ***/
-static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
+asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
{ ATF_POINTER, 0, offsetof(struct TwoThree, m23),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1610,7 +1559,7 @@
static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
-static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
+asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
sizeof(struct TwoThree),
offsetof(struct TwoThree, _asn_ctx),
offsetof(struct TwoThree, _presence_map),
@@ -1685,6 +1634,8 @@
/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
+extern asn_SET_specifics_t asn_SPC_ThreeOne_specs_1;
+extern asn_TYPE_member_t asn_MBR_ThreeOne_1[2];
/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
@@ -1693,7 +1644,7 @@
/*** <<< STAT-DEFS [ThreeOne] >>> ***/
-static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
+asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
{ ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1725,7 +1676,7 @@
static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (1 << 6)
};
-static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
+asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
sizeof(struct ThreeOne),
offsetof(struct ThreeOne, _asn_ctx),
offsetof(struct ThreeOne, _presence_map),
diff --git a/tests/92-circular-loops-OK.asn1.-Pfwide-types b/tests/92-circular-loops-OK.asn1.-Pfwide-types
index 03779e2..8919d9f 100644
--- a/tests/92-circular-loops-OK.asn1.-Pfwide-types
+++ b/tests/92-circular-loops-OK.asn1.-Pfwide-types
@@ -37,6 +37,8 @@
/*** <<< FUNC-DECLS [Everything] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Everything;
+extern asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1;
+extern asn_TYPE_member_t asn_MBR_Everything_1[10];
/*** <<< POST-INCLUDE [Everything] >>> ***/
@@ -46,7 +48,7 @@
/*** <<< STAT-DEFS [Everything] >>> ***/
-static asn_TYPE_member_t asn_MBR_Everything_1[] = {
+asn_TYPE_member_t asn_MBR_Everything_1[] = {
{ ATF_POINTER, 0, offsetof(struct Everything, ch1),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = +1, /* EXPLICIT tag at current level */
@@ -163,7 +165,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt */
{ (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
sizeof(struct Everything),
offsetof(struct Everything, _asn_ctx),
asn_MAP_Everything_tag2el_1,
@@ -236,6 +238,8 @@
/*** <<< FUNC-DECLS [Choice1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice1;
+extern asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1;
+extern asn_TYPE_member_t asn_MBR_Choice1_1[2];
/*** <<< POST-INCLUDE [Choice1] >>> ***/
@@ -243,7 +247,7 @@
/*** <<< STAT-DEFS [Choice1] >>> ***/
-static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
+asn_TYPE_member_t asn_MBR_Choice1_1[] = {
{ ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -269,7 +273,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */
};
-static asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
sizeof(struct Choice1),
offsetof(struct Choice1, _asn_ctx),
offsetof(struct Choice1, present),
@@ -342,6 +346,8 @@
/*** <<< FUNC-DECLS [Choice2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice2;
+extern asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1;
+extern asn_TYPE_member_t asn_MBR_Choice2_1[2];
/*** <<< POST-INCLUDE [Choice2] >>> ***/
@@ -349,7 +355,7 @@
/*** <<< STAT-DEFS [Choice2] >>> ***/
-static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
+asn_TYPE_member_t asn_MBR_Choice2_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.typeref),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -375,7 +381,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
};
-static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
sizeof(struct Choice2),
offsetof(struct Choice2, _asn_ctx),
offsetof(struct Choice2, present),
@@ -458,6 +464,8 @@
/*** <<< FUNC-DECLS [Choice3] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice3;
+extern asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1;
+extern asn_TYPE_member_t asn_MBR_Choice3_1[3];
/*** <<< POST-INCLUDE [Choice3] >>> ***/
@@ -569,7 +577,7 @@
&asn_SPC_c_specs_5 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
+asn_TYPE_member_t asn_MBR_Choice3_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = 0,
@@ -606,7 +614,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
};
-static asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
sizeof(struct Choice3),
offsetof(struct Choice3, _asn_ctx),
offsetof(struct Choice3, present),
@@ -682,6 +690,8 @@
/*** <<< FUNC-DECLS [Set] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Set;
+extern asn_SET_OF_specifics_t asn_SPC_Set_specs_1;
+extern asn_TYPE_member_t asn_MBR_Set_1[1];
/*** <<< POST-INCLUDE [Set] >>> ***/
@@ -788,7 +798,7 @@
&asn_SPC_Member_specs_2 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Set_1[] = {
+asn_TYPE_member_t asn_MBR_Set_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@@ -803,7 +813,7 @@
static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
+asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
sizeof(struct Set),
offsetof(struct Set, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@@ -864,6 +874,8 @@
/*** <<< FUNC-DECLS [Sequence] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Sequence;
+extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
+extern asn_TYPE_member_t asn_MBR_Sequence_1[4];
/*** <<< POST-INCLUDE [Sequence] >>> ***/
@@ -872,7 +884,7 @@
/*** <<< STAT-DEFS [Sequence] >>> ***/
-static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
+asn_TYPE_member_t asn_MBR_Sequence_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -923,7 +935,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
sizeof(struct Sequence),
offsetof(struct Sequence, _asn_ctx),
asn_MAP_Sequence_tag2el_1,
@@ -980,84 +992,10 @@
/*** <<< CODE [TypeRef] >>> ***/
-int
-TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- /* Replace with underlying type checker */
- td->check_constraints = asn_DEF_Sequence.check_constraints;
- return td->check_constraints(td, sptr, ctfailcb, app_key);
-}
-
/*
* This type is implemented using Sequence,
* so here we adjust the DEF accordingly.
*/
-static void
-TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
- td->free_struct = asn_DEF_Sequence.free_struct;
- td->print_struct = asn_DEF_Sequence.print_struct;
- td->check_constraints = asn_DEF_Sequence.check_constraints;
- td->ber_decoder = asn_DEF_Sequence.ber_decoder;
- td->der_encoder = asn_DEF_Sequence.der_encoder;
- td->xer_decoder = asn_DEF_Sequence.xer_decoder;
- td->xer_encoder = asn_DEF_Sequence.xer_encoder;
- td->uper_decoder = asn_DEF_Sequence.uper_decoder;
- td->uper_encoder = asn_DEF_Sequence.uper_encoder;
- td->oer_decoder = asn_DEF_Sequence.oer_decoder;
- td->oer_encoder = asn_DEF_Sequence.oer_encoder;
- if(!td->oer_constraints)
- td->oer_constraints = asn_DEF_Sequence.oer_constraints;
- if(!td->per_constraints)
- td->per_constraints = asn_DEF_Sequence.per_constraints;
- td->elements = asn_DEF_Sequence.elements;
- td->elements_count = asn_DEF_Sequence.elements_count;
- td->specifics = asn_DEF_Sequence.specifics;
-}
-
-void
-TypeRef_free(asn_TYPE_descriptor_t *td,
- void *struct_ptr, int contents_only) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
- int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const void *bufptr, size_t size, int tag_mode) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-TypeRef_encode_der(asn_TYPE_descriptor_t *td,
- void *structure, int tag_mode, ber_tlv_tag_t tag,
- asn_app_consume_bytes_f *cb, void *app_key) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
- void **structure, const char *opt_mname, const void *bufptr, size_t size) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- TypeRef_1_inherit_TYPE_descriptor(td);
- return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
/*** <<< STAT-DEFS [TypeRef] >>> ***/
@@ -1067,13 +1005,13 @@
asn_TYPE_descriptor_t asn_DEF_TypeRef = {
"TypeRef",
"TypeRef",
- TypeRef_free,
- TypeRef_print,
- TypeRef_constraint,
- TypeRef_decode_ber,
- TypeRef_encode_der,
- TypeRef_decode_xer,
- TypeRef_encode_xer,
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_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 */
@@ -1085,8 +1023,9 @@
/sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
- 0, 0, /* Defined elsewhere */
- 0 /* No specifics */
+ asn_MBR_Sequence_1,
+ 4, /* Elements count */
+ &asn_SPC_Sequence_specs_1 /* Additional specs */
};
@@ -1116,6 +1055,8 @@
/*** <<< FUNC-DECLS [Alpha] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Alpha;
+extern asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1;
+extern asn_TYPE_member_t asn_MBR_Alpha_1[2];
/*** <<< POST-INCLUDE [Alpha] >>> ***/
@@ -1178,7 +1119,7 @@
&asn_SPC_b_specs_3 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
+asn_TYPE_member_t asn_MBR_Alpha_1[] = {
{ ATF_POINTER, 0, offsetof(struct Alpha, a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1207,7 +1148,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
sizeof(struct Alpha),
offsetof(struct Alpha, _asn_ctx),
asn_MAP_Alpha_tag2el_1,
@@ -1265,6 +1206,8 @@
/*** <<< FUNC-DECLS [Beta] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Beta;
+extern asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1;
+extern asn_TYPE_member_t asn_MBR_Beta_1[2];
/*** <<< POST-INCLUDE [Beta] >>> ***/
@@ -1273,7 +1216,7 @@
/*** <<< STAT-DEFS [Beta] >>> ***/
-static asn_TYPE_member_t asn_MBR_Beta_1[] = {
+asn_TYPE_member_t asn_MBR_Beta_1[] = {
{ ATF_POINTER, 2, offsetof(struct Beta, b),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1302,7 +1245,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
sizeof(struct Beta),
offsetof(struct Beta, _asn_ctx),
asn_MAP_Beta_tag2el_1,
@@ -1362,6 +1305,8 @@
/*** <<< FUNC-DECLS [Gamma] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Gamma;
+extern asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1;
+extern asn_TYPE_member_t asn_MBR_Gamma_1[3];
/*** <<< POST-INCLUDE [Gamma] >>> ***/
@@ -1371,7 +1316,7 @@
/*** <<< STAT-DEFS [Gamma] >>> ***/
-static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
+asn_TYPE_member_t asn_MBR_Gamma_1[] = {
{ ATF_POINTER, 0, offsetof(struct Gamma, o),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1411,7 +1356,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
sizeof(struct Gamma),
offsetof(struct Gamma, _asn_ctx),
asn_MAP_Gamma_tag2el_1,
@@ -1481,6 +1426,8 @@
/*** <<< FUNC-DECLS [OneTwo] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
+extern asn_SET_specifics_t asn_SPC_OneTwo_specs_1;
+extern asn_TYPE_member_t asn_MBR_OneTwo_1[1];
/*** <<< POST-INCLUDE [OneTwo] >>> ***/
@@ -1488,7 +1435,7 @@
/*** <<< STAT-DEFS [OneTwo] >>> ***/
-static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
+asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
{ ATF_POINTER, 0, offsetof(struct OneTwo, m12),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1509,7 +1456,7 @@
static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
-static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
+asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
sizeof(struct OneTwo),
offsetof(struct OneTwo, _asn_ctx),
offsetof(struct OneTwo, _presence_map),
@@ -1581,6 +1528,8 @@
/*** <<< FUNC-DECLS [TwoThree] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
+extern asn_SET_specifics_t asn_SPC_TwoThree_specs_1;
+extern asn_TYPE_member_t asn_MBR_TwoThree_1[1];
/*** <<< POST-INCLUDE [TwoThree] >>> ***/
@@ -1588,7 +1537,7 @@
/*** <<< STAT-DEFS [TwoThree] >>> ***/
-static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
+asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
{ ATF_POINTER, 0, offsetof(struct TwoThree, m23),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1609,7 +1558,7 @@
static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
-static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
+asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
sizeof(struct TwoThree),
offsetof(struct TwoThree, _asn_ctx),
offsetof(struct TwoThree, _presence_map),
@@ -1684,6 +1633,8 @@
/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
+extern asn_SET_specifics_t asn_SPC_ThreeOne_specs_1;
+extern asn_TYPE_member_t asn_MBR_ThreeOne_1[2];
/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
@@ -1692,7 +1643,7 @@
/*** <<< STAT-DEFS [ThreeOne] >>> ***/
-static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
+asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
{ ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -1724,7 +1675,7 @@
static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (1 << 6)
};
-static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
+asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
sizeof(struct ThreeOne),
offsetof(struct ThreeOne, _asn_ctx),
offsetof(struct ThreeOne, _presence_map),
diff --git a/tests/93-asn1c-controls-OK.asn1.-Pfwide-types b/tests/93-asn1c-controls-OK.asn1.-Pfwide-types
index 736fe5f..82854af 100644
--- a/tests/93-asn1c-controls-OK.asn1.-Pfwide-types
+++ b/tests/93-asn1c-controls-OK.asn1.-Pfwide-types
@@ -17,10 +17,12 @@
/*** <<< FUNC-DECLS [Sequence] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Sequence;
+extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
+extern asn_TYPE_member_t asn_MBR_Sequence_1[2];
/*** <<< STAT-DEFS [Sequence] >>> ***/
-static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
+asn_TYPE_member_t asn_MBR_Sequence_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Sequence, ainl),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@@ -49,7 +51,7 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ainl */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aptr */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
sizeof(struct Sequence),
offsetof(struct Sequence, _asn_ctx),
asn_MAP_Sequence_tag2el_1,
@@ -161,7 +163,8 @@
static const uint8_t asn_MAP_Set_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (1 << 6)
};
-static asn_SET_specifics_t asn_SPC_Set_specs_1 = {
+static
+asn_SET_specifics_t asn_SPC_Set_specs_1 = {
sizeof(struct Set),
offsetof(struct Set, _asn_ctx),
offsetof(struct Set, _presence_map),
diff --git a/tests/94-set-optionals-OK.asn1.-P b/tests/94-set-optionals-OK.asn1.-P
index 7f602d8..5e3cf6f 100644
--- a/tests/94-set-optionals-OK.asn1.-P
+++ b/tests/94-set-optionals-OK.asn1.-P
@@ -176,7 +176,8 @@
(1 << 7) | (0 << 6) | (1 << 5) | (1 << 4) | (0 << 3) | (1 << 2) | (1 << 1) | (1 << 0),
(0 << 7) | (1 << 6)
};
-static asn_SET_specifics_t asn_SPC_TestSet_specs_1 = {
+static
+asn_SET_specifics_t asn_SPC_TestSet_specs_1 = {
sizeof(struct TestSet),
offsetof(struct TestSet, _asn_ctx),
offsetof(struct TestSet, _presence_map),