diff options
44 files changed, 997 insertions, 322 deletions
diff --git a/asn1c/tests/Makefile.am b/asn1c/tests/Makefile.am index 4e289917..ca219849 100644 --- a/asn1c/tests/Makefile.am +++ b/asn1c/tests/Makefile.am @@ -5,11 +5,7 @@ check_SCRIPTS = check-assembly.sh TESTS_ENVIRONMENT= CC="${CC}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" ./check-assembly.sh -if CPLUSPLUS_FOUND -TESTS = check-*.c check-*.cc ## Include C++ test filed (.cc) -else TESTS = check-*.c -endif EXTRA_DIST = \ $(check_SCRIPTS) \ diff --git a/asn1c/tests/Makefile.in b/asn1c/tests/Makefile.in index 9f98a7b4..ac01fb74 100644 --- a/asn1c/tests/Makefile.in +++ b/asn1c/tests/Makefile.in @@ -60,8 +60,6 @@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPLUSPLUS_FOUND_FALSE = @CPLUSPLUS_FOUND_FALSE@ -CPLUSPLUS_FOUND_TRUE = @CPLUSPLUS_FOUND_TRUE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ @@ -158,8 +156,7 @@ target_vendor = @target_vendor@ AM_CFLAGS = @ADD_CFLAGS@ check_SCRIPTS = check-assembly.sh TESTS_ENVIRONMENT = CC="${CC}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" ./check-assembly.sh -@CPLUSPLUS_FOUND_FALSE@TESTS = check-*.c -@CPLUSPLUS_FOUND_TRUE@TESTS = check-*.c check-*.cc ## Include C++ test filed (.cc) +TESTS = check-*.c EXTRA_DIST = \ $(check_SCRIPTS) \ check-*.c* \ diff --git a/skeletons/per_support.c b/skeletons/per_support.c index 0eb381c8..9217038e 100644 --- a/skeletons/per_support.c +++ b/skeletons/per_support.c @@ -3,6 +3,7 @@ * Redistribution and modifications are permitted subject to BSD license. */ #include <asn_system.h> +#include <asn_internal.h> #include <per_support.h> /* diff --git a/tests/104-param-1-OK.asn1.-P b/tests/104-param-1-OK.asn1.-P index 4d741e47..2b7a50af 100644 --- a/tests/104-param-1-OK.asn1.-P +++ b/tests/104-param-1-OK.asn1.-P @@ -57,7 +57,7 @@ asn_TYPE_descriptor_t asn_DEF_Collection_16P0 = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Collection_16P0_tags_1, sizeof(asn_DEF_Collection_16P0_tags_1) @@ -100,7 +100,7 @@ asn_TYPE_descriptor_t asn_DEF_Collection_16P1 = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Collection_16P1_tags_3, sizeof(asn_DEF_Collection_16P1_tags_3) @@ -182,7 +182,7 @@ asn_TYPE_descriptor_t asn_DEF_Bunch = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Bunch_tags_1, sizeof(asn_DEF_Bunch_tags_1) diff --git a/tests/105-param-2-OK.asn1.-P b/tests/105-param-2-OK.asn1.-P index 08b5d662..96de0624 100644 --- a/tests/105-param-2-OK.asn1.-P +++ b/tests/105-param-2-OK.asn1.-P @@ -83,7 +83,7 @@ asn_TYPE_descriptor_t asn_DEF_SIGNED_16P0 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SIGNED_16P0_tags_1, sizeof(asn_DEF_SIGNED_16P0_tags_1) @@ -139,7 +139,7 @@ asn_TYPE_descriptor_t asn_DEF_signed_4 = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_signed_tags_4, sizeof(asn_DEF_signed_tags_4) @@ -189,7 +189,7 @@ asn_TYPE_descriptor_t asn_DEF_SIGNED_16P1 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SIGNED_16P1_tags_3, sizeof(asn_DEF_SIGNED_16P1_tags_3) @@ -246,6 +246,7 @@ SignedREAL_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_SIGNED_16P0.per_constraints; td->elements = asn_DEF_SIGNED_16P0.elements; @@ -313,7 +314,7 @@ asn_TYPE_descriptor_t asn_DEF_SignedREAL = { SignedREAL_encode_der, SignedREAL_decode_xer, SignedREAL_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SignedREAL_tags_1, sizeof(asn_DEF_SignedREAL_tags_1) @@ -369,6 +370,7 @@ SignedSET_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_SIGNED_16P1.per_constraints; td->elements = asn_DEF_SIGNED_16P1.elements; @@ -436,7 +438,7 @@ asn_TYPE_descriptor_t asn_DEF_SignedSET = { SignedSET_encode_der, SignedSET_decode_xer, SignedSET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SignedSET_tags_1, sizeof(asn_DEF_SignedSET_tags_1) diff --git a/tests/106-param-constr-OK.asn1.-P b/tests/106-param-constr-OK.asn1.-P index de054e40..5910cfb8 100644 --- a/tests/106-param-constr-OK.asn1.-P +++ b/tests/106-param-constr-OK.asn1.-P @@ -99,17 +99,23 @@ memb_narrow3_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, /*** <<< STAT-DEFS [Narrow] >>> ***/ -static int asn_DFL_2_set_3(void **sptr) { +static int asn_DFL_2_set_3(int set_value, void **sptr) { long *st = *sptr; if(!st) { + if(!set_value) return -1; /* Not a default value */ st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } - /* Install default value 3 */ - *st = 3; - return 0; + if(set_value) { + /* Install default value 3 */ + *st = 3; + return 0; + } else { + /* Test default value 3 */ + return (*st == 3); + } } static asn_TYPE_member_t asn_MBR_Narrow_15P0_1[] = { { ATF_POINTER, 1, offsetof(struct Narrow_15P0, narrow1), @@ -167,7 +173,7 @@ asn_TYPE_descriptor_t asn_DEF_Narrow_15P0 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Narrow_15P0_tags_1, sizeof(asn_DEF_Narrow_15P0_tags_1) @@ -224,6 +230,7 @@ NarrowInteger_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Narrow_15P0.per_constraints; td->elements = asn_DEF_Narrow_15P0.elements; @@ -291,7 +298,7 @@ asn_TYPE_descriptor_t asn_DEF_NarrowInteger = { NarrowInteger_encode_der, NarrowInteger_decode_xer, NarrowInteger_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NarrowInteger_tags_1, sizeof(asn_DEF_NarrowInteger_tags_1) diff --git a/tests/108-param-constr-3-OK.asn1.-P b/tests/108-param-constr-3-OK.asn1.-P index 4088926a..33e3fd55 100644 --- a/tests/108-param-constr-3-OK.asn1.-P +++ b/tests/108-param-constr-3-OK.asn1.-P @@ -64,6 +64,7 @@ MinMax_16P0_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -131,7 +132,7 @@ asn_TYPE_descriptor_t asn_DEF_MinMax_16P0 = { MinMax_16P0_encode_der, MinMax_16P0_decode_xer, MinMax_16P0_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_MinMax_16P0_tags_1, sizeof(asn_DEF_MinMax_16P0_tags_1) @@ -210,6 +211,7 @@ ThreePlus_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_MinMax_16P0.per_constraints; td->elements = asn_DEF_MinMax_16P0.elements; @@ -277,7 +279,7 @@ asn_TYPE_descriptor_t asn_DEF_ThreePlus = { ThreePlus_encode_der, ThreePlus_decode_xer, ThreePlus_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_ThreePlus_tags_1, sizeof(asn_DEF_ThreePlus_tags_1) diff --git a/tests/110-param-3-OK.asn1.-P b/tests/110-param-3-OK.asn1.-P index 429bf583..154e8dab 100644 --- a/tests/110-param-3-OK.asn1.-P +++ b/tests/110-param-3-OK.asn1.-P @@ -62,6 +62,7 @@ field_7_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->elements = asn_DEF_ENUMERATED.elements; @@ -116,16 +117,25 @@ field_7_encode_xer(asn_TYPE_descriptor_t *td, void *structure, /*** <<< STAT-DEFS [Flag] >>> ***/ -static int asn_DFL_2_set_5(void **sptr) { +static int asn_DFL_2_set_5(int set_value, void **sptr) { INTEGER_t *st = *sptr; if(!st) { + if(!set_value) return -1; /* Not a default value */ st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } - /* Install default value 5 */ - return asn_long2INTEGER(st, 5); + if(set_value) { + /* Install default value 5 */ + return asn_long2INTEGER(st, 5); + } else { + /* Test default value 5 */ + long value; + if(asn_INTEGER2long(st, &value)) + return -1; + return (value == 5); + } } static asn_TYPE_member_t asn_MBR_Flag_16P0_1[] = { { ATF_POINTER, 1, offsetof(struct Flag_16P0, field), @@ -163,7 +173,7 @@ asn_TYPE_descriptor_t asn_DEF_Flag_16P0 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Flag_16P0_tags_1, sizeof(asn_DEF_Flag_16P0_tags_1) @@ -177,16 +187,25 @@ asn_TYPE_descriptor_t asn_DEF_Flag_16P0 = { &asn_SPC_Flag_16P0_specs_1 /* Additional specs */ }; -static int asn_DFL_7_set_5(void **sptr) { +static int asn_DFL_7_set_5(int set_value, void **sptr) { ENUMERATED_t *st = *sptr; if(!st) { + if(!set_value) return -1; /* Not a default value */ st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } - /* Install default value 5 */ - return asn_long2INTEGER(st, 5); + if(set_value) { + /* Install default value 5 */ + return asn_long2INTEGER(st, 5); + } else { + /* Test default value 5 */ + long value; + if(asn_INTEGER2long(st, &value)) + return -1; + return (value == 5); + } } static asn_INTEGER_enum_map_t asn_MAP_field_value2enum_7[] = { { 3, 3, "red" }, @@ -219,7 +238,7 @@ asn_TYPE_descriptor_t asn_DEF_field_7 = { field_7_encode_der, field_7_decode_xer, field_7_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_field_tags_7, sizeof(asn_DEF_field_tags_7) @@ -268,7 +287,7 @@ asn_TYPE_descriptor_t asn_DEF_Flag_16P1 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Flag_16P1_tags_6, sizeof(asn_DEF_Flag_16P1_tags_6) @@ -325,6 +344,7 @@ IntegerColorFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Flag_16P0.per_constraints; td->elements = asn_DEF_Flag_16P0.elements; @@ -392,7 +412,7 @@ asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag = { IntegerColorFlag_encode_der, IntegerColorFlag_decode_xer, IntegerColorFlag_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_IntegerColorFlag_tags_1, sizeof(asn_DEF_IntegerColorFlag_tags_1) @@ -448,6 +468,7 @@ EnumeratedColorFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Flag_16P1.per_constraints; td->elements = asn_DEF_Flag_16P1.elements; @@ -515,7 +536,7 @@ asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag = { EnumeratedColorFlag_encode_der, EnumeratedColorFlag_decode_xer, EnumeratedColorFlag_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_EnumeratedColorFlag_tags_1, sizeof(asn_DEF_EnumeratedColorFlag_tags_1) diff --git a/tests/19-param-OK.asn1.-P b/tests/19-param-OK.asn1.-P index e3e71e7e..5f21cd41 100644 --- a/tests/19-param-OK.asn1.-P +++ b/tests/19-param-OK.asn1.-P @@ -122,7 +122,7 @@ asn_TYPE_descriptor_t asn_DEF_toBeSigned_2 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_toBeSigned_tags_2, sizeof(asn_DEF_toBeSigned_tags_2) @@ -192,7 +192,7 @@ asn_TYPE_descriptor_t asn_DEF_SIGNED_15P0 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SIGNED_15P0_tags_1, sizeof(asn_DEF_SIGNED_15P0_tags_1) @@ -249,6 +249,7 @@ Certificate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_SIGNED_15P0.per_constraints; td->elements = asn_DEF_SIGNED_15P0.elements; @@ -316,7 +317,7 @@ asn_TYPE_descriptor_t asn_DEF_Certificate = { Certificate_encode_der, Certificate_decode_xer, Certificate_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Certificate_tags_1, sizeof(asn_DEF_Certificate_tags_1) @@ -387,7 +388,7 @@ asn_TYPE_descriptor_t asn_DEF_Name = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Name_tags_1, sizeof(asn_DEF_Name_tags_1) @@ -507,7 +508,7 @@ asn_TYPE_descriptor_t asn_DEF_RelativeDistinguishedName = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_RelativeDistinguishedName_tags_1, sizeof(asn_DEF_RelativeDistinguishedName_tags_1) diff --git a/tests/30-set-OK.asn1.-P b/tests/30-set-OK.asn1.-P index 65250884..c4f65d41 100644 --- a/tests/30-set-OK.asn1.-P +++ b/tests/30-set-OK.asn1.-P @@ -104,7 +104,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T_tags_1, sizeof(asn_DEF_T_tags_1) diff --git a/tests/31-set-of-OK.asn1.-P b/tests/31-set-of-OK.asn1.-P index e53bfb48..38a76bdf 100644 --- a/tests/31-set-of-OK.asn1.-P +++ b/tests/31-set-of-OK.asn1.-P @@ -56,7 +56,7 @@ asn_TYPE_descriptor_t asn_DEF_Forest = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Forest_tags_1, sizeof(asn_DEF_Forest_tags_1) @@ -138,7 +138,7 @@ asn_TYPE_descriptor_t asn_DEF_Tree = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Tree_tags_1, sizeof(asn_DEF_Tree_tags_1) @@ -177,7 +177,7 @@ typedef enum Stuff_PR { typedef enum other_PR { other_PR_NOTHING, /* No components present */ other_PR_a, - other_PR_b, + other_PR_b } other_PR; /*** <<< FWD-DECLS [Stuff] >>> ***/ @@ -272,7 +272,7 @@ asn_TYPE_descriptor_t asn_DEF_trees_2 = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_trees_tags_2, sizeof(asn_DEF_trees_tags_2) @@ -323,7 +323,7 @@ asn_TYPE_descriptor_t asn_DEF_Member_5 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Member_tags_5, sizeof(asn_DEF_Member_tags_5) @@ -368,7 +368,7 @@ asn_TYPE_descriptor_t asn_DEF_anything_4 = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_anything_tags_4, sizeof(asn_DEF_anything_tags_4) @@ -427,7 +427,7 @@ asn_TYPE_descriptor_t asn_DEF_other_9 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -506,7 +506,7 @@ asn_TYPE_descriptor_t asn_DEF_Stuff = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Stuff_tags_1, sizeof(asn_DEF_Stuff_tags_1) diff --git a/tests/32-sequence-of-OK.asn1.-P b/tests/32-sequence-of-OK.asn1.-P index e95c541a..5061e77f 100644 --- a/tests/32-sequence-of-OK.asn1.-P +++ b/tests/32-sequence-of-OK.asn1.-P @@ -56,7 +56,7 @@ asn_TYPE_descriptor_t asn_DEF_Programming = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Programming_tags_1, sizeof(asn_DEF_Programming_tags_1) @@ -128,7 +128,7 @@ asn_TYPE_descriptor_t asn_DEF_Fault = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Fault_tags_1, sizeof(asn_DEF_Fault_tags_1) @@ -187,7 +187,7 @@ asn_TYPE_descriptor_t asn_DEF_Error = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Error_tags_1, sizeof(asn_DEF_Error_tags_1) @@ -268,7 +268,7 @@ asn_TYPE_descriptor_t asn_DEF_seqOfMan_3 = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_seqOfMan_tags_3, sizeof(asn_DEF_seqOfMan_tags_3) @@ -328,7 +328,7 @@ asn_TYPE_descriptor_t asn_DEF_SeqWithMandatory = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SeqWithMandatory_tags_1, sizeof(asn_DEF_SeqWithMandatory_tags_1) @@ -410,7 +410,7 @@ asn_TYPE_descriptor_t asn_DEF_seqOfOpt_3 = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_seqOfOpt_tags_3, sizeof(asn_DEF_seqOfOpt_tags_3) @@ -470,7 +470,7 @@ asn_TYPE_descriptor_t asn_DEF_SeqWithOptional = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SeqWithOptional_tags_1, sizeof(asn_DEF_SeqWithOptional_tags_1) diff --git a/tests/39-sequence-of-OK.asn1.-P b/tests/39-sequence-of-OK.asn1.-P index 0e4691cf..6bddb71c 100644 --- a/tests/39-sequence-of-OK.asn1.-P +++ b/tests/39-sequence-of-OK.asn1.-P @@ -65,7 +65,7 @@ asn_TYPE_descriptor_t asn_DEF_collection_3 = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_collection_tags_3, sizeof(asn_DEF_collection_tags_3) @@ -125,7 +125,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T_tags_1, sizeof(asn_DEF_T_tags_1) @@ -208,7 +208,7 @@ asn_TYPE_descriptor_t asn_DEF_T2 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T2_tags_1, sizeof(asn_DEF_T2_tags_1) diff --git a/tests/42-real-life-OK.asn1.-PR b/tests/42-real-life-OK.asn1.-PR index 309aad17..1c99d1aa 100644 --- a/tests/42-real-life-OK.asn1.-PR +++ b/tests/42-real-life-OK.asn1.-PR @@ -98,7 +98,7 @@ asn_TYPE_descriptor_t asn_DEF_varsets_3 = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_varsets_tags_3, sizeof(asn_DEF_varsets_tags_3) @@ -158,7 +158,7 @@ asn_TYPE_descriptor_t asn_DEF_LogLine = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_LogLine_tags_1, sizeof(asn_DEF_LogLine_tags_1) @@ -265,7 +265,7 @@ asn_TYPE_descriptor_t asn_DEF_vparts_2 = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_vparts_tags_2, sizeof(asn_DEF_vparts_tags_2) @@ -325,7 +325,7 @@ asn_TYPE_descriptor_t asn_DEF_VariablePartSet = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_VariablePartSet_tags_1, sizeof(asn_DEF_VariablePartSet_tags_1) @@ -355,6 +355,7 @@ typedef enum VariablePart_PR { VariablePart_PR_vset, VariablePart_PR_vrange, /* Extensions may appear below */ + } VariablePart_PR; /*** <<< TYPE-DECLS [VariablePart] >>> ***/ @@ -454,7 +455,7 @@ asn_TYPE_descriptor_t asn_DEF_vset_2 = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_vset_tags_2, sizeof(asn_DEF_vset_tags_2) @@ -515,7 +516,7 @@ asn_TYPE_descriptor_t asn_DEF_vrange_4 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_vrange_tags_4, sizeof(asn_DEF_vrange_tags_4) @@ -573,7 +574,7 @@ asn_TYPE_descriptor_t asn_DEF_VariablePart = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -663,6 +664,7 @@ accept_as_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->elements = asn_DEF_ENUMERATED.elements; @@ -750,7 +752,7 @@ asn_TYPE_descriptor_t asn_DEF_accept_as_2 = { accept_as_2_encode_der, accept_as_2_decode_xer, accept_as_2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_accept_as_tags_2, sizeof(asn_DEF_accept_as_tags_2) @@ -793,7 +795,7 @@ asn_TYPE_descriptor_t asn_DEF_email_9 = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_email_tags_9, sizeof(asn_DEF_email_tags_9) @@ -854,7 +856,7 @@ asn_TYPE_descriptor_t asn_DEF_notify_7 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_notify_tags_7, sizeof(asn_DEF_notify_tags_7) @@ -914,7 +916,7 @@ asn_TYPE_descriptor_t asn_DEF_ActionItem = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_ActionItem_tags_1, sizeof(asn_DEF_ActionItem_tags_1) diff --git a/tests/43-recursion-OK.asn1.-P b/tests/43-recursion-OK.asn1.-P index 2c4f3c77..7da8b2e7 100644 --- a/tests/43-recursion-OK.asn1.-P +++ b/tests/43-recursion-OK.asn1.-P @@ -74,7 +74,7 @@ asn_TYPE_descriptor_t asn_DEF_t_member1_2 = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_t_member1_tags_2, sizeof(asn_DEF_t_member1_tags_2) @@ -118,7 +118,7 @@ asn_TYPE_descriptor_t asn_DEF_t_member2_4 = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_t_member2_tags_4, sizeof(asn_DEF_t_member2_tags_4) @@ -198,7 +198,7 @@ asn_TYPE_descriptor_t asn_DEF_Test_structure_1 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Test_structure_1_tags_1, sizeof(asn_DEF_Test_structure_1_tags_1) @@ -227,7 +227,7 @@ typedef enum Choice_1_PR { Choice_1_PR_and, Choice_1_PR_or, Choice_1_PR_not, - Choice_1_PR_other, + Choice_1_PR_other } Choice_1_PR; /*** <<< FWD-DECLS [Choice-1] >>> ***/ @@ -295,7 +295,7 @@ asn_TYPE_descriptor_t asn_DEF_or_3 = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_or_tags_3, sizeof(asn_DEF_or_tags_3) @@ -373,7 +373,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice_1 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -468,7 +468,7 @@ asn_TYPE_descriptor_t asn_DEF_Test_structure_2 = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Test_structure_2_tags_1, sizeof(asn_DEF_Test_structure_2_tags_1) @@ -565,7 +565,7 @@ asn_TYPE_descriptor_t asn_DEF_Test_structure_3 = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Test_structure_3_tags_1, sizeof(asn_DEF_Test_structure_3_tags_1) diff --git a/tests/44-choice-in-sequence-OK.asn1.-P b/tests/44-choice-in-sequence-OK.asn1.-P index 01214071..09bc8bae 100644 --- a/tests/44-choice-in-sequence-OK.asn1.-P +++ b/tests/44-choice-in-sequence-OK.asn1.-P @@ -12,17 +12,17 @@ typedef enum b_PR { b_PR_c, b_PR_d, b_PR_e, - b_PR_h, + b_PR_h } b_PR; typedef enum e_PR { e_PR_NOTHING, /* No components present */ e_PR_f, - e_PR_g, + e_PR_g } e_PR; typedef enum h_PR { h_PR_NOTHING, /* No components present */ h_PR_i, - h_PR_j, + h_PR_j } h_PR; /*** <<< TYPE-DECLS [T] >>> ***/ @@ -115,7 +115,7 @@ asn_TYPE_descriptor_t asn_DEF_e_6 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -172,7 +172,7 @@ asn_TYPE_descriptor_t asn_DEF_h_9 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -250,7 +250,7 @@ asn_TYPE_descriptor_t asn_DEF_b_3 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -313,7 +313,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T_tags_1, sizeof(asn_DEF_T_tags_1) diff --git a/tests/46-redefine-OK.asn1.-PR b/tests/46-redefine-OK.asn1.-PR index 426a9dbb..0dc9674e 100644 --- a/tests/46-redefine-OK.asn1.-PR +++ b/tests/46-redefine-OK.asn1.-PR @@ -41,6 +41,7 @@ PrimitiveType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; td->elements = asn_DEF_OCTET_STRING.elements; @@ -108,7 +109,7 @@ asn_TYPE_descriptor_t asn_DEF_PrimitiveType = { PrimitiveType_encode_der, PrimitiveType_decode_xer, PrimitiveType_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_PrimitiveType_tags_1, sizeof(asn_DEF_PrimitiveType_tags_1) @@ -178,7 +179,7 @@ asn_TYPE_descriptor_t asn_DEF_ConstructedType = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_ConstructedType_tags_1, sizeof(asn_DEF_ConstructedType_tags_1) @@ -235,6 +236,7 @@ T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ConstructedType.per_constraints; td->elements = asn_DEF_ConstructedType.elements; @@ -303,7 +305,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { T_encode_der, T_decode_xer, T_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T_tags_1, sizeof(asn_DEF_T_tags_1) diff --git a/tests/47-set-ext-OK.asn1.-P b/tests/47-set-ext-OK.asn1.-P index 16863b91..0f08cd28 100644 --- a/tests/47-set-ext-OK.asn1.-P +++ b/tests/47-set-ext-OK.asn1.-P @@ -78,7 +78,7 @@ asn_TYPE_descriptor_t asn_DEF_T1 = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T1_tags_1, sizeof(asn_DEF_T1_tags_1) @@ -172,7 +172,7 @@ asn_TYPE_descriptor_t asn_DEF_T2 = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T2_tags_1, sizeof(asn_DEF_T2_tags_1) @@ -198,6 +198,7 @@ typedef enum T3_PR { T3_PR_NOTHING, /* No components present */ T3_PR_i, /* Extensions may appear below */ + } T3_PR; /*** <<< TYPE-DECLS [T3] >>> ***/ @@ -256,7 +257,7 @@ asn_TYPE_descriptor_t asn_DEF_T3 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -280,6 +281,7 @@ typedef enum T4_PR { T4_PR_NOTHING, /* No components present */ T4_PR_i, /* Extensions may appear below */ + } T4_PR; /*** <<< TYPE-DECLS [T4] >>> ***/ @@ -338,7 +340,7 @@ asn_TYPE_descriptor_t asn_DEF_T4 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ diff --git a/tests/50-constraint-OK.asn1.-P b/tests/50-constraint-OK.asn1.-P index 8928dd64..3e3bd6c0 100644 --- a/tests/50-constraint-OK.asn1.-P +++ b/tests/50-constraint-OK.asn1.-P @@ -41,6 +41,7 @@ Int1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -108,7 +109,7 @@ asn_TYPE_descriptor_t asn_DEF_Int1 = { Int1_encode_der, Int1_decode_xer, Int1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Int1_tags_1, sizeof(asn_DEF_Int1_tags_1) @@ -183,6 +184,7 @@ Int2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Int1.per_constraints; td->elements = asn_DEF_Int1.elements; @@ -250,7 +252,7 @@ asn_TYPE_descriptor_t asn_DEF_Int2 = { Int2_encode_der, Int2_decode_xer, Int2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Int2_tags_1, sizeof(asn_DEF_Int2_tags_1) @@ -329,6 +331,7 @@ Int3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Int2.per_constraints; td->elements = asn_DEF_Int2.elements; @@ -396,7 +399,7 @@ asn_TYPE_descriptor_t asn_DEF_Int3 = { Int3_encode_der, Int3_decode_xer, Int3_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Int3_tags_1, sizeof(asn_DEF_Int3_tags_1) @@ -475,6 +478,7 @@ Int4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Int3.per_constraints; td->elements = asn_DEF_Int3.elements; @@ -542,7 +546,7 @@ asn_TYPE_descriptor_t asn_DEF_Int4 = { Int4_encode_der, Int4_decode_xer, Int4_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Int4_tags_1, sizeof(asn_DEF_Int4_tags_1) @@ -621,6 +625,7 @@ Int5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Int4.per_constraints; td->elements = asn_DEF_Int4.elements; @@ -688,7 +693,7 @@ asn_TYPE_descriptor_t asn_DEF_Int5 = { Int5_encode_der, Int5_decode_xer, Int5_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Int5_tags_1, sizeof(asn_DEF_Int5_tags_1) @@ -767,6 +772,7 @@ ExtensibleExtensions_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -834,7 +840,7 @@ asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions = { ExtensibleExtensions_encode_der, ExtensibleExtensions_decode_xer, ExtensibleExtensions_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_ExtensibleExtensions_tags_1, sizeof(asn_DEF_ExtensibleExtensions_tags_1) @@ -890,6 +896,7 @@ Str1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_IA5String.per_constraints; td->elements = asn_DEF_IA5String.elements; @@ -957,7 +964,7 @@ asn_TYPE_descriptor_t asn_DEF_Str1 = { Str1_encode_der, Str1_decode_xer, Str1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Str1_tags_1, sizeof(asn_DEF_Str1_tags_1) @@ -1048,6 +1055,7 @@ Str2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Str1.per_constraints; td->elements = asn_DEF_Str1.elements; @@ -1115,7 +1123,7 @@ asn_TYPE_descriptor_t asn_DEF_Str2 = { Str2_encode_der, Str2_decode_xer, Str2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Str2_tags_1, sizeof(asn_DEF_Str2_tags_1) @@ -1217,6 +1225,7 @@ Str3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Str2.per_constraints; td->elements = asn_DEF_Str2.elements; @@ -1284,7 +1293,7 @@ asn_TYPE_descriptor_t asn_DEF_Str3 = { Str3_encode_der, Str3_decode_xer, Str3_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Str3_tags_1, sizeof(asn_DEF_Str3_tags_1) @@ -1372,6 +1381,7 @@ Str4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_IA5String.per_constraints; td->elements = asn_DEF_IA5String.elements; @@ -1439,7 +1449,7 @@ asn_TYPE_descriptor_t asn_DEF_Str4 = { Str4_encode_der, Str4_decode_xer, Str4_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Str4_tags_1, sizeof(asn_DEF_Str4_tags_1) @@ -1527,6 +1537,7 @@ PER_Visible_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_IA5String.per_constraints; td->elements = asn_DEF_IA5String.elements; @@ -1594,7 +1605,7 @@ asn_TYPE_descriptor_t asn_DEF_PER_Visible = { PER_Visible_encode_der, PER_Visible_decode_xer, PER_Visible_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_PER_Visible_tags_1, sizeof(asn_DEF_PER_Visible_tags_1) @@ -1682,6 +1693,7 @@ PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -1749,7 +1761,7 @@ asn_TYPE_descriptor_t asn_DEF_PER_Visible_2 = { PER_Visible_2_encode_der, PER_Visible_2_decode_xer, PER_Visible_2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_PER_Visible_2_tags_1, sizeof(asn_DEF_PER_Visible_2_tags_1) @@ -1837,6 +1849,7 @@ Not_PER_Visible_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -1904,7 +1917,7 @@ asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1 = { Not_PER_Visible_1_encode_der, Not_PER_Visible_1_decode_xer, Not_PER_Visible_1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Not_PER_Visible_1_tags_1, sizeof(asn_DEF_Not_PER_Visible_1_tags_1) @@ -1992,6 +2005,7 @@ Not_PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -2059,7 +2073,7 @@ asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2 = { Not_PER_Visible_2_encode_der, Not_PER_Visible_2_decode_xer, Not_PER_Visible_2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Not_PER_Visible_2_tags_1, sizeof(asn_DEF_Not_PER_Visible_2_tags_1) @@ -2147,6 +2161,7 @@ Not_PER_Visible_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -2214,7 +2229,7 @@ asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3 = { Not_PER_Visible_3_encode_der, Not_PER_Visible_3_decode_xer, Not_PER_Visible_3_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Not_PER_Visible_3_tags_1, sizeof(asn_DEF_Not_PER_Visible_3_tags_1) @@ -2305,6 +2320,7 @@ SIZE_but_not_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -2372,7 +2388,7 @@ asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM = { SIZE_but_not_FROM_encode_der, SIZE_but_not_FROM_decode_xer, SIZE_but_not_FROM_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SIZE_but_not_FROM_tags_1, sizeof(asn_DEF_SIZE_but_not_FROM_tags_1) @@ -2463,6 +2479,7 @@ SIZE_and_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -2530,7 +2547,7 @@ asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM = { SIZE_and_FROM_encode_der, SIZE_and_FROM_decode_xer, SIZE_and_FROM_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SIZE_and_FROM_tags_1, sizeof(asn_DEF_SIZE_and_FROM_tags_1) @@ -2618,6 +2635,7 @@ Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -2685,7 +2703,7 @@ asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM = { Neither_SIZE_nor_FROM_encode_der, Neither_SIZE_nor_FROM_decode_xer, Neither_SIZE_nor_FROM_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Neither_SIZE_nor_FROM_tags_1, sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1) @@ -2767,6 +2785,7 @@ Utf8_4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_UTF8String.per_constraints; td->elements = asn_DEF_UTF8String.elements; @@ -2834,7 +2853,7 @@ asn_TYPE_descriptor_t asn_DEF_Utf8_4 = { Utf8_4_encode_der, Utf8_4_decode_xer, Utf8_4_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Utf8_4_tags_1, sizeof(asn_DEF_Utf8_4_tags_1) @@ -2944,6 +2963,7 @@ Utf8_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Utf8_2.per_constraints; td->elements = asn_DEF_Utf8_2.elements; @@ -3011,7 +3031,7 @@ asn_TYPE_descriptor_t asn_DEF_Utf8_3 = { Utf8_3_encode_der, Utf8_3_decode_xer, Utf8_3_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Utf8_3_tags_1, sizeof(asn_DEF_Utf8_3_tags_1) @@ -3091,6 +3111,7 @@ Utf8_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Utf8_1.per_constraints; td->elements = asn_DEF_Utf8_1.elements; @@ -3158,7 +3179,7 @@ asn_TYPE_descriptor_t asn_DEF_Utf8_2 = { Utf8_2_encode_der, Utf8_2_decode_xer, Utf8_2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Utf8_2_tags_1, sizeof(asn_DEF_Utf8_2_tags_1) @@ -3214,6 +3235,7 @@ Utf8_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_UTF8String.per_constraints; td->elements = asn_DEF_UTF8String.elements; @@ -3281,7 +3303,7 @@ asn_TYPE_descriptor_t asn_DEF_Utf8_1 = { Utf8_1_encode_der, Utf8_1_decode_xer, Utf8_1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Utf8_1_tags_1, sizeof(asn_DEF_Utf8_1_tags_1) @@ -3384,6 +3406,7 @@ VisibleIdentifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Identifier.per_constraints; td->elements = asn_DEF_Identifier.elements; @@ -3451,7 +3474,7 @@ asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier = { VisibleIdentifier_encode_der, VisibleIdentifier_decode_xer, VisibleIdentifier_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_VisibleIdentifier_tags_1, sizeof(asn_DEF_VisibleIdentifier_tags_1) @@ -3533,6 +3556,7 @@ enum_c_6_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->elements = asn_DEF_ENUMERATED.elements; @@ -3680,28 +3704,43 @@ memb_int5_c_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, /*** <<< STAT-DEFS [Sequence] >>> ***/ -static int asn_DFL_2_set_3(void **sptr) { +static int asn_DFL_2_set_3(int set_value, void **sptr) { Int1_t *st = *sptr; if(!st) { + if(!set_value) return -1; /* Not a default value */ st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } - /* Install default value 3 */ - return asn_long2INTEGER(st, 3); + if(set_value) { + /* Install default value 3 */ + return asn_long2INTEGER(st, 3); + } else { + /* Test default value 3 */ + long value; + if(asn_INTEGER2long(st, &value)) + return -1; + return (value == 3); + } } -static int asn_DFL_5_set_1(void **sptr) { +static int asn_DFL_5_set_1(int set_value, void **sptr) { BOOLEAN_t *st = *sptr; if(!st) { + if(!set_value) return -1; /* Not a default value */ st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } - /* Install default value 1 */ - *st = 1; - return 0; + if(set_value) { + /* Install default value 1 */ + *st = 1; + return 0; + } else { + /* Test default value 1 */ + return (*st == 1); + } } static asn_INTEGER_enum_map_t asn_MAP_enum_c_value2enum_6[] = { { 1, 3, "one" }, @@ -3736,7 +3775,7 @@ asn_TYPE_descriptor_t asn_DEF_enum_c_6 = { enum_c_6_encode_der, enum_c_6_decode_xer, enum_c_6_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_enum_c_tags_6, sizeof(asn_DEF_enum_c_tags_6) @@ -3845,7 +3884,7 @@ asn_TYPE_descriptor_t asn_DEF_Sequence = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Sequence_tags_1, sizeof(asn_DEF_Sequence_tags_1) @@ -3917,7 +3956,7 @@ asn_TYPE_descriptor_t asn_DEF_SequenceOf = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SequenceOf_tags_1, sizeof(asn_DEF_SequenceOf_tags_1) @@ -3981,6 +4020,7 @@ Enum0_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->elements = asn_DEF_ENUMERATED.elements; @@ -4063,7 +4103,7 @@ asn_TYPE_descriptor_t asn_DEF_Enum0 = { Enum0_encode_der, Enum0_decode_xer, Enum0_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Enum0_tags_1, sizeof(asn_DEF_Enum0_tags_1) @@ -4143,6 +4183,7 @@ Enum1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; td->elements = asn_DEF_NativeEnumerated.elements; @@ -4225,7 +4266,7 @@ asn_TYPE_descriptor_t asn_DEF_Enum1 = { Enum1_encode_der, Enum1_decode_xer, Enum1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Enum1_tags_1, sizeof(asn_DEF_Enum1_tags_1) @@ -4328,6 +4369,7 @@ Identifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_VisibleString.per_constraints; td->elements = asn_DEF_VisibleString.elements; @@ -4395,7 +4437,7 @@ asn_TYPE_descriptor_t asn_DEF_Identifier = { Identifier_encode_der, Identifier_decode_xer, Identifier_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Identifier_tags_1, sizeof(asn_DEF_Identifier_tags_1) diff --git a/tests/50-constraint-OK.asn1.-Pgen-PER b/tests/50-constraint-OK.asn1.-Pgen-PER index 8736e4cb..53adbebe 100644 --- a/tests/50-constraint-OK.asn1.-Pgen-PER +++ b/tests/50-constraint-OK.asn1.-Pgen-PER @@ -18,6 +18,7 @@ der_type_encoder_f Int1_encode_der; xer_type_decoder_f Int1_decode_xer; xer_type_encoder_f Int1_encode_xer; per_type_decoder_f Int1_decode_uper; +per_type_encoder_f Int1_encode_uper; /*** <<< CODE [Int1] >>> ***/ @@ -42,6 +43,7 @@ Int1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -100,6 +102,14 @@ Int1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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] >>> ***/ @@ -117,6 +127,7 @@ asn_TYPE_descriptor_t asn_DEF_Int1 = { Int1_decode_xer, Int1_encode_xer, Int1_decode_uper, + Int1_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Int1_tags_1, sizeof(asn_DEF_Int1_tags_1) @@ -149,6 +160,7 @@ der_type_encoder_f Int2_encode_der; xer_type_decoder_f Int2_decode_xer; xer_type_encoder_f Int2_encode_xer; per_type_decoder_f Int2_decode_uper; +per_type_encoder_f Int2_encode_uper; /*** <<< CODE [Int2] >>> ***/ @@ -192,6 +204,7 @@ Int2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Int1.per_constraints; td->elements = asn_DEF_Int1.elements; @@ -250,6 +263,14 @@ Int2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Int2] >>> ***/ @@ -271,6 +292,7 @@ asn_TYPE_descriptor_t asn_DEF_Int2 = { Int2_decode_xer, Int2_encode_xer, Int2_decode_uper, + Int2_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Int2_tags_1, sizeof(asn_DEF_Int2_tags_1) @@ -303,6 +325,7 @@ der_type_encoder_f Int3_encode_der; xer_type_decoder_f Int3_decode_xer; xer_type_encoder_f Int3_encode_xer; per_type_decoder_f Int3_decode_uper; +per_type_encoder_f Int3_encode_uper; /*** <<< CODE [Int3] >>> ***/ @@ -350,6 +373,7 @@ Int3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Int2.per_constraints; td->elements = asn_DEF_Int2.elements; @@ -408,6 +432,14 @@ Int3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Int3] >>> ***/ @@ -429,6 +461,7 @@ asn_TYPE_descriptor_t asn_DEF_Int3 = { Int3_decode_xer, Int3_encode_xer, Int3_decode_uper, + Int3_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Int3_tags_1, sizeof(asn_DEF_Int3_tags_1) @@ -461,6 +494,7 @@ der_type_encoder_f Int4_encode_der; xer_type_decoder_f Int4_decode_xer; xer_type_encoder_f Int4_encode_xer; per_type_decoder_f Int4_decode_uper; +per_type_encoder_f Int4_encode_uper; /*** <<< CODE [Int4] >>> ***/ @@ -508,6 +542,7 @@ Int4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Int3.per_constraints; td->elements = asn_DEF_Int3.elements; @@ -566,6 +601,14 @@ Int4_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Int4] >>> ***/ @@ -587,6 +630,7 @@ asn_TYPE_descriptor_t asn_DEF_Int4 = { Int4_decode_xer, Int4_encode_xer, Int4_decode_uper, + Int4_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Int4_tags_1, sizeof(asn_DEF_Int4_tags_1) @@ -619,6 +663,7 @@ der_type_encoder_f Int5_encode_der; xer_type_decoder_f Int5_decode_xer; xer_type_encoder_f Int5_encode_xer; per_type_decoder_f Int5_decode_uper; +per_type_encoder_f Int5_encode_uper; /*** <<< CODE [Int5] >>> ***/ @@ -666,6 +711,7 @@ Int5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Int4.per_constraints; td->elements = asn_DEF_Int4.elements; @@ -724,6 +770,14 @@ Int5_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Int5] >>> ***/ @@ -745,6 +799,7 @@ asn_TYPE_descriptor_t asn_DEF_Int5 = { Int5_decode_xer, Int5_encode_xer, Int5_decode_uper, + Int5_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Int5_tags_1, sizeof(asn_DEF_Int5_tags_1) @@ -777,6 +832,7 @@ der_type_encoder_f ExtensibleExtensions_encode_der; xer_type_decoder_f ExtensibleExtensions_decode_xer; xer_type_encoder_f ExtensibleExtensions_encode_xer; per_type_decoder_f ExtensibleExtensions_decode_uper; +per_type_encoder_f ExtensibleExtensions_encode_uper; /*** <<< CODE [ExtensibleExtensions] >>> ***/ @@ -824,6 +880,7 @@ ExtensibleExtensions_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -882,6 +939,14 @@ ExtensibleExtensions_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descri 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); +} + /*** <<< STAT-DEFS [ExtensibleExtensions] >>> ***/ @@ -903,6 +968,7 @@ asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions = { ExtensibleExtensions_decode_xer, ExtensibleExtensions_encode_xer, ExtensibleExtensions_decode_uper, + ExtensibleExtensions_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_ExtensibleExtensions_tags_1, sizeof(asn_DEF_ExtensibleExtensions_tags_1) @@ -935,6 +1001,7 @@ der_type_encoder_f Str1_encode_der; xer_type_decoder_f Str1_decode_xer; xer_type_encoder_f Str1_encode_xer; per_type_decoder_f Str1_decode_uper; +per_type_encoder_f Str1_encode_uper; /*** <<< CODE [Str1] >>> ***/ @@ -959,6 +1026,7 @@ Str1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_IA5String.per_constraints; td->elements = asn_DEF_IA5String.elements; @@ -1017,6 +1085,14 @@ Str1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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] >>> ***/ @@ -1034,6 +1110,7 @@ asn_TYPE_descriptor_t asn_DEF_Str1 = { Str1_decode_xer, Str1_encode_xer, Str1_decode_uper, + Str1_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Str1_tags_1, sizeof(asn_DEF_Str1_tags_1) @@ -1066,6 +1143,7 @@ der_type_encoder_f Str2_encode_der; xer_type_decoder_f Str2_decode_xer; xer_type_encoder_f Str2_encode_xer; per_type_decoder_f Str2_decode_uper; +per_type_encoder_f Str2_encode_uper; /*** <<< CTABLES [Str2] >>> ***/ @@ -1125,6 +1203,7 @@ Str2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Str1.per_constraints; td->elements = asn_DEF_Str1.elements; @@ -1183,6 +1262,14 @@ Str2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Str2] >>> ***/ @@ -1204,6 +1291,7 @@ asn_TYPE_descriptor_t asn_DEF_Str2 = { Str2_decode_xer, Str2_encode_xer, Str2_decode_uper, + Str2_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Str2_tags_1, sizeof(asn_DEF_Str2_tags_1) @@ -1236,6 +1324,7 @@ der_type_encoder_f Str3_encode_der; xer_type_decoder_f Str3_decode_xer; xer_type_encoder_f Str3_encode_xer; per_type_decoder_f Str3_decode_uper; +per_type_encoder_f Str3_encode_uper; /*** <<< CTABLES [Str3] >>> ***/ @@ -1306,6 +1395,7 @@ Str3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Str2.per_constraints; td->elements = asn_DEF_Str2.elements; @@ -1364,6 +1454,14 @@ Str3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Str3] >>> ***/ @@ -1385,6 +1483,7 @@ asn_TYPE_descriptor_t asn_DEF_Str3 = { Str3_decode_xer, Str3_encode_xer, Str3_decode_uper, + Str3_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Str3_tags_1, sizeof(asn_DEF_Str3_tags_1) @@ -1417,6 +1516,7 @@ der_type_encoder_f Str4_encode_der; xer_type_decoder_f Str4_decode_xer; xer_type_encoder_f Str4_encode_xer; per_type_decoder_f Str4_decode_uper; +per_type_encoder_f Str4_encode_uper; /*** <<< CTABLES [Str4] >>> ***/ @@ -1473,6 +1573,7 @@ Str4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_IA5String.per_constraints; td->elements = asn_DEF_IA5String.elements; @@ -1531,6 +1632,14 @@ Str4_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Str4] >>> ***/ @@ -1552,6 +1661,7 @@ asn_TYPE_descriptor_t asn_DEF_Str4 = { Str4_decode_xer, Str4_encode_xer, Str4_decode_uper, + Str4_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Str4_tags_1, sizeof(asn_DEF_Str4_tags_1) @@ -1584,6 +1694,7 @@ der_type_encoder_f PER_Visible_encode_der; xer_type_decoder_f PER_Visible_decode_xer; xer_type_encoder_f PER_Visible_encode_xer; per_type_decoder_f PER_Visible_decode_uper; +per_type_encoder_f PER_Visible_encode_uper; /*** <<< CTABLES [PER-Visible] >>> ***/ @@ -1640,6 +1751,7 @@ PER_Visible_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_IA5String.per_constraints; td->elements = asn_DEF_IA5String.elements; @@ -1698,6 +1810,14 @@ PER_Visible_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *t 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); +} + /*** <<< STAT-DEFS [PER-Visible] >>> ***/ @@ -1719,6 +1839,7 @@ asn_TYPE_descriptor_t asn_DEF_PER_Visible = { PER_Visible_decode_xer, PER_Visible_encode_xer, PER_Visible_decode_uper, + PER_Visible_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_PER_Visible_tags_1, sizeof(asn_DEF_PER_Visible_tags_1) @@ -1751,6 +1872,7 @@ der_type_encoder_f PER_Visible_2_encode_der; xer_type_decoder_f PER_Visible_2_decode_xer; xer_type_encoder_f PER_Visible_2_encode_xer; per_type_decoder_f PER_Visible_2_decode_uper; +per_type_encoder_f PER_Visible_2_encode_uper; /*** <<< CTABLES [PER-Visible-2] >>> ***/ @@ -1807,6 +1929,7 @@ PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -1865,6 +1988,14 @@ PER_Visible_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t 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); +} + /*** <<< STAT-DEFS [PER-Visible-2] >>> ***/ @@ -1886,6 +2017,7 @@ asn_TYPE_descriptor_t asn_DEF_PER_Visible_2 = { PER_Visible_2_decode_xer, PER_Visible_2_encode_xer, PER_Visible_2_decode_uper, + PER_Visible_2_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_PER_Visible_2_tags_1, sizeof(asn_DEF_PER_Visible_2_tags_1) @@ -1918,6 +2050,7 @@ der_type_encoder_f Not_PER_Visible_1_encode_der; xer_type_decoder_f Not_PER_Visible_1_decode_xer; xer_type_encoder_f Not_PER_Visible_1_encode_xer; per_type_decoder_f Not_PER_Visible_1_decode_uper; +per_type_encoder_f Not_PER_Visible_1_encode_uper; /*** <<< CTABLES [Not-PER-Visible-1] >>> ***/ @@ -1974,6 +2107,7 @@ Not_PER_Visible_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -2032,6 +2166,14 @@ Not_PER_Visible_1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descripto 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); +} + /*** <<< STAT-DEFS [Not-PER-Visible-1] >>> ***/ @@ -2053,6 +2195,7 @@ asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1 = { Not_PER_Visible_1_decode_xer, Not_PER_Visible_1_encode_xer, Not_PER_Visible_1_decode_uper, + Not_PER_Visible_1_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) @@ -2085,6 +2228,7 @@ der_type_encoder_f Not_PER_Visible_2_encode_der; xer_type_decoder_f Not_PER_Visible_2_decode_xer; xer_type_encoder_f Not_PER_Visible_2_encode_xer; per_type_decoder_f Not_PER_Visible_2_decode_uper; +per_type_encoder_f Not_PER_Visible_2_encode_uper; /*** <<< CTABLES [Not-PER-Visible-2] >>> ***/ @@ -2141,6 +2285,7 @@ Not_PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -2199,6 +2344,14 @@ Not_PER_Visible_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descripto 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); +} + /*** <<< STAT-DEFS [Not-PER-Visible-2] >>> ***/ @@ -2220,6 +2373,7 @@ asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2 = { Not_PER_Visible_2_decode_xer, Not_PER_Visible_2_encode_xer, Not_PER_Visible_2_decode_uper, + Not_PER_Visible_2_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) @@ -2252,6 +2406,7 @@ der_type_encoder_f Not_PER_Visible_3_encode_der; xer_type_decoder_f Not_PER_Visible_3_decode_xer; xer_type_encoder_f Not_PER_Visible_3_encode_xer; per_type_decoder_f Not_PER_Visible_3_decode_uper; +per_type_encoder_f Not_PER_Visible_3_encode_uper; /*** <<< CTABLES [Not-PER-Visible-3] >>> ***/ @@ -2308,6 +2463,7 @@ Not_PER_Visible_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -2366,6 +2522,14 @@ Not_PER_Visible_3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descripto 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); +} + /*** <<< STAT-DEFS [Not-PER-Visible-3] >>> ***/ @@ -2387,6 +2551,7 @@ asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3 = { Not_PER_Visible_3_decode_xer, Not_PER_Visible_3_encode_xer, Not_PER_Visible_3_decode_uper, + Not_PER_Visible_3_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) @@ -2419,6 +2584,7 @@ der_type_encoder_f SIZE_but_not_FROM_encode_der; xer_type_decoder_f SIZE_but_not_FROM_decode_xer; xer_type_encoder_f SIZE_but_not_FROM_encode_xer; per_type_decoder_f SIZE_but_not_FROM_decode_uper; +per_type_encoder_f SIZE_but_not_FROM_encode_uper; /*** <<< CTABLES [SIZE-but-not-FROM] >>> ***/ @@ -2478,6 +2644,7 @@ SIZE_but_not_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -2536,6 +2703,14 @@ SIZE_but_not_FROM_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descripto 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); +} + /*** <<< STAT-DEFS [SIZE-but-not-FROM] >>> ***/ @@ -2557,6 +2732,7 @@ asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM = { SIZE_but_not_FROM_decode_xer, SIZE_but_not_FROM_encode_xer, SIZE_but_not_FROM_decode_uper, + SIZE_but_not_FROM_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) @@ -2589,6 +2765,7 @@ der_type_encoder_f SIZE_and_FROM_encode_der; xer_type_decoder_f SIZE_and_FROM_decode_xer; xer_type_encoder_f SIZE_and_FROM_encode_xer; per_type_decoder_f SIZE_and_FROM_decode_uper; +per_type_encoder_f SIZE_and_FROM_encode_uper; /*** <<< CTABLES [SIZE-and-FROM] >>> ***/ @@ -2648,6 +2825,7 @@ SIZE_and_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -2706,6 +2884,14 @@ SIZE_and_FROM_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t 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); +} + /*** <<< STAT-DEFS [SIZE-and-FROM] >>> ***/ @@ -2727,6 +2913,7 @@ asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM = { SIZE_and_FROM_decode_xer, SIZE_and_FROM_encode_xer, SIZE_and_FROM_decode_uper, + SIZE_and_FROM_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_SIZE_and_FROM_tags_1, sizeof(asn_DEF_SIZE_and_FROM_tags_1) @@ -2759,6 +2946,7 @@ der_type_encoder_f Neither_SIZE_nor_FROM_encode_der; xer_type_decoder_f Neither_SIZE_nor_FROM_decode_xer; xer_type_encoder_f Neither_SIZE_nor_FROM_encode_xer; per_type_decoder_f Neither_SIZE_nor_FROM_decode_uper; +per_type_encoder_f Neither_SIZE_nor_FROM_encode_uper; /*** <<< CTABLES [Neither-SIZE-nor-FROM] >>> ***/ @@ -2815,6 +3003,7 @@ Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_PER_Visible.per_constraints; td->elements = asn_DEF_PER_Visible.elements; @@ -2873,6 +3062,14 @@ Neither_SIZE_nor_FROM_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descr 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); +} + /*** <<< STAT-DEFS [Neither-SIZE-nor-FROM] >>> ***/ @@ -2894,6 +3091,7 @@ asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM = { Neither_SIZE_nor_FROM_decode_xer, Neither_SIZE_nor_FROM_encode_xer, Neither_SIZE_nor_FROM_decode_uper, + Neither_SIZE_nor_FROM_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) @@ -2926,6 +3124,7 @@ der_type_encoder_f Utf8_4_encode_der; xer_type_decoder_f Utf8_4_decode_xer; xer_type_encoder_f Utf8_4_encode_xer; per_type_decoder_f Utf8_4_decode_uper; +per_type_encoder_f Utf8_4_encode_uper; /*** <<< CTABLES [Utf8-4] >>> ***/ @@ -2976,6 +3175,7 @@ Utf8_4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_UTF8String.per_constraints; td->elements = asn_DEF_UTF8String.elements; @@ -3034,6 +3234,14 @@ Utf8_4_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Utf8-4] >>> ***/ @@ -3055,6 +3263,7 @@ asn_TYPE_descriptor_t asn_DEF_Utf8_4 = { Utf8_4_decode_xer, Utf8_4_encode_xer, Utf8_4_decode_uper, + Utf8_4_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Utf8_4_tags_1, sizeof(asn_DEF_Utf8_4_tags_1) @@ -3087,6 +3296,7 @@ der_type_encoder_f Utf8_3_encode_der; xer_type_decoder_f Utf8_3_decode_xer; xer_type_encoder_f Utf8_3_encode_xer; per_type_decoder_f Utf8_3_decode_uper; +per_type_encoder_f Utf8_3_encode_uper; /*** <<< CTABLES [Utf8-3] >>> ***/ @@ -3165,6 +3375,7 @@ Utf8_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Utf8_2.per_constraints; td->elements = asn_DEF_Utf8_2.elements; @@ -3223,6 +3434,14 @@ Utf8_3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Utf8-3] >>> ***/ @@ -3244,6 +3463,7 @@ asn_TYPE_descriptor_t asn_DEF_Utf8_3 = { Utf8_3_decode_xer, Utf8_3_encode_xer, Utf8_3_decode_uper, + Utf8_3_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Utf8_3_tags_1, sizeof(asn_DEF_Utf8_3_tags_1) @@ -3276,6 +3496,7 @@ der_type_encoder_f Utf8_2_encode_der; xer_type_decoder_f Utf8_2_decode_xer; xer_type_encoder_f Utf8_2_encode_xer; per_type_decoder_f Utf8_2_decode_uper; +per_type_encoder_f Utf8_2_encode_uper; /*** <<< CODE [Utf8-2] >>> ***/ @@ -3324,6 +3545,7 @@ Utf8_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Utf8_1.per_constraints; td->elements = asn_DEF_Utf8_1.elements; @@ -3382,6 +3604,14 @@ Utf8_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Utf8-2] >>> ***/ @@ -3403,6 +3633,7 @@ asn_TYPE_descriptor_t asn_DEF_Utf8_2 = { Utf8_2_decode_xer, Utf8_2_encode_xer, Utf8_2_decode_uper, + Utf8_2_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Utf8_2_tags_1, sizeof(asn_DEF_Utf8_2_tags_1) @@ -3435,6 +3666,7 @@ der_type_encoder_f Utf8_1_encode_der; xer_type_decoder_f Utf8_1_decode_xer; xer_type_encoder_f Utf8_1_encode_xer; per_type_decoder_f Utf8_1_decode_uper; +per_type_encoder_f Utf8_1_encode_uper; /*** <<< CODE [Utf8-1] >>> ***/ @@ -3459,6 +3691,7 @@ Utf8_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_UTF8String.per_constraints; td->elements = asn_DEF_UTF8String.elements; @@ -3517,6 +3750,14 @@ Utf8_1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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] >>> ***/ @@ -3534,6 +3775,7 @@ asn_TYPE_descriptor_t asn_DEF_Utf8_1 = { Utf8_1_decode_xer, Utf8_1_encode_xer, Utf8_1_decode_uper, + Utf8_1_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Utf8_1_tags_1, sizeof(asn_DEF_Utf8_1_tags_1) @@ -3566,6 +3808,7 @@ der_type_encoder_f VisibleIdentifier_encode_der; xer_type_decoder_f VisibleIdentifier_decode_xer; xer_type_encoder_f VisibleIdentifier_encode_xer; per_type_decoder_f VisibleIdentifier_decode_uper; +per_type_encoder_f VisibleIdentifier_encode_uper; /*** <<< CTABLES [VisibleIdentifier] >>> ***/ @@ -3637,6 +3880,7 @@ VisibleIdentifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Identifier.per_constraints; td->elements = asn_DEF_Identifier.elements; @@ -3695,6 +3939,14 @@ VisibleIdentifier_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descripto 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] >>> ***/ @@ -3712,6 +3964,7 @@ asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier = { VisibleIdentifier_decode_xer, VisibleIdentifier_encode_xer, VisibleIdentifier_decode_uper, + VisibleIdentifier_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_VisibleIdentifier_tags_1, sizeof(asn_DEF_VisibleIdentifier_tags_1) @@ -3793,6 +4046,7 @@ enum_c_6_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->elements = asn_DEF_ENUMERATED.elements; @@ -3851,6 +4105,14 @@ enum_c_6_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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) { @@ -3947,28 +4209,43 @@ memb_int5_c_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, /*** <<< STAT-DEFS [Sequence] >>> ***/ -static int asn_DFL_2_set_3(void **sptr) { +static int asn_DFL_2_set_3(int set_value, void **sptr) { Int1_t *st = *sptr; if(!st) { + if(!set_value) return -1; /* Not a default value */ st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } - /* Install default value 3 */ - return asn_long2INTEGER(st, 3); + if(set_value) { + /* Install default value 3 */ + return asn_long2INTEGER(st, 3); + } else { + /* Test default value 3 */ + long value; + if(asn_INTEGER2long(st, &value)) + return -1; + return (value == 3); + } } -static int asn_DFL_5_set_1(void **sptr) { +static int asn_DFL_5_set_1(int set_value, void **sptr) { BOOLEAN_t *st = *sptr; if(!st) { + if(!set_value) return -1; /* Not a default value */ st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } - /* Install default value 1 */ - *st = 1; - return 0; + if(set_value) { + /* Install default value 1 */ + *st = 1; + return 0; + } else { + /* Test default value 1 */ + return (*st == 1); + } } static asn_INTEGER_enum_map_t asn_MAP_enum_c_value2enum_6[] = { { 1, 3, "one" }, @@ -4008,6 +4285,7 @@ asn_TYPE_descriptor_t asn_DEF_enum_c_6 = { enum_c_6_decode_xer, enum_c_6_encode_xer, enum_c_6_decode_uper, + enum_c_6_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_enum_c_tags_6, sizeof(asn_DEF_enum_c_tags_6) @@ -4135,6 +4413,7 @@ asn_TYPE_descriptor_t asn_DEF_Sequence = { SEQUENCE_decode_xer, SEQUENCE_encode_xer, SEQUENCE_decode_uper, + SEQUENCE_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Sequence_tags_1, sizeof(asn_DEF_Sequence_tags_1) @@ -4211,6 +4490,7 @@ asn_TYPE_descriptor_t asn_DEF_SequenceOf = { SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_SequenceOf_tags_1, sizeof(asn_DEF_SequenceOf_tags_1) @@ -4251,6 +4531,7 @@ der_type_encoder_f Enum0_encode_der; xer_type_decoder_f Enum0_decode_xer; xer_type_encoder_f Enum0_encode_xer; per_type_decoder_f Enum0_decode_uper; +per_type_encoder_f Enum0_encode_uper; /*** <<< CODE [Enum0] >>> ***/ @@ -4275,6 +4556,7 @@ Enum0_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->elements = asn_DEF_ENUMERATED.elements; @@ -4333,6 +4615,14 @@ Enum0_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Enum0] >>> ***/ @@ -4369,6 +4659,7 @@ asn_TYPE_descriptor_t asn_DEF_Enum0 = { Enum0_decode_xer, Enum0_encode_xer, Enum0_decode_uper, + Enum0_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Enum0_tags_1, sizeof(asn_DEF_Enum0_tags_1) @@ -4408,6 +4699,7 @@ der_type_encoder_f Enum1_encode_der; xer_type_decoder_f Enum1_decode_xer; xer_type_encoder_f Enum1_encode_xer; per_type_decoder_f Enum1_decode_uper; +per_type_encoder_f Enum1_encode_uper; /*** <<< CODE [Enum1] >>> ***/ @@ -4449,6 +4741,7 @@ Enum1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; td->elements = asn_DEF_NativeEnumerated.elements; @@ -4507,6 +4800,14 @@ Enum1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Enum1] >>> ***/ @@ -4543,6 +4844,7 @@ asn_TYPE_descriptor_t asn_DEF_Enum1 = { Enum1_decode_xer, Enum1_encode_xer, Enum1_decode_uper, + Enum1_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_Enum1_tags_1, sizeof(asn_DEF_Enum1_tags_1) @@ -4575,6 +4877,7 @@ der_type_encoder_f Identifier_encode_der; xer_type_decoder_f Identifier_decode_xer; xer_type_encoder_f Identifier_encode_xer; per_type_decoder_f Identifier_decode_uper; +per_type_encoder_f Identifier_encode_uper; /*** <<< CTABLES [Identifier] >>> ***/ @@ -4646,6 +4949,7 @@ Identifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_VisibleString.per_constraints; td->elements = asn_DEF_VisibleString.elements; @@ -4704,6 +5008,14 @@ Identifier_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *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); +} + /*** <<< STAT-DEFS [Identifier] >>> ***/ @@ -4725,6 +5037,7 @@ asn_TYPE_descriptor_t asn_DEF_Identifier = { Identifier_decode_xer, Identifier_encode_xer, Identifier_decode_uper, + Identifier_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.-P b/tests/59-choice-extended-OK.asn1.-P index ad44cdd7..099dd9f8 100644 --- a/tests/59-choice-extended-OK.asn1.-P +++ b/tests/59-choice-extended-OK.asn1.-P @@ -11,7 +11,7 @@ typedef enum Choice_PR { Choice_PR_a, /* Extensions may appear below */ Choice_PR_b, - Choice_PR_c, + Choice_PR_c } Choice_PR; /*** <<< FWD-DECLS [Choice] >>> ***/ @@ -103,7 +103,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, asn_DEF_Choice_tags_1, sizeof(asn_DEF_Choice_tags_1) diff --git a/tests/60-any-OK.asn1.-P b/tests/60-any-OK.asn1.-P index d385a4e1..4b507d1a 100644 --- a/tests/60-any-OK.asn1.-P +++ b/tests/60-any-OK.asn1.-P @@ -66,7 +66,7 @@ asn_TYPE_descriptor_t asn_DEF_T1 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T1_tags_1, sizeof(asn_DEF_T1_tags_1) @@ -149,7 +149,7 @@ asn_TYPE_descriptor_t asn_DEF_T2 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T2_tags_1, sizeof(asn_DEF_T2_tags_1) @@ -227,7 +227,7 @@ asn_TYPE_descriptor_t asn_DEF_T3 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T3_tags_1, sizeof(asn_DEF_T3_tags_1) diff --git a/tests/65-multi-tag-OK.asn1.-P b/tests/65-multi-tag-OK.asn1.-P index a77bd3e2..8c8d860f 100644 --- a/tests/65-multi-tag-OK.asn1.-P +++ b/tests/65-multi-tag-OK.asn1.-P @@ -41,6 +41,7 @@ T1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_T2.per_constraints; td->elements = asn_DEF_T2.elements; @@ -119,7 +120,7 @@ asn_TYPE_descriptor_t asn_DEF_T1 = { T1_encode_der, T1_decode_xer, T1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T1_tags_1, sizeof(asn_DEF_T1_tags_1) @@ -175,6 +176,7 @@ T2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_T3.per_constraints; td->elements = asn_DEF_T3.elements; @@ -251,7 +253,7 @@ asn_TYPE_descriptor_t asn_DEF_T2 = { T2_encode_der, T2_decode_xer, T2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T2_tags_1, sizeof(asn_DEF_T2_tags_1) @@ -307,6 +309,7 @@ T3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_T4.per_constraints; td->elements = asn_DEF_T4.elements; @@ -381,7 +384,7 @@ asn_TYPE_descriptor_t asn_DEF_T3 = { T3_encode_der, T3_decode_xer, T3_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T3_tags_1, sizeof(asn_DEF_T3_tags_1) @@ -437,6 +440,7 @@ T4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_T5.per_constraints; td->elements = asn_DEF_T5.elements; @@ -506,7 +510,7 @@ asn_TYPE_descriptor_t asn_DEF_T4 = { T4_encode_der, T4_decode_xer, T4_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T4_tags_1, sizeof(asn_DEF_T4_tags_1) @@ -562,6 +566,7 @@ T5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_T6.per_constraints; td->elements = asn_DEF_T6.elements; @@ -630,7 +635,7 @@ asn_TYPE_descriptor_t asn_DEF_T5 = { T5_encode_der, T5_decode_xer, T5_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T5_tags_1, sizeof(asn_DEF_T5_tags_1) @@ -686,6 +691,7 @@ T6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_REAL.per_constraints; td->elements = asn_DEF_REAL.elements; @@ -753,7 +759,7 @@ asn_TYPE_descriptor_t asn_DEF_T6 = { T6_encode_der, T6_decode_xer, T6_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T6_tags_1, sizeof(asn_DEF_T6_tags_1) @@ -809,6 +815,7 @@ T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Ts.per_constraints; td->elements = asn_DEF_Ts.elements; @@ -878,7 +885,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { T_encode_der, T_decode_xer, T_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T_tags_1, sizeof(asn_DEF_T_tags_1) @@ -972,7 +979,7 @@ asn_TYPE_descriptor_t asn_DEF_Ts = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Ts_tags_1, sizeof(asn_DEF_Ts_tags_1) diff --git a/tests/65-multi-tag-OK.asn1.-Pfnative-types b/tests/65-multi-tag-OK.asn1.-Pfnative-types index 76642fb2..9dad4c7d 100644 --- a/tests/65-multi-tag-OK.asn1.-Pfnative-types +++ b/tests/65-multi-tag-OK.asn1.-Pfnative-types @@ -41,6 +41,7 @@ T1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_T2.per_constraints; td->elements = asn_DEF_T2.elements; @@ -119,7 +120,7 @@ asn_TYPE_descriptor_t asn_DEF_T1 = { T1_encode_der, T1_decode_xer, T1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T1_tags_1, sizeof(asn_DEF_T1_tags_1) @@ -175,6 +176,7 @@ T2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_T3.per_constraints; td->elements = asn_DEF_T3.elements; @@ -251,7 +253,7 @@ asn_TYPE_descriptor_t asn_DEF_T2 = { T2_encode_der, T2_decode_xer, T2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T2_tags_1, sizeof(asn_DEF_T2_tags_1) @@ -307,6 +309,7 @@ T3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_T4.per_constraints; td->elements = asn_DEF_T4.elements; @@ -381,7 +384,7 @@ asn_TYPE_descriptor_t asn_DEF_T3 = { T3_encode_der, T3_decode_xer, T3_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T3_tags_1, sizeof(asn_DEF_T3_tags_1) @@ -437,6 +440,7 @@ T4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_T5.per_constraints; td->elements = asn_DEF_T5.elements; @@ -506,7 +510,7 @@ asn_TYPE_descriptor_t asn_DEF_T4 = { T4_encode_der, T4_decode_xer, T4_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T4_tags_1, sizeof(asn_DEF_T4_tags_1) @@ -562,6 +566,7 @@ T5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_T6.per_constraints; td->elements = asn_DEF_T6.elements; @@ -630,7 +635,7 @@ asn_TYPE_descriptor_t asn_DEF_T5 = { T5_encode_der, T5_decode_xer, T5_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T5_tags_1, sizeof(asn_DEF_T5_tags_1) @@ -686,6 +691,7 @@ T6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeReal.per_constraints; td->elements = asn_DEF_NativeReal.elements; @@ -753,7 +759,7 @@ asn_TYPE_descriptor_t asn_DEF_T6 = { T6_encode_der, T6_decode_xer, T6_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T6_tags_1, sizeof(asn_DEF_T6_tags_1) @@ -809,6 +815,7 @@ T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Ts.per_constraints; td->elements = asn_DEF_Ts.elements; @@ -878,7 +885,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { T_encode_der, T_decode_xer, T_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T_tags_1, sizeof(asn_DEF_T_tags_1) @@ -972,7 +979,7 @@ asn_TYPE_descriptor_t asn_DEF_Ts = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Ts_tags_1, sizeof(asn_DEF_Ts_tags_1) diff --git a/tests/66-ref-simple-OK.asn1.-P b/tests/66-ref-simple-OK.asn1.-P index b6dc5ced..261a06a3 100644 --- a/tests/66-ref-simple-OK.asn1.-P +++ b/tests/66-ref-simple-OK.asn1.-P @@ -49,7 +49,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T_tags_1, sizeof(asn_DEF_T_tags_1) @@ -114,6 +114,7 @@ SimpleType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->elements = asn_DEF_ENUMERATED.elements; @@ -198,7 +199,7 @@ asn_TYPE_descriptor_t asn_DEF_SimpleType = { SimpleType_encode_der, SimpleType_decode_xer, SimpleType_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SimpleType_tags_1, sizeof(asn_DEF_SimpleType_tags_1) diff --git a/tests/69-reserved-words-OK.asn1.-P b/tests/69-reserved-words-OK.asn1.-P index ee44e593..4ee72ad4 100644 --- a/tests/69-reserved-words-OK.asn1.-P +++ b/tests/69-reserved-words-OK.asn1.-P @@ -103,7 +103,7 @@ asn_TYPE_descriptor_t asn_DEF_class_4 = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_class_tags_4, sizeof(asn_DEF_class_tags_4) @@ -182,7 +182,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T_tags_1, sizeof(asn_DEF_T_tags_1) diff --git a/tests/70-xer-test-OK.asn1.-P b/tests/70-xer-test-OK.asn1.-P index a5a4d608..0b1b4f2e 100644 --- a/tests/70-xer-test-OK.asn1.-P +++ b/tests/70-xer-test-OK.asn1.-P @@ -38,6 +38,7 @@ typedef enum PDU_PR { PDU_PR_setOfChoice, PDU_PR_namedSetOfChoice, /* Extensions may appear below */ + } PDU_PR; /*** <<< TYPE-DECLS [PDU] >>> ***/ @@ -250,7 +251,7 @@ asn_TYPE_descriptor_t asn_DEF_PDU = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -362,7 +363,7 @@ asn_TYPE_descriptor_t asn_DEF_Sequence = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Sequence_tags_1, sizeof(asn_DEF_Sequence_tags_1) @@ -465,7 +466,7 @@ asn_TYPE_descriptor_t asn_DEF_Set = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Set_tags_1, sizeof(asn_DEF_Set_tags_1) @@ -547,6 +548,7 @@ enum_4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->elements = asn_DEF_ENUMERATED.elements; @@ -631,7 +633,7 @@ asn_TYPE_descriptor_t asn_DEF_enum_4 = { enum_4_encode_der, enum_4_decode_xer, enum_4_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_enum_tags_4, sizeof(asn_DEF_enum_tags_4) @@ -695,7 +697,7 @@ asn_TYPE_descriptor_t asn_DEF_ExtensibleSet = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_ExtensibleSet_tags_1, sizeof(asn_DEF_ExtensibleSet_tags_1) @@ -794,7 +796,7 @@ asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_ExtensibleSequence_tags_1, sizeof(asn_DEF_ExtensibleSequence_tags_1) @@ -881,7 +883,7 @@ asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_ExtensibleSequence2_tags_1, sizeof(asn_DEF_ExtensibleSequence2_tags_1) @@ -946,7 +948,7 @@ asn_TYPE_descriptor_t asn_DEF_SetOfNULL = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SetOfNULL_tags_1, sizeof(asn_DEF_SetOfNULL_tags_1) @@ -1011,7 +1013,7 @@ asn_TYPE_descriptor_t asn_DEF_SetOfREAL = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SetOfREAL_tags_1, sizeof(asn_DEF_SetOfREAL_tags_1) @@ -1076,6 +1078,7 @@ Member_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->elements = asn_DEF_ENUMERATED.elements; @@ -1159,7 +1162,7 @@ asn_TYPE_descriptor_t asn_DEF_Member_2 = { Member_2_encode_der, Member_2_decode_xer, Member_2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Member_tags_2, sizeof(asn_DEF_Member_tags_2) @@ -1201,7 +1204,7 @@ asn_TYPE_descriptor_t asn_DEF_SetOfEnums = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SetOfEnums_tags_1, sizeof(asn_DEF_SetOfEnums_tags_1) @@ -1266,7 +1269,7 @@ asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NamedSetOfNULL_tags_1, sizeof(asn_DEF_NamedSetOfNULL_tags_1) @@ -1331,7 +1334,7 @@ asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NamedSetOfREAL_tags_1, sizeof(asn_DEF_NamedSetOfREAL_tags_1) @@ -1396,6 +1399,7 @@ name_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->elements = asn_DEF_ENUMERATED.elements; @@ -1479,7 +1483,7 @@ asn_TYPE_descriptor_t asn_DEF_name_2 = { name_2_encode_der, name_2_decode_xer, name_2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_name_tags_2, sizeof(asn_DEF_name_tags_2) @@ -1521,7 +1525,7 @@ asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NamedSetOfEnums_tags_1, sizeof(asn_DEF_NamedSetOfEnums_tags_1) @@ -1586,7 +1590,7 @@ asn_TYPE_descriptor_t asn_DEF_SequenceOf = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SequenceOf_tags_1, sizeof(asn_DEF_SequenceOf_tags_1) @@ -1651,7 +1655,7 @@ asn_TYPE_descriptor_t asn_DEF_SeqOfZuka = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SeqOfZuka_tags_1, sizeof(asn_DEF_SeqOfZuka_tags_1) @@ -1723,7 +1727,7 @@ asn_TYPE_descriptor_t asn_DEF_SetOfChoice = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_SetOfChoice_tags_1, sizeof(asn_DEF_SetOfChoice_tags_1) @@ -1795,7 +1799,7 @@ asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NamedSetOfChoice_tags_1, sizeof(asn_DEF_NamedSetOfChoice_tags_1) @@ -1821,7 +1825,7 @@ asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice = { typedef enum SimpleChoice_PR { SimpleChoice_PR_NOTHING, /* No components present */ SimpleChoice_PR_a, - SimpleChoice_PR_b, + SimpleChoice_PR_b } SimpleChoice_PR; /*** <<< TYPE-DECLS [SimpleChoice] >>> ***/ @@ -1887,7 +1891,7 @@ asn_TYPE_descriptor_t asn_DEF_SimpleChoice = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ diff --git a/tests/72-same-names-OK.asn1.-P b/tests/72-same-names-OK.asn1.-P index d384da3e..5f106f81 100644 --- a/tests/72-same-names-OK.asn1.-P +++ b/tests/72-same-names-OK.asn1.-P @@ -76,7 +76,7 @@ asn_TYPE_descriptor_t asn_DEF_Member_2 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Member_tags_2, sizeof(asn_DEF_Member_tags_2) @@ -119,7 +119,7 @@ asn_TYPE_descriptor_t asn_DEF_Type = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Type_tags_1, sizeof(asn_DEF_Type_tags_1) @@ -144,7 +144,7 @@ asn_TYPE_descriptor_t asn_DEF_Type = { typedef enum one_name_PR { one_name_PR_NOTHING, /* No components present */ - one_name_PR_another_name, + one_name_PR_another_name } one_name_PR; /*** <<< TYPE-DECLS [Type1] >>> ***/ @@ -223,7 +223,7 @@ asn_TYPE_descriptor_t asn_DEF_another_name_3 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_another_name_tags_3, sizeof(asn_DEF_another_name_tags_3) @@ -272,7 +272,7 @@ asn_TYPE_descriptor_t asn_DEF_one_name_2 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -320,7 +320,7 @@ asn_TYPE_descriptor_t asn_DEF_Type1 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Type1_tags_1, sizeof(asn_DEF_Type1_tags_1) @@ -348,7 +348,7 @@ asn_TYPE_descriptor_t asn_DEF_Type1 = { typedef enum Type2_PR { Type2_PR_NOTHING, /* No components present */ Type2_PR_one_name, - Type2_PR_two_name, + Type2_PR_two_name } Type2_PR; typedef enum a { a_one = 0 @@ -521,7 +521,7 @@ asn_TYPE_descriptor_t asn_DEF_another_name_3 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_another_name_tags_3, sizeof(asn_DEF_another_name_tags_3) @@ -572,7 +572,7 @@ asn_TYPE_descriptor_t asn_DEF_one_name_2 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_one_name_tags_2, sizeof(asn_DEF_one_name_tags_2) @@ -633,7 +633,7 @@ asn_TYPE_descriptor_t asn_DEF_another_name_8 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_another_name_tags_8, sizeof(asn_DEF_another_name_tags_8) @@ -689,7 +689,7 @@ asn_TYPE_descriptor_t asn_DEF_two_name_7 = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_two_name_tags_7, sizeof(asn_DEF_two_name_tags_7) @@ -747,7 +747,7 @@ asn_TYPE_descriptor_t asn_DEF_Type2 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ diff --git a/tests/73-circular-OK.asn1.-P b/tests/73-circular-OK.asn1.-P index 89d5e302..3dc73a4e 100644 --- a/tests/73-circular-OK.asn1.-P +++ b/tests/73-circular-OK.asn1.-P @@ -63,7 +63,7 @@ asn_TYPE_descriptor_t asn_DEF_data_2 = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_data_tags_2, sizeof(asn_DEF_data_tags_2) @@ -113,7 +113,7 @@ asn_TYPE_descriptor_t asn_DEF_Type = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Type_tags_1, sizeof(asn_DEF_Type_tags_1) @@ -170,6 +170,7 @@ EpytRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Epyt.per_constraints; td->elements = asn_DEF_Epyt.elements; @@ -237,7 +238,7 @@ asn_TYPE_descriptor_t asn_DEF_EpytRef = { EpytRef_encode_der, EpytRef_decode_xer, EpytRef_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_EpytRef_tags_1, sizeof(asn_DEF_EpytRef_tags_1) @@ -319,7 +320,7 @@ asn_TYPE_descriptor_t asn_DEF_stype_2 = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_stype_tags_2, sizeof(asn_DEF_stype_tags_2) @@ -389,7 +390,7 @@ asn_TYPE_descriptor_t asn_DEF_Epyt = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Epyt_tags_1, sizeof(asn_DEF_Epyt_tags_1) @@ -543,16 +544,25 @@ memb_patest2_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, /*** <<< STAT-DEFS [Ypet] >>> ***/ -static int asn_DFL_3_set_7(void **sptr) { +static int asn_DFL_3_set_7(int set_value, void **sptr) { INTEGER_t *st = *sptr; if(!st) { + if(!set_value) return -1; /* Not a default value */ st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } - /* Install default value 7 */ - return asn_long2INTEGER(st, 7); + if(set_value) { + /* Install default value 7 */ + return asn_long2INTEGER(st, 7); + } else { + /* Test default value 7 */ + long value; + if(asn_INTEGER2long(st, &value)) + return -1; + return (value == 7); + } } static asn_TYPE_member_t asn_MBR_senums_4[] = { { ATF_POINTER, 0, 0, @@ -584,7 +594,7 @@ asn_TYPE_descriptor_t asn_DEF_senums_4 = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_senums_tags_4, sizeof(asn_DEF_senums_tags_4) @@ -679,7 +689,7 @@ asn_TYPE_descriptor_t asn_DEF_Ypet = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Ypet_tags_1, sizeof(asn_DEF_Ypet_tags_1) @@ -743,6 +753,7 @@ EnumType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->elements = asn_DEF_ENUMERATED.elements; @@ -825,7 +836,7 @@ asn_TYPE_descriptor_t asn_DEF_EnumType = { EnumType_encode_der, EnumType_decode_xer, EnumType_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_EnumType_tags_1, sizeof(asn_DEF_EnumType_tags_1) diff --git a/tests/84-param-tags-OK.asn1.-P b/tests/84-param-tags-OK.asn1.-P index 367f943b..8f1dc3df 100644 --- a/tests/84-param-tags-OK.asn1.-P +++ b/tests/84-param-tags-OK.asn1.-P @@ -55,17 +55,23 @@ memb_common_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, /*** <<< STAT-DEFS [TestType] >>> ***/ -static int asn_DFL_2_set_0(void **sptr) { +static int asn_DFL_2_set_0(int set_value, void **sptr) { long *st = *sptr; if(!st) { + if(!set_value) return -1; /* Not a default value */ st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } - /* Install default value 0 */ - *st = 0; - return 0; + if(set_value) { + /* Install default value 0 */ + *st = 0; + return 0; + } else { + /* Test default value 0 */ + return (*st == 0); + } } static asn_TYPE_member_t asn_MBR_TestType_16P0_1[] = { { ATF_NOFLAGS, 1, offsetof(struct TestType_16P0, common), @@ -103,7 +109,7 @@ asn_TYPE_descriptor_t asn_DEF_TestType_16P0 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_TestType_16P0_tags_1, sizeof(asn_DEF_TestType_16P0_tags_1) @@ -117,17 +123,23 @@ asn_TYPE_descriptor_t asn_DEF_TestType_16P0 = { &asn_SPC_TestType_16P0_specs_1 /* Additional specs */ }; -static int asn_DFL_4_set_0(void **sptr) { +static int asn_DFL_4_set_0(int set_value, void **sptr) { BOOLEAN_t *st = *sptr; if(!st) { + if(!set_value) return -1; /* Not a default value */ st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } - /* Install default value 0 */ - *st = 0; - return 0; + if(set_value) { + /* Install default value 0 */ + *st = 0; + return 0; + } else { + /* Test default value 0 */ + return (*st == 0); + } } static asn_TYPE_member_t asn_MBR_TestType_16P1_3[] = { { ATF_NOFLAGS, 1, offsetof(struct TestType_16P1, common), @@ -165,7 +177,7 @@ asn_TYPE_descriptor_t asn_DEF_TestType_16P1 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_TestType_16P1_tags_3, sizeof(asn_DEF_TestType_16P1_tags_3) @@ -190,7 +202,7 @@ asn_TYPE_descriptor_t asn_DEF_TestType_16P1 = { typedef enum TestChoice_PR { TestChoice_PR_NOTHING, /* No components present */ TestChoice_PR_type1, - TestChoice_PR_type2, + TestChoice_PR_type2 } TestChoice_PR; /*** <<< TYPE-DECLS [TestChoice] >>> ***/ @@ -256,7 +268,7 @@ asn_TYPE_descriptor_t asn_DEF_TestChoice = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -386,7 +398,7 @@ asn_TYPE_descriptor_t asn_DEF_AutoType_34P0 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_AutoType_34P0_tags_1, sizeof(asn_DEF_AutoType_34P0_tags_1) @@ -436,7 +448,7 @@ asn_TYPE_descriptor_t asn_DEF_AutoType_34P1 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_AutoType_34P1_tags_3, sizeof(asn_DEF_AutoType_34P1_tags_3) @@ -461,7 +473,7 @@ asn_TYPE_descriptor_t asn_DEF_AutoType_34P1 = { typedef enum AutoChoice_PR { AutoChoice_PR_NOTHING, /* No components present */ AutoChoice_PR_type1, - AutoChoice_PR_type2, + AutoChoice_PR_type2 } AutoChoice_PR; /*** <<< TYPE-DECLS [AutoChoice] >>> ***/ @@ -527,7 +539,7 @@ asn_TYPE_descriptor_t asn_DEF_AutoChoice = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ diff --git a/tests/88-integer-enum-OK.asn1.-P b/tests/88-integer-enum-OK.asn1.-P index af25491d..38c1a799 100644 --- a/tests/88-integer-enum-OK.asn1.-P +++ b/tests/88-integer-enum-OK.asn1.-P @@ -48,6 +48,7 @@ T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -115,7 +116,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { T_encode_der, T_decode_xer, T_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_T_tags_1, sizeof(asn_DEF_T_tags_1) diff --git a/tests/89-bit-string-enum-OK.asn1.-P b/tests/89-bit-string-enum-OK.asn1.-P index 4af09138..663ec3f3 100644 --- a/tests/89-bit-string-enum-OK.asn1.-P +++ b/tests/89-bit-string-enum-OK.asn1.-P @@ -8,7 +8,7 @@ typedef enum T_PR { T_PR_NOTHING, /* No components present */ - T_PR_bs, + T_PR_bs } T_PR; typedef enum bs { bs_a = 1, @@ -67,7 +67,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ diff --git a/tests/89-bit-string-enum-OK.asn1.-Pfcompound-names b/tests/89-bit-string-enum-OK.asn1.-Pfcompound-names index 259dd5ca..eee4958a 100644 --- a/tests/89-bit-string-enum-OK.asn1.-Pfcompound-names +++ b/tests/89-bit-string-enum-OK.asn1.-Pfcompound-names @@ -8,7 +8,7 @@ typedef enum T_PR { T_PR_NOTHING, /* No components present */ - T_PR_bs, + T_PR_bs } T_PR; typedef enum T__bs { T__bs_a = 1, @@ -67,7 +67,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ diff --git a/tests/90-cond-int-type-OK.asn1.-P b/tests/90-cond-int-type-OK.asn1.-P index 965fba20..431e42ce 100644 --- a/tests/90-cond-int-type-OK.asn1.-P +++ b/tests/90-cond-int-type-OK.asn1.-P @@ -41,6 +41,7 @@ CN_IntegerUnlimited_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -108,7 +109,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited = { CN_IntegerUnlimited_encode_der, CN_IntegerUnlimited_decode_xer, CN_IntegerUnlimited_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerUnlimited_tags_1, sizeof(asn_DEF_CN_IntegerUnlimited_tags_1) @@ -178,6 +179,7 @@ CN_IntegerMinMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -245,7 +247,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax = { CN_IntegerMinMax_encode_der, CN_IntegerMinMax_decode_xer, CN_IntegerMinMax_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerMinMax_tags_1, sizeof(asn_DEF_CN_IntegerMinMax_tags_1) @@ -324,6 +326,7 @@ CN_IntegerMinLow_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -391,7 +394,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow = { CN_IntegerMinLow_encode_der, CN_IntegerMinLow_decode_xer, CN_IntegerMinLow_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerMinLow_tags_1, sizeof(asn_DEF_CN_IntegerMinLow_tags_1) @@ -470,6 +473,7 @@ NO_IntegerMinHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -537,7 +541,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh = { NO_IntegerMinHigh_encode_der, NO_IntegerMinHigh_decode_xer, NO_IntegerMinHigh_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerMinHigh_tags_1, sizeof(asn_DEF_NO_IntegerMinHigh_tags_1) @@ -616,6 +620,7 @@ NO_IntegerLowHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -683,7 +688,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh = { NO_IntegerLowHigh_encode_der, NO_IntegerLowHigh_decode_xer, NO_IntegerLowHigh_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerLowHigh_tags_1, sizeof(asn_DEF_NO_IntegerLowHigh_tags_1) @@ -762,6 +767,7 @@ CN_IntegerLowMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -829,7 +835,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax = { CN_IntegerLowMax_encode_der, CN_IntegerLowMax_decode_xer, CN_IntegerLowMax_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerLowMax_tags_1, sizeof(asn_DEF_CN_IntegerLowMax_tags_1) @@ -908,6 +914,7 @@ NO_IntegerHighMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -975,7 +982,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax = { NO_IntegerHighMax_encode_der, NO_IntegerHighMax_decode_xer, NO_IntegerHighMax_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerHighMax_tags_1, sizeof(asn_DEF_NO_IntegerHighMax_tags_1) @@ -1054,6 +1061,7 @@ NO_IntegerLowestMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -1121,7 +1129,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax = { NO_IntegerLowestMax_encode_der, NO_IntegerLowestMax_decode_xer, NO_IntegerLowestMax_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerLowestMax_tags_1, sizeof(asn_DEF_NO_IntegerLowestMax_tags_1) @@ -1200,6 +1208,7 @@ NO_IntegerOutRange_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -1267,7 +1276,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange = { NO_IntegerOutRange_encode_der, NO_IntegerOutRange_decode_xer, NO_IntegerOutRange_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerOutRange_tags_1, sizeof(asn_DEF_NO_IntegerOutRange_tags_1) @@ -1346,6 +1355,7 @@ NO_IntegerOutValue_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -1413,7 +1423,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue = { NO_IntegerOutValue_encode_der, NO_IntegerOutValue_decode_xer, NO_IntegerOutValue_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerOutValue_tags_1, sizeof(asn_DEF_NO_IntegerOutValue_tags_1) @@ -1486,6 +1496,7 @@ OK_IntegerInRange1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -1553,7 +1564,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1 = { OK_IntegerInRange1_encode_der, OK_IntegerInRange1_decode_xer, OK_IntegerInRange1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange1_tags_1, sizeof(asn_DEF_OK_IntegerInRange1_tags_1) @@ -1626,6 +1637,7 @@ OK_IntegerInRange2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -1693,7 +1705,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2 = { OK_IntegerInRange2_encode_der, OK_IntegerInRange2_decode_xer, OK_IntegerInRange2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange2_tags_1, sizeof(asn_DEF_OK_IntegerInRange2_tags_1) @@ -1766,6 +1778,7 @@ OK_IntegerInRange3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -1833,7 +1846,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3 = { OK_IntegerInRange3_encode_der, OK_IntegerInRange3_decode_xer, OK_IntegerInRange3_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange3_tags_1, sizeof(asn_DEF_OK_IntegerInRange3_tags_1) @@ -1906,6 +1919,7 @@ OK_IntegerInRange4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -1973,7 +1987,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4 = { OK_IntegerInRange4_encode_der, OK_IntegerInRange4_decode_xer, OK_IntegerInRange4_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange4_tags_1, sizeof(asn_DEF_OK_IntegerInRange4_tags_1) @@ -2052,6 +2066,7 @@ OK_IntegerInRange5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -2119,7 +2134,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5 = { OK_IntegerInRange5_encode_der, OK_IntegerInRange5_decode_xer, OK_IntegerInRange5_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange5_tags_1, sizeof(asn_DEF_OK_IntegerInRange5_tags_1) @@ -2198,6 +2213,7 @@ NO_IntegerInRange6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -2265,7 +2281,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = { NO_IntegerInRange6_encode_der, NO_IntegerInRange6_decode_xer, NO_IntegerInRange6_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerInRange6_tags_1, sizeof(asn_DEF_NO_IntegerInRange6_tags_1) @@ -2328,6 +2344,7 @@ CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -2395,7 +2412,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = { CN_IntegerEnumerated1_encode_der, CN_IntegerEnumerated1_decode_xer, CN_IntegerEnumerated1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerEnumerated1_tags_1, sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1) @@ -2458,6 +2475,7 @@ NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -2525,7 +2543,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2 = { NO_IntegerEnumerated2_encode_der, NO_IntegerEnumerated2_decode_xer, NO_IntegerEnumerated2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerEnumerated2_tags_1, sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1) diff --git a/tests/90-cond-int-type-OK.asn1.-Pfnative-types b/tests/90-cond-int-type-OK.asn1.-Pfnative-types index c39c534f..344c89a0 100644 --- a/tests/90-cond-int-type-OK.asn1.-Pfnative-types +++ b/tests/90-cond-int-type-OK.asn1.-Pfnative-types @@ -41,6 +41,7 @@ CN_IntegerUnlimited_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -108,7 +109,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited = { CN_IntegerUnlimited_encode_der, CN_IntegerUnlimited_decode_xer, CN_IntegerUnlimited_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerUnlimited_tags_1, sizeof(asn_DEF_CN_IntegerUnlimited_tags_1) @@ -177,6 +178,7 @@ CN_IntegerMinMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -244,7 +246,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax = { CN_IntegerMinMax_encode_der, CN_IntegerMinMax_decode_xer, CN_IntegerMinMax_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerMinMax_tags_1, sizeof(asn_DEF_CN_IntegerMinMax_tags_1) @@ -317,6 +319,7 @@ CN_IntegerMinLow_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -384,7 +387,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow = { CN_IntegerMinLow_encode_der, CN_IntegerMinLow_decode_xer, CN_IntegerMinLow_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerMinLow_tags_1, sizeof(asn_DEF_CN_IntegerMinLow_tags_1) @@ -463,6 +466,7 @@ NO_IntegerMinHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -530,7 +534,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh = { NO_IntegerMinHigh_encode_der, NO_IntegerMinHigh_decode_xer, NO_IntegerMinHigh_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerMinHigh_tags_1, sizeof(asn_DEF_NO_IntegerMinHigh_tags_1) @@ -609,6 +613,7 @@ NO_IntegerLowHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -676,7 +681,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh = { NO_IntegerLowHigh_encode_der, NO_IntegerLowHigh_decode_xer, NO_IntegerLowHigh_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerLowHigh_tags_1, sizeof(asn_DEF_NO_IntegerLowHigh_tags_1) @@ -749,6 +754,7 @@ CN_IntegerLowMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -816,7 +822,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax = { CN_IntegerLowMax_encode_der, CN_IntegerLowMax_decode_xer, CN_IntegerLowMax_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerLowMax_tags_1, sizeof(asn_DEF_CN_IntegerLowMax_tags_1) @@ -895,6 +901,7 @@ NO_IntegerHighMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -962,7 +969,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax = { NO_IntegerHighMax_encode_der, NO_IntegerHighMax_decode_xer, NO_IntegerHighMax_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerHighMax_tags_1, sizeof(asn_DEF_NO_IntegerHighMax_tags_1) @@ -1041,6 +1048,7 @@ NO_IntegerLowestMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -1108,7 +1116,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax = { NO_IntegerLowestMax_encode_der, NO_IntegerLowestMax_decode_xer, NO_IntegerLowestMax_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerLowestMax_tags_1, sizeof(asn_DEF_NO_IntegerLowestMax_tags_1) @@ -1187,6 +1195,7 @@ NO_IntegerOutRange_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -1254,7 +1263,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange = { NO_IntegerOutRange_encode_der, NO_IntegerOutRange_decode_xer, NO_IntegerOutRange_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerOutRange_tags_1, sizeof(asn_DEF_NO_IntegerOutRange_tags_1) @@ -1333,6 +1342,7 @@ NO_IntegerOutValue_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -1400,7 +1410,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue = { NO_IntegerOutValue_encode_der, NO_IntegerOutValue_decode_xer, NO_IntegerOutValue_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerOutValue_tags_1, sizeof(asn_DEF_NO_IntegerOutValue_tags_1) @@ -1473,6 +1483,7 @@ OK_IntegerInRange1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -1540,7 +1551,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1 = { OK_IntegerInRange1_encode_der, OK_IntegerInRange1_decode_xer, OK_IntegerInRange1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange1_tags_1, sizeof(asn_DEF_OK_IntegerInRange1_tags_1) @@ -1613,6 +1624,7 @@ OK_IntegerInRange2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -1680,7 +1692,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2 = { OK_IntegerInRange2_encode_der, OK_IntegerInRange2_decode_xer, OK_IntegerInRange2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange2_tags_1, sizeof(asn_DEF_OK_IntegerInRange2_tags_1) @@ -1753,6 +1765,7 @@ OK_IntegerInRange3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -1820,7 +1833,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3 = { OK_IntegerInRange3_encode_der, OK_IntegerInRange3_decode_xer, OK_IntegerInRange3_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange3_tags_1, sizeof(asn_DEF_OK_IntegerInRange3_tags_1) @@ -1893,6 +1906,7 @@ OK_IntegerInRange4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -1960,7 +1974,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4 = { OK_IntegerInRange4_encode_der, OK_IntegerInRange4_decode_xer, OK_IntegerInRange4_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange4_tags_1, sizeof(asn_DEF_OK_IntegerInRange4_tags_1) @@ -2033,6 +2047,7 @@ OK_IntegerInRange5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -2100,7 +2115,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5 = { OK_IntegerInRange5_encode_der, OK_IntegerInRange5_decode_xer, OK_IntegerInRange5_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange5_tags_1, sizeof(asn_DEF_OK_IntegerInRange5_tags_1) @@ -2179,6 +2194,7 @@ NO_IntegerInRange6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -2246,7 +2262,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = { NO_IntegerInRange6_encode_der, NO_IntegerInRange6_decode_xer, NO_IntegerInRange6_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerInRange6_tags_1, sizeof(asn_DEF_NO_IntegerInRange6_tags_1) @@ -2309,6 +2325,7 @@ CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -2376,7 +2393,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = { CN_IntegerEnumerated1_encode_der, CN_IntegerEnumerated1_decode_xer, CN_IntegerEnumerated1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerEnumerated1_tags_1, sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1) @@ -2439,6 +2456,7 @@ NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -2506,7 +2524,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2 = { NO_IntegerEnumerated2_encode_der, NO_IntegerEnumerated2_decode_xer, NO_IntegerEnumerated2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerEnumerated2_tags_1, sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1) diff --git a/tests/90-cond-int-type-OK.asn1.-Pgen-PER b/tests/90-cond-int-type-OK.asn1.-Pgen-PER index 4f29f49f..bd2f6e99 100644 --- a/tests/90-cond-int-type-OK.asn1.-Pgen-PER +++ b/tests/90-cond-int-type-OK.asn1.-Pgen-PER @@ -18,6 +18,7 @@ der_type_encoder_f CN_IntegerUnlimited_encode_der; xer_type_decoder_f CN_IntegerUnlimited_decode_xer; xer_type_encoder_f CN_IntegerUnlimited_encode_xer; per_type_decoder_f CN_IntegerUnlimited_decode_uper; +per_type_encoder_f CN_IntegerUnlimited_encode_uper; /*** <<< CODE [CN-IntegerUnlimited] >>> ***/ @@ -42,6 +43,7 @@ CN_IntegerUnlimited_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -100,6 +102,14 @@ CN_IntegerUnlimited_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descrip 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] >>> ***/ @@ -117,6 +127,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited = { CN_IntegerUnlimited_decode_xer, CN_IntegerUnlimited_encode_xer, CN_IntegerUnlimited_decode_uper, + CN_IntegerUnlimited_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerUnlimited_tags_1, sizeof(asn_DEF_CN_IntegerUnlimited_tags_1) @@ -149,6 +160,7 @@ der_type_encoder_f CN_IntegerMinMax_encode_der; xer_type_decoder_f CN_IntegerMinMax_decode_xer; xer_type_encoder_f CN_IntegerMinMax_encode_xer; per_type_decoder_f CN_IntegerMinMax_decode_uper; +per_type_encoder_f CN_IntegerMinMax_encode_uper; /*** <<< CODE [CN-IntegerMinMax] >>> ***/ @@ -187,6 +199,7 @@ CN_IntegerMinMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -245,6 +258,14 @@ CN_IntegerMinMax_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor 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); +} + /*** <<< STAT-DEFS [CN-IntegerMinMax] >>> ***/ @@ -266,6 +287,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax = { CN_IntegerMinMax_decode_xer, CN_IntegerMinMax_encode_xer, CN_IntegerMinMax_decode_uper, + CN_IntegerMinMax_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerMinMax_tags_1, sizeof(asn_DEF_CN_IntegerMinMax_tags_1) @@ -298,6 +320,7 @@ der_type_encoder_f CN_IntegerMinLow_encode_der; xer_type_decoder_f CN_IntegerMinLow_decode_xer; xer_type_encoder_f CN_IntegerMinLow_encode_xer; per_type_decoder_f CN_IntegerMinLow_decode_uper; +per_type_encoder_f CN_IntegerMinLow_encode_uper; /*** <<< CODE [CN-IntegerMinLow] >>> ***/ @@ -345,6 +368,7 @@ CN_IntegerMinLow_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -403,6 +427,14 @@ CN_IntegerMinLow_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor 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); +} + /*** <<< STAT-DEFS [CN-IntegerMinLow] >>> ***/ @@ -424,6 +456,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow = { CN_IntegerMinLow_decode_xer, CN_IntegerMinLow_encode_xer, CN_IntegerMinLow_decode_uper, + CN_IntegerMinLow_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerMinLow_tags_1, sizeof(asn_DEF_CN_IntegerMinLow_tags_1) @@ -456,6 +489,7 @@ der_type_encoder_f NO_IntegerMinHigh_encode_der; xer_type_decoder_f NO_IntegerMinHigh_decode_xer; xer_type_encoder_f NO_IntegerMinHigh_encode_xer; per_type_decoder_f NO_IntegerMinHigh_decode_uper; +per_type_encoder_f NO_IntegerMinHigh_encode_uper; /*** <<< CODE [NO-IntegerMinHigh] >>> ***/ @@ -503,6 +537,7 @@ NO_IntegerMinHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -561,6 +596,14 @@ NO_IntegerMinHigh_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descripto 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); +} + /*** <<< STAT-DEFS [NO-IntegerMinHigh] >>> ***/ @@ -582,6 +625,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh = { NO_IntegerMinHigh_decode_xer, NO_IntegerMinHigh_encode_xer, NO_IntegerMinHigh_decode_uper, + NO_IntegerMinHigh_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerMinHigh_tags_1, sizeof(asn_DEF_NO_IntegerMinHigh_tags_1) @@ -614,6 +658,7 @@ der_type_encoder_f NO_IntegerLowHigh_encode_der; xer_type_decoder_f NO_IntegerLowHigh_decode_xer; xer_type_encoder_f NO_IntegerLowHigh_encode_xer; per_type_decoder_f NO_IntegerLowHigh_decode_uper; +per_type_encoder_f NO_IntegerLowHigh_encode_uper; /*** <<< CODE [NO-IntegerLowHigh] >>> ***/ @@ -661,6 +706,7 @@ NO_IntegerLowHigh_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -719,6 +765,14 @@ NO_IntegerLowHigh_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descripto 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); +} + /*** <<< STAT-DEFS [NO-IntegerLowHigh] >>> ***/ @@ -740,6 +794,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh = { NO_IntegerLowHigh_decode_xer, NO_IntegerLowHigh_encode_xer, NO_IntegerLowHigh_decode_uper, + NO_IntegerLowHigh_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerLowHigh_tags_1, sizeof(asn_DEF_NO_IntegerLowHigh_tags_1) @@ -772,6 +827,7 @@ der_type_encoder_f CN_IntegerLowMax_encode_der; xer_type_decoder_f CN_IntegerLowMax_decode_xer; xer_type_encoder_f CN_IntegerLowMax_encode_xer; per_type_decoder_f CN_IntegerLowMax_decode_uper; +per_type_encoder_f CN_IntegerLowMax_encode_uper; /*** <<< CODE [CN-IntegerLowMax] >>> ***/ @@ -819,6 +875,7 @@ CN_IntegerLowMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -877,6 +934,14 @@ CN_IntegerLowMax_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor 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); +} + /*** <<< STAT-DEFS [CN-IntegerLowMax] >>> ***/ @@ -898,6 +963,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax = { CN_IntegerLowMax_decode_xer, CN_IntegerLowMax_encode_xer, CN_IntegerLowMax_decode_uper, + CN_IntegerLowMax_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerLowMax_tags_1, sizeof(asn_DEF_CN_IntegerLowMax_tags_1) @@ -930,6 +996,7 @@ der_type_encoder_f NO_IntegerHighMax_encode_der; xer_type_decoder_f NO_IntegerHighMax_decode_xer; xer_type_encoder_f NO_IntegerHighMax_encode_xer; per_type_decoder_f NO_IntegerHighMax_decode_uper; +per_type_encoder_f NO_IntegerHighMax_encode_uper; /*** <<< CODE [NO-IntegerHighMax] >>> ***/ @@ -977,6 +1044,7 @@ NO_IntegerHighMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -1035,6 +1103,14 @@ NO_IntegerHighMax_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descripto 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); +} + /*** <<< STAT-DEFS [NO-IntegerHighMax] >>> ***/ @@ -1056,6 +1132,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax = { NO_IntegerHighMax_decode_xer, NO_IntegerHighMax_encode_xer, NO_IntegerHighMax_decode_uper, + NO_IntegerHighMax_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerHighMax_tags_1, sizeof(asn_DEF_NO_IntegerHighMax_tags_1) @@ -1088,6 +1165,7 @@ der_type_encoder_f NO_IntegerLowestMax_encode_der; xer_type_decoder_f NO_IntegerLowestMax_decode_xer; xer_type_encoder_f NO_IntegerLowestMax_encode_xer; per_type_decoder_f NO_IntegerLowestMax_decode_uper; +per_type_encoder_f NO_IntegerLowestMax_encode_uper; /*** <<< CODE [NO-IntegerLowestMax] >>> ***/ @@ -1135,6 +1213,7 @@ NO_IntegerLowestMax_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -1193,6 +1272,14 @@ NO_IntegerLowestMax_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descrip 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); +} + /*** <<< STAT-DEFS [NO-IntegerLowestMax] >>> ***/ @@ -1214,6 +1301,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax = { NO_IntegerLowestMax_decode_xer, NO_IntegerLowestMax_encode_xer, NO_IntegerLowestMax_decode_uper, + NO_IntegerLowestMax_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerLowestMax_tags_1, sizeof(asn_DEF_NO_IntegerLowestMax_tags_1) @@ -1246,6 +1334,7 @@ der_type_encoder_f NO_IntegerOutRange_encode_der; xer_type_decoder_f NO_IntegerOutRange_decode_xer; xer_type_encoder_f NO_IntegerOutRange_encode_xer; per_type_decoder_f NO_IntegerOutRange_decode_uper; +per_type_encoder_f NO_IntegerOutRange_encode_uper; /*** <<< CODE [NO-IntegerOutRange] >>> ***/ @@ -1293,6 +1382,7 @@ NO_IntegerOutRange_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -1351,6 +1441,14 @@ NO_IntegerOutRange_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descript 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); +} + /*** <<< STAT-DEFS [NO-IntegerOutRange] >>> ***/ @@ -1372,6 +1470,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange = { NO_IntegerOutRange_decode_xer, NO_IntegerOutRange_encode_xer, NO_IntegerOutRange_decode_uper, + NO_IntegerOutRange_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerOutRange_tags_1, sizeof(asn_DEF_NO_IntegerOutRange_tags_1) @@ -1404,6 +1503,7 @@ der_type_encoder_f NO_IntegerOutValue_encode_der; xer_type_decoder_f NO_IntegerOutValue_decode_xer; xer_type_encoder_f NO_IntegerOutValue_encode_xer; per_type_decoder_f NO_IntegerOutValue_decode_uper; +per_type_encoder_f NO_IntegerOutValue_encode_uper; /*** <<< CODE [NO-IntegerOutValue] >>> ***/ @@ -1451,6 +1551,7 @@ NO_IntegerOutValue_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -1509,6 +1610,14 @@ NO_IntegerOutValue_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descript 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); +} + /*** <<< STAT-DEFS [NO-IntegerOutValue] >>> ***/ @@ -1530,6 +1639,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue = { NO_IntegerOutValue_decode_xer, NO_IntegerOutValue_encode_xer, NO_IntegerOutValue_decode_uper, + NO_IntegerOutValue_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerOutValue_tags_1, sizeof(asn_DEF_NO_IntegerOutValue_tags_1) @@ -1562,6 +1672,7 @@ der_type_encoder_f OK_IntegerInRange1_encode_der; xer_type_decoder_f OK_IntegerInRange1_decode_xer; xer_type_encoder_f OK_IntegerInRange1_encode_xer; per_type_decoder_f OK_IntegerInRange1_decode_uper; +per_type_encoder_f OK_IntegerInRange1_encode_uper; /*** <<< CODE [OK-IntegerInRange1] >>> ***/ @@ -1603,6 +1714,7 @@ OK_IntegerInRange1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -1661,6 +1773,14 @@ OK_IntegerInRange1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descript 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); +} + /*** <<< STAT-DEFS [OK-IntegerInRange1] >>> ***/ @@ -1682,6 +1802,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1 = { OK_IntegerInRange1_decode_xer, OK_IntegerInRange1_encode_xer, OK_IntegerInRange1_decode_uper, + OK_IntegerInRange1_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange1_tags_1, sizeof(asn_DEF_OK_IntegerInRange1_tags_1) @@ -1714,6 +1835,7 @@ der_type_encoder_f OK_IntegerInRange2_encode_der; xer_type_decoder_f OK_IntegerInRange2_decode_xer; xer_type_encoder_f OK_IntegerInRange2_encode_xer; per_type_decoder_f OK_IntegerInRange2_decode_uper; +per_type_encoder_f OK_IntegerInRange2_encode_uper; /*** <<< CODE [OK-IntegerInRange2] >>> ***/ @@ -1755,6 +1877,7 @@ OK_IntegerInRange2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -1813,6 +1936,14 @@ OK_IntegerInRange2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descript 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); +} + /*** <<< STAT-DEFS [OK-IntegerInRange2] >>> ***/ @@ -1834,6 +1965,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2 = { OK_IntegerInRange2_decode_xer, OK_IntegerInRange2_encode_xer, OK_IntegerInRange2_decode_uper, + OK_IntegerInRange2_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange2_tags_1, sizeof(asn_DEF_OK_IntegerInRange2_tags_1) @@ -1866,6 +1998,7 @@ der_type_encoder_f OK_IntegerInRange3_encode_der; xer_type_decoder_f OK_IntegerInRange3_decode_xer; xer_type_encoder_f OK_IntegerInRange3_encode_xer; per_type_decoder_f OK_IntegerInRange3_decode_uper; +per_type_encoder_f OK_IntegerInRange3_encode_uper; /*** <<< CODE [OK-IntegerInRange3] >>> ***/ @@ -1907,6 +2040,7 @@ OK_IntegerInRange3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -1965,6 +2099,14 @@ OK_IntegerInRange3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descript 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); +} + /*** <<< STAT-DEFS [OK-IntegerInRange3] >>> ***/ @@ -1986,6 +2128,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3 = { OK_IntegerInRange3_decode_xer, OK_IntegerInRange3_encode_xer, OK_IntegerInRange3_decode_uper, + OK_IntegerInRange3_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange3_tags_1, sizeof(asn_DEF_OK_IntegerInRange3_tags_1) @@ -2018,6 +2161,7 @@ der_type_encoder_f OK_IntegerInRange4_encode_der; xer_type_decoder_f OK_IntegerInRange4_decode_xer; xer_type_encoder_f OK_IntegerInRange4_encode_xer; per_type_decoder_f OK_IntegerInRange4_decode_uper; +per_type_encoder_f OK_IntegerInRange4_encode_uper; /*** <<< CODE [OK-IntegerInRange4] >>> ***/ @@ -2059,6 +2203,7 @@ OK_IntegerInRange4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -2117,6 +2262,14 @@ OK_IntegerInRange4_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descript 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); +} + /*** <<< STAT-DEFS [OK-IntegerInRange4] >>> ***/ @@ -2138,6 +2291,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4 = { OK_IntegerInRange4_decode_xer, OK_IntegerInRange4_encode_xer, OK_IntegerInRange4_decode_uper, + OK_IntegerInRange4_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange4_tags_1, sizeof(asn_DEF_OK_IntegerInRange4_tags_1) @@ -2170,6 +2324,7 @@ der_type_encoder_f OK_IntegerInRange5_encode_der; xer_type_decoder_f OK_IntegerInRange5_decode_xer; xer_type_encoder_f OK_IntegerInRange5_encode_xer; per_type_decoder_f OK_IntegerInRange5_decode_uper; +per_type_encoder_f OK_IntegerInRange5_encode_uper; /*** <<< CODE [OK-IntegerInRange5] >>> ***/ @@ -2217,6 +2372,7 @@ OK_IntegerInRange5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -2275,6 +2431,14 @@ OK_IntegerInRange5_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descript 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); +} + /*** <<< STAT-DEFS [OK-IntegerInRange5] >>> ***/ @@ -2296,6 +2460,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5 = { OK_IntegerInRange5_decode_xer, OK_IntegerInRange5_encode_xer, OK_IntegerInRange5_decode_uper, + OK_IntegerInRange5_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_IntegerInRange5_tags_1, sizeof(asn_DEF_OK_IntegerInRange5_tags_1) @@ -2328,6 +2493,7 @@ der_type_encoder_f NO_IntegerInRange6_encode_der; xer_type_decoder_f NO_IntegerInRange6_decode_xer; xer_type_encoder_f NO_IntegerInRange6_encode_xer; per_type_decoder_f NO_IntegerInRange6_decode_uper; +per_type_encoder_f NO_IntegerInRange6_encode_uper; /*** <<< CODE [NO-IntegerInRange6] >>> ***/ @@ -2375,6 +2541,7 @@ NO_IntegerInRange6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -2433,6 +2600,14 @@ NO_IntegerInRange6_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descript 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); +} + /*** <<< STAT-DEFS [NO-IntegerInRange6] >>> ***/ @@ -2454,6 +2629,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = { NO_IntegerInRange6_decode_xer, NO_IntegerInRange6_encode_xer, NO_IntegerInRange6_decode_uper, + NO_IntegerInRange6_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_IntegerInRange6_tags_1, sizeof(asn_DEF_NO_IntegerInRange6_tags_1) @@ -2493,6 +2669,7 @@ der_type_encoder_f CN_IntegerEnumerated1_encode_der; xer_type_decoder_f CN_IntegerEnumerated1_decode_xer; xer_type_encoder_f CN_IntegerEnumerated1_encode_xer; per_type_decoder_f CN_IntegerEnumerated1_decode_uper; +per_type_encoder_f CN_IntegerEnumerated1_encode_uper; /*** <<< CODE [CN-IntegerEnumerated1] >>> ***/ @@ -2517,6 +2694,7 @@ CN_IntegerEnumerated1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -2575,6 +2753,14 @@ CN_IntegerEnumerated1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descr 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] >>> ***/ @@ -2592,6 +2778,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = { CN_IntegerEnumerated1_decode_xer, CN_IntegerEnumerated1_encode_xer, CN_IntegerEnumerated1_decode_uper, + CN_IntegerEnumerated1_encode_uper, 0, /* Use generic outmost tag fetcher */ asn_DEF_CN_IntegerEnumerated1_tags_1, sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1) @@ -2631,6 +2818,7 @@ der_type_encoder_f NO_IntegerEnumerated2_encode_der; xer_type_decoder_f NO_IntegerEnumerated2_decode_xer; xer_type_encoder_f NO_IntegerEnumerated2_encode_xer; per_type_decoder_f NO_IntegerEnumerated2_decode_uper; +per_type_encoder_f NO_IntegerEnumerated2_encode_uper; /*** <<< CODE [NO-IntegerEnumerated2] >>> ***/ @@ -2655,6 +2843,7 @@ NO_IntegerEnumerated2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -2713,6 +2902,14 @@ NO_IntegerEnumerated2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descr 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] >>> ***/ @@ -2730,6 +2927,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2 = { NO_IntegerEnumerated2_decode_xer, NO_IntegerEnumerated2_encode_xer, NO_IntegerEnumerated2_decode_uper, + NO_IntegerEnumerated2_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 443e955e..27b3dc2a 100644 --- a/tests/91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE +++ b/tests/91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE @@ -54,6 +54,7 @@ OK_Integer1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -121,7 +122,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_Integer1 = { OK_Integer1_encode_der, OK_Integer1_decode_xer, OK_Integer1_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_Integer1_tags_1, sizeof(asn_DEF_OK_Integer1_tags_1) @@ -190,6 +191,7 @@ OK_Integer2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -257,7 +259,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_Integer2 = { OK_Integer2_encode_der, OK_Integer2_decode_xer, OK_Integer2_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_Integer2_tags_1, sizeof(asn_DEF_OK_Integer2_tags_1) @@ -326,6 +328,7 @@ OK_Integer3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -393,7 +396,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_Integer3 = { OK_Integer3_encode_der, OK_Integer3_decode_xer, OK_Integer3_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_Integer3_tags_1, sizeof(asn_DEF_OK_Integer3_tags_1) @@ -462,6 +465,7 @@ OK_Integer4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->elements = asn_DEF_NativeInteger.elements; @@ -529,7 +533,7 @@ asn_TYPE_descriptor_t asn_DEF_OK_Integer4 = { OK_Integer4_encode_der, OK_Integer4_decode_xer, OK_Integer4_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OK_Integer4_tags_1, sizeof(asn_DEF_OK_Integer4_tags_1) @@ -599,6 +603,7 @@ NO_Integer5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_INTEGER.per_constraints; td->elements = asn_DEF_INTEGER.elements; @@ -666,7 +671,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_Integer5 = { NO_Integer5_encode_der, NO_Integer5_decode_xer, NO_Integer5_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_NO_Integer5_tags_1, sizeof(asn_DEF_NO_Integer5_tags_1) diff --git a/tests/92-circular-loops-OK.asn1.-P b/tests/92-circular-loops-OK.asn1.-P index 48d0c149..c0f1ca51 100644 --- a/tests/92-circular-loops-OK.asn1.-P +++ b/tests/92-circular-loops-OK.asn1.-P @@ -172,7 +172,7 @@ asn_TYPE_descriptor_t asn_DEF_Everything = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Everything_tags_1, sizeof(asn_DEF_Everything_tags_1) @@ -197,7 +197,7 @@ typedef enum Choice1_PR { Choice1_PR_NOTHING, /* No components present */ Choice1_PR_something, /* Extensions may appear below */ - Choice1_PR_some2, + Choice1_PR_some2 } Choice1_PR; /*** <<< FWD-DECLS [Choice1] >>> ***/ @@ -275,7 +275,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice1 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -299,7 +299,7 @@ typedef enum Choice2_PR { Choice2_PR_NOTHING, /* No components present */ Choice2_PR_typeref, /* Extensions may appear below */ - Choice2_PR_some3, + Choice2_PR_some3 } Choice2_PR; /*** <<< FWD-DECLS [Choice2] >>> ***/ @@ -377,7 +377,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice2 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -403,7 +403,7 @@ typedef enum Choice3_PR { Choice3_PR_NOTHING, /* No components present */ Choice3_PR_a, Choice3_PR_b, - Choice3_PR_c, + Choice3_PR_c } Choice3_PR; /*** <<< FWD-DECLS [Choice3] >>> ***/ @@ -484,7 +484,7 @@ asn_TYPE_descriptor_t asn_DEF_a_2 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_a_tags_2, sizeof(asn_DEF_a_tags_2) @@ -529,7 +529,7 @@ asn_TYPE_descriptor_t asn_DEF_c_5 = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_c_tags_5, sizeof(asn_DEF_c_tags_5) @@ -597,7 +597,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice3 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -732,7 +732,7 @@ asn_TYPE_descriptor_t asn_DEF_Member_2 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Member_tags_2, sizeof(asn_DEF_Member_tags_2) @@ -775,7 +775,7 @@ asn_TYPE_descriptor_t asn_DEF_Set = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Set_tags_1, sizeof(asn_DEF_Set_tags_1) @@ -893,7 +893,7 @@ asn_TYPE_descriptor_t asn_DEF_Sequence = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Sequence_tags_1, sizeof(asn_DEF_Sequence_tags_1) @@ -950,6 +950,7 @@ TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Sequence.per_constraints; td->elements = asn_DEF_Sequence.elements; @@ -1017,7 +1018,7 @@ asn_TYPE_descriptor_t asn_DEF_TypeRef = { TypeRef_encode_der, TypeRef_decode_xer, TypeRef_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_TypeRef_tags_1, sizeof(asn_DEF_TypeRef_tags_1) @@ -1102,7 +1103,7 @@ asn_TYPE_descriptor_t asn_DEF_b_3 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_b_tags_3, sizeof(asn_DEF_b_tags_3) @@ -1162,7 +1163,7 @@ asn_TYPE_descriptor_t asn_DEF_Alpha = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Alpha_tags_1, sizeof(asn_DEF_Alpha_tags_1) @@ -1253,7 +1254,7 @@ asn_TYPE_descriptor_t asn_DEF_Beta = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Beta_tags_1, sizeof(asn_DEF_Beta_tags_1) @@ -1357,7 +1358,7 @@ asn_TYPE_descriptor_t asn_DEF_Gamma = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Gamma_tags_1, sizeof(asn_DEF_Gamma_tags_1) @@ -1454,7 +1455,7 @@ asn_TYPE_descriptor_t asn_DEF_OneTwo = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OneTwo_tags_1, sizeof(asn_DEF_OneTwo_tags_1) @@ -1551,7 +1552,7 @@ asn_TYPE_descriptor_t asn_DEF_TwoThree = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_TwoThree_tags_1, sizeof(asn_DEF_TwoThree_tags_1) @@ -1662,7 +1663,7 @@ asn_TYPE_descriptor_t asn_DEF_ThreeOne = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_ThreeOne_tags_1, sizeof(asn_DEF_ThreeOne_tags_1) diff --git a/tests/92-circular-loops-OK.asn1.-Pfindirect-choice b/tests/92-circular-loops-OK.asn1.-Pfindirect-choice index 66e63c15..526ed930 100644 --- a/tests/92-circular-loops-OK.asn1.-Pfindirect-choice +++ b/tests/92-circular-loops-OK.asn1.-Pfindirect-choice @@ -172,7 +172,7 @@ asn_TYPE_descriptor_t asn_DEF_Everything = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Everything_tags_1, sizeof(asn_DEF_Everything_tags_1) @@ -197,7 +197,7 @@ typedef enum Choice1_PR { Choice1_PR_NOTHING, /* No components present */ Choice1_PR_something, /* Extensions may appear below */ - Choice1_PR_some2, + Choice1_PR_some2 } Choice1_PR; /*** <<< FWD-DECLS [Choice1] >>> ***/ @@ -275,7 +275,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice1 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -298,7 +298,7 @@ typedef enum Choice2_PR { Choice2_PR_NOTHING, /* No components present */ Choice2_PR_typeref, /* Extensions may appear below */ - Choice2_PR_some3, + Choice2_PR_some3 } Choice2_PR; /*** <<< FWD-DECLS [Choice2] >>> ***/ @@ -378,7 +378,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice2 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -404,7 +404,7 @@ typedef enum Choice3_PR { Choice3_PR_NOTHING, /* No components present */ Choice3_PR_a, Choice3_PR_b, - Choice3_PR_c, + Choice3_PR_c } Choice3_PR; /*** <<< FWD-DECLS [Choice3] >>> ***/ @@ -485,7 +485,7 @@ asn_TYPE_descriptor_t asn_DEF_a_2 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_a_tags_2, sizeof(asn_DEF_a_tags_2) @@ -530,7 +530,7 @@ asn_TYPE_descriptor_t asn_DEF_c_5 = { SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_c_tags_5, sizeof(asn_DEF_c_tags_5) @@ -598,7 +598,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice3 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -733,7 +733,7 @@ asn_TYPE_descriptor_t asn_DEF_Member_2 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Member_tags_2, sizeof(asn_DEF_Member_tags_2) @@ -776,7 +776,7 @@ asn_TYPE_descriptor_t asn_DEF_Set = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Set_tags_1, sizeof(asn_DEF_Set_tags_1) @@ -894,7 +894,7 @@ asn_TYPE_descriptor_t asn_DEF_Sequence = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Sequence_tags_1, sizeof(asn_DEF_Sequence_tags_1) @@ -951,6 +951,7 @@ TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { 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; if(!td->per_constraints) td->per_constraints = asn_DEF_Sequence.per_constraints; td->elements = asn_DEF_Sequence.elements; @@ -1018,7 +1019,7 @@ asn_TYPE_descriptor_t asn_DEF_TypeRef = { TypeRef_encode_der, TypeRef_decode_xer, TypeRef_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_TypeRef_tags_1, sizeof(asn_DEF_TypeRef_tags_1) @@ -1103,7 +1104,7 @@ asn_TYPE_descriptor_t asn_DEF_b_3 = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_b_tags_3, sizeof(asn_DEF_b_tags_3) @@ -1163,7 +1164,7 @@ asn_TYPE_descriptor_t asn_DEF_Alpha = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Alpha_tags_1, sizeof(asn_DEF_Alpha_tags_1) @@ -1254,7 +1255,7 @@ asn_TYPE_descriptor_t asn_DEF_Beta = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Beta_tags_1, sizeof(asn_DEF_Beta_tags_1) @@ -1358,7 +1359,7 @@ asn_TYPE_descriptor_t asn_DEF_Gamma = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Gamma_tags_1, sizeof(asn_DEF_Gamma_tags_1) @@ -1455,7 +1456,7 @@ asn_TYPE_descriptor_t asn_DEF_OneTwo = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_OneTwo_tags_1, sizeof(asn_DEF_OneTwo_tags_1) @@ -1552,7 +1553,7 @@ asn_TYPE_descriptor_t asn_DEF_TwoThree = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_TwoThree_tags_1, sizeof(asn_DEF_TwoThree_tags_1) @@ -1663,7 +1664,7 @@ asn_TYPE_descriptor_t asn_DEF_ThreeOne = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_ThreeOne_tags_1, sizeof(asn_DEF_ThreeOne_tags_1) diff --git a/tests/93-asn1c-controls-OK.asn1.-P b/tests/93-asn1c-controls-OK.asn1.-P index 0be9a2c6..c86f6cc2 100644 --- a/tests/93-asn1c-controls-OK.asn1.-P +++ b/tests/93-asn1c-controls-OK.asn1.-P @@ -66,7 +66,7 @@ asn_TYPE_descriptor_t asn_DEF_Sequence = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Sequence_tags_1, sizeof(asn_DEF_Sequence_tags_1) @@ -176,7 +176,7 @@ asn_TYPE_descriptor_t asn_DEF_Set = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Set_tags_1, sizeof(asn_DEF_Set_tags_1) @@ -205,7 +205,7 @@ typedef enum Choice_PR { Choice_PR_NOTHING, /* No components present */ Choice_PR_setof, Choice_PR_aptr, - Choice_PR_ainl, + Choice_PR_ainl } Choice_PR; /*** <<< FWD-DECLS [Choice] >>> ***/ @@ -272,7 +272,7 @@ asn_TYPE_descriptor_t asn_DEF_setof_2 = { SET_OF_encode_der, SET_OF_decode_xer, SET_OF_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_setof_tags_2, sizeof(asn_DEF_setof_tags_2) @@ -340,7 +340,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ diff --git a/tests/94-set-optionals-OK.asn1.-P b/tests/94-set-optionals-OK.asn1.-P index 879cb069..56596cd5 100644 --- a/tests/94-set-optionals-OK.asn1.-P +++ b/tests/94-set-optionals-OK.asn1.-P @@ -187,7 +187,7 @@ asn_TYPE_descriptor_t asn_DEF_TestSet = { SET_encode_der, SET_decode_xer, SET_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_TestSet_tags_1, sizeof(asn_DEF_TestSet_tags_1) diff --git a/tests/95-choice-per-order-OK.asn1.-P b/tests/95-choice-per-order-OK.asn1.-P index c1f726b2..ba97bb8e 100644 --- a/tests/95-choice-per-order-OK.asn1.-P +++ b/tests/95-choice-per-order-OK.asn1.-P @@ -16,12 +16,12 @@ typedef enum Choice_PR { Choice_PR_bitstr, Choice_PR_ch, /* Extensions may appear below */ - Choice_PR_bool, + Choice_PR_bool } Choice_PR; typedef enum ch_PR { ch_PR_NOTHING, /* No components present */ ch_PR_null, - ch_PR_int, + ch_PR_int } ch_PR; /*** <<< TYPE-DECLS [Choice] >>> ***/ @@ -103,7 +103,7 @@ asn_TYPE_descriptor_t asn_DEF_ch_4 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -180,7 +180,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -204,7 +204,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice = { typedef enum Choice2_PR { Choice2_PR_NOTHING, /* No components present */ Choice2_PR_bitstr, - Choice2_PR_roid, + Choice2_PR_roid } Choice2_PR; /*** <<< TYPE-DECLS [Choice2] >>> ***/ @@ -270,7 +270,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice2 = { CHOICE_encode_der, CHOICE_decode_xer, CHOICE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ diff --git a/tests/95-choice-per-order-OK.asn1.-Pgen-PER b/tests/95-choice-per-order-OK.asn1.-Pgen-PER index 68e9ad93..2256b5b7 100644 --- a/tests/95-choice-per-order-OK.asn1.-Pgen-PER +++ b/tests/95-choice-per-order-OK.asn1.-Pgen-PER @@ -16,12 +16,12 @@ typedef enum Choice_PR { Choice_PR_bitstr, Choice_PR_ch, /* Extensions may appear below */ - Choice_PR_bool, + Choice_PR_bool } Choice_PR; typedef enum ch_PR { ch_PR_NOTHING, /* No components present */ ch_PR_null, - ch_PR_int, + ch_PR_int } ch_PR; /*** <<< TYPE-DECLS [Choice] >>> ***/ @@ -109,6 +109,7 @@ asn_TYPE_descriptor_t asn_DEF_ch_4 = { CHOICE_decode_xer, CHOICE_encode_xer, CHOICE_decode_uper, + CHOICE_encode_uper, CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -195,6 +196,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice = { CHOICE_decode_xer, CHOICE_encode_xer, CHOICE_decode_uper, + CHOICE_encode_uper, CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ @@ -218,7 +220,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice = { typedef enum Choice2_PR { Choice2_PR_NOTHING, /* No components present */ Choice2_PR_bitstr, - Choice2_PR_roid, + Choice2_PR_roid } Choice2_PR; /*** <<< TYPE-DECLS [Choice2] >>> ***/ @@ -289,6 +291,7 @@ asn_TYPE_descriptor_t asn_DEF_Choice2 = { CHOICE_decode_xer, CHOICE_encode_xer, CHOICE_decode_uper, + CHOICE_encode_uper, CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ diff --git a/tests/98-attribute-class-OK.asn1.-P b/tests/98-attribute-class-OK.asn1.-P index 16ad64e0..72c33803 100644 --- a/tests/98-attribute-class-OK.asn1.-P +++ b/tests/98-attribute-class-OK.asn1.-P @@ -89,7 +89,7 @@ asn_TYPE_descriptor_t asn_DEF_Attribute = { SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, - 0, /* No PER decoder, -gen-PER to enable */ + 0, 0, /* No PER support, use "-gen-PER" to enable */ 0, /* Use generic outmost tag fetcher */ asn_DEF_Attribute_tags_1, sizeof(asn_DEF_Attribute_tags_1) |