introduce oer constraint code
diff --git a/skeletons/ANY.c b/skeletons/ANY.c
index a21a54d..9c7c561 100644
--- a/skeletons/ANY.c
+++ b/skeletons/ANY.c
@@ -35,6 +35,7 @@
#endif /* ASN_DISABLE_OER_SUPPORT */
0, /* Use generic outmost tag fetcher */
0, 0, 0, 0,
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
&asn_SPC_ANY_specs,
diff --git a/skeletons/BIT_STRING.c b/skeletons/BIT_STRING.c
index f576e5a..4ea94bf 100644
--- a/skeletons/BIT_STRING.c
+++ b/skeletons/BIT_STRING.c
@@ -48,6 +48,7 @@
asn_DEF_BIT_STRING_tags, /* Same as above */
sizeof(asn_DEF_BIT_STRING_tags)
/ sizeof(asn_DEF_BIT_STRING_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
&asn_SPC_BIT_STRING_specs
diff --git a/skeletons/BMPString.c b/skeletons/BMPString.c
index bb9a6e9..38beddd 100644
--- a/skeletons/BMPString.c
+++ b/skeletons/BMPString.c
@@ -18,7 +18,7 @@
offsetof(BMPString_t, _asn_ctx),
ASN_OSUBV_U16 /* 16-bits character */
};
-static asn_per_constraints_t asn_DEF_BMPString_constraints = {
+static asn_per_constraints_t asn_DEF_BMPString_per_constraints = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 },
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 },
0, 0
@@ -54,7 +54,8 @@
asn_DEF_BMPString_tags,
sizeof(asn_DEF_BMPString_tags)
/ sizeof(asn_DEF_BMPString_tags[0]),
- &asn_DEF_BMPString_constraints,
+ 0, /* No OER visible constraints */
+ &asn_DEF_BMPString_per_constraints,
0, 0, /* No members */
&asn_SPC_BMPString_specs
};
diff --git a/skeletons/BOOLEAN.c b/skeletons/BOOLEAN.c
index 1bf79db..060edca 100644
--- a/skeletons/BOOLEAN.c
+++ b/skeletons/BOOLEAN.c
@@ -41,6 +41,7 @@
sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
asn_DEF_BOOLEAN_tags, /* Same as above */
sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/ENUMERATED.c b/skeletons/ENUMERATED.c
index bde427e..f093575 100644
--- a/skeletons/ENUMERATED.c
+++ b/skeletons/ENUMERATED.c
@@ -43,6 +43,7 @@
sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]),
asn_DEF_ENUMERATED_tags, /* Same as above */
sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/GeneralString.c b/skeletons/GeneralString.c
index 060d17e..f3d7199 100644
--- a/skeletons/GeneralString.c
+++ b/skeletons/GeneralString.c
@@ -43,6 +43,7 @@
asn_DEF_GeneralString_tags,
sizeof(asn_DEF_GeneralString_tags)
/ sizeof(asn_DEF_GeneralString_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/GeneralizedTime.c b/skeletons/GeneralizedTime.c
index ce70260..bcdd39b 100644
--- a/skeletons/GeneralizedTime.c
+++ b/skeletons/GeneralizedTime.c
@@ -202,6 +202,7 @@
asn_DEF_GeneralizedTime_tags,
sizeof(asn_DEF_GeneralizedTime_tags)
/ sizeof(asn_DEF_GeneralizedTime_tags[0]),
+ 0, /* No OER visible constraints */
&asn_DEF_GeneralizedTime_constraints,
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/GraphicString.c b/skeletons/GraphicString.c
index caa0614..1cec7f7 100644
--- a/skeletons/GraphicString.c
+++ b/skeletons/GraphicString.c
@@ -43,6 +43,7 @@
asn_DEF_GraphicString_tags,
sizeof(asn_DEF_GraphicString_tags)
/ sizeof(asn_DEF_GraphicString_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/IA5String.c b/skeletons/IA5String.c
index f767fb2..44784ad 100644
--- a/skeletons/IA5String.c
+++ b/skeletons/IA5String.c
@@ -12,7 +12,7 @@
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), /* [UNIVERSAL 22] IMPLICIT ...*/
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */
};
-static asn_per_constraints_t asn_DEF_IA5String_constraints = {
+static asn_per_constraints_t asn_DEF_IA5String_per_constraints = {
{ APC_CONSTRAINED, 7, 7, 0, 0x7f }, /* Value */
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */
0, 0
@@ -48,7 +48,8 @@
asn_DEF_IA5String_tags,
sizeof(asn_DEF_IA5String_tags)
/ sizeof(asn_DEF_IA5String_tags[0]),
- &asn_DEF_IA5String_constraints,
+ 0, /* No OER visible constraints */
+ &asn_DEF_IA5String_per_constraints,
0, 0, /* No members */
0 /* No specifics */
};
diff --git a/skeletons/INTEGER.c b/skeletons/INTEGER.c
index b26a81f..1533b47 100644
--- a/skeletons/INTEGER.c
+++ b/skeletons/INTEGER.c
@@ -44,6 +44,7 @@
sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]),
asn_DEF_INTEGER_tags, /* Same as above */
sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/INTEGER.h b/skeletons/INTEGER.h
index 0986ec4..86b603b 100644
--- a/skeletons/INTEGER.h
+++ b/skeletons/INTEGER.h
@@ -7,6 +7,7 @@
#include <asn_application.h>
#include <asn_codecs_prim.h>
+#include <INTEGER_oer.h>
#ifdef __cplusplus
extern "C" {
@@ -41,8 +42,6 @@
xer_type_encoder_f INTEGER_encode_xer;
per_type_decoder_f INTEGER_decode_uper;
per_type_encoder_f INTEGER_encode_uper;
-oer_type_decoder_f INTEGER_decode_oer;
-oer_type_encoder_f INTEGER_encode_oer;
/***********************************
* Some handy conversion routines. *
diff --git a/skeletons/ISO646String.c b/skeletons/ISO646String.c
index a29a130..5d30c28 100644
--- a/skeletons/ISO646String.c
+++ b/skeletons/ISO646String.c
@@ -12,7 +12,7 @@
(ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), /* [UNIVERSAL 26] IMPLICIT ...*/
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */
};
-static asn_per_constraints_t asn_DEF_ISO646String_constraints = {
+static asn_per_constraints_t asn_DEF_ISO646String_per_constraints = {
{ APC_CONSTRAINED, 7, 7, 0x20, 0x7e }, /* Value */
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */
0, 0
@@ -48,7 +48,8 @@
asn_DEF_ISO646String_tags,
sizeof(asn_DEF_ISO646String_tags)
/ sizeof(asn_DEF_ISO646String_tags[0]),
- &asn_DEF_ISO646String_constraints,
+ 0, /* No OER visible constraints */
+ &asn_DEF_ISO646String_per_constraints,
0, 0, /* No members */
0 /* No specifics */
};
diff --git a/skeletons/NULL.c b/skeletons/NULL.c
index d966827..03090d1 100644
--- a/skeletons/NULL.c
+++ b/skeletons/NULL.c
@@ -42,6 +42,7 @@
sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]),
asn_DEF_NULL_tags, /* Same as above */
sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/NativeEnumerated.c b/skeletons/NativeEnumerated.c
index c21f87a..3fb91ed 100644
--- a/skeletons/NativeEnumerated.c
+++ b/skeletons/NativeEnumerated.c
@@ -47,6 +47,7 @@
sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]),
asn_DEF_NativeEnumerated_tags, /* Same as above */
sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/NativeInteger.c b/skeletons/NativeInteger.c
index 2839dc4..fde6557 100644
--- a/skeletons/NativeInteger.c
+++ b/skeletons/NativeInteger.c
@@ -48,6 +48,7 @@
sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]),
asn_DEF_NativeInteger_tags, /* Same as above */
sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/NativeReal.c b/skeletons/NativeReal.c
index 5ecb59a..1118954 100644
--- a/skeletons/NativeReal.c
+++ b/skeletons/NativeReal.c
@@ -49,6 +49,7 @@
sizeof(asn_DEF_NativeReal_tags) / sizeof(asn_DEF_NativeReal_tags[0]),
asn_DEF_NativeReal_tags, /* Same as above */
sizeof(asn_DEF_NativeReal_tags) / sizeof(asn_DEF_NativeReal_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/NumericString.c b/skeletons/NumericString.c
index bb6a098..8405966 100644
--- a/skeletons/NumericString.c
+++ b/skeletons/NumericString.c
@@ -31,7 +31,7 @@
return 0x20;
}
}
-static asn_per_constraints_t asn_DEF_NumericString_constraints = {
+static asn_per_constraints_t asn_DEF_NumericString_per_constraints = {
{ APC_CONSTRAINED, 4, 4, 0x20, 0x39 }, /* Value */
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */
asn_DEF_NumericString_v2c,
@@ -68,7 +68,8 @@
asn_DEF_NumericString_tags,
sizeof(asn_DEF_NumericString_tags)
/ sizeof(asn_DEF_NumericString_tags[0]),
- &asn_DEF_NumericString_constraints,
+ 0, /* No OER visible constraints */
+ &asn_DEF_NumericString_per_constraints,
0, 0, /* No members */
0 /* No specifics */
};
diff --git a/skeletons/OBJECT_IDENTIFIER.c b/skeletons/OBJECT_IDENTIFIER.c
index f414f68..4e865ae 100644
--- a/skeletons/OBJECT_IDENTIFIER.c
+++ b/skeletons/OBJECT_IDENTIFIER.c
@@ -46,6 +46,7 @@
asn_DEF_OBJECT_IDENTIFIER_tags, /* Same as above */
sizeof(asn_DEF_OBJECT_IDENTIFIER_tags)
/ sizeof(asn_DEF_OBJECT_IDENTIFIER_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/OCTET_STRING.c b/skeletons/OCTET_STRING.c
index fa3d65e..c533461 100644
--- a/skeletons/OCTET_STRING.c
+++ b/skeletons/OCTET_STRING.c
@@ -55,6 +55,7 @@
asn_DEF_OCTET_STRING_tags, /* Same as above */
sizeof(asn_DEF_OCTET_STRING_tags)
/ sizeof(asn_DEF_OCTET_STRING_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
&asn_SPC_OCTET_STRING_specs
diff --git a/skeletons/ObjectDescriptor.c b/skeletons/ObjectDescriptor.c
index 65b00d5..478a7c7 100644
--- a/skeletons/ObjectDescriptor.c
+++ b/skeletons/ObjectDescriptor.c
@@ -43,6 +43,7 @@
asn_DEF_ObjectDescriptor_tags,
sizeof(asn_DEF_ObjectDescriptor_tags)
/ sizeof(asn_DEF_ObjectDescriptor_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/PrintableString.c b/skeletons/PrintableString.c
index 48ee751..3360c2d 100644
--- a/skeletons/PrintableString.c
+++ b/skeletons/PrintableString.c
@@ -41,7 +41,7 @@
return _PrintableString_code2value[code];
return -1;
}
-static asn_per_constraints_t asn_DEF_PrintableString_constraints = {
+static asn_per_constraints_t asn_DEF_PrintableString_per_constraints = {
{ APC_CONSTRAINED, 4, 4, 0x20, 0x39 }, /* Value */
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */
asn_DEF_PrintableString_v2c,
@@ -78,7 +78,8 @@
asn_DEF_PrintableString_tags,
sizeof(asn_DEF_PrintableString_tags)
/ sizeof(asn_DEF_PrintableString_tags[0]),
- &asn_DEF_PrintableString_constraints,
+ 0, /* No OER visible constraints */
+ &asn_DEF_PrintableString_per_constraints,
0, 0, /* No members */
0 /* No specifics */
};
diff --git a/skeletons/REAL.c b/skeletons/REAL.c
index 2993b7c..3a166fe 100644
--- a/skeletons/REAL.c
+++ b/skeletons/REAL.c
@@ -70,6 +70,7 @@
sizeof(asn_DEF_REAL_tags) / sizeof(asn_DEF_REAL_tags[0]),
asn_DEF_REAL_tags, /* Same as above */
sizeof(asn_DEF_REAL_tags) / sizeof(asn_DEF_REAL_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/RELATIVE-OID.c b/skeletons/RELATIVE-OID.c
index eb10510..0a2f534 100644
--- a/skeletons/RELATIVE-OID.c
+++ b/skeletons/RELATIVE-OID.c
@@ -47,6 +47,7 @@
asn_DEF_RELATIVE_OID_tags, /* Same as above */
sizeof(asn_DEF_RELATIVE_OID_tags)
/ sizeof(asn_DEF_RELATIVE_OID_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/T61String.c b/skeletons/T61String.c
index 5f54e37..06c0dc6 100644
--- a/skeletons/T61String.c
+++ b/skeletons/T61String.c
@@ -43,6 +43,7 @@
asn_DEF_T61String_tags,
sizeof(asn_DEF_T61String_tags)
/ sizeof(asn_DEF_T61String_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/TeletexString.c b/skeletons/TeletexString.c
index 9076238..ad707c8 100644
--- a/skeletons/TeletexString.c
+++ b/skeletons/TeletexString.c
@@ -43,6 +43,7 @@
asn_DEF_TeletexString_tags,
sizeof(asn_DEF_TeletexString_tags)
/ sizeof(asn_DEF_TeletexString_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/UTCTime.c b/skeletons/UTCTime.c
index 8852d5b..024c069 100644
--- a/skeletons/UTCTime.c
+++ b/skeletons/UTCTime.c
@@ -59,6 +59,7 @@
asn_DEF_UTCTime_tags,
sizeof(asn_DEF_UTCTime_tags)
/ sizeof(asn_DEF_UTCTime_tags[0]),
+ 0, /* No OER visible constraints */
&asn_DEF_UTCTime_constraints,
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/UTF8String.c b/skeletons/UTF8String.c
index d7f5a38..7532864 100644
--- a/skeletons/UTF8String.c
+++ b/skeletons/UTF8String.c
@@ -44,6 +44,7 @@
asn_DEF_UTF8String_tags,
sizeof(asn_DEF_UTF8String_tags)
/ sizeof(asn_DEF_UTF8String_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/UniversalString.c b/skeletons/UniversalString.c
index 657fcc2..b947810 100644
--- a/skeletons/UniversalString.c
+++ b/skeletons/UniversalString.c
@@ -18,7 +18,7 @@
offsetof(UniversalString_t, _asn_ctx),
ASN_OSUBV_U32 /* 32-bits character */
};
-static asn_per_constraints_t asn_DEF_UniversalString_constraints = {
+static asn_per_constraints_t asn_DEF_UniversalString_per_constraints = {
{ APC_CONSTRAINED, 32, 32, 0, 2147483647 },
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 },
0, 0
@@ -54,7 +54,8 @@
asn_DEF_UniversalString_tags,
sizeof(asn_DEF_UniversalString_tags)
/ sizeof(asn_DEF_UniversalString_tags[0]),
- &asn_DEF_UniversalString_constraints,
+ 0, /* No OER visible constraints */
+ &asn_DEF_UniversalString_per_constraints,
0, 0, /* No members */
&asn_SPC_UniversalString_specs
};
diff --git a/skeletons/VideotexString.c b/skeletons/VideotexString.c
index 12063db..760fb06 100644
--- a/skeletons/VideotexString.c
+++ b/skeletons/VideotexString.c
@@ -43,6 +43,7 @@
asn_DEF_VideotexString_tags,
sizeof(asn_DEF_VideotexString_tags)
/ sizeof(asn_DEF_VideotexString_tags[0]),
+ 0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/VisibleString.c b/skeletons/VisibleString.c
index f57241c..0411b05 100644
--- a/skeletons/VisibleString.c
+++ b/skeletons/VisibleString.c
@@ -48,6 +48,7 @@
asn_DEF_VisibleString_tags,
sizeof(asn_DEF_VisibleString_tags)
/ sizeof(asn_DEF_VisibleString_tags[0]),
+ 0, /* No OER visible constraints */
&asn_DEF_VisibleString_constraints,
0, 0, /* No members */
0 /* No specifics */
diff --git a/skeletons/constr_TYPE.h b/skeletons/constr_TYPE.h
index 651cc2e..19ab7ce 100644
--- a/skeletons/constr_TYPE.h
+++ b/skeletons/constr_TYPE.h
@@ -117,7 +117,8 @@
const ber_tlv_tag_t *all_tags; /* Every tag for BER/containment */
int all_tags_count; /* Number of tags */
- asn_per_constraints_t *per_constraints; /* PER compiled constraints */
+ asn_oer_constraints_t *oer_constraints; /* OER constraints */
+ asn_per_constraints_t *per_constraints; /* PER constraints */
/*
* An ASN.1 production type members (members of SEQUENCE, SET, CHOICE).