Declare the tags[] tables in skeletons as const.
Constify the PER support structure.
Constify a few other private tables in the skeleton code.
diff --git a/skeletons/BIT_STRING.c b/skeletons/BIT_STRING.c
index 9b98271..9bf47f0 100644
--- a/skeletons/BIT_STRING.c
+++ b/skeletons/BIT_STRING.c
@@ -9,7 +9,7 @@
 /*
  * BIT STRING basic type description.
  */
-static ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = {
+static const ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
 };
 static asn_OCTET_STRING_specifics_t asn_DEF_BIT_STRING_specs = {
diff --git a/skeletons/BMPString.c b/skeletons/BMPString.c
index 1aa8e51..458622c 100644
--- a/skeletons/BMPString.c
+++ b/skeletons/BMPString.c
@@ -9,7 +9,7 @@
 /*
  * BMPString basic type description.
  */
-static ber_tlv_tag_t asn_DEF_BMPString_tags[] = {
+static const ber_tlv_tag_t asn_DEF_BMPString_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (30 << 2)),	/* [UNIVERSAL 30] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
diff --git a/skeletons/BOOLEAN.c b/skeletons/BOOLEAN.c
index 1b74ea1..2ba0784 100644
--- a/skeletons/BOOLEAN.c
+++ b/skeletons/BOOLEAN.c
@@ -9,7 +9,7 @@
 /*
  * BOOLEAN basic type description.
  */
-static ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = {
+static const ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (1 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_BOOLEAN = {
diff --git a/skeletons/ENUMERATED.c b/skeletons/ENUMERATED.c
index 90761a2..045554b 100644
--- a/skeletons/ENUMERATED.c
+++ b/skeletons/ENUMERATED.c
@@ -11,7 +11,7 @@
 /*
  * ENUMERATED basic type description.
  */
-static ber_tlv_tag_t asn_DEF_ENUMERATED_tags[] = {
+static const ber_tlv_tag_t asn_DEF_ENUMERATED_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_ENUMERATED = {
diff --git a/skeletons/GeneralString.c b/skeletons/GeneralString.c
index 01b606b..c398d2b 100644
--- a/skeletons/GeneralString.c
+++ b/skeletons/GeneralString.c
@@ -8,7 +8,7 @@
 /*
  * GeneralString basic type description.
  */
-static ber_tlv_tag_t asn_DEF_GeneralString_tags[] = {
+static const ber_tlv_tag_t asn_DEF_GeneralString_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (27 << 2)),	/* [UNIVERSAL 27] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
diff --git a/skeletons/GeneralizedTime.c b/skeletons/GeneralizedTime.c
index 4b0ae5d..9331cc7 100644
--- a/skeletons/GeneralizedTime.c
+++ b/skeletons/GeneralizedTime.c
@@ -145,7 +145,7 @@
 /*
  * GeneralizedTime basic type description.
  */
-static ber_tlv_tag_t asn_DEF_GeneralizedTime_tags[] = {
+static const ber_tlv_tag_t asn_DEF_GeneralizedTime_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (24 << 2)),	/* [UNIVERSAL 24] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),  /* [UNIVERSAL 26] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))    /* ... OCTET STRING */
diff --git a/skeletons/GraphicString.c b/skeletons/GraphicString.c
index 7d59d52..e572ccd 100644
--- a/skeletons/GraphicString.c
+++ b/skeletons/GraphicString.c
@@ -8,7 +8,7 @@
 /*
  * GraphicString basic type description.
  */
-static ber_tlv_tag_t asn_DEF_GraphicString_tags[] = {
+static const ber_tlv_tag_t asn_DEF_GraphicString_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (25 << 2)),	/* [UNIVERSAL 25] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
diff --git a/skeletons/IA5String.c b/skeletons/IA5String.c
index 02ecd3e..0fdc074 100644
--- a/skeletons/IA5String.c
+++ b/skeletons/IA5String.c
@@ -8,7 +8,7 @@
 /*
  * IA5String basic type description.
  */
-static ber_tlv_tag_t asn_DEF_IA5String_tags[] = {
+static const ber_tlv_tag_t asn_DEF_IA5String_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),	/* [UNIVERSAL 22] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
diff --git a/skeletons/INTEGER.c b/skeletons/INTEGER.c
index c9211c3..4295a16 100644
--- a/skeletons/INTEGER.c
+++ b/skeletons/INTEGER.c
@@ -11,7 +11,7 @@
 /*
  * INTEGER basic type description.
  */
-static ber_tlv_tag_t asn_DEF_INTEGER_tags[] = {
+static const ber_tlv_tag_t asn_DEF_INTEGER_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_INTEGER = {
diff --git a/skeletons/ISO646String.c b/skeletons/ISO646String.c
index d6ded0e..8d681c8 100644
--- a/skeletons/ISO646String.c
+++ b/skeletons/ISO646String.c
@@ -8,7 +8,7 @@
 /*
  * ISO646String basic type description.
  */
-static ber_tlv_tag_t asn_DEF_ISO646String_tags[] = {
+static const ber_tlv_tag_t asn_DEF_ISO646String_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),	/* [UNIVERSAL 26] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
diff --git a/skeletons/NULL.c b/skeletons/NULL.c
index 02c0de0..8dcb6aa 100644
--- a/skeletons/NULL.c
+++ b/skeletons/NULL.c
@@ -10,7 +10,7 @@
 /*
  * NULL basic type description.
  */
-static ber_tlv_tag_t asn_DEF_NULL_tags[] = {
+static const ber_tlv_tag_t asn_DEF_NULL_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (5 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NULL = {
diff --git a/skeletons/NativeEnumerated.c b/skeletons/NativeEnumerated.c
index bdf1102..ecf66d1 100644
--- a/skeletons/NativeEnumerated.c
+++ b/skeletons/NativeEnumerated.c
@@ -15,7 +15,7 @@
 /*
  * NativeEnumerated basic type description.
  */
-static ber_tlv_tag_t asn_DEF_NativeEnumerated_tags[] = {
+static const ber_tlv_tag_t asn_DEF_NativeEnumerated_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NativeEnumerated = {
diff --git a/skeletons/NativeInteger.c b/skeletons/NativeInteger.c
index cffd0be..7f8e927 100644
--- a/skeletons/NativeInteger.c
+++ b/skeletons/NativeInteger.c
@@ -16,7 +16,7 @@
 /*
  * NativeInteger basic type description.
  */
-static ber_tlv_tag_t asn_DEF_NativeInteger_tags[] = {
+static const ber_tlv_tag_t asn_DEF_NativeInteger_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NativeInteger = {
diff --git a/skeletons/NativeReal.c b/skeletons/NativeReal.c
index 605ecb0..3fd51a4 100644
--- a/skeletons/NativeReal.c
+++ b/skeletons/NativeReal.c
@@ -17,7 +17,7 @@
 /*
  * NativeReal basic type description.
  */
-static ber_tlv_tag_t asn_DEF_NativeReal_tags[] = {
+static const ber_tlv_tag_t asn_DEF_NativeReal_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NativeReal = {
diff --git a/skeletons/NumericString.c b/skeletons/NumericString.c
index 50fe449..b669f57 100644
--- a/skeletons/NumericString.c
+++ b/skeletons/NumericString.c
@@ -8,7 +8,7 @@
 /*
  * NumericString basic type description.
  */
-static ber_tlv_tag_t asn_DEF_NumericString_tags[] = {
+static const ber_tlv_tag_t asn_DEF_NumericString_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (18 << 2)),	/* [UNIVERSAL 18] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
diff --git a/skeletons/OBJECT_IDENTIFIER.c b/skeletons/OBJECT_IDENTIFIER.c
index 8498883..03bfc03 100644
--- a/skeletons/OBJECT_IDENTIFIER.c
+++ b/skeletons/OBJECT_IDENTIFIER.c
@@ -12,7 +12,7 @@
 /*
  * OBJECT IDENTIFIER basic type description.
  */
-static ber_tlv_tag_t asn_DEF_OBJECT_IDENTIFIER_tags[] = {
+static const ber_tlv_tag_t asn_DEF_OBJECT_IDENTIFIER_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (6 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_OBJECT_IDENTIFIER = {
diff --git a/skeletons/OCTET_STRING.c b/skeletons/OCTET_STRING.c
index f2eec13..0356c9c 100644
--- a/skeletons/OCTET_STRING.c
+++ b/skeletons/OCTET_STRING.c
@@ -11,15 +11,15 @@
 /*
  * OCTET STRING basic type description.
  */
-static ber_tlv_tag_t asn_DEF_OCTET_STRING_tags[] = {
+static const ber_tlv_tag_t asn_DEF_OCTET_STRING_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
 };
-static asn_OCTET_STRING_specifics_t asn_DEF_OCTET_STRING_specs = {
+static const asn_OCTET_STRING_specifics_t asn_DEF_OCTET_STRING_specs = {
 	sizeof(OCTET_STRING_t),
 	offsetof(OCTET_STRING_t, _asn_ctx),
 	ASN_OSUBV_STR
 };
-static asn_per_constraints_t asn_DEF_OCTET_STRING_constraints = {
+static const asn_per_constraints_t asn_DEF_OCTET_STRING_constraints = {
 	{ APC_CONSTRAINED, 8, 8, 0, 255 },
 	{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 },
 	0, 0
@@ -639,8 +639,8 @@
 	_ASN_ENCODE_FAILED;
 }
 
-static struct OCTET_STRING__xer_escape_table_s {
-	char *string;
+static const struct OCTET_STRING__xer_escape_table_s {
+	const char *string;
 	int size;
 } OCTET_STRING__xer_escape_table[] = {
 #define	OSXET(s)	{ s, sizeof(s) - 1 }
@@ -702,7 +702,7 @@
 	 * nested table lookups).
 	 */
 	for(i = 0; i < 32 /* Don't spend time on the bottom half */; i++) {
-		struct OCTET_STRING__xer_escape_table_s *el;
+		const struct OCTET_STRING__xer_escape_table_s *el;
 		el = &OCTET_STRING__xer_escape_table[i];
 		if(el->size == size && memcmp(buf, el->string, size) == 0)
 			return i;
diff --git a/skeletons/ObjectDescriptor.c b/skeletons/ObjectDescriptor.c
index cd8e8a3..31bc1b2 100644
--- a/skeletons/ObjectDescriptor.c
+++ b/skeletons/ObjectDescriptor.c
@@ -8,7 +8,7 @@
 /*
  * ObjectDescriptor basic type description.
  */
-static ber_tlv_tag_t asn_DEF_ObjectDescriptor_tags[] = {
+static const ber_tlv_tag_t asn_DEF_ObjectDescriptor_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (7 << 2)),	/* [UNIVERSAL 7] IMPLICIT ... */
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
diff --git a/skeletons/PrintableString.c b/skeletons/PrintableString.c
index c8ee3ae..173d775 100644
--- a/skeletons/PrintableString.c
+++ b/skeletons/PrintableString.c
@@ -9,7 +9,7 @@
 /*
  * ASN.1:1984 (X.409)
  */
-static int _PrintableString_alphabet[256] = {
+static const int _PrintableString_alphabet[256] = {
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,	/*                  */
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,	/*                  */
  1, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 5, 6, 7, 8, 9,	/* .      '() +,-./ */
@@ -19,7 +19,7 @@
  0,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,	/*  abcdefghijklmno */
 64,65,66,67,68,69,70,71,72,73,74, 0, 0, 0, 0, 0,	/* pqrstuvwxyz      */
 };
-static int _PrintableString_code2value[74] = { 
+static const int _PrintableString_code2value[74] = { 
 32,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,
 55,56,57,58,61,63,65,66,67,68,69,70,71,72,73,74,
 75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
@@ -29,7 +29,7 @@
 /*
  * PrintableString basic type description.
  */
-static ber_tlv_tag_t asn_DEF_PrintableString_tags[] = {
+static const ber_tlv_tag_t asn_DEF_PrintableString_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (19 << 2)),	/* [UNIVERSAL 19] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
@@ -41,7 +41,7 @@
 		return _PrintableString_code2value[code];
 	return -1;
 }
-static asn_per_constraints_t asn_DEF_PrintableString_constraints = {
+static const asn_per_constraints_t asn_DEF_PrintableString_constraints = {
 	{ APC_CONSTRAINED, 4, 4, 0x20, 0x39 },	/* Value */
 	{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 },	/* Size */
 	asn_DEF_PrintableString_v2c,
diff --git a/skeletons/REAL.c b/skeletons/REAL.c
index 1b8e30c..1212050 100644
--- a/skeletons/REAL.c
+++ b/skeletons/REAL.c
@@ -36,7 +36,7 @@
 /*
  * REAL basic type description.
  */
-static ber_tlv_tag_t asn_DEF_REAL_tags[] = {
+static const ber_tlv_tag_t asn_DEF_REAL_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_REAL = {
diff --git a/skeletons/RELATIVE-OID.c b/skeletons/RELATIVE-OID.c
index 5f4ad4a..44f2758 100644
--- a/skeletons/RELATIVE-OID.c
+++ b/skeletons/RELATIVE-OID.c
@@ -13,7 +13,7 @@
 /*
  * RELATIVE-OID basic type description.
  */
-static ber_tlv_tag_t asn_DEF_RELATIVE_OID_tags[] = {
+static const ber_tlv_tag_t asn_DEF_RELATIVE_OID_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (13 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_RELATIVE_OID = {
diff --git a/skeletons/T61String.c b/skeletons/T61String.c
index 98461bb..115d7d4 100644
--- a/skeletons/T61String.c
+++ b/skeletons/T61String.c
@@ -8,7 +8,7 @@
 /*
  * T61String basic type description.
  */
-static ber_tlv_tag_t asn_DEF_T61String_tags[] = {
+static const ber_tlv_tag_t asn_DEF_T61String_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (20 << 2)),	/* [UNIVERSAL 20] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
diff --git a/skeletons/TeletexString.c b/skeletons/TeletexString.c
index cc2acad..faad697 100644
--- a/skeletons/TeletexString.c
+++ b/skeletons/TeletexString.c
@@ -8,7 +8,7 @@
 /*
  * TeletexString basic type description.
  */
-static ber_tlv_tag_t asn_DEF_TeletexString_tags[] = {
+static const ber_tlv_tag_t asn_DEF_TeletexString_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (20 << 2)),	/* [UNIVERSAL 20] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),	/* ... OCTET STRING */
 };
diff --git a/skeletons/UTCTime.c b/skeletons/UTCTime.c
index 0abe1db..edcbaf1 100644
--- a/skeletons/UTCTime.c
+++ b/skeletons/UTCTime.c
@@ -18,7 +18,7 @@
 /*
  * UTCTime basic type description.
  */
-static ber_tlv_tag_t asn_DEF_UTCTime_tags[] = {
+static const ber_tlv_tag_t asn_DEF_UTCTime_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (23 << 2)),	/* [UNIVERSAL 23] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),  /* [UNIVERSAL 26] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))    /* ... OCTET STRING */
diff --git a/skeletons/UTF8String.c b/skeletons/UTF8String.c
index 7e73d77..5e4f250 100644
--- a/skeletons/UTF8String.c
+++ b/skeletons/UTF8String.c
@@ -9,7 +9,7 @@
 /*
  * UTF8String basic type description.
  */
-static ber_tlv_tag_t asn_DEF_UTF8String_tags[] = {
+static const ber_tlv_tag_t asn_DEF_UTF8String_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (12 << 2)),	/* [UNIVERSAL 12] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),	/* ... OCTET STRING */
 };
@@ -41,7 +41,7 @@
  * This is the table of length expectations.
  * The second half of this table is only applicable to the long sequences.
  */
-static int UTF8String_ht[2][16] = {
+static const int UTF8String_ht[2][16] = {
 	{ /* 0x0 ... 0x7 */
 	  /* 0000..0111 */
 	  1, 1, 1, 1, 1, 1, 1, 1,
@@ -52,7 +52,7 @@
 	  4, 4, 4, 4, 4, 4, 4, 4,
 	  5, 5, 5, 5, 6, 6, -1, -1 }
 };
-static int32_t UTF8String_mv[7] = { 0, 0,
+static const int32_t UTF8String_mv[7] = { 0, 0,
 	0x00000080,
 	0x00000800,
 	0x00010000,
diff --git a/skeletons/UniversalString.c b/skeletons/UniversalString.c
index 7d16781..b758be0 100644
--- a/skeletons/UniversalString.c
+++ b/skeletons/UniversalString.c
@@ -9,7 +9,7 @@
 /*
  * UniversalString basic type description.
  */
-static ber_tlv_tag_t asn_DEF_UniversalString_tags[] = {
+static const ber_tlv_tag_t asn_DEF_UniversalString_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (28 << 2)),	/* [UNIVERSAL 28] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
diff --git a/skeletons/VideotexString.c b/skeletons/VideotexString.c
index df7233e..09967db 100644
--- a/skeletons/VideotexString.c
+++ b/skeletons/VideotexString.c
@@ -8,7 +8,7 @@
 /*
  * VideotexString basic type description.
  */
-static ber_tlv_tag_t asn_DEF_VideotexString_tags[] = {
+static const ber_tlv_tag_t asn_DEF_VideotexString_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (21 << 2)),	/* [UNIVERSAL 21] IMPLICIT */
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
diff --git a/skeletons/VisibleString.c b/skeletons/VisibleString.c
index 3487b6f..baf8d0c 100644
--- a/skeletons/VisibleString.c
+++ b/skeletons/VisibleString.c
@@ -8,7 +8,7 @@
 /*
  * VisibleString basic type description.
  */
-static ber_tlv_tag_t asn_DEF_VisibleString_tags[] = {
+static const ber_tlv_tag_t asn_DEF_VisibleString_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),	/* [UNIVERSAL 26] IMPLICIT ...*/
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))	/* ... OCTET STRING */
 };
diff --git a/skeletons/per_support.h b/skeletons/per_support.h
index 10c84ed..a75ac94 100644
--- a/skeletons/per_support.h
+++ b/skeletons/per_support.h
@@ -15,7 +15,7 @@
 /*
  * Pre-computed PER constraints.
  */
-typedef struct asn_per_constraint_s {
+typedef const struct asn_per_constraint_s {
 	enum asn_per_constraint_flags {
 		APC_UNCONSTRAINED	= 0x0,	/* No PER visible constraints */
 		APC_SEMI_CONSTRAINED	= 0x1,	/* Constrained at "lb" */
@@ -27,9 +27,9 @@
 	long lower_bound;		/* "lb" value */
 	long upper_bound;		/* "ub" value */
 } asn_per_constraint_t;
-typedef struct asn_per_constraints_s {
-	asn_per_constraint_t value;
-	asn_per_constraint_t size;
+typedef const struct asn_per_constraints_s {
+	struct asn_per_constraint_s value;
+	struct asn_per_constraint_s size;
 	int (*value2code)(unsigned int value);
 	int (*code2value)(unsigned int code);
 } asn_per_constraints_t;
diff --git a/skeletons/tests/check-PER-INTEGER.c b/skeletons/tests/check-PER-INTEGER.c
index 1cb853b..fe6cf3b 100644
--- a/skeletons/tests/check-PER-INTEGER.c
+++ b/skeletons/tests/check-PER-INTEGER.c
@@ -25,7 +25,7 @@
 	INTEGER_t st;
 	INTEGER_t *reconstructed_st = 0;
 	struct asn_INTEGER_specifics_s specs;
-	asn_per_constraints_t cts;
+	struct asn_per_constraints_s cts;
 	asn_enc_rval_t enc_rval;
 	asn_dec_rval_t dec_rval;
 	asn_per_outp_t po;
diff --git a/skeletons/xer_support.c b/skeletons/xer_support.c
index 9e34e69..20f70d5 100644
--- a/skeletons/xer_support.c
+++ b/skeletons/xer_support.c
@@ -31,7 +31,7 @@
 };
 
 
-static int
+static const int
 _charclass[256] = {
 	0,0,0,0,0,0,0,0, 0,1,1,0,1,1,0,0,
 	0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,