aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvlm <vlm@59561ff5-6e30-0410-9f3c-9617f08c8826>2006-08-18 01:46:46 +0000
committervlm <vlm@59561ff5-6e30-0410-9f3c-9617f08c8826>2006-08-18 01:46:46 +0000
commitb1b193efcde1b157e50cd6d39688763ca1fcf6df (patch)
tree191d43b8908647b9c3274080b1e6d1daae841bd4
parent6aa5098dd5347873e07945ab7bf188d8196513d1 (diff)
per support
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1129 59561ff5-6e30-0410-9f3c-9617f08c8826
-rw-r--r--asn1c/tests/Makefile.am4
-rw-r--r--asn1c/tests/Makefile.in5
-rw-r--r--skeletons/per_support.c1
-rw-r--r--tests/104-param-1-OK.asn1.-P6
-rw-r--r--tests/105-param-2-OK.asn1.-P12
-rw-r--r--tests/106-param-constr-OK.asn1.-P19
-rw-r--r--tests/108-param-constr-3-OK.asn1.-P6
-rw-r--r--tests/110-param-3-OK.asn1.-P43
-rw-r--r--tests/19-param-OK.asn1.-P11
-rw-r--r--tests/30-set-OK.asn1.-P2
-rw-r--r--tests/31-set-of-OK.asn1.-P16
-rw-r--r--tests/32-sequence-of-OK.asn1.-P14
-rw-r--r--tests/39-sequence-of-OK.asn1.-P6
-rw-r--r--tests/42-real-life-OK.asn1.-PR24
-rw-r--r--tests/43-recursion-OK.asn1.-P16
-rw-r--r--tests/44-choice-in-sequence-OK.asn1.-P14
-rw-r--r--tests/46-redefine-OK.asn1.-PR8
-rw-r--r--tests/47-set-ext-OK.asn1.-P10
-rw-r--r--tests/50-constraint-OK.asn1.-P114
-rw-r--r--tests/50-constraint-OK.asn1.-Pgen-PER327
-rw-r--r--tests/59-choice-extended-OK.asn1.-P4
-rw-r--r--tests/60-any-OK.asn1.-P6
-rw-r--r--tests/65-multi-tag-OK.asn1.-P23
-rw-r--r--tests/65-multi-tag-OK.asn1.-Pfnative-types23
-rw-r--r--tests/66-ref-simple-OK.asn1.-P5
-rw-r--r--tests/69-reserved-words-OK.asn1.-P4
-rw-r--r--tests/70-xer-test-OK.asn1.-P46
-rw-r--r--tests/72-same-names-OK.asn1.-P24
-rw-r--r--tests/73-circular-OK.asn1.-P33
-rw-r--r--tests/84-param-tags-OK.asn1.-P44
-rw-r--r--tests/88-integer-enum-OK.asn1.-P3
-rw-r--r--tests/89-bit-string-enum-OK.asn1.-P4
-rw-r--r--tests/89-bit-string-enum-OK.asn1.-Pfcompound-names4
-rw-r--r--tests/90-cond-int-type-OK.asn1.-P54
-rw-r--r--tests/90-cond-int-type-OK.asn1.-Pfnative-types54
-rw-r--r--tests/90-cond-int-type-OK.asn1.-Pgen-PER198
-rw-r--r--tests/91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE15
-rw-r--r--tests/92-circular-loops-OK.asn1.-P41
-rw-r--r--tests/92-circular-loops-OK.asn1.-Pfindirect-choice41
-rw-r--r--tests/93-asn1c-controls-OK.asn1.-P10
-rw-r--r--tests/94-set-optionals-OK.asn1.-P2
-rw-r--r--tests/95-choice-per-order-OK.asn1.-P12
-rw-r--r--tests/95-choice-per-order-OK.asn1.-Pgen-PER9
-rw-r--r--tests/98-attribute-class-OK.asn1.-P2
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)