Simplify the logic of accessing codec function for specific TYPE
diff --git a/skeletons/ANY.c b/skeletons/ANY.c
index 30f1e29..7989559 100644
--- a/skeletons/ANY.c
+++ b/skeletons/ANY.c
@@ -6,7 +6,7 @@
#include <ANY.h>
#include <errno.h>
-static asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs = {
+asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs = {
sizeof(ANY_t),
offsetof(ANY_t, _asn_ctx),
ASN_OSUBV_ANY
diff --git a/skeletons/ANY.h b/skeletons/ANY.h
index b7d92fa..3df5b76 100644
--- a/skeletons/ANY.h
+++ b/skeletons/ANY.h
@@ -19,6 +19,7 @@
} ANY_t;
extern asn_TYPE_descriptor_t asn_DEF_ANY;
+extern asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs;
asn_struct_free_f ANY_free;
asn_struct_print_f ANY_print;
@@ -26,6 +27,13 @@
der_type_encoder_f ANY_encode_der;
xer_type_encoder_f ANY_encode_xer;
+#define ANY_free OCTET_STRING_free
+#define ANY_print OCTET_STRING_print
+#define ANY_constraint asn_generic_no_constraint
+#define ANY_decode_ber OCTET_STRING_decode_ber
+#define ANY_encode_der OCTET_STRING_encode_der
+#define ANY_decode_xer OCTET_STRING_decode_xer_hex
+
/******************************
* Handy conversion routines. *
******************************/
diff --git a/skeletons/BIT_STRING.c b/skeletons/BIT_STRING.c
index 4aa1548..f247359 100644
--- a/skeletons/BIT_STRING.c
+++ b/skeletons/BIT_STRING.c
@@ -12,7 +12,7 @@
static const ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
-static asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs = {
+asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs = {
sizeof(BIT_STRING_t),
offsetof(BIT_STRING_t, _asn_ctx),
ASN_OSUBV_BIT
diff --git a/skeletons/BIT_STRING.h b/skeletons/BIT_STRING.h
index 732e878..ffca5f7 100644
--- a/skeletons/BIT_STRING.h
+++ b/skeletons/BIT_STRING.h
@@ -21,11 +21,19 @@
} BIT_STRING_t;
extern asn_TYPE_descriptor_t asn_DEF_BIT_STRING;
+extern asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs;
asn_struct_print_f BIT_STRING_print; /* Human-readable output */
asn_constr_check_f BIT_STRING_constraint;
xer_type_encoder_f BIT_STRING_encode_xer;
+#define BIT_STRING_free OCTET_STRING_free
+#define BIT_STRING_decode_ber OCTET_STRING_decode_ber
+#define BIT_STRING_encode_der OCTET_STRING_encode_der
+#define BIT_STRING_decode_xer OCTET_STRING_decode_xer_binary
+#define BIT_STRING_decode_uper OCTET_STRING_decode_uper
+#define BIT_STRING_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/BMPString.c b/skeletons/BMPString.c
index cca7d72..26320b0 100644
--- a/skeletons/BMPString.c
+++ b/skeletons/BMPString.c
@@ -13,7 +13,7 @@
(ASN_TAG_CLASS_UNIVERSAL | (30 << 2)), /* [UNIVERSAL 30] IMPLICIT ...*/
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */
};
-static asn_OCTET_STRING_specifics_t asn_SPC_BMPString_specs = {
+asn_OCTET_STRING_specifics_t asn_SPC_BMPString_specs = {
sizeof(BMPString_t),
offsetof(BMPString_t, _asn_ctx),
ASN_OSUBV_U16 /* 16-bits character */
diff --git a/skeletons/BMPString.h b/skeletons/BMPString.h
index a4725fa..80b0854 100644
--- a/skeletons/BMPString.h
+++ b/skeletons/BMPString.h
@@ -14,11 +14,20 @@
typedef OCTET_STRING_t BMPString_t; /* Implemented via OCTET STRING */
extern asn_TYPE_descriptor_t asn_DEF_BMPString;
+extern asn_OCTET_STRING_specifics_t asn_SPC_BMPString_specs;
asn_struct_print_f BMPString_print; /* Human-readable output */
xer_type_decoder_f BMPString_decode_xer;
xer_type_encoder_f BMPString_encode_xer;
+#define BMPString_free OCTET_STRING_free
+#define BMPString_print BMPString_print
+#define BMPString_constraint asn_generic_no_constraint
+#define BMPString_decode_ber OCTET_STRING_decode_ber
+#define BMPString_encode_der OCTET_STRING_encode_der
+#define BMPString_decode_uper OCTET_STRING_decode_uper
+#define BMPString_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/BOOLEAN.h b/skeletons/BOOLEAN.h
index 217d0f1..96e50a4 100644
--- a/skeletons/BOOLEAN.h
+++ b/skeletons/BOOLEAN.h
@@ -29,6 +29,8 @@
per_type_decoder_f BOOLEAN_decode_uper;
per_type_encoder_f BOOLEAN_encode_uper;
+#define BOOLEAN_constraint asn_generic_no_constraint
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/ENUMERATED.h b/skeletons/ENUMERATED.h
index 542dcae..8e77736 100644
--- a/skeletons/ENUMERATED.h
+++ b/skeletons/ENUMERATED.h
@@ -18,6 +18,14 @@
per_type_decoder_f ENUMERATED_decode_uper;
per_type_encoder_f ENUMERATED_encode_uper;
+#define ENUMERATED_free ASN__PRIMITIVE_TYPE_free
+#define ENUMERATED_print INTEGER_print
+#define ENUMERATED_constraint asn_generic_no_constraint
+#define ENUMERATED_decode_ber ber_decode_primitive
+#define ENUMERATED_encode_der INTEGER_encode_der
+#define ENUMERATED_decode_xer INTEGER_decode_xer
+#define ENUMERATED_encode_xer INTEGER_encode_xer
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/GeneralString.h b/skeletons/GeneralString.h
index 70ef1ab..508e224 100644
--- a/skeletons/GeneralString.h
+++ b/skeletons/GeneralString.h
@@ -15,6 +15,16 @@
extern asn_TYPE_descriptor_t asn_DEF_GeneralString;
+#define GeneralString_free OCTET_STRING_free
+#define GeneralString_print OCTET_STRING_print
+#define GeneralString_constraint asn_generic_unknown_constraint
+#define GeneralString_decode_ber OCTET_STRING_decode_ber
+#define GeneralString_encode_der OCTET_STRING_encode_der
+#define GeneralString_decode_xer OCTET_STRING_decode_xer_hex
+#define GeneralString_encode_xer OCTET_STRING_encode_xer
+#define GeneralString_decode_uper OCTET_STRING_decode_uper
+#define GeneralString_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/GeneralizedTime.h b/skeletons/GeneralizedTime.h
index 1ea06b0..8dd6f27 100644
--- a/skeletons/GeneralizedTime.h
+++ b/skeletons/GeneralizedTime.h
@@ -20,6 +20,12 @@
der_type_encoder_f GeneralizedTime_encode_der;
xer_type_encoder_f GeneralizedTime_encode_xer;
+#define GeneralizedTime_free OCTET_STRING_free
+#define GeneralizedTime_decode_ber OCTET_STRING_decode_ber
+#define GeneralizedTime_decode_xer OCTET_STRING_decode_xer_utf8
+#define GeneralizedTime_decode_uper OCTET_STRING_decode_uper
+#define GeneralizedTime_encode_uper OCTET_STRING_encode_uper
+
/***********************
* Some handy helpers. *
***********************/
diff --git a/skeletons/GraphicString.h b/skeletons/GraphicString.h
index 7bc9492..3f91b50 100644
--- a/skeletons/GraphicString.h
+++ b/skeletons/GraphicString.h
@@ -15,6 +15,16 @@
extern asn_TYPE_descriptor_t asn_DEF_GraphicString;
+#define GraphicString_free OCTET_STRING_free
+#define GraphicString_print OCTET_STRING_print
+#define GraphicString_constraint asn_generic_unknown_constraint
+#define GraphicString_decode_ber OCTET_STRING_decode_ber
+#define GraphicString_encode_der OCTET_STRING_encode_der
+#define GraphicString_decode_xer OCTET_STRING_decode_xer_hex
+#define GraphicString_encode_xer OCTET_STRING_encode_xer
+#define GraphicString_decode_uper OCTET_STRING_decode_uper
+#define GraphicString_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/IA5String.h b/skeletons/IA5String.h
index e2a909d..6f53dc8 100644
--- a/skeletons/IA5String.h
+++ b/skeletons/IA5String.h
@@ -20,6 +20,15 @@
asn_constr_check_f IA5String_constraint;
+#define IA5String_free OCTET_STRING_free
+#define IA5String_print OCTET_STRING_print_utf8
+#define IA5String_decode_ber OCTET_STRING_decode_ber
+#define IA5String_encode_der OCTET_STRING_encode_der
+#define IA5String_decode_xer OCTET_STRING_decode_xer_utf8
+#define IA5String_encode_xer OCTET_STRING_encode_xer_utf8
+#define IA5String_decode_uper OCTET_STRING_decode_uper
+#define IA5String_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/ISO646String.h b/skeletons/ISO646String.h
index b42dd0d..6478a2b 100644
--- a/skeletons/ISO646String.h
+++ b/skeletons/ISO646String.h
@@ -16,6 +16,16 @@
extern asn_TYPE_descriptor_t asn_DEF_ISO646String;
+#define ISO646String_free OCTET_STRING_free
+#define ISO646String_print OCTET_STRING_print_utf8
+#define ISO646String_constraint VisibleString_constraint
+#define ISO646String_decode_ber OCTET_STRING_decode_ber
+#define ISO646String_encode_der OCTET_STRING_encode_der
+#define ISO646String_decode_xer OCTET_STRING_decode_xer_utf8
+#define ISO646String_encode_xer OCTET_STRING_encode_xer_utf8
+#define ISO646String_decode_uper OCTET_STRING_decode_uper
+#define ISO646String_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/NULL.h b/skeletons/NULL.h
index 131e775..4c9104b 100644
--- a/skeletons/NULL.h
+++ b/skeletons/NULL.h
@@ -6,6 +6,7 @@
#define ASN_TYPE_NULL_H
#include <asn_application.h>
+#include <BOOLEAN.h>
#ifdef __cplusplus
extern "C" {
@@ -26,6 +27,10 @@
per_type_decoder_f NULL_decode_uper;
per_type_encoder_f NULL_encode_uper;
+#define NULL_free BOOLEAN_free
+#define NULL_decode_ber BOOLEAN_decode_ber
+#define NULL_constraint asn_generic_no_constraint
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/NativeEnumerated.h b/skeletons/NativeEnumerated.h
index c59bb1b..aa3019a 100644
--- a/skeletons/NativeEnumerated.h
+++ b/skeletons/NativeEnumerated.h
@@ -25,6 +25,13 @@
per_type_decoder_f NativeEnumerated_decode_uper;
per_type_encoder_f NativeEnumerated_encode_uper;
+#define NativeEnumerated_free NativeInteger_free
+#define NativeEnumerated_print NativeInteger_print
+#define NativeEnumerated_constraint asn_generic_no_constraint
+#define NativeEnumerated_decode_ber NativeInteger_decode_ber
+#define NativeEnumerated_encode_der NativeInteger_encode_der
+#define NativeEnumerated_decode_xer NativeInteger_decode_xer
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/NativeInteger.h b/skeletons/NativeInteger.h
index 2345076..c57aad1 100644
--- a/skeletons/NativeInteger.h
+++ b/skeletons/NativeInteger.h
@@ -32,6 +32,8 @@
per_type_decoder_f NativeInteger_decode_uper;
per_type_encoder_f NativeInteger_encode_uper;
+#define NativeInteger_constraint asn_generic_no_constraint
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/NativeReal.h b/skeletons/NativeReal.h
index 68a81d9..884ff69 100644
--- a/skeletons/NativeReal.h
+++ b/skeletons/NativeReal.h
@@ -28,6 +28,8 @@
per_type_decoder_f NativeReal_decode_uper;
per_type_encoder_f NativeReal_encode_uper;
+#define NativeReal_constraint asn_generic_no_constraint
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/NumericString.h b/skeletons/NumericString.h
index 51e24e8..aec4365 100644
--- a/skeletons/NumericString.h
+++ b/skeletons/NumericString.h
@@ -17,6 +17,15 @@
asn_constr_check_f NumericString_constraint;
+#define NumericString_free OCTET_STRING_free
+#define NumericString_print OCTET_STRING_print_utf8
+#define NumericString_decode_ber OCTET_STRING_decode_ber
+#define NumericString_encode_der OCTET_STRING_encode_der
+#define NumericString_decode_xer OCTET_STRING_decode_xer_utf8
+#define NumericString_encode_xer OCTET_STRING_encode_xer_utf8
+#define NumericString_decode_uper OCTET_STRING_decode_uper
+#define NumericString_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/OBJECT_IDENTIFIER.h b/skeletons/OBJECT_IDENTIFIER.h
index c2c6373..9dbadea 100644
--- a/skeletons/OBJECT_IDENTIFIER.h
+++ b/skeletons/OBJECT_IDENTIFIER.h
@@ -23,6 +23,12 @@
xer_type_decoder_f OBJECT_IDENTIFIER_decode_xer;
xer_type_encoder_f OBJECT_IDENTIFIER_encode_xer;
+#define OBJECT_IDENTIFIER_free ASN__PRIMITIVE_TYPE_free
+#define OBJECT_IDENTIFIER_decode_ber ber_decode_primitive
+#define OBJECT_IDENTIFIER_encode_der der_encode_primitive
+#define OBJECT_IDENTIFIER_decode_uper OCTET_STRING_decode_uper
+#define OBJECT_IDENTIFIER_encode_uper OCTET_STRING_encode_uper
+
/**********************************
* Some handy conversion routines *
**********************************/
diff --git a/skeletons/OCTET_STRING.c b/skeletons/OCTET_STRING.c
index d9a8c8b..f5f1cce 100644
--- a/skeletons/OCTET_STRING.c
+++ b/skeletons/OCTET_STRING.c
@@ -14,7 +14,7 @@
static const ber_tlv_tag_t asn_DEF_OCTET_STRING_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
-static asn_OCTET_STRING_specifics_t asn_SPC_OCTET_STRING_specs = {
+asn_OCTET_STRING_specifics_t asn_SPC_OCTET_STRING_specs = {
sizeof(OCTET_STRING_t),
offsetof(OCTET_STRING_t, _asn_ctx),
ASN_OSUBV_STR
diff --git a/skeletons/OCTET_STRING.h b/skeletons/OCTET_STRING.h
index 7261992..59f8848 100644
--- a/skeletons/OCTET_STRING.h
+++ b/skeletons/OCTET_STRING.h
@@ -35,6 +35,9 @@
per_type_decoder_f OCTET_STRING_decode_uper;
per_type_encoder_f OCTET_STRING_encode_uper;
+#define OCTET_STRING_constraint asn_generic_no_constraint
+#define OCTET_STRING_decode_xer OCTET_STRING_decode_xer_hex
+
/******************************
* Handy conversion routines. *
******************************/
@@ -81,6 +84,8 @@
} subvariant;
} asn_OCTET_STRING_specifics_t;
+extern asn_OCTET_STRING_specifics_t asn_SPC_OCTET_STRING_specs;
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/ObjectDescriptor.h b/skeletons/ObjectDescriptor.h
index fa1753e..d88e761 100644
--- a/skeletons/ObjectDescriptor.h
+++ b/skeletons/ObjectDescriptor.h
@@ -15,6 +15,16 @@
extern asn_TYPE_descriptor_t asn_DEF_ObjectDescriptor;
+#define ObjectDescriptor_free OCTET_STRING_free
+#define ObjectDescriptor_print OCTET_STRING_print_utf8
+#define ObjectDescriptor_constraint asn_generic_unknown_constraint
+#define ObjectDescriptor_decode_ber OCTET_STRING_decode_ber
+#define ObjectDescriptor_encode_der OCTET_STRING_encode_der
+#define ObjectDescriptor_decode_xer OCTET_STRING_decode_xer_utf8
+#define ObjectDescriptor_encode_xer OCTET_STRING_encode_xer_utf8
+#define ObjectDescriptor_decode_uper OCTET_STRING_decode_uper
+#define ObjectDescriptor_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/PrintableString.h b/skeletons/PrintableString.h
index 2ece440..19a6bbb 100644
--- a/skeletons/PrintableString.h
+++ b/skeletons/PrintableString.h
@@ -17,6 +17,15 @@
asn_constr_check_f PrintableString_constraint;
+#define PrintableString_free OCTET_STRING_free
+#define PrintableString_print OCTET_STRING_print_utf8
+#define PrintableString_decode_ber OCTET_STRING_decode_ber
+#define PrintableString_encode_der OCTET_STRING_encode_der
+#define PrintableString_decode_xer OCTET_STRING_decode_xer_utf8
+#define PrintableString_encode_xer OCTET_STRING_encode_xer_utf8
+#define PrintableString_decode_uper OCTET_STRING_decode_uper
+#define PrintableString_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/REAL.h b/skeletons/REAL.h
index af3e84c..668f786 100644
--- a/skeletons/REAL.h
+++ b/skeletons/REAL.h
@@ -22,6 +22,11 @@
per_type_decoder_f REAL_decode_uper;
per_type_encoder_f REAL_encode_uper;
+#define REAL_free ASN__PRIMITIVE_TYPE_free,
+#define REAL_constraint asn_generic_no_constraint
+#define REAL_decode_ber ber_decode_primitive
+#define REAL_encode_der der_encode_primitive
+
/***********************************
* Some handy conversion routines. *
***********************************/
diff --git a/skeletons/RELATIVE-OID.h b/skeletons/RELATIVE-OID.h
index 65acaab..bd3a9a3 100644
--- a/skeletons/RELATIVE-OID.h
+++ b/skeletons/RELATIVE-OID.h
@@ -20,6 +20,13 @@
xer_type_decoder_f RELATIVE_OID_decode_xer;
xer_type_encoder_f RELATIVE_OID_encode_xer;
+#define RELATIVE_OID_free ASN__PRIMITIVE_TYPE_free
+#define RELATIVE_OID_constraint asn_generic_no_constraint
+#define RELATIVE_OID_decode_ber ber_decode_primitive
+#define RELATIVE_OID_encode_der der_encode_primitive
+#define RELATIVE_OID_decode_uper OCTET_STRING_decode_uper
+#define RELATIVE_OID_encode_uper OCTET_STRING_encode_uper
+
/**********************************
* Some handy conversion routines *
**********************************/
diff --git a/skeletons/T61String.h b/skeletons/T61String.h
index f706338..6a8b874 100644
--- a/skeletons/T61String.h
+++ b/skeletons/T61String.h
@@ -15,6 +15,16 @@
extern asn_TYPE_descriptor_t asn_DEF_T61String;
+#define T61String_free OCTET_STRING_free
+#define T61String_print OCTET_STRING_print
+#define T61String_constraint asn_generic_unknown_constraint
+#define T61String_decode_ber OCTET_STRING_decode_ber
+#define T61String_encode_der OCTET_STRING_encode_der
+#define T61String_decode_xer OCTET_STRING_decode_xer_hex
+#define T61String_encode_xer OCTET_STRING_encode_xer
+#define T61String_decode_uper OCTET_STRING_decode_uper
+#define T61String_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/TeletexString.h b/skeletons/TeletexString.h
index ffd0f52..cec5548 100644
--- a/skeletons/TeletexString.h
+++ b/skeletons/TeletexString.h
@@ -15,6 +15,16 @@
extern asn_TYPE_descriptor_t asn_DEF_TeletexString;
+#define TeletexString_free OCTET_STRING_free
+#define TeletexString_print OCTET_STRING_print
+#define TeletexString_constraint asn_generic_unknown_constraint
+#define TeletexString_decode_ber OCTET_STRING_decode_ber
+#define TeletexString_encode_der OCTET_STRING_encode_der
+#define TeletexString_decode_xer OCTET_STRING_decode_xer_hex
+#define TeletexString_encode_xer OCTET_STRING_encode_xer
+#define TeletexString_decode_uper OCTET_STRING_decode_uper
+#define TeletexString_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/UTCTime.h b/skeletons/UTCTime.h
index 8035b34..0e02fbe 100644
--- a/skeletons/UTCTime.h
+++ b/skeletons/UTCTime.h
@@ -19,6 +19,13 @@
asn_constr_check_f UTCTime_constraint;
xer_type_encoder_f UTCTime_encode_xer;
+#define UTCTime_free OCTET_STRING_free
+#define UTCTime_decode_ber OCTET_STRING_decode_ber
+#define UTCTime_encode_der OCTET_STRING_encode_der
+#define UTCTime_decode_xer OCTET_STRING_decode_xer_utf8
+#define UTCTime_decode_uper OCTET_STRING_decode_uper
+#define UTCTime_encode_uper OCTET_STRING_encode_uper
+
/***********************
* Some handy helpers. *
***********************/
diff --git a/skeletons/UTF8String.h b/skeletons/UTF8String.h
index 3bc8ea6..6713252 100644
--- a/skeletons/UTF8String.h
+++ b/skeletons/UTF8String.h
@@ -18,6 +18,15 @@
asn_struct_print_f UTF8String_print;
asn_constr_check_f UTF8String_constraint;
+#define UTF8String_free OCTET_STRING_free
+#define UTF8String_constraint UTF8String_constraint
+#define UTF8String_decode_ber OCTET_STRING_decode_ber
+#define UTF8String_encode_der OCTET_STRING_encode_der
+#define UTF8String_decode_xer OCTET_STRING_decode_xer_utf8
+#define UTF8String_encode_xer OCTET_STRING_encode_xer_utf8
+#define UTF8String_decode_uper OCTET_STRING_decode_uper
+#define UTF8String_encode_uper OCTET_STRING_encode_uper
+
/*
* Returns length of the given UTF-8 string in characters,
* or a negative error code:
diff --git a/skeletons/UniversalString.c b/skeletons/UniversalString.c
index b1e1d3e..59d8345 100644
--- a/skeletons/UniversalString.c
+++ b/skeletons/UniversalString.c
@@ -13,7 +13,7 @@
(ASN_TAG_CLASS_UNIVERSAL | (28 << 2)), /* [UNIVERSAL 28] IMPLICIT ...*/
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */
};
-static asn_OCTET_STRING_specifics_t asn_SPC_UniversalString_specs = {
+asn_OCTET_STRING_specifics_t asn_SPC_UniversalString_specs = {
sizeof(UniversalString_t),
offsetof(UniversalString_t, _asn_ctx),
ASN_OSUBV_U32 /* 32-bits character */
diff --git a/skeletons/UniversalString.h b/skeletons/UniversalString.h
index 1476a6f..48eb49d 100644
--- a/skeletons/UniversalString.h
+++ b/skeletons/UniversalString.h
@@ -14,6 +14,7 @@
typedef OCTET_STRING_t UniversalString_t; /* Implemented via OCTET STRING */
extern asn_TYPE_descriptor_t asn_DEF_UniversalString;
+extern asn_OCTET_STRING_specifics_t asn_SPC_UniversalString_specs;
asn_struct_print_f UniversalString_print; /* Human-readable output */
xer_type_decoder_f UniversalString_decode_xer;
diff --git a/skeletons/VideotexString.h b/skeletons/VideotexString.h
index 3b551c3..a1a6b81 100644
--- a/skeletons/VideotexString.h
+++ b/skeletons/VideotexString.h
@@ -15,6 +15,16 @@
extern asn_TYPE_descriptor_t asn_DEF_VideotexString;
+#define VideotexString_free OCTET_STRING_free
+#define VideotexString_print OCTET_STRING_print
+#define VideotexString_constraint asn_generic_unknown_constraint
+#define VideotexString_decode_ber OCTET_STRING_decode_ber
+#define VideotexString_encode_der OCTET_STRING_encode_der
+#define VideotexString_decode_xer OCTET_STRING_decode_xer_hex
+#define VideotexString_encode_xer OCTET_STRING_encode_xer
+#define VideotexString_decode_uper OCTET_STRING_decode_uper
+#define VideotexString_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif
diff --git a/skeletons/VisibleString.h b/skeletons/VisibleString.h
index 20ba8cc..37080d8 100644
--- a/skeletons/VisibleString.h
+++ b/skeletons/VisibleString.h
@@ -17,6 +17,16 @@
asn_constr_check_f VisibleString_constraint;
+#define VisibleString_free OCTET_STRING_free
+#define VisibleString_print OCTET_STRING_print
+#define VisibleString_constraint VisibleString_constraint
+#define VisibleString_decode_ber OCTET_STRING_decode_ber
+#define VisibleString_encode_der OCTET_STRING_encode_der
+#define VisibleString_decode_xer OCTET_STRING_decode_xer_hex
+#define VisibleString_encode_xer OCTET_STRING_encode_xer
+#define VisibleString_decode_uper OCTET_STRING_decode_uper
+#define VisibleString_encode_uper OCTET_STRING_encode_uper
+
#ifdef __cplusplus
}
#endif