Simplify the logic of accessing codec function for specific TYPE

This commit is contained in:
Bi-Ruei, Chiu 2016-05-16 13:50:09 +08:00 committed by Lev Walkin
parent 6bc7a11d9e
commit 1fa31c9e3e
81 changed files with 2114 additions and 14511 deletions

View File

@ -0,0 +1,32 @@
#!/usr/bin/env perl
#
# Convert check-parsing.sh's log to diff format.
#
if(-t STDIN && $#ARGV == -1) {
print STDERR "Usage: check-parsing-log2diff.pl < check-parsing.sh.log > diff.patch\n";
exit(1);
}
$state = 0;
while(<>) {
if ($state == 0) {
if (/^Checking\s*(.+?)\s*against\s*(.+?)$/) {
$source = $1;
$target = $2;
} elsif (/^\-\-\-\s(.+?)\s.*/) {
print "--- a/dev/null " . "\n";
} elsif (/^\+\+\+\s(.+?)\s.*/) {
print "+++ b" . $target . "\n";
$state = 1;
}
} else {
if (/^Checking\s*(.+?)\s*against\s*(.+?)$/) {
$source = $1;
$target = $2;
$state = 0;
} else {
print $_;
}
}
}

View File

@ -206,7 +206,8 @@ asn1c_lang_C_type_common_INTEGER(arg_t *arg) {
OUT("\t/* This list is extensible */\n");
OUT("};\n");
OUT("static asn_INTEGER_specifics_t asn_SPC_%s_specs_%d = {\n",
if(!(expr->_type_referenced)) OUT("static ");
OUT("const asn_INTEGER_specifics_t asn_SPC_%s_specs_%d = {\n",
MKID(expr), expr->_type_unique_index);
INDENT(+1);
OUT("asn_MAP_%s_value2enum_%d,\t"
@ -238,7 +239,8 @@ asn1c_lang_C_type_common_INTEGER(arg_t *arg) {
if(expr->expr_type == ASN_BASIC_INTEGER
&& asn1c_type_fits_long(arg, expr) == FL_FITS_UNSIGN) {
REDIR(OT_STAT_DEFS);
OUT("static asn_INTEGER_specifics_t asn_SPC_%s_specs_%d = {\n",
if(!(expr->_type_referenced)) OUT("static ");
OUT("const asn_INTEGER_specifics_t asn_SPC_%s_specs_%d = {\n",
MKID(expr), expr->_type_unique_index);
INDENT(+1);
OUT("0,\t");
@ -379,7 +381,7 @@ asn1c_lang_C_type_SEQUENCE_def(arg_t *arg) {
GEN_INCLUDE_STD("constr_SEQUENCE");
if(!arg->embed)
GEN_DECLARE(expr); /* asn_DEF_xxx */
GEN_DECLARE("SEQUENCE", expr); /* asn_DEF_xxx */
REDIR(OT_STAT_DEFS);
@ -389,7 +391,8 @@ asn1c_lang_C_type_SEQUENCE_def(arg_t *arg) {
if(expr_elements_count(arg, expr)) {
int comp_mode = 0; /* {root,ext=1,root,root,...} */
OUT("static asn_TYPE_member_t asn_MBR_%s_%d[] = {\n",
if(!(expr->_type_referenced)) OUT("static ");
OUT("asn_TYPE_member_t asn_MBR_%s_%d[] = {\n",
MKID(expr), expr->_type_unique_index);
elements = 0;
@ -471,7 +474,8 @@ asn1c_lang_C_type_SEQUENCE_def(arg_t *arg) {
*/
emit_tag2member_map(arg, tag2el, tag2el_count, 0);
OUT("static asn_SEQUENCE_specifics_t asn_SPC_%s_specs_%d = {\n",
if(!(expr->_type_referenced)) OUT("static ");
OUT("asn_SEQUENCE_specifics_t asn_SPC_%s_specs_%d = {\n",
MKID(expr), expr->_type_unique_index);
INDENT(+1);
OUT("sizeof(struct ");
@ -638,7 +642,7 @@ asn1c_lang_C_type_SET_def(arg_t *arg) {
GEN_INCLUDE_STD("constr_SET");
if(!arg->embed)
GEN_DECLARE(expr); /* asn_DEF_xxx */
GEN_DECLARE("SET", expr); /* asn_DEF_xxx */
REDIR(OT_STAT_DEFS);
@ -648,7 +652,8 @@ asn1c_lang_C_type_SET_def(arg_t *arg) {
if(expr_elements_count(arg, expr)) {
int comp_mode = 0; /* {root,ext=1,root,root,...} */
OUT("static asn_TYPE_member_t asn_MBR_%s_%d[] = {\n",
if(!(expr->_type_referenced)) OUT("static ");
OUT("asn_TYPE_member_t asn_MBR_%s_%d[] = {\n",
MKID(expr), expr->_type_unique_index);
elements = 0;
@ -708,7 +713,8 @@ asn1c_lang_C_type_SET_def(arg_t *arg) {
OUT("\n");
OUT("};\n");
OUT("static asn_SET_specifics_t asn_SPC_%s_specs_%d = {\n",
if(!(expr->_type_referenced)) OUT("static \n");
OUT("asn_SET_specifics_t asn_SPC_%s_specs_%d = {\n",
MKID(expr), expr->_type_unique_index);
INDENTED(
OUT("sizeof(struct ");
@ -863,14 +869,15 @@ asn1c_lang_C_type_SEx_OF_def(arg_t *arg, int seq_of) {
GEN_INCLUDE_STD("constr_SET_OF");
}
if(!arg->embed)
GEN_DECLARE(expr); /* asn_DEF_xxx */
GEN_DECLARE("SET_OF", expr); /* asn_DEF_xxx */
REDIR(OT_STAT_DEFS);
/*
* Print out the table according to which parsing is performed.
*/
OUT("static asn_TYPE_member_t asn_MBR_%s_%d[] = {\n",
if(!(expr->_type_referenced)) OUT("static ");
OUT("asn_TYPE_member_t asn_MBR_%s_%d[] = {\n",
MKID(expr), expr->_type_unique_index);
INDENT(+1);
v = TQ_FIRST(&(expr->members));
@ -892,7 +899,8 @@ asn1c_lang_C_type_SEx_OF_def(arg_t *arg, int seq_of) {
*/
tv_mode = emit_tags_vectors(arg, expr, &tags_count, &all_tags_count);
OUT("static asn_SET_OF_specifics_t asn_SPC_%s_specs_%d = {\n",
if(!(expr->_type_referenced)) OUT("static ");
OUT("asn_SET_OF_specifics_t asn_SPC_%s_specs_%d = {\n",
MKID(expr), expr->_type_unique_index);
INDENTED(
OUT("sizeof(struct ");
@ -1031,7 +1039,7 @@ asn1c_lang_C_type_CHOICE_def(arg_t *arg) {
GEN_INCLUDE_STD("constr_CHOICE");
if(!arg->embed)
GEN_DECLARE(expr); /* asn_DEF_xxx */
GEN_DECLARE("CHOICE", expr); /* asn_DEF_xxx */
REDIR(OT_STAT_DEFS);
@ -1040,7 +1048,8 @@ asn1c_lang_C_type_CHOICE_def(arg_t *arg) {
*/
if(expr_elements_count(arg, expr)) {
OUT("static asn_TYPE_member_t asn_MBR_%s_%d[] = {\n",
if(!(expr->_type_referenced)) OUT("static ");
OUT("asn_TYPE_member_t asn_MBR_%s_%d[] = {\n",
MKID(expr), expr->_type_unique_index);
elements = 0;
@ -1088,7 +1097,8 @@ asn1c_lang_C_type_CHOICE_def(arg_t *arg) {
*/
emit_tag2member_map(arg, tag2el, tag2el_count, 0);
OUT("static asn_CHOICE_specifics_t asn_SPC_%s_specs_%d = {\n",
if(!(expr->_type_referenced)) OUT("static ");
OUT("asn_CHOICE_specifics_t asn_SPC_%s_specs_%d = {\n",
MKID(expr), expr->_type_unique_index);
INDENTED(
OUT("sizeof(struct ");
@ -1275,7 +1285,7 @@ asn1c_lang_C_type_SIMPLE_TYPE(arg_t *arg) {
/*
* Constraint checking.
*/
if(!(arg->flags & A1C_NO_CONSTRAINTS)) {
if(!(arg->flags & A1C_NO_CONSTRAINTS) && expr->combined_constraints) {
p = MKID(expr);
if(HIDE_INNER_DEFS) OUT("static ");
OUT("int\n");
@ -1327,6 +1337,8 @@ asn1c_lang_C_type_SIMPLE_TYPE(arg_t *arg) {
asn1c_type_name(arg, expr, TNF_SAFE));
OUT(" * so here we adjust the DEF accordingly.\n");
OUT(" */\n");
#if 0 /* remove unnecessary functions */
OUT("static void\n");
OUT("%s_%d_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {\n",
MKID(expr), expr->_type_unique_index);
@ -1535,7 +1547,7 @@ asn1c_lang_C_type_SIMPLE_TYPE(arg_t *arg) {
OUT("}\n");
OUT("\n");
}
#endif
REDIR(OT_FUNC_DECLS);
p = MKID(expr);
@ -1545,6 +1557,20 @@ asn1c_lang_C_type_SIMPLE_TYPE(arg_t *arg) {
p, expr->_type_unique_index);
} else {
OUT("extern asn_TYPE_descriptor_t asn_DEF_%s;\n", p);
if (etd_spec == ETD_HAS_SPECIFICS) {
if((expr->expr_type == ASN_BASIC_ENUMERATED) ||
(expr->expr_type == ASN_BASIC_INTEGER)) {
if(expr->_type_referenced) {
OUT("extern asn_INTEGER_specifics_t "
"asn_SPC_%s_specs_%d;\n", p, expr->_type_unique_index);
}
} else {
asn1p_expr_t *terminal = asn1f_find_terminal_type_ex(arg->asn, expr);
OUT("extern asn_%s_specifics_t ", asn1c_type_name(arg, terminal, TNF_SAFE));
OUT("asn_SPC_%s_specs_%d;\n", MKID(expr), expr->_type_unique_index);
}
}
OUT("asn_struct_free_f %s_free;\n", p);
OUT("asn_struct_print_f %s_print;\n", p);
OUT("asn_constr_check_f %s_constraint;\n", p);
@ -2246,9 +2272,18 @@ emit_member_PER_constraints(arg_t *arg, asn1p_expr_t *expr, const char *pfx) {
return 0;
}
if(expr->_type_referenced) {
REDIR(OT_FUNC_DECLS);
OUT("extern asn_per_constraints_t "
"asn_PER_%s_%s_constr_%d;\n",
pfx, MKID(expr), expr->_type_unique_index);
}
REDIR(OT_CTDEFS);
OUT("static asn_per_constraints_t "
if(!(expr->_type_referenced)) OUT("static ");
OUT("asn_per_constraints_t "
"asn_PER_%s_%s_constr_%d GCC_NOTUSED = {\n",
pfx, MKID(expr), expr->_type_unique_index);
@ -2723,6 +2758,7 @@ emit_type_DEF(arg_t *arg, asn1p_expr_t *expr, enum tvm_compat tv_mode, int tags_
asn1p_expr_t *terminal;
int using_type_name = 0;
char *p = MKID(expr);
char *p2 = (char *)0;
terminal = asn1f_find_terminal_type_ex(arg->asn, expr);
@ -2754,8 +2790,15 @@ emit_type_DEF(arg_t *arg, asn1p_expr_t *expr, enum tvm_compat tv_mode, int tags_
using_type_name = 1;
p = asn1c_type_name(arg, arg->expr, TNF_SAFE);
} else {
if (expr->expr_type == A1TC_REFERENCE) {
p2 = strdup(asn1c_type_name(arg, terminal, TNF_SAFE));
} else {
p2 = strdup(asn1c_type_name(arg, expr, TNF_SAFE));
}
p = MKID(expr);
}
if (!p2)
p2 = strdup(p);
#define FUNCREF(foo) do { \
OUT("%s", p); \
@ -2764,29 +2807,38 @@ emit_type_DEF(arg_t *arg, asn1p_expr_t *expr, enum tvm_compat tv_mode, int tags_
OUT("_" #foo ",\n"); \
} while(0)
FUNCREF(free);
FUNCREF(print);
FUNCREF(constraint);
FUNCREF(decode_ber);
FUNCREF(encode_der);
FUNCREF(decode_xer);
FUNCREF(encode_xer);
#define FUNCREF2(foo) \
do { \
OUT("%s", p2); \
OUT("_" #foo ",\n"); \
} while(0)
FUNCREF2(free);
FUNCREF2(print);
if (!expr->combined_constraints)
FUNCREF2(constraint);
else
FUNCREF(constraint);
FUNCREF2(decode_ber);
FUNCREF2(encode_der);
FUNCREF2(decode_xer);
FUNCREF2(encode_xer);
if(arg->flags & A1C_GEN_OER) {
FUNCREF(decode_oer);
FUNCREF(encode_oer);
FUNCREF2(decode_oer);
FUNCREF2(encode_oer);
} else {
OUT("0, 0,\t/* No OER support, "
"use \"-gen-OER\" to enable */\n");
}
if(arg->flags & A1C_GEN_PER) {
FUNCREF(decode_uper);
FUNCREF(encode_uper);
FUNCREF2(decode_uper);
FUNCREF2(encode_uper);
} else {
OUT("0, 0,\t/* No PER support, "
"use \"-gen-PER\" to enable */\n");
}
if (p2) free(p2);
if(!terminal || terminal->expr_type == ASN_CONSTR_CHOICE) {
//if(expr->expr_type == ASN_CONSTR_CHOICE) {
@ -2857,16 +2909,35 @@ emit_type_DEF(arg_t *arg, asn1p_expr_t *expr, enum tvm_compat tv_mode, int tags_
OUT("0,\t/* No PER visible constraints */\n");
}
if(elements_count) {
OUT("asn_MBR_%s_%d,\n", p, expr->_type_unique_index);
if(expr->expr_type == ASN_CONSTR_SEQUENCE_OF
|| expr->expr_type == ASN_CONSTR_SET_OF) {
OUT("%d,\t/* Single element */\n",
elements_count);
assert(elements_count == 1);
if(elements_count ||
((expr->expr_type == A1TC_REFERENCE) &&
(terminal->expr_type & ASN_CONSTR_MASK) &&
expr_elements_count(arg, terminal))) {
if (expr->expr_type == A1TC_REFERENCE) {
OUT("asn_MBR_%s_%d,\n", MKID(terminal), terminal->_type_unique_index);
if(terminal->expr_type == ASN_CONSTR_SEQUENCE_OF
|| terminal->expr_type == ASN_CONSTR_SET_OF) {
OUT("%d,\t/* Single element */\n",
expr_elements_count(arg, terminal));
assert(expr_elements_count(arg, terminal) == 1);
} else {
OUT("%d,\t/* Elements count */\n",
expr_elements_count(arg, terminal));
}
} else {
OUT("%d,\t/* Elements count */\n",
elements_count);
OUT("asn_MBR_%s_%d,\n", p, expr->_type_unique_index);
if(expr->expr_type == ASN_CONSTR_SEQUENCE_OF
|| expr->expr_type == ASN_CONSTR_SET_OF) {
OUT("%d,\t/* Single element */\n",
elements_count);
assert(elements_count == 1);
} else {
OUT("%d,\t/* Elements count */\n",
elements_count);
}
}
} else {
if(expr_elements_count(arg, expr))
@ -2877,7 +2948,28 @@ emit_type_DEF(arg_t *arg, asn1p_expr_t *expr, enum tvm_compat tv_mode, int tags_
switch(spec) {
case ETD_NO_SPECIFICS:
OUT("0\t/* No specifics */\n");
if ((expr->expr_type == A1TC_REFERENCE) &&
((terminal->expr_type & ASN_CONSTR_MASK) ||
(terminal->expr_type == ASN_BASIC_ENUMERATED) ||
((terminal->expr_type == ASN_BASIC_INTEGER) &&
(asn1c_type_fits_long(arg, terminal) == FL_FITS_UNSIGN)))) {
OUT("&asn_SPC_%s_specs_%d\t/* Additional specs */\n", MKID(terminal), terminal->_type_unique_index);
} else if ((expr->expr_type == ASN_TYPE_ANY) ||
(expr->expr_type == ASN_BASIC_BIT_STRING) ||
(expr->expr_type == ASN_STRING_BMPString) ||
(expr->expr_type == ASN_BASIC_OCTET_STRING) ||
(expr->expr_type == ASN_STRING_UniversalString)) {
OUT("&asn_SPC_%s_specs\t/* Additional specs */\n", asn1c_type_name(arg, expr, TNF_SAFE));
} else if ((expr->expr_type == A1TC_REFERENCE) &&
((terminal->expr_type == ASN_TYPE_ANY) ||
(terminal->expr_type == ASN_BASIC_BIT_STRING) ||
(terminal->expr_type == ASN_STRING_BMPString) ||
(terminal->expr_type == ASN_BASIC_OCTET_STRING) ||
(terminal->expr_type == ASN_STRING_UniversalString))) {
OUT("&asn_SPC_%s_specs\t/* Additional specs */\n", asn1c_type_name(arg, terminal, TNF_SAFE));
} else {
OUT("0\t/* No specifics */\n");
}
break;
case ETD_HAS_SPECIFICS:
OUT("&asn_SPC_%s_specs_%d\t/* Additional specs */\n",

View File

@ -104,12 +104,22 @@ int asn1c_compiled_output(arg_t *arg, const char *fmt, ...);
} while(0)
/* Generate ASN.1 type declaration */
#define GEN_DECLARE(expr) do { \
int saved_target = arg->target->target; \
REDIR(OT_FUNC_DECLS); \
OUT_NOINDENT("extern asn_TYPE_descriptor_t " \
"asn_DEF_%s;\n", MKID(expr)); \
REDIR(saved_target); \
#define GEN_DECLARE(type_name, expr) do { \
int saved_target = arg->target->target; \
REDIR(OT_FUNC_DECLS); \
OUT_NOINDENT("extern asn_TYPE_descriptor_t " \
"asn_DEF_%s;\n", MKID(expr)); \
if (expr->_type_referenced) { \
OUT_NOINDENT("extern asn_%s_specifics_t " \
"asn_SPC_%s_specs_%d;\n", type_name, \
MKID(expr), expr->_type_unique_index); \
if(expr_elements_count(arg, expr)) \
OUT_NOINDENT("extern asn_TYPE_member_t " \
"asn_MBR_%s_%d[%d];\n", \
MKID(expr), expr->_type_unique_index, \
expr_elements_count(arg, expr)); \
} \
REDIR(saved_target); \
} while(0)
/*

View File

@ -57,6 +57,21 @@ asn1f_find_terminal_type_ex(asn1p_t *asn, asn1p_expr_t *expr) {
return asn1f_find_terminal_type(&arg, expr);
}
asn1p_expr_t *
asn1f_find_ancestor_type_with_PER_constraint_ex(asn1p_t *asn, asn1p_expr_t *expr) {
arg_t arg;
memset(&arg, 0, sizeof(arg));
arg.asn = asn;
arg.mod = expr->module;
arg.expr = expr;
arg.eh = a1f_replace_me_with_proper_interface_arg.eh;
arg.debug = a1f_replace_me_with_proper_interface_arg.debug;
return asn1f_find_ancestor_type_with_PER_constraint(&arg, expr);
}
int
asn1f_fix_dereference_values_ex(asn1p_t *asn, asn1p_module_t *mod,
asn1p_expr_t *expr) {

View File

@ -38,4 +38,10 @@ asn1p_expr_t *asn1f_find_terminal_type_ex(asn1p_t *asn, asn1p_expr_t *tc);
int asn1f_fix_dereference_values_ex(asn1p_t *asn, asn1p_module_t *mod,
asn1p_expr_t *expr);
/*
* Exportable version of asn1f_find_ancestor_type_with_PER_constraint().
*/
asn1p_expr_t *asn1f_find_ancestor_type_with_PER_constraint_ex(asn1p_t *asn,
asn1p_expr_t *expr);
#endif /* ASN1FIX_EXPORT_H */

View File

@ -3,6 +3,7 @@
enum ftt_what {
FTT_TYPE, /* Find the type of the given expression */
FTT_VALUE, /* Find the value of the given expression */
FTT_CONSTR_TYPE /* Find the type of the given expression having constraint */
};
static asn1p_expr_t *asn1f_find_terminal_thing(arg_t *arg, asn1p_expr_t *expr, enum ftt_what);
@ -382,6 +383,11 @@ asn1f_find_terminal_value(arg_t *arg, asn1p_expr_t *expr) {
return asn1f_find_terminal_thing(arg, expr, FTT_VALUE);
}
asn1p_expr_t *
asn1f_find_ancestor_type_with_PER_constraint(arg_t *arg, asn1p_expr_t *expr) {
return asn1f_find_terminal_thing(arg, expr, FTT_CONSTR_TYPE);
}
static asn1p_expr_t *
asn1f_find_terminal_thing(arg_t *arg, asn1p_expr_t *expr, enum ftt_what what) {
asn1p_ref_t *ref = 0;
@ -389,6 +395,7 @@ asn1f_find_terminal_thing(arg_t *arg, asn1p_expr_t *expr, enum ftt_what what) {
switch(what) {
case FTT_TYPE:
case FTT_CONSTR_TYPE:
/* Expression may be a terminal type itself */
if(expr->expr_type != A1TC_REFERENCE)
return expr;
@ -455,6 +462,10 @@ asn1f_find_terminal_thing(arg_t *arg, asn1p_expr_t *expr, enum ftt_what what) {
}
tc->_type_referenced = 1;
if((what == FTT_CONSTR_TYPE) && (tc->constraints))
return tc;
tc->_mark |= TM_RECURSION;
WITH_MODULE(tc->module,
expr = asn1f_find_terminal_thing(arg, tc, what));
@ -463,6 +474,7 @@ asn1f_find_terminal_thing(arg_t *arg, asn1p_expr_t *expr, enum ftt_what what) {
return expr;
}
/*
* Make sure that the specified name is present or otherwise does
* not contradict with the EXPORTS clause of the specified module.

View File

@ -68,4 +68,11 @@ asn1p_expr_t *asn1f_find_terminal_type(arg_t *arg, asn1p_expr_t *tc);
*/
asn1p_expr_t *asn1f_find_terminal_value(arg_t *arg, asn1p_expr_t *tc);
/*
* Recursively find the original type with constraint for the given
* expression.
*/
asn1p_expr_t *asn1f_find_ancestor_type_with_PER_constraint(arg_t *arg, asn1p_expr_t *tc);
#endif /* ASN1FIX_RETRIEVE_H */

View File

@ -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

View File

@ -19,6 +19,7 @@ typedef struct ANY {
} 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 @@ ber_type_decoder_f ANY_decode_ber;
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. *
******************************/

View File

@ -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

View File

@ -21,11 +21,19 @@ typedef struct BIT_STRING_s {
} 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

View File

@ -13,7 +13,7 @@ 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 */
};
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 */

View File

@ -14,11 +14,20 @@ extern "C" {
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

View File

@ -29,6 +29,8 @@ xer_type_encoder_f BOOLEAN_encode_xer;
per_type_decoder_f BOOLEAN_decode_uper;
per_type_encoder_f BOOLEAN_encode_uper;
#define BOOLEAN_constraint asn_generic_no_constraint
#ifdef __cplusplus
}
#endif

View File

@ -18,6 +18,14 @@ extern asn_TYPE_descriptor_t asn_DEF_ENUMERATED;
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

View File

@ -15,6 +15,16 @@ typedef OCTET_STRING_t GeneralString_t; /* Implemented via OCTET STRING */
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

View File

@ -20,6 +20,12 @@ asn_constr_check_f GeneralizedTime_constraint;
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. *
***********************/

View File

@ -15,6 +15,16 @@ typedef OCTET_STRING_t GraphicString_t; /* Implemented via OCTET STRING */
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

View File

@ -20,6 +20,15 @@ extern asn_TYPE_descriptor_t asn_DEF_IA5String;
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

View File

@ -16,6 +16,16 @@ typedef VisibleString_t ISO646String_t; /* Implemented using VisibleString */
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

View File

@ -6,6 +6,7 @@
#define ASN_TYPE_NULL_H
#include <asn_application.h>
#include <BOOLEAN.h>
#ifdef __cplusplus
extern "C" {
@ -26,6 +27,10 @@ xer_type_encoder_f NULL_encode_xer;
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

View File

@ -25,6 +25,13 @@ xer_type_encoder_f NativeEnumerated_encode_xer;
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

View File

@ -32,6 +32,8 @@ oer_type_encoder_f NativeInteger_encode_oer;
per_type_decoder_f NativeInteger_decode_uper;
per_type_encoder_f NativeInteger_encode_uper;
#define NativeInteger_constraint asn_generic_no_constraint
#ifdef __cplusplus
}
#endif

View File

@ -28,6 +28,8 @@ xer_type_encoder_f NativeReal_encode_xer;
per_type_decoder_f NativeReal_decode_uper;
per_type_encoder_f NativeReal_encode_uper;
#define NativeReal_constraint asn_generic_no_constraint
#ifdef __cplusplus
}
#endif

View File

@ -17,6 +17,15 @@ extern asn_TYPE_descriptor_t asn_DEF_NumericString;
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

View File

@ -23,6 +23,12 @@ der_type_encoder_f OBJECT_IDENTIFIER_encode_der;
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 *
**********************************/

View File

@ -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

View File

@ -35,6 +35,9 @@ oer_type_encoder_f OCTET_STRING_encode_oer;
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 @@ typedef const struct asn_OCTET_STRING_specifics_s {
} subvariant;
} asn_OCTET_STRING_specifics_t;
extern asn_OCTET_STRING_specifics_t asn_SPC_OCTET_STRING_specs;
#ifdef __cplusplus
}
#endif

View File

@ -15,6 +15,16 @@ typedef GraphicString_t ObjectDescriptor_t; /* Implemented via GraphicString */
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

View File

@ -17,6 +17,15 @@ extern asn_TYPE_descriptor_t asn_DEF_PrintableString;
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

View File

@ -22,6 +22,11 @@ xer_type_encoder_f REAL_encode_xer;
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. *
***********************************/

View File

@ -20,6 +20,13 @@ asn_struct_print_f RELATIVE_OID_print;
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 *
**********************************/

View File

@ -15,6 +15,16 @@ typedef OCTET_STRING_t T61String_t; /* Implemented via OCTET STRING */
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

View File

@ -15,6 +15,16 @@ typedef OCTET_STRING_t TeletexString_t; /* Implemented via OCTET STRING */
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

View File

@ -19,6 +19,13 @@ asn_struct_print_f UTCTime_print;
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. *
***********************/

View File

@ -18,6 +18,15 @@ extern asn_TYPE_descriptor_t asn_DEF_UTF8String;
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:

View File

@ -13,7 +13,7 @@ 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 */
};
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 */

View File

@ -14,6 +14,7 @@ extern "C" {
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;

View File

@ -15,6 +15,16 @@ typedef OCTET_STRING_t VideotexString_t; /* Implemented via OCTET STRING */
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

View File

@ -17,6 +17,16 @@ extern asn_TYPE_descriptor_t asn_DEF_VisibleString;
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

View File

@ -32,84 +32,10 @@ xer_type_encoder_f Enum1_encode_xer;
/*** <<< CODE [Enum1] >>> ***/
int
Enum1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
Enum1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
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;
td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
void
Enum1_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Enum1_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Enum1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Enum1_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Enum1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Enum1_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Enum1_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Enum1_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Enum1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Enum1_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Enum1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Enum1_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Enum1] >>> ***/
@ -127,7 +53,7 @@ static const unsigned int asn_MAP_Enum1_enum2value_1[] = {
0 /* red(0) */
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_Enum1_specs_1 = {
static const asn_INTEGER_specifics_t asn_SPC_Enum1_specs_1 = {
asn_MAP_Enum1_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum1_enum2value_1, /* N => "tag"; sorted by N */
4, /* Number of elements in the maps */
@ -142,13 +68,13 @@ static const ber_tlv_tag_t asn_DEF_Enum1_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_Enum1 = {
"Enum1",
"Enum1",
Enum1_free,
Enum1_print,
Enum1_constraint,
Enum1_decode_ber,
Enum1_encode_der,
Enum1_decode_xer,
Enum1_encode_xer,
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -201,84 +127,10 @@ xer_type_encoder_f Enum2_encode_xer;
/*** <<< CODE [Enum2] >>> ***/
int
Enum2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
Enum2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
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;
td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
void
Enum2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Enum2_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Enum2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Enum2_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Enum2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Enum2_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Enum2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Enum2_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Enum2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Enum2_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Enum2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Enum2_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Enum2] >>> ***/
@ -302,7 +154,7 @@ static const unsigned int asn_MAP_Enum2_enum2value_1[] = {
0 /* red(0) */
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_Enum2_specs_1 = {
static const asn_INTEGER_specifics_t asn_SPC_Enum2_specs_1 = {
asn_MAP_Enum2_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum2_enum2value_1, /* N => "tag"; sorted by N */
7, /* Number of elements in the maps */
@ -317,13 +169,13 @@ static const ber_tlv_tag_t asn_DEF_Enum2_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_Enum2 = {
"Enum2",
"Enum2",
Enum2_free,
Enum2_print,
Enum2_constraint,
Enum2_decode_ber,
Enum2_encode_der,
Enum2_decode_xer,
Enum2_encode_xer,
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -372,84 +224,10 @@ xer_type_encoder_f Enum3_encode_xer;
/*** <<< CODE [Enum3] >>> ***/
int
Enum3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
Enum3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
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;
td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
void
Enum3_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Enum3_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Enum3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Enum3_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Enum3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Enum3_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Enum3_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Enum3_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Enum3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Enum3_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Enum3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Enum3_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Enum3] >>> ***/
@ -465,7 +243,7 @@ static const unsigned int asn_MAP_Enum3_enum2value_1[] = {
1 /* c(1) */
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_Enum3_specs_1 = {
static const asn_INTEGER_specifics_t asn_SPC_Enum3_specs_1 = {
asn_MAP_Enum3_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum3_enum2value_1, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
@ -480,13 +258,13 @@ static const ber_tlv_tag_t asn_DEF_Enum3_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_Enum3 = {
"Enum3",
"Enum3",
Enum3_free,
Enum3_print,
Enum3_constraint,
Enum3_decode_ber,
Enum3_encode_der,
Enum3_decode_xer,
Enum3_encode_xer,
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -536,84 +314,10 @@ xer_type_encoder_f Enum4_encode_xer;
/*** <<< CODE [Enum4] >>> ***/
int
Enum4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
Enum4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
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;
td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
void
Enum4_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Enum4_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Enum4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Enum4_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Enum4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Enum4_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Enum4_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Enum4_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Enum4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Enum4_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Enum4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Enum4_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Enum4] >>> ***/
@ -631,7 +335,7 @@ static const unsigned int asn_MAP_Enum4_enum2value_1[] = {
3 /* d(4) */
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_Enum4_specs_1 = {
static const asn_INTEGER_specifics_t asn_SPC_Enum4_specs_1 = {
asn_MAP_Enum4_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum4_enum2value_1, /* N => "tag"; sorted by N */
4, /* Number of elements in the maps */
@ -646,13 +350,13 @@ static const ber_tlv_tag_t asn_DEF_Enum4_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_Enum4 = {
"Enum4",
"Enum4",
Enum4_free,
Enum4_print,
Enum4_constraint,
Enum4_decode_ber,
Enum4_encode_der,
Enum4_decode_xer,
Enum4_encode_xer,
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -701,84 +405,10 @@ xer_type_encoder_f Enum5_encode_xer;
/*** <<< CODE [Enum5] >>> ***/
int
Enum5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
Enum5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
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;
td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
void
Enum5_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Enum5_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Enum5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Enum5_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Enum5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Enum5_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Enum5_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Enum5_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Enum5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Enum5_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Enum5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Enum5_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Enum5] >>> ***/
@ -794,7 +424,7 @@ static const unsigned int asn_MAP_Enum5_enum2value_1[] = {
1 /* z(25) */
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_Enum5_specs_1 = {
static const asn_INTEGER_specifics_t asn_SPC_Enum5_specs_1 = {
asn_MAP_Enum5_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_Enum5_enum2value_1, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
@ -809,13 +439,13 @@ static const ber_tlv_tag_t asn_DEF_Enum5_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_Enum5 = {
"Enum5",
"Enum5",
Enum5_free,
Enum5_print,
Enum5_constraint,
Enum5_decode_ber,
Enum5_encode_der,
Enum5_decode_xer,
Enum5_encode_xer,
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */

View File

@ -24,11 +24,15 @@ typedef struct Collection_16P1 {
/*** <<< FUNC-DECLS [Collection] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Collection_16P0;
extern asn_SET_OF_specifics_t asn_SPC_Collection_16P0_specs_1;
extern asn_TYPE_member_t asn_MBR_Collection_16P0_1[1];
extern asn_TYPE_descriptor_t asn_DEF_Collection_16P1;
extern asn_SET_OF_specifics_t asn_SPC_Collection_16P1_specs_3;
extern asn_TYPE_member_t asn_MBR_Collection_16P1_3[1];
/*** <<< STAT-DEFS [Collection] >>> ***/
static asn_TYPE_member_t asn_MBR_Collection_16P0_1[] = {
asn_TYPE_member_t asn_MBR_Collection_16P0_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
.tag_mode = 0,
@ -43,7 +47,7 @@ static asn_TYPE_member_t asn_MBR_Collection_16P0_1[] = {
static const ber_tlv_tag_t asn_DEF_Collection_16P0_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Collection_16P0_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_Collection_16P0_specs_1 = {
sizeof(struct Collection_16P0),
offsetof(struct Collection_16P0, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@ -74,7 +78,7 @@ asn_TYPE_descriptor_t asn_DEF_Collection_16P0 = {
&asn_SPC_Collection_16P0_specs_1 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Collection_16P1_3[] = {
asn_TYPE_member_t asn_MBR_Collection_16P1_3[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
.tag_mode = 0,
@ -89,7 +93,7 @@ static asn_TYPE_member_t asn_MBR_Collection_16P1_3[] = {
static const ber_tlv_tag_t asn_DEF_Collection_16P1_tags_3[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Collection_16P1_specs_3 = {
asn_SET_OF_specifics_t asn_SPC_Collection_16P1_specs_3 = {
sizeof(struct Collection_16P1),
offsetof(struct Collection_16P1, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */

View File

@ -43,11 +43,15 @@ typedef struct SIGNED_16P1 {
/*** <<< FUNC-DECLS [SIGNED] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SIGNED_16P0;
extern asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P0_specs_1;
extern asn_TYPE_member_t asn_MBR_SIGNED_16P0_1[1];
extern asn_TYPE_descriptor_t asn_DEF_SIGNED_16P1;
extern asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P1_specs_3;
extern asn_TYPE_member_t asn_MBR_SIGNED_16P1_3[1];
/*** <<< STAT-DEFS [SIGNED] >>> ***/
static asn_TYPE_member_t asn_MBR_SIGNED_16P0_1[] = {
asn_TYPE_member_t asn_MBR_SIGNED_16P0_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct SIGNED_16P0, Signed),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
.tag_mode = 0,
@ -65,7 +69,7 @@ static const ber_tlv_tag_t asn_DEF_SIGNED_16P0_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_SIGNED_16P0_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 0, 0, 0 } /* signed */
};
static asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P0_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P0_specs_1 = {
sizeof(struct SIGNED_16P0),
offsetof(struct SIGNED_16P0, _asn_ctx),
asn_MAP_SIGNED_16P0_tag2el_1,
@ -121,7 +125,8 @@ static const asn_TYPE_tag2member_t asn_MAP_signed_tag2el_4[] = {
static const uint8_t asn_MAP_signed_mmap_4[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
static asn_SET_specifics_t asn_SPC_signed_specs_4 = {
static
asn_SET_specifics_t asn_SPC_signed_specs_4 = {
sizeof(struct Signed),
offsetof(struct Signed, _asn_ctx),
offsetof(struct Signed, _presence_map),
@ -159,7 +164,7 @@ asn_TYPE_descriptor_t asn_DEF_signed_4 = {
&asn_SPC_signed_specs_4 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_SIGNED_16P1_3[] = {
asn_TYPE_member_t asn_MBR_SIGNED_16P1_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct SIGNED_16P1, Signed),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@ -177,7 +182,7 @@ static const ber_tlv_tag_t asn_DEF_SIGNED_16P1_tags_3[] = {
static const asn_TYPE_tag2member_t asn_MAP_SIGNED_16P1_tag2el_3[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* signed */
};
static asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P1_specs_3 = {
asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P1_specs_3 = {
sizeof(struct SIGNED_16P1),
offsetof(struct SIGNED_16P1, _asn_ctx),
asn_MAP_SIGNED_16P1_tag2el_3,
@ -234,84 +239,10 @@ xer_type_encoder_f SignedREAL_encode_xer;
/*** <<< CODE [SignedREAL] >>> ***/
int
SignedREAL_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_SIGNED_16P0.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using SIGNED_16P0,
* so here we adjust the DEF accordingly.
*/
static void
SignedREAL_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_SIGNED_16P0.free_struct;
td->print_struct = asn_DEF_SIGNED_16P0.print_struct;
td->check_constraints = asn_DEF_SIGNED_16P0.check_constraints;
td->ber_decoder = asn_DEF_SIGNED_16P0.ber_decoder;
td->der_encoder = asn_DEF_SIGNED_16P0.der_encoder;
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;
td->oer_decoder = asn_DEF_SIGNED_16P0.oer_decoder;
td->oer_encoder = asn_DEF_SIGNED_16P0.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_SIGNED_16P0.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_SIGNED_16P0.per_constraints;
td->elements = asn_DEF_SIGNED_16P0.elements;
td->elements_count = asn_DEF_SIGNED_16P0.elements_count;
td->specifics = asn_DEF_SIGNED_16P0.specifics;
}
void
SignedREAL_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
SignedREAL_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
SignedREAL_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
SignedREAL_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
SignedREAL_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
SignedREAL_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
SignedREAL_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
SignedREAL_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
SignedREAL_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
SignedREAL_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
SignedREAL_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
SignedREAL_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [SignedREAL] >>> ***/
@ -321,13 +252,13 @@ static const ber_tlv_tag_t asn_DEF_SignedREAL_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_SignedREAL = {
"SignedREAL",
"SignedREAL",
SignedREAL_free,
SignedREAL_print,
SignedREAL_constraint,
SignedREAL_decode_ber,
SignedREAL_encode_der,
SignedREAL_decode_xer,
SignedREAL_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -339,8 +270,9 @@ asn_TYPE_descriptor_t asn_DEF_SignedREAL = {
/sizeof(asn_DEF_SignedREAL_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_SIGNED_16P0_1,
1, /* Elements count */
&asn_SPC_SIGNED_16P0_specs_1 /* Additional specs */
};
@ -365,84 +297,10 @@ xer_type_encoder_f SignedSET_encode_xer;
/*** <<< CODE [SignedSET] >>> ***/
int
SignedSET_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_SIGNED_16P1.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using SIGNED_16P1,
* so here we adjust the DEF accordingly.
*/
static void
SignedSET_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_SIGNED_16P1.free_struct;
td->print_struct = asn_DEF_SIGNED_16P1.print_struct;
td->check_constraints = asn_DEF_SIGNED_16P1.check_constraints;
td->ber_decoder = asn_DEF_SIGNED_16P1.ber_decoder;
td->der_encoder = asn_DEF_SIGNED_16P1.der_encoder;
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;
td->oer_decoder = asn_DEF_SIGNED_16P1.oer_decoder;
td->oer_encoder = asn_DEF_SIGNED_16P1.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_SIGNED_16P1.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_SIGNED_16P1.per_constraints;
td->elements = asn_DEF_SIGNED_16P1.elements;
td->elements_count = asn_DEF_SIGNED_16P1.elements_count;
td->specifics = asn_DEF_SIGNED_16P1.specifics;
}
void
SignedSET_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
SignedSET_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
SignedSET_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
SignedSET_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
SignedSET_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
SignedSET_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
SignedSET_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
SignedSET_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
SignedSET_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
SignedSET_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
SignedSET_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
SignedSET_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [SignedSET] >>> ***/
@ -452,13 +310,13 @@ static const ber_tlv_tag_t asn_DEF_SignedSET_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_SignedSET = {
"SignedSET",
"SignedSET",
SignedSET_free,
SignedSET_print,
SignedSET_constraint,
SignedSET_decode_ber,
SignedSET_encode_der,
SignedSET_decode_xer,
SignedSET_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -470,7 +328,8 @@ asn_TYPE_descriptor_t asn_DEF_SignedSET = {
/sizeof(asn_DEF_SignedSET_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_SIGNED_16P1_3,
1, /* Elements count */
&asn_SPC_SIGNED_16P1_specs_3 /* Additional specs */
};

View File

@ -18,6 +18,8 @@ typedef struct Narrow_15P0 {
/*** <<< FUNC-DECLS [Narrow] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Narrow_15P0;
extern asn_SEQUENCE_specifics_t asn_SPC_Narrow_15P0_specs_1;
extern asn_TYPE_member_t asn_MBR_Narrow_15P0_1[3];
/*** <<< CODE [Narrow] >>> ***/
@ -117,7 +119,7 @@ static int asn_DFL_2_set_3(int set_value, void **sptr) {
return (*st == 3);
}
}
static asn_TYPE_member_t asn_MBR_Narrow_15P0_1[] = {
asn_TYPE_member_t asn_MBR_Narrow_15P0_1[] = {
{ ATF_POINTER, 1, offsetof(struct Narrow_15P0, narrow1),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@ -157,7 +159,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Narrow_15P0_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* narrow2 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 } /* narrow3 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Narrow_15P0_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Narrow_15P0_specs_1 = {
sizeof(struct Narrow_15P0),
offsetof(struct Narrow_15P0, _asn_ctx),
asn_MAP_Narrow_15P0_tag2el_1,
@ -214,84 +216,10 @@ xer_type_encoder_f NarrowInteger_encode_xer;
/*** <<< CODE [NarrowInteger] >>> ***/
int
NarrowInteger_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Narrow_15P0.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Narrow_15P0,
* so here we adjust the DEF accordingly.
*/
static void
NarrowInteger_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Narrow_15P0.free_struct;
td->print_struct = asn_DEF_Narrow_15P0.print_struct;
td->check_constraints = asn_DEF_Narrow_15P0.check_constraints;
td->ber_decoder = asn_DEF_Narrow_15P0.ber_decoder;
td->der_encoder = asn_DEF_Narrow_15P0.der_encoder;
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;
td->oer_decoder = asn_DEF_Narrow_15P0.oer_decoder;
td->oer_encoder = asn_DEF_Narrow_15P0.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Narrow_15P0.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Narrow_15P0.per_constraints;
td->elements = asn_DEF_Narrow_15P0.elements;
td->elements_count = asn_DEF_Narrow_15P0.elements_count;
td->specifics = asn_DEF_Narrow_15P0.specifics;
}
void
NarrowInteger_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
NarrowInteger_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
NarrowInteger_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
NarrowInteger_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
NarrowInteger_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
NarrowInteger_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
NarrowInteger_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
NarrowInteger_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
NarrowInteger_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
NarrowInteger_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
NarrowInteger_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
NarrowInteger_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [NarrowInteger] >>> ***/
@ -301,13 +229,13 @@ static const ber_tlv_tag_t asn_DEF_NarrowInteger_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_NarrowInteger = {
"NarrowInteger",
"NarrowInteger",
NarrowInteger_free,
NarrowInteger_print,
NarrowInteger_constraint,
NarrowInteger_decode_ber,
NarrowInteger_encode_der,
NarrowInteger_decode_xer,
NarrowInteger_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -319,7 +247,8 @@ asn_TYPE_descriptor_t asn_DEF_NarrowInteger = {
/sizeof(asn_DEF_NarrowInteger_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Narrow_15P0_1,
3, /* Elements count */
&asn_SPC_Narrow_15P0_specs_1 /* Additional specs */
};

View File

@ -55,72 +55,6 @@ MinMax_16P0_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
static void
MinMax_16P0_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_INTEGER.free_struct;
td->print_struct = asn_DEF_INTEGER.print_struct;
td->check_constraints = asn_DEF_INTEGER.check_constraints;
td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
td->der_encoder = asn_DEF_INTEGER.der_encoder;
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;
td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_INTEGER.per_constraints;
td->elements = asn_DEF_INTEGER.elements;
td->elements_count = asn_DEF_INTEGER.elements_count;
td->specifics = asn_DEF_INTEGER.specifics;
}
void
MinMax_16P0_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
MinMax_16P0_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
MinMax_16P0_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
MinMax_16P0_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
MinMax_16P0_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
MinMax_16P0_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [MinMax] >>> ***/
@ -130,13 +64,13 @@ static const ber_tlv_tag_t asn_DEF_MinMax_16P0_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_MinMax_16P0 = {
"MinMax",
"MinMax",
MinMax_16P0_free,
MinMax_16P0_print,
INTEGER_free,
INTEGER_print,
MinMax_16P0_constraint,
MinMax_16P0_decode_ber,
MinMax_16P0_encode_der,
MinMax_16P0_decode_xer,
MinMax_16P0_encode_xer,
INTEGER_decode_ber,
INTEGER_encode_der,
INTEGER_decode_xer,
INTEGER_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -209,72 +143,6 @@ ThreePlus_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using MinMax_16P0,
* so here we adjust the DEF accordingly.
*/
static void
ThreePlus_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_MinMax_16P0.free_struct;
td->print_struct = asn_DEF_MinMax_16P0.print_struct;
td->check_constraints = asn_DEF_MinMax_16P0.check_constraints;
td->ber_decoder = asn_DEF_MinMax_16P0.ber_decoder;
td->der_encoder = asn_DEF_MinMax_16P0.der_encoder;
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;
td->oer_decoder = asn_DEF_MinMax_16P0.oer_decoder;
td->oer_encoder = asn_DEF_MinMax_16P0.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_MinMax_16P0.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_MinMax_16P0.per_constraints;
td->elements = asn_DEF_MinMax_16P0.elements;
td->elements_count = asn_DEF_MinMax_16P0.elements_count;
td->specifics = asn_DEF_MinMax_16P0.specifics;
}
void
ThreePlus_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ThreePlus_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ThreePlus_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ThreePlus_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ThreePlus_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ThreePlus_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
ThreePlus_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
ThreePlus_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ThreePlus_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ThreePlus_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
ThreePlus_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
ThreePlus_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [ThreePlus] >>> ***/
@ -284,13 +152,13 @@ static const ber_tlv_tag_t asn_DEF_ThreePlus_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_ThreePlus = {
"ThreePlus",
"ThreePlus",
ThreePlus_free,
ThreePlus_print,
INTEGER_free,
INTEGER_print,
ThreePlus_constraint,
ThreePlus_decode_ber,
ThreePlus_encode_der,
ThreePlus_decode_xer,
ThreePlus_encode_xer,
INTEGER_decode_ber,
INTEGER_encode_der,
INTEGER_decode_xer,
INTEGER_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */

View File

@ -36,89 +36,19 @@ typedef struct Flag_16P1 {
/*** <<< FUNC-DECLS [Flag] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Flag_16P0;
extern asn_SEQUENCE_specifics_t asn_SPC_Flag_16P0_specs_1;
extern asn_TYPE_member_t asn_MBR_Flag_16P0_1[1];
/* extern asn_TYPE_descriptor_t asn_DEF_field_7; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_Flag_16P1;
extern asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6;
extern asn_TYPE_member_t asn_MBR_Flag_16P1_6[1];
/*** <<< CODE [Flag] >>> ***/
static int
field_7_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
field_7_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
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;
td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
static void
field_7_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
field_7_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
field_7_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
field_7_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
field_7_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
field_7_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
field_7_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
field_7_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
field_7_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
field_7_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
field_7_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
field_7_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Flag] >>> ***/
@ -142,7 +72,7 @@ static int asn_DFL_2_set_5(int set_value, void **sptr) {
return (value == 5);
}
}
static asn_TYPE_member_t asn_MBR_Flag_16P0_1[] = {
asn_TYPE_member_t asn_MBR_Flag_16P0_1[] = {
{ ATF_POINTER, 1, offsetof(struct Flag_16P0, field),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@ -160,7 +90,7 @@ static const ber_tlv_tag_t asn_DEF_Flag_16P0_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_Flag_16P0_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* field */
};
static asn_SEQUENCE_specifics_t asn_SPC_Flag_16P0_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Flag_16P0_specs_1 = {
sizeof(struct Flag_16P0),
offsetof(struct Flag_16P0, _asn_ctx),
asn_MAP_Flag_16P0_tag2el_1,
@ -225,7 +155,7 @@ static const unsigned int asn_MAP_field_enum2value_7[] = {
1, /* green(4) */
0 /* red(3) */
};
static asn_INTEGER_specifics_t asn_SPC_field_specs_7 = {
static const asn_INTEGER_specifics_t asn_SPC_field_specs_7 = {
asn_MAP_field_value2enum_7, /* "tag" => N; sorted by tag */
asn_MAP_field_enum2value_7, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
@ -241,13 +171,13 @@ static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_field_7 = {
"field",
"field",
field_7_free,
field_7_print,
field_7_constraint,
field_7_decode_ber,
field_7_encode_der,
field_7_decode_xer,
field_7_encode_xer,
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -263,7 +193,7 @@ asn_TYPE_descriptor_t asn_DEF_field_7 = {
&asn_SPC_field_specs_7 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Flag_16P1_6[] = {
asn_TYPE_member_t asn_MBR_Flag_16P1_6[] = {
{ ATF_POINTER, 1, offsetof(struct Flag_16P1, field),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
@ -281,7 +211,7 @@ static const ber_tlv_tag_t asn_DEF_Flag_16P1_tags_6[] = {
static const asn_TYPE_tag2member_t asn_MAP_Flag_16P1_tag2el_6[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* field */
};
static asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6 = {
asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6 = {
sizeof(struct Flag_16P1),
offsetof(struct Flag_16P1, _asn_ctx),
asn_MAP_Flag_16P1_tag2el_6,
@ -338,84 +268,10 @@ xer_type_encoder_f IntegerColorFlag_encode_xer;
/*** <<< CODE [IntegerColorFlag] >>> ***/
int
IntegerColorFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Flag_16P0.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Flag_16P0,
* so here we adjust the DEF accordingly.
*/
static void
IntegerColorFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Flag_16P0.free_struct;
td->print_struct = asn_DEF_Flag_16P0.print_struct;
td->check_constraints = asn_DEF_Flag_16P0.check_constraints;
td->ber_decoder = asn_DEF_Flag_16P0.ber_decoder;
td->der_encoder = asn_DEF_Flag_16P0.der_encoder;
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;
td->oer_decoder = asn_DEF_Flag_16P0.oer_decoder;
td->oer_encoder = asn_DEF_Flag_16P0.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Flag_16P0.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Flag_16P0.per_constraints;
td->elements = asn_DEF_Flag_16P0.elements;
td->elements_count = asn_DEF_Flag_16P0.elements_count;
td->specifics = asn_DEF_Flag_16P0.specifics;
}
void
IntegerColorFlag_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
IntegerColorFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
IntegerColorFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
IntegerColorFlag_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
IntegerColorFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
IntegerColorFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [IntegerColorFlag] >>> ***/
@ -425,13 +281,13 @@ static const ber_tlv_tag_t asn_DEF_IntegerColorFlag_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag = {
"IntegerColorFlag",
"IntegerColorFlag",
IntegerColorFlag_free,
IntegerColorFlag_print,
IntegerColorFlag_constraint,
IntegerColorFlag_decode_ber,
IntegerColorFlag_encode_der,
IntegerColorFlag_decode_xer,
IntegerColorFlag_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -443,8 +299,9 @@ asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag = {
/sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Flag_16P0_1,
1, /* Elements count */
&asn_SPC_Flag_16P0_specs_1 /* Additional specs */
};
@ -469,84 +326,10 @@ xer_type_encoder_f EnumeratedColorFlag_encode_xer;
/*** <<< CODE [EnumeratedColorFlag] >>> ***/
int
EnumeratedColorFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Flag_16P1.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Flag_16P1,
* so here we adjust the DEF accordingly.
*/
static void
EnumeratedColorFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Flag_16P1.free_struct;
td->print_struct = asn_DEF_Flag_16P1.print_struct;
td->check_constraints = asn_DEF_Flag_16P1.check_constraints;
td->ber_decoder = asn_DEF_Flag_16P1.ber_decoder;
td->der_encoder = asn_DEF_Flag_16P1.der_encoder;
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;
td->oer_decoder = asn_DEF_Flag_16P1.oer_decoder;
td->oer_encoder = asn_DEF_Flag_16P1.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Flag_16P1.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Flag_16P1.per_constraints;
td->elements = asn_DEF_Flag_16P1.elements;
td->elements_count = asn_DEF_Flag_16P1.elements_count;
td->specifics = asn_DEF_Flag_16P1.specifics;
}
void
EnumeratedColorFlag_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
EnumeratedColorFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
EnumeratedColorFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
EnumeratedColorFlag_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
EnumeratedColorFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
EnumeratedColorFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [EnumeratedColorFlag] >>> ***/
@ -556,13 +339,13 @@ static const ber_tlv_tag_t asn_DEF_EnumeratedColorFlag_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag = {
"EnumeratedColorFlag",
"EnumeratedColorFlag",
EnumeratedColorFlag_free,
EnumeratedColorFlag_print,
EnumeratedColorFlag_constraint,
EnumeratedColorFlag_decode_ber,
EnumeratedColorFlag_encode_der,
EnumeratedColorFlag_decode_xer,
EnumeratedColorFlag_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -574,7 +357,8 @@ asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag = {
/sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Flag_16P1_6,
1, /* Elements count */
&asn_SPC_Flag_16P1_specs_6 /* Additional specs */
};

View File

@ -65,6 +65,8 @@ typedef struct PDU {
/*** <<< FUNC-DECLS [PDU] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_PDU;
extern asn_SEQUENCE_specifics_t asn_SPC_PDU_specs_1;
extern asn_TYPE_member_t asn_MBR_PDU_1[31];
/*** <<< POST-INCLUDE [PDU] >>> ***/
@ -1230,7 +1232,7 @@ asn_TYPE_descriptor_t asn_DEF_many_2 = {
&asn_SPC_many_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_PDU_1[] = {
asn_TYPE_member_t asn_MBR_PDU_1[] = {
{ ATF_POINTER, 31, offsetof(struct PDU, many),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = 0,
@ -1579,7 +1581,7 @@ static const asn_TYPE_tag2member_t asn_MAP_PDU_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (29 << 2)), 29, 0, 0 }, /* real */
{ (ASN_TAG_CLASS_CONTEXT | (30 << 2)), 30, 0, 0 } /* oid */
};
static asn_SEQUENCE_specifics_t asn_SPC_PDU_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_PDU_specs_1 = {
sizeof(struct PDU),
offsetof(struct PDU, _asn_ctx),
asn_MAP_PDU_tag2el_1,

View File

@ -55,72 +55,6 @@ T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using BIT_STRING,
* so here we adjust the DEF accordingly.
*/
static void
T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_BIT_STRING.free_struct;
td->print_struct = asn_DEF_BIT_STRING.print_struct;
td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
td->oer_decoder = asn_DEF_BIT_STRING.oer_decoder;
td->oer_encoder = asn_DEF_BIT_STRING.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_BIT_STRING.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
td->elements = asn_DEF_BIT_STRING.elements;
td->elements_count = asn_DEF_BIT_STRING.elements_count;
td->specifics = asn_DEF_BIT_STRING.specifics;
}
void
T_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T] >>> ***/
@ -130,13 +64,13 @@ static const ber_tlv_tag_t asn_DEF_T_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T = {
"T",
"T",
T_free,
T_print,
BIT_STRING_free,
BIT_STRING_print,
T_constraint,
T_decode_ber,
T_encode_der,
T_decode_xer,
T_encode_xer,
BIT_STRING_decode_ber,
BIT_STRING_encode_der,
BIT_STRING_decode_xer,
BIT_STRING_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -149,6 +83,6 @@ asn_TYPE_descriptor_t asn_DEF_T = {
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
&asn_SPC_BIT_STRING_specs /* Additional specs */
};

View File

@ -143,6 +143,8 @@ typedef struct Singleton {
/*** <<< FUNC-DECLS [Singleton] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Singleton;
extern asn_SEQUENCE_specifics_t asn_SPC_Singleton_specs_1;
extern asn_TYPE_member_t asn_MBR_Singleton_1[1];
/*** <<< STAT-DEFS [Singleton] >>> ***/
@ -172,7 +174,7 @@ static int asn_DFL_2_set(int set_value, void **sptr) {
}
}
static asn_TYPE_member_t asn_MBR_Singleton_1[] = {
asn_TYPE_member_t asn_MBR_Singleton_1[] = {
{ ATF_POINTER, 1, offsetof(struct Singleton, opt_z),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -191,7 +193,7 @@ static const ber_tlv_tag_t asn_DEF_Singleton_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_Singleton_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* opt-z */
};
static asn_SEQUENCE_specifics_t asn_SPC_Singleton_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Singleton_specs_1 = {
sizeof(struct Singleton),
offsetof(struct Singleton, _asn_ctx),
asn_MAP_Singleton_tag2el_1,
@ -265,10 +267,13 @@ typedef struct PDU_2 {
/*** <<< FUNC-DECLS [PDU-2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_PDU_2;
extern asn_CHOICE_specifics_t asn_SPC_PDU_2_specs_1;
extern asn_TYPE_member_t asn_MBR_PDU_2_1[3];
extern asn_per_constraints_t asn_PER_type_PDU_2_constr_1;
/*** <<< CTDEFS [PDU-2] >>> ***/
static asn_per_constraints_t asn_PER_type_PDU_2_constr_1 GCC_NOTUSED = {
asn_per_constraints_t asn_PER_type_PDU_2_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
@ -276,7 +281,7 @@ static asn_per_constraints_t asn_PER_type_PDU_2_constr_1 GCC_NOTUSED = {
/*** <<< STAT-DEFS [PDU-2] >>> ***/
static asn_TYPE_member_t asn_MBR_PDU_2_1[] = {
asn_TYPE_member_t asn_MBR_PDU_2_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct PDU_2, choice.main),
.tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -314,7 +319,7 @@ static const asn_TYPE_tag2member_t asn_MAP_PDU_2_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ext1 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* main */
};
static asn_CHOICE_specifics_t asn_SPC_PDU_2_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_PDU_2_specs_1 = {
sizeof(struct PDU_2),
offsetof(struct PDU_2, _asn_ctx),
offsetof(struct PDU_2, present),

View File

@ -44,87 +44,6 @@ unsigned32_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
unsigned32_4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->check_constraints = asn_DEF_NativeInteger.check_constraints;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
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;
td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
/* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
}
static void
unsigned32_4_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
unsigned32_4_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
unsigned32_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
unsigned32_4_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
unsigned32_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
unsigned32_4_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
unsigned32_4_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
unsigned32_4_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
unsigned32_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
unsigned32_4_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
unsigned32_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
unsigned32_4_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
unsigned32_4_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
unsigned32_4_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
unsigned32_4_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
unsigned32_4_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static int
unsplit32_5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
@ -154,87 +73,6 @@ unsplit32_5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
unsplit32_5_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->check_constraints = asn_DEF_NativeInteger.check_constraints;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
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;
td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
/* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
}
static void
unsplit32_5_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
unsplit32_5_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
unsplit32_5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
unsplit32_5_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
unsplit32_5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
unsplit32_5_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
unsplit32_5_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
unsplit32_5_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
unsplit32_5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
unsplit32_5_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
unsplit32_5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
unsplit32_5_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
unsplit32_5_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
unsplit32_5_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
unsplit32_5_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
unsplit32_5_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static int
memb_small32range_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
@ -362,7 +200,7 @@ static asn_per_constraints_t asn_PER_memb_unsplit32_constr_5 GCC_NOTUSED = {
/*** <<< STAT-DEFS [T] >>> ***/
static asn_INTEGER_specifics_t asn_SPC_unsigned32_specs_4 = {
static const asn_INTEGER_specifics_t asn_SPC_unsigned32_specs_4 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@ -375,16 +213,16 @@ static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_unsigned32_4 = {
"unsigned32",
"unsigned32",
unsigned32_4_free,
unsigned32_4_print,
NativeInteger_free,
NativeInteger_print,
unsigned32_4_constraint,
unsigned32_4_decode_ber,
unsigned32_4_encode_der,
unsigned32_4_decode_xer,
unsigned32_4_encode_xer,
NativeInteger_decode_ber,
NativeInteger_encode_der,
NativeInteger_decode_xer,
NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
unsigned32_4_decode_uper,
unsigned32_4_encode_uper,
NativeInteger_decode_uper,
NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_unsigned32_tags_4,
sizeof(asn_DEF_unsigned32_tags_4)
@ -398,7 +236,7 @@ asn_TYPE_descriptor_t asn_DEF_unsigned32_4 = {
&asn_SPC_unsigned32_specs_4 /* Additional specs */
};
static asn_INTEGER_specifics_t asn_SPC_unsplit32_specs_5 = {
static const asn_INTEGER_specifics_t asn_SPC_unsplit32_specs_5 = {
0, 0, 0, 0, 0,
0, /* Native long size */
1 /* Unsigned representation */
@ -411,16 +249,16 @@ static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_unsplit32_5 = {
"unsplit32",
"unsplit32",
unsplit32_5_free,
unsplit32_5_print,
NativeInteger_free,
NativeInteger_print,
unsplit32_5_constraint,
unsplit32_5_decode_ber,
unsplit32_5_encode_der,
unsplit32_5_decode_xer,
unsplit32_5_encode_xer,
NativeInteger_decode_ber,
NativeInteger_encode_der,
NativeInteger_decode_xer,
NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
unsplit32_5_decode_uper,
unsplit32_5_encode_uper,
NativeInteger_decode_uper,
NativeInteger_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_unsplit32_tags_5,
sizeof(asn_DEF_unsplit32_tags_5)

File diff suppressed because it is too large Load Diff

View File

@ -28,6 +28,8 @@ typedef struct SIGNED_15P0 {
/*** <<< FUNC-DECLS [SIGNED] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SIGNED_15P0;
extern asn_SEQUENCE_specifics_t asn_SPC_SIGNED_15P0_specs_1;
extern asn_TYPE_member_t asn_MBR_SIGNED_15P0_1[3];
/*** <<< CODE [SIGNED] >>> ***/
@ -141,7 +143,7 @@ asn_TYPE_descriptor_t asn_DEF_toBeSigned_2 = {
&asn_SPC_toBeSigned_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_SIGNED_15P0_1[] = {
asn_TYPE_member_t asn_MBR_SIGNED_15P0_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct SIGNED_15P0, toBeSigned),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@ -181,7 +183,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SIGNED_15P0_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 1, 0, 0 }, /* algorithm */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* toBeSigned */
};
static asn_SEQUENCE_specifics_t asn_SPC_SIGNED_15P0_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_SIGNED_15P0_specs_1 = {
sizeof(struct SIGNED_15P0),
offsetof(struct SIGNED_15P0, _asn_ctx),
asn_MAP_SIGNED_15P0_tag2el_1,
@ -238,84 +240,10 @@ xer_type_encoder_f Certificate_encode_xer;
/*** <<< CODE [Certificate] >>> ***/
int
Certificate_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_SIGNED_15P0.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using SIGNED_15P0,
* so here we adjust the DEF accordingly.
*/
static void
Certificate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_SIGNED_15P0.free_struct;
td->print_struct = asn_DEF_SIGNED_15P0.print_struct;
td->check_constraints = asn_DEF_SIGNED_15P0.check_constraints;
td->ber_decoder = asn_DEF_SIGNED_15P0.ber_decoder;
td->der_encoder = asn_DEF_SIGNED_15P0.der_encoder;
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;
td->oer_decoder = asn_DEF_SIGNED_15P0.oer_decoder;
td->oer_encoder = asn_DEF_SIGNED_15P0.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_SIGNED_15P0.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_SIGNED_15P0.per_constraints;
td->elements = asn_DEF_SIGNED_15P0.elements;
td->elements_count = asn_DEF_SIGNED_15P0.elements_count;
td->specifics = asn_DEF_SIGNED_15P0.specifics;
}
void
Certificate_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Certificate_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Certificate_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Certificate_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Certificate_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Certificate_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Certificate_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Certificate_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Certificate_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Certificate_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Certificate_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Certificate_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Certificate] >>> ***/
@ -325,13 +253,13 @@ static const ber_tlv_tag_t asn_DEF_Certificate_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_Certificate = {
"Certificate",
"Certificate",
Certificate_free,
Certificate_print,
Certificate_constraint,
Certificate_decode_ber,
Certificate_encode_der,
Certificate_decode_xer,
Certificate_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -343,8 +271,9 @@ asn_TYPE_descriptor_t asn_DEF_Certificate = {
/sizeof(asn_DEF_Certificate_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_SIGNED_15P0_1,
3, /* Elements count */
&asn_SPC_SIGNED_15P0_specs_1 /* Additional specs */
};
@ -369,6 +298,8 @@ typedef struct Name {
/*** <<< FUNC-DECLS [Name] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Name;
extern asn_SET_OF_specifics_t asn_SPC_Name_specs_1;
extern asn_TYPE_member_t asn_MBR_Name_1[1];
/*** <<< POST-INCLUDE [Name] >>> ***/
@ -376,7 +307,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Name;
/*** <<< STAT-DEFS [Name] >>> ***/
static asn_TYPE_member_t asn_MBR_Name_1[] = {
asn_TYPE_member_t asn_MBR_Name_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@ -391,7 +322,7 @@ static asn_TYPE_member_t asn_MBR_Name_1[] = {
static const ber_tlv_tag_t asn_DEF_Name_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Name_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_Name_specs_1 = {
sizeof(struct Name),
offsetof(struct Name, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@ -441,6 +372,8 @@ typedef struct RelativeDistinguishedName {
/*** <<< FUNC-DECLS [RelativeDistinguishedName] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_RelativeDistinguishedName;
extern asn_SET_OF_specifics_t asn_SPC_RelativeDistinguishedName_specs_1;
extern asn_TYPE_member_t asn_MBR_RelativeDistinguishedName_1[1];
/*** <<< CTABLES [RelativeDistinguishedName] >>> ***/
@ -499,7 +432,7 @@ memb_IA5String_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
/*** <<< STAT-DEFS [RelativeDistinguishedName] >>> ***/
static asn_TYPE_member_t asn_MBR_RelativeDistinguishedName_1[] = {
asn_TYPE_member_t asn_MBR_RelativeDistinguishedName_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
.tag_mode = 0,
@ -514,7 +447,7 @@ static asn_TYPE_member_t asn_MBR_RelativeDistinguishedName_1[] = {
static const ber_tlv_tag_t asn_DEF_RelativeDistinguishedName_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_RelativeDistinguishedName_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_RelativeDistinguishedName_specs_1 = {
sizeof(struct RelativeDistinguishedName),
offsetof(struct RelativeDistinguishedName, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */

View File

@ -86,7 +86,8 @@ static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = {
static const uint8_t asn_MAP_T_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (1 << 6) | (0 << 5)
};
static asn_SET_specifics_t asn_SPC_T_specs_1 = {
static
asn_SET_specifics_t asn_SPC_T_specs_1 = {
sizeof(struct T),
offsetof(struct T, _asn_ctx),
offsetof(struct T, _presence_map),

View File

@ -20,6 +20,8 @@ typedef struct Forest {
/*** <<< FUNC-DECLS [Forest] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Forest;
extern asn_SET_OF_specifics_t asn_SPC_Forest_specs_1;
extern asn_TYPE_member_t asn_MBR_Forest_1[1];
/*** <<< POST-INCLUDE [Forest] >>> ***/
@ -27,7 +29,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Forest;
/*** <<< STAT-DEFS [Forest] >>> ***/
static asn_TYPE_member_t asn_MBR_Forest_1[] = {
asn_TYPE_member_t asn_MBR_Forest_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@ -42,7 +44,7 @@ static asn_TYPE_member_t asn_MBR_Forest_1[] = {
static const ber_tlv_tag_t asn_DEF_Forest_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Forest_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_Forest_specs_1 = {
sizeof(struct Forest),
offsetof(struct Forest, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@ -92,10 +94,12 @@ typedef struct Tree {
/*** <<< FUNC-DECLS [Tree] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Tree;
extern asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1;
extern asn_TYPE_member_t asn_MBR_Tree_1[2];
/*** <<< STAT-DEFS [Tree] >>> ***/
static asn_TYPE_member_t asn_MBR_Tree_1[] = {
asn_TYPE_member_t asn_MBR_Tree_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Tree, height),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@ -124,7 +128,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Tree_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width */
};
static asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1 = {
sizeof(struct Tree),
offsetof(struct Tree, _asn_ctx),
asn_MAP_Tree_tag2el_1,
@ -512,7 +516,8 @@ static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_cxer_1[] = {
static const uint8_t asn_MAP_Stuff_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(0 << 7) | (0 << 6) | (0 << 5)
};
static asn_SET_specifics_t asn_SPC_Stuff_specs_1 = {
static
asn_SET_specifics_t asn_SPC_Stuff_specs_1 = {
sizeof(struct Stuff),
offsetof(struct Stuff, _asn_ctx),
offsetof(struct Stuff, _presence_map),

View File

@ -95,6 +95,8 @@ typedef struct Fault {
/*** <<< FUNC-DECLS [Fault] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Fault;
extern asn_SET_OF_specifics_t asn_SPC_Fault_specs_1;
extern asn_TYPE_member_t asn_MBR_Fault_1[1];
/*** <<< POST-INCLUDE [Fault] >>> ***/
@ -102,7 +104,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Fault;
/*** <<< STAT-DEFS [Fault] >>> ***/
static asn_TYPE_member_t asn_MBR_Fault_1[] = {
asn_TYPE_member_t asn_MBR_Fault_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@ -117,7 +119,7 @@ static asn_TYPE_member_t asn_MBR_Fault_1[] = {
static const ber_tlv_tag_t asn_DEF_Fault_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Fault_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_Fault_specs_1 = {
sizeof(struct Fault),
offsetof(struct Fault, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@ -168,13 +170,14 @@ typedef struct Error {
/*** <<< FUNC-DECLS [Error] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Error;
extern asn_SEQUENCE_specifics_t asn_SPC_Error_specs_1;
/*** <<< STAT-DEFS [Error] >>> ***/
static const ber_tlv_tag_t asn_DEF_Error_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SEQUENCE_specifics_t asn_SPC_Error_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Error_specs_1 = {
sizeof(struct Error),
offsetof(struct Error, _asn_ctx),
0, /* No top level tags */

View File

@ -151,10 +151,12 @@ typedef struct Choice1 {
/*** <<< FUNC-DECLS [Choice1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice1;
extern asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1;
extern asn_TYPE_member_t asn_MBR_Choice1_1[2];
/*** <<< STAT-DEFS [Choice1] >>> ***/
static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
asn_TYPE_member_t asn_MBR_Choice1_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Choice1, choice.c_a),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
.tag_mode = 0,
@ -180,7 +182,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* c-b */
{ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 } /* c-a */
};
static asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
sizeof(struct Choice1),
offsetof(struct Choice1, _asn_ctx),
offsetof(struct Choice1, present),
@ -250,10 +252,12 @@ typedef struct Choice2 {
/*** <<< FUNC-DECLS [Choice2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice2;
extern asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1;
extern asn_TYPE_member_t asn_MBR_Choice2_1[4];
/*** <<< STAT-DEFS [Choice2] >>> ***/
static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
asn_TYPE_member_t asn_MBR_Choice2_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.c_a),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
.tag_mode = 0,
@ -304,7 +308,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* c-d */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* c-e */
};
static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
sizeof(struct Choice2),
offsetof(struct Choice2, _asn_ctx),
offsetof(struct Choice2, present),
@ -362,84 +366,10 @@ xer_type_encoder_f Choice3_encode_xer;
/*** <<< CODE [Choice3] >>> ***/
int
Choice3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Choice2.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Choice2,
* so here we adjust the DEF accordingly.
*/
static void
Choice3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Choice2.free_struct;
td->print_struct = asn_DEF_Choice2.print_struct;
td->check_constraints = asn_DEF_Choice2.check_constraints;
td->ber_decoder = asn_DEF_Choice2.ber_decoder;
td->der_encoder = asn_DEF_Choice2.der_encoder;
td->xer_decoder = asn_DEF_Choice2.xer_decoder;
td->xer_encoder = asn_DEF_Choice2.xer_encoder;
td->uper_decoder = asn_DEF_Choice2.uper_decoder;
td->uper_encoder = asn_DEF_Choice2.uper_encoder;
td->oer_decoder = asn_DEF_Choice2.oer_decoder;
td->oer_encoder = asn_DEF_Choice2.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Choice2.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Choice2.per_constraints;
td->elements = asn_DEF_Choice2.elements;
td->elements_count = asn_DEF_Choice2.elements_count;
td->specifics = asn_DEF_Choice2.specifics;
}
void
Choice3_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Choice3_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Choice3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Choice3_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Choice3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Choice3_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Choice3_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Choice3_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Choice3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Choice3_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Choice3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Choice3_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Choice3] >>> ***/
@ -450,13 +380,13 @@ static const ber_tlv_tag_t asn_DEF_Choice3_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_Choice3 = {
"Choice3",
"Choice3",
Choice3_free,
Choice3_print,
Choice3_constraint,
Choice3_decode_ber,
Choice3_encode_der,
Choice3_decode_xer,
Choice3_encode_xer,
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
CHOICE_outmost_tag,
@ -468,8 +398,9 @@ asn_TYPE_descriptor_t asn_DEF_Choice3 = {
/sizeof(asn_DEF_Choice3_tags_1[0]), /* 2 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Choice2_1,
4, /* Elements count */
&asn_SPC_Choice2_specs_1 /* Additional specs */
};
@ -494,84 +425,10 @@ xer_type_encoder_f Choice4_encode_xer;
/*** <<< CODE [Choice4] >>> ***/
int
Choice4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Choice2.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Choice2,
* so here we adjust the DEF accordingly.
*/
static void
Choice4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Choice2.free_struct;
td->print_struct = asn_DEF_Choice2.print_struct;
td->check_constraints = asn_DEF_Choice2.check_constraints;
td->ber_decoder = asn_DEF_Choice2.ber_decoder;
td->der_encoder = asn_DEF_Choice2.der_encoder;
td->xer_decoder = asn_DEF_Choice2.xer_decoder;
td->xer_encoder = asn_DEF_Choice2.xer_encoder;
td->uper_decoder = asn_DEF_Choice2.uper_decoder;
td->uper_encoder = asn_DEF_Choice2.uper_encoder;
td->oer_decoder = asn_DEF_Choice2.oer_decoder;
td->oer_encoder = asn_DEF_Choice2.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Choice2.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Choice2.per_constraints;
td->elements = asn_DEF_Choice2.elements;
td->elements_count = asn_DEF_Choice2.elements_count;
td->specifics = asn_DEF_Choice2.specifics;
}
void
Choice4_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Choice4_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Choice4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Choice4_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Choice4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Choice4_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Choice4_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Choice4_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Choice4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Choice4_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Choice4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Choice4_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Choice4] >>> ***/
@ -582,13 +439,13 @@ static const ber_tlv_tag_t asn_DEF_Choice4_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_Choice4 = {
"Choice4",
"Choice4",
Choice4_free,
Choice4_print,
Choice4_constraint,
Choice4_decode_ber,
Choice4_encode_der,
Choice4_decode_xer,
Choice4_encode_xer,
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
CHOICE_outmost_tag,
@ -600,8 +457,9 @@ asn_TYPE_descriptor_t asn_DEF_Choice4 = {
/sizeof(asn_DEF_Choice4_tags_1[0]), /* 2 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Choice2_1,
4, /* Elements count */
&asn_SPC_Choice2_specs_1 /* Additional specs */
};
@ -626,84 +484,10 @@ xer_type_encoder_f Choice5_encode_xer;
/*** <<< CODE [Choice5] >>> ***/
int
Choice5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Choice2.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Choice2,
* so here we adjust the DEF accordingly.
*/
static void
Choice5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Choice2.free_struct;
td->print_struct = asn_DEF_Choice2.print_struct;
td->check_constraints = asn_DEF_Choice2.check_constraints;
td->ber_decoder = asn_DEF_Choice2.ber_decoder;
td->der_encoder = asn_DEF_Choice2.der_encoder;
td->xer_decoder = asn_DEF_Choice2.xer_decoder;
td->xer_encoder = asn_DEF_Choice2.xer_encoder;
td->uper_decoder = asn_DEF_Choice2.uper_decoder;
td->uper_encoder = asn_DEF_Choice2.uper_encoder;
td->oer_decoder = asn_DEF_Choice2.oer_decoder;
td->oer_encoder = asn_DEF_Choice2.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Choice2.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Choice2.per_constraints;
td->elements = asn_DEF_Choice2.elements;
td->elements_count = asn_DEF_Choice2.elements_count;
td->specifics = asn_DEF_Choice2.specifics;
}
void
Choice5_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Choice5_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Choice5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Choice5_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Choice5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Choice5_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Choice5_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Choice5_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Choice5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Choice5_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Choice5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Choice5_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Choice5] >>> ***/
@ -713,13 +497,13 @@ static const ber_tlv_tag_t asn_DEF_Choice5_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_Choice5 = {
"Choice5",
"Choice5",
Choice5_free,
Choice5_print,
Choice5_constraint,
Choice5_decode_ber,
Choice5_encode_der,
Choice5_decode_xer,
Choice5_encode_xer,
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
CHOICE_outmost_tag,
@ -731,8 +515,9 @@ asn_TYPE_descriptor_t asn_DEF_Choice5 = {
/sizeof(asn_DEF_Choice5_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Choice2_1,
4, /* Elements count */
&asn_SPC_Choice2_specs_1 /* Additional specs */
};
@ -757,97 +542,23 @@ xer_type_encoder_f Choice6_encode_xer;
/*** <<< CODE [Choice6] >>> ***/
int
Choice6_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Choice1.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Choice1,
* so here we adjust the DEF accordingly.
*/
static void
Choice6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Choice1.free_struct;
td->print_struct = asn_DEF_Choice1.print_struct;
td->check_constraints = asn_DEF_Choice1.check_constraints;
td->ber_decoder = asn_DEF_Choice1.ber_decoder;
td->der_encoder = asn_DEF_Choice1.der_encoder;
td->xer_decoder = asn_DEF_Choice1.xer_decoder;
td->xer_encoder = asn_DEF_Choice1.xer_encoder;
td->uper_decoder = asn_DEF_Choice1.uper_decoder;
td->uper_encoder = asn_DEF_Choice1.uper_encoder;
td->oer_decoder = asn_DEF_Choice1.oer_decoder;
td->oer_encoder = asn_DEF_Choice1.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Choice1.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Choice1.per_constraints;
td->elements = asn_DEF_Choice1.elements;
td->elements_count = asn_DEF_Choice1.elements_count;
td->specifics = asn_DEF_Choice1.specifics;
}
void
Choice6_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Choice6_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Choice6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Choice6_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Choice6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Choice6_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
Choice6_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Choice6_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Choice6_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Choice6_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
Choice6_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Choice6_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Choice6] >>> ***/
asn_TYPE_descriptor_t asn_DEF_Choice6 = {
"Choice6",
"Choice6",
Choice6_free,
Choice6_print,
Choice6_constraint,
Choice6_decode_ber,
Choice6_encode_der,
Choice6_decode_xer,
Choice6_encode_xer,
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
CHOICE_outmost_tag,
@ -857,7 +568,8 @@ asn_TYPE_descriptor_t asn_DEF_Choice6 = {
0, /* No tags (count) */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Choice1_1,
2, /* Elements count */
&asn_SPC_Choice1_specs_1 /* Additional specs */
};

View File

@ -166,10 +166,12 @@ typedef struct T2 {
/*** <<< FUNC-DECLS [T2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_T2;
extern asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1;
extern asn_TYPE_member_t asn_MBR_T2_1[2];
/*** <<< STAT-DEFS [T2] >>> ***/
static asn_TYPE_member_t asn_MBR_T2_1[] = {
asn_TYPE_member_t asn_MBR_T2_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct T2, flag),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
.tag_mode = 0,
@ -198,7 +200,7 @@ static const asn_TYPE_tag2member_t asn_MAP_T2_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* flag */
{ (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 } /* str */
};
static asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1 = {
sizeof(struct T2),
offsetof(struct T2, _asn_ctx),
asn_MAP_T2_tag2el_1,

View File

@ -213,6 +213,8 @@ typedef struct VariablePartSet {
/*** <<< FUNC-DECLS [VariablePartSet] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet;
extern asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1;
extern asn_TYPE_member_t asn_MBR_VariablePartSet_1[2];
/*** <<< POST-INCLUDE [VariablePartSet] >>> ***/
@ -289,7 +291,7 @@ asn_TYPE_descriptor_t asn_DEF_vparts_2 = {
&asn_SPC_vparts_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = {
asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@ -318,7 +320,7 @@ static const asn_TYPE_tag2member_t asn_MAP_VariablePartSet_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* resolution */
};
static asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1 = {
sizeof(struct VariablePartSet),
offsetof(struct VariablePartSet, _asn_ctx),
asn_MAP_VariablePartSet_tag2el_1,
@ -407,6 +409,8 @@ typedef struct VariablePart {
/*** <<< FUNC-DECLS [VariablePart] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_VariablePart;
extern asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1;
extern asn_TYPE_member_t asn_MBR_VariablePart_1[2];
/*** <<< CODE [VariablePart] >>> ***/
@ -551,7 +555,7 @@ asn_TYPE_descriptor_t asn_DEF_vrange_4 = {
&asn_SPC_vrange_specs_4 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_VariablePart_1[] = {
asn_TYPE_member_t asn_MBR_VariablePart_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@ -577,7 +581,7 @@ static const asn_TYPE_tag2member_t asn_MAP_VariablePart_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* vset */
};
static asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1 = {
sizeof(struct VariablePart),
offsetof(struct VariablePart, _asn_ctx),
offsetof(struct VariablePart, present),
@ -665,87 +669,15 @@ typedef struct ActionItem {
/* extern asn_TYPE_descriptor_t asn_DEF_accept_as_2; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_ActionItem;
extern asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1;
extern asn_TYPE_member_t asn_MBR_ActionItem_1[2];
/*** <<< CODE [ActionItem] >>> ***/
static int
accept_as_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
accept_as_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
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;
td->oer_decoder = asn_DEF_NativeEnumerated.oer_decoder;
td->oer_encoder = asn_DEF_NativeEnumerated.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_NativeEnumerated.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
accept_as_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
accept_as_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
accept_as_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
accept_as_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
accept_as_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
accept_as_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
accept_as_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
accept_as_2_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
accept_as_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
accept_as_2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
accept_as_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
accept_as_2_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [ActionItem] >>> ***/
@ -761,7 +693,7 @@ static const unsigned int asn_MAP_accept_as_enum2value_2[] = {
2 /* unsafe(2) */
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_accept_as_specs_2 = {
static const asn_INTEGER_specifics_t asn_SPC_accept_as_specs_2 = {
asn_MAP_accept_as_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_accept_as_enum2value_2, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
@ -777,13 +709,13 @@ static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_accept_as_2 = {
"accept-as",
"accept-as",
accept_as_2_free,
accept_as_2_print,
accept_as_2_constraint,
accept_as_2_decode_ber,
accept_as_2_encode_der,
accept_as_2_decode_xer,
accept_as_2_encode_xer,
NativeEnumerated_free,
NativeEnumerated_print,
NativeEnumerated_constraint,
NativeEnumerated_decode_ber,
NativeEnumerated_encode_der,
NativeEnumerated_decode_xer,
NativeEnumerated_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -911,7 +843,7 @@ asn_TYPE_descriptor_t asn_DEF_notify_7 = {
&asn_SPC_notify_specs_7 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
@ -940,7 +872,7 @@ static const asn_TYPE_tag2member_t asn_MAP_ActionItem_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* notify */
};
static asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = {
sizeof(struct ActionItem),
offsetof(struct ActionItem, _asn_ctx),
asn_MAP_ActionItem_tag2el_1,

View File

@ -37,6 +37,8 @@ typedef struct Test_structure_1 {
/*** <<< FUNC-DECLS [Test-structure-1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Test_structure_1;
extern asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1;
extern asn_TYPE_member_t asn_MBR_Test_structure_1_1[4];
/*** <<< POST-INCLUDE [Test-structure-1] >>> ***/
@ -138,7 +140,7 @@ asn_TYPE_descriptor_t asn_DEF_t_member2_4 = {
&asn_SPC_t_member2_specs_4 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Test_structure_1_1[] = {
asn_TYPE_member_t asn_MBR_Test_structure_1_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member1),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@ -189,7 +191,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Test_structure_1_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 }, /* t-member3 */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* t-member1 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1 = {
sizeof(struct Test_structure_1),
offsetof(struct Test_structure_1, _asn_ctx),
asn_MAP_Test_structure_1_tag2el_1,
@ -269,6 +271,8 @@ typedef struct Choice_1 {
/*** <<< FUNC-DECLS [Choice-1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice_1;
extern asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1;
extern asn_TYPE_member_t asn_MBR_Choice_1_1[4];
/*** <<< POST-INCLUDE [Choice-1] >>> ***/
@ -324,7 +328,7 @@ asn_TYPE_descriptor_t asn_DEF_or_3 = {
&asn_SPC_or_specs_3 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Choice_1_1[] = {
asn_TYPE_member_t asn_MBR_Choice_1_1[] = {
{ ATF_POINTER, 0, offsetof(struct Choice_1, choice.And),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag_mode = +1, /* EXPLICIT tag at current level */
@ -372,7 +376,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Choice_1_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* not */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* other */
};
static asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1 = {
sizeof(struct Choice_1),
offsetof(struct Choice_1, _asn_ctx),
offsetof(struct Choice_1, present),
@ -441,6 +445,8 @@ typedef struct Test_structure_2 {
/*** <<< FUNC-DECLS [Test-structure-2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Test_structure_2;
extern asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1;
extern asn_TYPE_member_t asn_MBR_Test_structure_2_1[1];
/*** <<< POST-INCLUDE [Test-structure-2] >>> ***/
@ -448,7 +454,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Test_structure_2;
/*** <<< STAT-DEFS [Test-structure-2] >>> ***/
static asn_TYPE_member_t asn_MBR_Test_structure_2_1[] = {
asn_TYPE_member_t asn_MBR_Test_structure_2_1[] = {
{ ATF_POINTER, 1, offsetof(struct Test_structure_2, m1),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@ -469,7 +475,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Test_structure_2_tag2el_1[] = {
static const uint8_t asn_MAP_Test_structure_2_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(0 << 7)
};
static asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1 = {
asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1 = {
sizeof(struct Test_structure_2),
offsetof(struct Test_structure_2, _asn_ctx),
offsetof(struct Test_structure_2, _presence_map),
@ -541,6 +547,8 @@ typedef struct Test_structure_3 {
/*** <<< FUNC-DECLS [Test-structure-3] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Test_structure_3;
extern asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1;
extern asn_TYPE_member_t asn_MBR_Test_structure_3_1[1];
/*** <<< POST-INCLUDE [Test-structure-3] >>> ***/
@ -548,7 +556,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Test_structure_3;
/*** <<< STAT-DEFS [Test-structure-3] >>> ***/
static asn_TYPE_member_t asn_MBR_Test_structure_3_1[] = {
asn_TYPE_member_t asn_MBR_Test_structure_3_1[] = {
{ ATF_POINTER, 1, offsetof(struct Test_structure_3, m1),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@ -569,7 +577,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Test_structure_3_tag2el_1[] = {
static const uint8_t asn_MAP_Test_structure_3_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(0 << 7)
};
static asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1 = {
asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1 = {
sizeof(struct Test_structure_3),
offsetof(struct Test_structure_3, _asn_ctx),
offsetof(struct Test_structure_3, _presence_map),

View File

@ -20,84 +20,10 @@ xer_type_encoder_f PrimitiveType_encode_xer;
/*** <<< CODE [PrimitiveType] >>> ***/
int
PrimitiveType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly.
*/
static void
PrimitiveType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
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;
td->oer_decoder = asn_DEF_OCTET_STRING.oer_decoder;
td->oer_encoder = asn_DEF_OCTET_STRING.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_OCTET_STRING.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
td->elements = asn_DEF_OCTET_STRING.elements;
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
td->specifics = asn_DEF_OCTET_STRING.specifics;
}
void
PrimitiveType_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
PrimitiveType_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
PrimitiveType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
PrimitiveType_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
PrimitiveType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
PrimitiveType_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
PrimitiveType_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
PrimitiveType_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
PrimitiveType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
PrimitiveType_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
PrimitiveType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
PrimitiveType_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [PrimitiveType] >>> ***/
@ -107,13 +33,13 @@ static const ber_tlv_tag_t asn_DEF_PrimitiveType_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_PrimitiveType = {
"PrimitiveType",
"PrimitiveType",
PrimitiveType_free,
PrimitiveType_print,
PrimitiveType_constraint,
PrimitiveType_decode_ber,
PrimitiveType_encode_der,
PrimitiveType_decode_xer,
PrimitiveType_encode_xer,
OCTET_STRING_free,
OCTET_STRING_print,
OCTET_STRING_constraint,
OCTET_STRING_decode_ber,
OCTET_STRING_encode_der,
OCTET_STRING_decode_xer,
OCTET_STRING_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -126,7 +52,7 @@ asn_TYPE_descriptor_t asn_DEF_PrimitiveType = {
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
&asn_SPC_OCTET_STRING_specs /* Additional specs */
};
@ -147,10 +73,12 @@ typedef struct ConstructedType {
/*** <<< FUNC-DECLS [ConstructedType] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_ConstructedType;
extern asn_SEQUENCE_specifics_t asn_SPC_ConstructedType_specs_1;
extern asn_TYPE_member_t asn_MBR_ConstructedType_1[1];
/*** <<< STAT-DEFS [ConstructedType] >>> ***/
static asn_TYPE_member_t asn_MBR_ConstructedType_1[] = {
asn_TYPE_member_t asn_MBR_ConstructedType_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ConstructedType, field),
.tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -168,7 +96,7 @@ static const ber_tlv_tag_t asn_DEF_ConstructedType_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_ConstructedType_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 0, 0, 0 } /* field */
};
static asn_SEQUENCE_specifics_t asn_SPC_ConstructedType_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_ConstructedType_specs_1 = {
sizeof(struct ConstructedType),
offsetof(struct ConstructedType, _asn_ctx),
asn_MAP_ConstructedType_tag2el_1,
@ -225,84 +153,10 @@ xer_type_encoder_f T_encode_xer;
/*** <<< CODE [T] >>> ***/
int
T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ConstructedType.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ConstructedType,
* so here we adjust the DEF accordingly.
*/
static void
T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ConstructedType.free_struct;
td->print_struct = asn_DEF_ConstructedType.print_struct;
td->check_constraints = asn_DEF_ConstructedType.check_constraints;
td->ber_decoder = asn_DEF_ConstructedType.ber_decoder;
td->der_encoder = asn_DEF_ConstructedType.der_encoder;
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;
td->oer_decoder = asn_DEF_ConstructedType.oer_decoder;
td->oer_encoder = asn_DEF_ConstructedType.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ConstructedType.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ConstructedType.per_constraints;
td->elements = asn_DEF_ConstructedType.elements;
td->elements_count = asn_DEF_ConstructedType.elements_count;
td->specifics = asn_DEF_ConstructedType.specifics;
}
void
T_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T] >>> ***/
@ -313,13 +167,13 @@ static const ber_tlv_tag_t asn_DEF_T_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T = {
"T",
"T",
T_free,
T_print,
T_constraint,
T_decode_ber,
T_encode_der,
T_decode_xer,
T_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -331,7 +185,8 @@ asn_TYPE_descriptor_t asn_DEF_T = {
/sizeof(asn_DEF_T_tags_1[0]), /* 2 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_ConstructedType_1,
1, /* Elements count */
&asn_SPC_ConstructedType_specs_1 /* Additional specs */
};

View File

@ -58,7 +58,8 @@ static const asn_TYPE_tag2member_t asn_MAP_T1_tag2el_1[] = {
static const uint8_t asn_MAP_T1_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
static asn_SET_specifics_t asn_SPC_T1_specs_1 = {
static
asn_SET_specifics_t asn_SPC_T1_specs_1 = {
sizeof(struct T1),
offsetof(struct T1, _asn_ctx),
offsetof(struct T1, _presence_map),
@ -155,7 +156,8 @@ static const asn_TYPE_tag2member_t asn_MAP_T2_tag2el_1[] = {
static const uint8_t asn_MAP_T2_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
static asn_SET_specifics_t asn_SPC_T2_specs_1 = {
static
asn_SET_specifics_t asn_SPC_T2_specs_1 = {
sizeof(struct T2),
offsetof(struct T2, _asn_ctx),
offsetof(struct T2, _presence_map),

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -39,6 +39,8 @@ typedef struct Choice {
/*** <<< FUNC-DECLS [Choice] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice;
extern asn_CHOICE_specifics_t asn_SPC_Choice_specs_1;
extern asn_TYPE_member_t asn_MBR_Choice_1[3];
/*** <<< POST-INCLUDE [Choice] >>> ***/
@ -46,7 +48,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Choice;
/*** <<< STAT-DEFS [Choice] >>> ***/
static asn_TYPE_member_t asn_MBR_Choice_1[] = {
asn_TYPE_member_t asn_MBR_Choice_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Choice, choice.a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -86,7 +88,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Choice_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
};
static asn_CHOICE_specifics_t asn_SPC_Choice_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_Choice_specs_1 = {
sizeof(struct Choice),
offsetof(struct Choice, _asn_ctx),
offsetof(struct Choice, present),

View File

@ -20,84 +20,10 @@ xer_type_encoder_f T1_encode_xer;
/*** <<< CODE [T1] >>> ***/
int
T1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_T2.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using T2,
* so here we adjust the DEF accordingly.
*/
static void
T1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_T2.free_struct;
td->print_struct = asn_DEF_T2.print_struct;
td->check_constraints = asn_DEF_T2.check_constraints;
td->ber_decoder = asn_DEF_T2.ber_decoder;
td->der_encoder = asn_DEF_T2.der_encoder;
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;
td->oer_decoder = asn_DEF_T2.oer_decoder;
td->oer_encoder = asn_DEF_T2.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_T2.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_T2.per_constraints;
td->elements = asn_DEF_T2.elements;
td->elements_count = asn_DEF_T2.elements_count;
td->specifics = asn_DEF_T2.specifics;
}
void
T1_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T1_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T1_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T1_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T1_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T1_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T1_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T1_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T1] >>> ***/
@ -118,13 +44,13 @@ static const ber_tlv_tag_t asn_DEF_T1_all_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T1 = {
"T1",
"T1",
T1_free,
T1_print,
T1_constraint,
T1_decode_ber,
T1_encode_der,
T1_decode_xer,
T1_encode_xer,
NativeReal_free,
NativeReal_print,
NativeReal_constraint,
NativeReal_decode_ber,
NativeReal_encode_der,
NativeReal_decode_xer,
NativeReal_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -162,84 +88,10 @@ xer_type_encoder_f T2_encode_xer;
/*** <<< CODE [T2] >>> ***/
int
T2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_T3.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using T3,
* so here we adjust the DEF accordingly.
*/
static void
T2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_T3.free_struct;
td->print_struct = asn_DEF_T3.print_struct;
td->check_constraints = asn_DEF_T3.check_constraints;
td->ber_decoder = asn_DEF_T3.ber_decoder;
td->der_encoder = asn_DEF_T3.der_encoder;
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;
td->oer_decoder = asn_DEF_T3.oer_decoder;
td->oer_encoder = asn_DEF_T3.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_T3.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_T3.per_constraints;
td->elements = asn_DEF_T3.elements;
td->elements_count = asn_DEF_T3.elements_count;
td->specifics = asn_DEF_T3.specifics;
}
void
T2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T2_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T2_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T2_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T2_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T2_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T2_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T2] >>> ***/
@ -258,13 +110,13 @@ static const ber_tlv_tag_t asn_DEF_T2_all_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T2 = {
"T2",
"T2",
T2_free,
T2_print,
T2_constraint,
T2_decode_ber,
T2_encode_der,
T2_decode_xer,
T2_encode_xer,
NativeReal_free,
NativeReal_print,
NativeReal_constraint,
NativeReal_decode_ber,
NativeReal_encode_der,
NativeReal_decode_xer,
NativeReal_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -302,84 +154,10 @@ xer_type_encoder_f T3_encode_xer;
/*** <<< CODE [T3] >>> ***/
int
T3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_T4.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using T4,
* so here we adjust the DEF accordingly.
*/
static void
T3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_T4.free_struct;
td->print_struct = asn_DEF_T4.print_struct;
td->check_constraints = asn_DEF_T4.check_constraints;
td->ber_decoder = asn_DEF_T4.ber_decoder;
td->der_encoder = asn_DEF_T4.der_encoder;
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;
td->oer_decoder = asn_DEF_T4.oer_decoder;
td->oer_encoder = asn_DEF_T4.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_T4.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_T4.per_constraints;
td->elements = asn_DEF_T4.elements;
td->elements_count = asn_DEF_T4.elements_count;
td->specifics = asn_DEF_T4.specifics;
}
void
T3_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T3_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T3_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T3_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T3_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T3_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T3_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T3_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T3] >>> ***/
@ -396,13 +174,13 @@ static const ber_tlv_tag_t asn_DEF_T3_all_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T3 = {
"T3",
"T3",
T3_free,
T3_print,
T3_constraint,
T3_decode_ber,
T3_encode_der,
T3_decode_xer,
T3_encode_xer,
NativeReal_free,
NativeReal_print,
NativeReal_constraint,
NativeReal_decode_ber,
NativeReal_encode_der,
NativeReal_decode_xer,
NativeReal_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -440,84 +218,10 @@ xer_type_encoder_f T4_encode_xer;
/*** <<< CODE [T4] >>> ***/
int
T4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_T5.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using T5,
* so here we adjust the DEF accordingly.
*/
static void
T4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_T5.free_struct;
td->print_struct = asn_DEF_T5.print_struct;
td->check_constraints = asn_DEF_T5.check_constraints;
td->ber_decoder = asn_DEF_T5.ber_decoder;
td->der_encoder = asn_DEF_T5.der_encoder;
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;
td->oer_decoder = asn_DEF_T5.oer_decoder;
td->oer_encoder = asn_DEF_T5.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_T5.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_T5.per_constraints;
td->elements = asn_DEF_T5.elements;
td->elements_count = asn_DEF_T5.elements_count;
td->specifics = asn_DEF_T5.specifics;
}
void
T4_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T4_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T4_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T4_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T4_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T4_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T4_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T4_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T4] >>> ***/
@ -529,13 +233,13 @@ static const ber_tlv_tag_t asn_DEF_T4_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T4 = {
"T4",
"T4",
T4_free,
T4_print,
T4_constraint,
T4_decode_ber,
T4_encode_der,
T4_decode_xer,
T4_encode_xer,
NativeReal_free,
NativeReal_print,
NativeReal_constraint,
NativeReal_decode_ber,
NativeReal_encode_der,
NativeReal_decode_xer,
NativeReal_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -573,84 +277,10 @@ xer_type_encoder_f T5_encode_xer;
/*** <<< CODE [T5] >>> ***/
int
T5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_T6.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using T6,
* so here we adjust the DEF accordingly.
*/
static void
T5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_T6.free_struct;
td->print_struct = asn_DEF_T6.print_struct;
td->check_constraints = asn_DEF_T6.check_constraints;
td->ber_decoder = asn_DEF_T6.ber_decoder;
td->der_encoder = asn_DEF_T6.der_encoder;
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;
td->oer_decoder = asn_DEF_T6.oer_decoder;
td->oer_encoder = asn_DEF_T6.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_T6.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_T6.per_constraints;
td->elements = asn_DEF_T6.elements;
td->elements_count = asn_DEF_T6.elements_count;
td->specifics = asn_DEF_T6.specifics;
}
void
T5_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T5_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T5_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T5_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T5_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T5_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T5_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T5_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T5] >>> ***/
@ -661,13 +291,13 @@ static const ber_tlv_tag_t asn_DEF_T5_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T5 = {
"T5",
"T5",
T5_free,
T5_print,
T5_constraint,
T5_decode_ber,
T5_encode_der,
T5_decode_xer,
T5_encode_xer,
NativeReal_free,
NativeReal_print,
NativeReal_constraint,
NativeReal_decode_ber,
NativeReal_encode_der,
NativeReal_decode_xer,
NativeReal_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -705,84 +335,10 @@ xer_type_encoder_f T6_encode_xer;
/*** <<< CODE [T6] >>> ***/
int
T6_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeReal.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeReal,
* so here we adjust the DEF accordingly.
*/
static void
T6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeReal.free_struct;
td->print_struct = asn_DEF_NativeReal.print_struct;
td->check_constraints = asn_DEF_NativeReal.check_constraints;
td->ber_decoder = asn_DEF_NativeReal.ber_decoder;
td->der_encoder = asn_DEF_NativeReal.der_encoder;
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;
td->oer_decoder = asn_DEF_NativeReal.oer_decoder;
td->oer_encoder = asn_DEF_NativeReal.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_NativeReal.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeReal.per_constraints;
td->elements = asn_DEF_NativeReal.elements;
td->elements_count = asn_DEF_NativeReal.elements_count;
td->specifics = asn_DEF_NativeReal.specifics;
}
void
T6_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T6_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T6_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T6_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T6_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T6_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T6_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T6_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T6_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T6_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T6] >>> ***/
@ -792,13 +348,13 @@ static const ber_tlv_tag_t asn_DEF_T6_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T6 = {
"T6",
"T6",
T6_free,
T6_print,
T6_constraint,
T6_decode_ber,
T6_encode_der,
T6_decode_xer,
T6_encode_xer,
NativeReal_free,
NativeReal_print,
NativeReal_constraint,
NativeReal_decode_ber,
NativeReal_encode_der,
NativeReal_decode_xer,
NativeReal_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -836,84 +392,10 @@ xer_type_encoder_f T_encode_xer;
/*** <<< CODE [T] >>> ***/
int
T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Ts.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Ts,
* so here we adjust the DEF accordingly.
*/
static void
T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Ts.free_struct;
td->print_struct = asn_DEF_Ts.print_struct;
td->check_constraints = asn_DEF_Ts.check_constraints;
td->ber_decoder = asn_DEF_Ts.ber_decoder;
td->der_encoder = asn_DEF_Ts.der_encoder;
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;
td->oer_decoder = asn_DEF_Ts.oer_decoder;
td->oer_encoder = asn_DEF_Ts.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Ts.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Ts.per_constraints;
td->elements = asn_DEF_Ts.elements;
td->elements_count = asn_DEF_Ts.elements_count;
td->specifics = asn_DEF_Ts.specifics;
}
void
T_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T] >>> ***/
@ -925,13 +407,13 @@ static const ber_tlv_tag_t asn_DEF_T_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T = {
"T",
"T",
T_free,
T_print,
T_constraint,
T_decode_ber,
T_encode_der,
T_decode_xer,
T_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -943,8 +425,9 @@ asn_TYPE_descriptor_t asn_DEF_T = {
/sizeof(asn_DEF_T_tags_1[0]), /* 3 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Ts_1,
3, /* Elements count */
&asn_SPC_Ts_specs_1 /* Additional specs */
};
@ -968,10 +451,12 @@ typedef struct Ts {
/*** <<< FUNC-DECLS [Ts] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Ts;
extern asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1;
extern asn_TYPE_member_t asn_MBR_Ts_1[3];
/*** <<< STAT-DEFS [Ts] >>> ***/
static asn_TYPE_member_t asn_MBR_Ts_1[] = {
asn_TYPE_member_t asn_MBR_Ts_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m1),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1012,7 +497,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Ts_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* m2 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* m3 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1 = {
sizeof(struct Ts),
offsetof(struct Ts, _asn_ctx),
asn_MAP_Ts_tag2el_1,

View File

@ -20,84 +20,10 @@ xer_type_encoder_f T1_encode_xer;
/*** <<< CODE [T1] >>> ***/
int
T1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_T2.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using T2,
* so here we adjust the DEF accordingly.
*/
static void
T1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_T2.free_struct;
td->print_struct = asn_DEF_T2.print_struct;
td->check_constraints = asn_DEF_T2.check_constraints;
td->ber_decoder = asn_DEF_T2.ber_decoder;
td->der_encoder = asn_DEF_T2.der_encoder;
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;
td->oer_decoder = asn_DEF_T2.oer_decoder;
td->oer_encoder = asn_DEF_T2.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_T2.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_T2.per_constraints;
td->elements = asn_DEF_T2.elements;
td->elements_count = asn_DEF_T2.elements_count;
td->specifics = asn_DEF_T2.specifics;
}
void
T1_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T1_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T1_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T1_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T1_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T1_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T1_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T1_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T1] >>> ***/
@ -118,13 +44,13 @@ static const ber_tlv_tag_t asn_DEF_T1_all_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T1 = {
"T1",
"T1",
T1_free,
T1_print,
T1_constraint,
T1_decode_ber,
T1_encode_der,
T1_decode_xer,
T1_encode_xer,
REAL_free,
REAL_print,
REAL_constraint,
REAL_decode_ber,
REAL_encode_der,
REAL_decode_xer,
REAL_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -162,84 +88,10 @@ xer_type_encoder_f T2_encode_xer;
/*** <<< CODE [T2] >>> ***/
int
T2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_T3.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using T3,
* so here we adjust the DEF accordingly.
*/
static void
T2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_T3.free_struct;
td->print_struct = asn_DEF_T3.print_struct;
td->check_constraints = asn_DEF_T3.check_constraints;
td->ber_decoder = asn_DEF_T3.ber_decoder;
td->der_encoder = asn_DEF_T3.der_encoder;
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;
td->oer_decoder = asn_DEF_T3.oer_decoder;
td->oer_encoder = asn_DEF_T3.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_T3.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_T3.per_constraints;
td->elements = asn_DEF_T3.elements;
td->elements_count = asn_DEF_T3.elements_count;
td->specifics = asn_DEF_T3.specifics;
}
void
T2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T2_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T2_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T2_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T2_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T2_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T2_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T2] >>> ***/
@ -258,13 +110,13 @@ static const ber_tlv_tag_t asn_DEF_T2_all_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T2 = {
"T2",
"T2",
T2_free,
T2_print,
T2_constraint,
T2_decode_ber,
T2_encode_der,
T2_decode_xer,
T2_encode_xer,
REAL_free,
REAL_print,
REAL_constraint,
REAL_decode_ber,
REAL_encode_der,
REAL_decode_xer,
REAL_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -302,84 +154,10 @@ xer_type_encoder_f T3_encode_xer;
/*** <<< CODE [T3] >>> ***/
int
T3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_T4.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using T4,
* so here we adjust the DEF accordingly.
*/
static void
T3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_T4.free_struct;
td->print_struct = asn_DEF_T4.print_struct;
td->check_constraints = asn_DEF_T4.check_constraints;
td->ber_decoder = asn_DEF_T4.ber_decoder;
td->der_encoder = asn_DEF_T4.der_encoder;
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;
td->oer_decoder = asn_DEF_T4.oer_decoder;
td->oer_encoder = asn_DEF_T4.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_T4.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_T4.per_constraints;
td->elements = asn_DEF_T4.elements;
td->elements_count = asn_DEF_T4.elements_count;
td->specifics = asn_DEF_T4.specifics;
}
void
T3_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T3_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T3_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T3_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T3_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T3_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T3_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T3_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T3] >>> ***/
@ -396,13 +174,13 @@ static const ber_tlv_tag_t asn_DEF_T3_all_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T3 = {
"T3",
"T3",
T3_free,
T3_print,
T3_constraint,
T3_decode_ber,
T3_encode_der,
T3_decode_xer,
T3_encode_xer,
REAL_free,
REAL_print,
REAL_constraint,
REAL_decode_ber,
REAL_encode_der,
REAL_decode_xer,
REAL_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -440,84 +218,10 @@ xer_type_encoder_f T4_encode_xer;
/*** <<< CODE [T4] >>> ***/
int
T4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_T5.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using T5,
* so here we adjust the DEF accordingly.
*/
static void
T4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_T5.free_struct;
td->print_struct = asn_DEF_T5.print_struct;
td->check_constraints = asn_DEF_T5.check_constraints;
td->ber_decoder = asn_DEF_T5.ber_decoder;
td->der_encoder = asn_DEF_T5.der_encoder;
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;
td->oer_decoder = asn_DEF_T5.oer_decoder;
td->oer_encoder = asn_DEF_T5.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_T5.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_T5.per_constraints;
td->elements = asn_DEF_T5.elements;
td->elements_count = asn_DEF_T5.elements_count;
td->specifics = asn_DEF_T5.specifics;
}
void
T4_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T4_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T4_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T4_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T4_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T4_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T4_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T4_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T4] >>> ***/
@ -529,13 +233,13 @@ static const ber_tlv_tag_t asn_DEF_T4_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T4 = {
"T4",
"T4",
T4_free,
T4_print,
T4_constraint,
T4_decode_ber,
T4_encode_der,
T4_decode_xer,
T4_encode_xer,
REAL_free,
REAL_print,
REAL_constraint,
REAL_decode_ber,
REAL_encode_der,
REAL_decode_xer,
REAL_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -573,84 +277,10 @@ xer_type_encoder_f T5_encode_xer;
/*** <<< CODE [T5] >>> ***/
int
T5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_T6.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using T6,
* so here we adjust the DEF accordingly.
*/
static void
T5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_T6.free_struct;
td->print_struct = asn_DEF_T6.print_struct;
td->check_constraints = asn_DEF_T6.check_constraints;
td->ber_decoder = asn_DEF_T6.ber_decoder;
td->der_encoder = asn_DEF_T6.der_encoder;
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;
td->oer_decoder = asn_DEF_T6.oer_decoder;
td->oer_encoder = asn_DEF_T6.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_T6.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_T6.per_constraints;
td->elements = asn_DEF_T6.elements;
td->elements_count = asn_DEF_T6.elements_count;
td->specifics = asn_DEF_T6.specifics;
}
void
T5_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T5_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T5_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T5_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T5_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T5_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T5_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T5_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T5] >>> ***/
@ -661,13 +291,13 @@ static const ber_tlv_tag_t asn_DEF_T5_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T5 = {
"T5",
"T5",
T5_free,
T5_print,
T5_constraint,
T5_decode_ber,
T5_encode_der,
T5_decode_xer,
T5_encode_xer,
REAL_free,
REAL_print,
REAL_constraint,
REAL_decode_ber,
REAL_encode_der,
REAL_decode_xer,
REAL_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -705,84 +335,10 @@ xer_type_encoder_f T6_encode_xer;
/*** <<< CODE [T6] >>> ***/
int
T6_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_REAL.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using REAL,
* so here we adjust the DEF accordingly.
*/
static void
T6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_REAL.free_struct;
td->print_struct = asn_DEF_REAL.print_struct;
td->check_constraints = asn_DEF_REAL.check_constraints;
td->ber_decoder = asn_DEF_REAL.ber_decoder;
td->der_encoder = asn_DEF_REAL.der_encoder;
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;
td->oer_decoder = asn_DEF_REAL.oer_decoder;
td->oer_encoder = asn_DEF_REAL.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_REAL.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_REAL.per_constraints;
td->elements = asn_DEF_REAL.elements;
td->elements_count = asn_DEF_REAL.elements_count;
td->specifics = asn_DEF_REAL.specifics;
}
void
T6_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T6_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T6_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T6_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T6_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T6_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T6_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T6_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T6_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T6_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T6] >>> ***/
@ -792,13 +348,13 @@ static const ber_tlv_tag_t asn_DEF_T6_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T6 = {
"T6",
"T6",
T6_free,
T6_print,
T6_constraint,
T6_decode_ber,
T6_encode_der,
T6_decode_xer,
T6_encode_xer,
REAL_free,
REAL_print,
REAL_constraint,
REAL_decode_ber,
REAL_encode_der,
REAL_decode_xer,
REAL_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -836,84 +392,10 @@ xer_type_encoder_f T_encode_xer;
/*** <<< CODE [T] >>> ***/
int
T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Ts.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Ts,
* so here we adjust the DEF accordingly.
*/
static void
T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Ts.free_struct;
td->print_struct = asn_DEF_Ts.print_struct;
td->check_constraints = asn_DEF_Ts.check_constraints;
td->ber_decoder = asn_DEF_Ts.ber_decoder;
td->der_encoder = asn_DEF_Ts.der_encoder;
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;
td->oer_decoder = asn_DEF_Ts.oer_decoder;
td->oer_encoder = asn_DEF_Ts.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Ts.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Ts.per_constraints;
td->elements = asn_DEF_Ts.elements;
td->elements_count = asn_DEF_Ts.elements_count;
td->specifics = asn_DEF_Ts.specifics;
}
void
T_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T] >>> ***/
@ -925,13 +407,13 @@ static const ber_tlv_tag_t asn_DEF_T_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T = {
"T",
"T",
T_free,
T_print,
T_constraint,
T_decode_ber,
T_encode_der,
T_decode_xer,
T_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -943,8 +425,9 @@ asn_TYPE_descriptor_t asn_DEF_T = {
/sizeof(asn_DEF_T_tags_1[0]), /* 3 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Ts_1,
3, /* Elements count */
&asn_SPC_Ts_specs_1 /* Additional specs */
};
@ -968,10 +451,12 @@ typedef struct Ts {
/*** <<< FUNC-DECLS [Ts] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Ts;
extern asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1;
extern asn_TYPE_member_t asn_MBR_Ts_1[3];
/*** <<< STAT-DEFS [Ts] >>> ***/
static asn_TYPE_member_t asn_MBR_Ts_1[] = {
asn_TYPE_member_t asn_MBR_Ts_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m1),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1012,7 +497,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Ts_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* m2 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* m3 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1 = {
sizeof(struct Ts),
offsetof(struct Ts, _asn_ctx),
asn_MAP_Ts_tag2el_1,

View File

@ -86,6 +86,7 @@ typedef ENUMERATED_t SimpleType_t;
/*** <<< FUNC-DECLS [SimpleType] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SimpleType;
extern asn_INTEGER_specifics_t asn_SPC_SimpleType_specs_1;
asn_struct_free_f SimpleType_free;
asn_struct_print_f SimpleType_print;
asn_constr_check_f SimpleType_constraint;
@ -96,84 +97,10 @@ xer_type_encoder_f SimpleType_encode_xer;
/*** <<< CODE [SimpleType] >>> ***/
int
SimpleType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
SimpleType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
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;
td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
void
SimpleType_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
SimpleType_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
SimpleType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
SimpleType_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
SimpleType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
SimpleType_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
SimpleType_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
SimpleType_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
SimpleType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
SimpleType_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
SimpleType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
SimpleType_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [SimpleType] >>> ***/
@ -187,7 +114,7 @@ static const unsigned int asn_MAP_SimpleType_enum2value_1[] = {
2, /* three(2) */
1 /* two(1) */
};
static asn_INTEGER_specifics_t asn_SPC_SimpleType_specs_1 = {
const asn_INTEGER_specifics_t asn_SPC_SimpleType_specs_1 = {
asn_MAP_SimpleType_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_SimpleType_enum2value_1, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
@ -202,13 +129,13 @@ static const ber_tlv_tag_t asn_DEF_SimpleType_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_SimpleType = {
"SimpleType",
"SimpleType",
SimpleType_free,
SimpleType_print,
SimpleType_constraint,
SimpleType_decode_ber,
SimpleType_encode_der,
SimpleType_decode_xer,
SimpleType_encode_xer,
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */

View File

@ -81,7 +81,8 @@ static const ber_tlv_tag_t asn_DEF_class_tags_4[] = {
static const uint8_t asn_MAP_class_mmap_4[(0 + (8 * sizeof(unsigned int)) - 1) / 8] = {
0
};
static asn_SET_specifics_t asn_SPC_class_specs_4 = {
static
asn_SET_specifics_t asn_SPC_class_specs_4 = {
sizeof(struct Class),
offsetof(struct Class, _asn_ctx),
offsetof(struct Class, _presence_map),

View File

@ -307,6 +307,8 @@ typedef struct Sequence {
/*** <<< FUNC-DECLS [Sequence] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Sequence;
extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
extern asn_TYPE_member_t asn_MBR_Sequence_1[4];
/*** <<< POST-INCLUDE [Sequence] >>> ***/
@ -314,7 +316,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Sequence;
/*** <<< STAT-DEFS [Sequence] >>> ***/
static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
asn_TYPE_member_t asn_MBR_Sequence_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Sequence, integer),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -365,7 +367,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bits */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* string */
};
static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
sizeof(struct Sequence),
offsetof(struct Sequence, _asn_ctx),
asn_MAP_Sequence_tag2el_1,
@ -435,10 +437,12 @@ typedef struct Set {
/*** <<< FUNC-DECLS [Set] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Set;
extern asn_SET_specifics_t asn_SPC_Set_specs_1;
extern asn_TYPE_member_t asn_MBR_Set_1[2];
/*** <<< STAT-DEFS [Set] >>> ***/
static asn_TYPE_member_t asn_MBR_Set_1[] = {
asn_TYPE_member_t asn_MBR_Set_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Set, roid),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -470,7 +474,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Set_tag2el_1[] = {
static const uint8_t asn_MAP_Set_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (0 << 6)
};
static asn_SET_specifics_t asn_SPC_Set_specs_1 = {
asn_SET_specifics_t asn_SPC_Set_specs_1 = {
sizeof(struct Set),
offsetof(struct Set, _asn_ctx),
offsetof(struct Set, _presence_map),
@ -551,87 +555,15 @@ typedef struct ExtensibleSet {
/* extern asn_TYPE_descriptor_t asn_DEF_enum_4; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSet;
extern asn_SET_specifics_t asn_SPC_ExtensibleSet_specs_1;
extern asn_TYPE_member_t asn_MBR_ExtensibleSet_1[2];
/*** <<< CODE [ExtensibleSet] >>> ***/
static int
enum_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
enum_4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
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;
td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
static void
enum_4_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
enum_4_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
enum_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
enum_4_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
enum_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
enum_4_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
enum_4_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
enum_4_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
enum_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
enum_4_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
enum_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
enum_4_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [ExtensibleSet] >>> ***/
@ -643,7 +575,7 @@ static const unsigned int asn_MAP_enum_enum2value_4[] = {
1, /* a(1) */
0 /* b(0) */
};
static asn_INTEGER_specifics_t asn_SPC_enum_specs_4 = {
static const asn_INTEGER_specifics_t asn_SPC_enum_specs_4 = {
asn_MAP_enum_value2enum_4, /* "tag" => N; sorted by tag */
asn_MAP_enum_enum2value_4, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
@ -660,13 +592,13 @@ static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_enum_4 = {
"enum",
"enum",
enum_4_free,
enum_4_print,
enum_4_constraint,
enum_4_decode_ber,
enum_4_encode_der,
enum_4_decode_xer,
enum_4_encode_xer,
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -682,7 +614,7 @@ asn_TYPE_descriptor_t asn_DEF_enum_4 = {
&asn_SPC_enum_specs_4 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_ExtensibleSet_1[] = {
asn_TYPE_member_t asn_MBR_ExtensibleSet_1[] = {
{ ATF_POINTER, 2, offsetof(struct ExtensibleSet, string),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -714,7 +646,7 @@ static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSet_tag2el_1[] = {
static const uint8_t asn_MAP_ExtensibleSet_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(0 << 7) | (0 << 6)
};
static asn_SET_specifics_t asn_SPC_ExtensibleSet_specs_1 = {
asn_SET_specifics_t asn_SPC_ExtensibleSet_specs_1 = {
sizeof(struct ExtensibleSet),
offsetof(struct ExtensibleSet, _asn_ctx),
offsetof(struct ExtensibleSet, _presence_map),
@ -777,10 +709,12 @@ typedef struct ExtensibleSequence {
/*** <<< FUNC-DECLS [ExtensibleSequence] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence;
extern asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_specs_1;
extern asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[3];
/*** <<< STAT-DEFS [ExtensibleSequence] >>> ***/
static asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[] = {
asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[] = {
{ ATF_POINTER, 3, offsetof(struct ExtensibleSequence, string),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -820,7 +754,7 @@ static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* integer */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gtime */
};
static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_specs_1 = {
sizeof(struct ExtensibleSequence),
offsetof(struct ExtensibleSequence, _asn_ctx),
asn_MAP_ExtensibleSequence_tag2el_1,
@ -879,10 +813,12 @@ typedef struct ExtensibleSequence2 {
/*** <<< FUNC-DECLS [ExtensibleSequence2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2;
extern asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_specs_1;
extern asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[2];
/*** <<< STAT-DEFS [ExtensibleSequence2] >>> ***/
static asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[] = {
asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[] = {
{ ATF_POINTER, 2, offsetof(struct ExtensibleSequence2, string),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -911,7 +847,7 @@ static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence2_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* integer */
};
static asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_specs_1 = {
sizeof(struct ExtensibleSequence2),
offsetof(struct ExtensibleSequence2, _asn_ctx),
asn_MAP_ExtensibleSequence2_tag2el_1,
@ -965,10 +901,12 @@ typedef struct SetOfNULL {
/*** <<< FUNC-DECLS [SetOfNULL] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SetOfNULL;
extern asn_SET_OF_specifics_t asn_SPC_SetOfNULL_specs_1;
extern asn_TYPE_member_t asn_MBR_SetOfNULL_1[1];
/*** <<< STAT-DEFS [SetOfNULL] >>> ***/
static asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = {
asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
.tag_mode = 0,
@ -983,7 +921,7 @@ static asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = {
static const ber_tlv_tag_t asn_DEF_SetOfNULL_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_SetOfNULL_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_SetOfNULL_specs_1 = {
sizeof(struct SetOfNULL),
offsetof(struct SetOfNULL, _asn_ctx),
1, /* XER encoding is XMLValueList */
@ -1033,10 +971,12 @@ typedef struct SetOfREAL {
/*** <<< FUNC-DECLS [SetOfREAL] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SetOfREAL;
extern asn_SET_OF_specifics_t asn_SPC_SetOfREAL_specs_1;
extern asn_TYPE_member_t asn_MBR_SetOfREAL_1[1];
/*** <<< STAT-DEFS [SetOfREAL] >>> ***/
static asn_TYPE_member_t asn_MBR_SetOfREAL_1[] = {
asn_TYPE_member_t asn_MBR_SetOfREAL_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
.tag_mode = 0,
@ -1051,7 +991,7 @@ static asn_TYPE_member_t asn_MBR_SetOfREAL_1[] = {
static const ber_tlv_tag_t asn_DEF_SetOfREAL_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_SetOfREAL_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_SetOfREAL_specs_1 = {
sizeof(struct SetOfREAL),
offsetof(struct SetOfREAL, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@ -1109,87 +1049,15 @@ typedef struct SetOfEnums {
/* extern asn_TYPE_descriptor_t asn_DEF_Member_2; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums;
extern asn_SET_OF_specifics_t asn_SPC_SetOfEnums_specs_1;
extern asn_TYPE_member_t asn_MBR_SetOfEnums_1[1];
/*** <<< CODE [SetOfEnums] >>> ***/
static int
Member_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
Member_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
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;
td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
static void
Member_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Member_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
Member_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Member_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
Member_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Member_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
Member_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Member_2_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
Member_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Member_2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
Member_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Member_2_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [SetOfEnums] >>> ***/
@ -1201,7 +1069,7 @@ static const unsigned int asn_MAP_Member_enum2value_2[] = {
0, /* one(0) */
1 /* oneMore(1) */
};
static asn_INTEGER_specifics_t asn_SPC_Member_specs_2 = {
static const asn_INTEGER_specifics_t asn_SPC_Member_specs_2 = {
asn_MAP_Member_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_Member_enum2value_2, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
@ -1217,13 +1085,13 @@ static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Member_2 = {
"ENUMERATED",
"ENUMERATED",
Member_2_free,
Member_2_print,
Member_2_constraint,
Member_2_decode_ber,
Member_2_encode_der,
Member_2_decode_xer,
Member_2_encode_xer,
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -1239,7 +1107,7 @@ asn_TYPE_descriptor_t asn_DEF_Member_2 = {
&asn_SPC_Member_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_SetOfEnums_1[] = {
asn_TYPE_member_t asn_MBR_SetOfEnums_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
@ -1254,7 +1122,7 @@ static asn_TYPE_member_t asn_MBR_SetOfEnums_1[] = {
static const ber_tlv_tag_t asn_DEF_SetOfEnums_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_SetOfEnums_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_SetOfEnums_specs_1 = {
sizeof(struct SetOfEnums),
offsetof(struct SetOfEnums, _asn_ctx),
1, /* XER encoding is XMLValueList */
@ -1304,10 +1172,12 @@ typedef struct NamedSetOfNULL {
/*** <<< FUNC-DECLS [NamedSetOfNULL] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL;
extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_specs_1;
extern asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[1];
/*** <<< STAT-DEFS [NamedSetOfNULL] >>> ***/
static asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[] = {
asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
.tag_mode = 0,
@ -1322,7 +1192,7 @@ static asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[] = {
static const ber_tlv_tag_t asn_DEF_NamedSetOfNULL_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_specs_1 = {
sizeof(struct NamedSetOfNULL),
offsetof(struct NamedSetOfNULL, _asn_ctx),
1, /* XER encoding is XMLValueList */
@ -1372,10 +1242,12 @@ typedef struct NamedSetOfREAL {
/*** <<< FUNC-DECLS [NamedSetOfREAL] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL;
extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_specs_1;
extern asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[1];
/*** <<< STAT-DEFS [NamedSetOfREAL] >>> ***/
static asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[] = {
asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
.tag_mode = 0,
@ -1390,7 +1262,7 @@ static asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[] = {
static const ber_tlv_tag_t asn_DEF_NamedSetOfREAL_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_specs_1 = {
sizeof(struct NamedSetOfREAL),
offsetof(struct NamedSetOfREAL, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@ -1448,87 +1320,15 @@ typedef struct NamedSetOfEnums {
/* extern asn_TYPE_descriptor_t asn_DEF_name_2; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums;
extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_specs_1;
extern asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[1];
/*** <<< CODE [NamedSetOfEnums] >>> ***/
static int
name_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
name_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
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;
td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
static void
name_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
name_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
name_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
name_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
name_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
name_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
name_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
name_2_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
name_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
name_2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
name_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
name_2_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [NamedSetOfEnums] >>> ***/
@ -1540,7 +1340,7 @@ static const unsigned int asn_MAP_name_enum2value_2[] = {
0, /* one(0) */
1 /* oneMore(1) */
};
static asn_INTEGER_specifics_t asn_SPC_name_specs_2 = {
static const asn_INTEGER_specifics_t asn_SPC_name_specs_2 = {
asn_MAP_name_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_name_enum2value_2, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
@ -1556,13 +1356,13 @@ static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_name_2 = {
"ENUMERATED",
"ENUMERATED",
name_2_free,
name_2_print,
name_2_constraint,
name_2_decode_ber,
name_2_encode_der,
name_2_decode_xer,
name_2_encode_xer,
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -1578,7 +1378,7 @@ asn_TYPE_descriptor_t asn_DEF_name_2 = {
&asn_SPC_name_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[] = {
asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
@ -1593,7 +1393,7 @@ static asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[] = {
static const ber_tlv_tag_t asn_DEF_NamedSetOfEnums_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_specs_1 = {
sizeof(struct NamedSetOfEnums),
offsetof(struct NamedSetOfEnums, _asn_ctx),
1, /* XER encoding is XMLValueList */
@ -1643,10 +1443,12 @@ typedef struct SequenceOf {
/*** <<< FUNC-DECLS [SequenceOf] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SequenceOf;
extern asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1;
extern asn_TYPE_member_t asn_MBR_SequenceOf_1[1];
/*** <<< STAT-DEFS [SequenceOf] >>> ***/
static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = {
asn_TYPE_member_t asn_MBR_SequenceOf_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@ -1661,7 +1463,7 @@ static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = {
static const ber_tlv_tag_t asn_DEF_SequenceOf_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1 = {
sizeof(struct SequenceOf),
offsetof(struct SequenceOf, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@ -1711,10 +1513,12 @@ typedef struct SeqOfZuka {
/*** <<< FUNC-DECLS [SeqOfZuka] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SeqOfZuka;
extern asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_specs_1;
extern asn_TYPE_member_t asn_MBR_SeqOfZuka_1[1];
/*** <<< STAT-DEFS [SeqOfZuka] >>> ***/
static asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = {
asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
.tag_mode = 0,
@ -1729,7 +1533,7 @@ static asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = {
static const ber_tlv_tag_t asn_DEF_SeqOfZuka_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_specs_1 = {
sizeof(struct SeqOfZuka),
offsetof(struct SeqOfZuka, _asn_ctx),
1, /* XER encoding is XMLValueList */
@ -1782,6 +1586,8 @@ typedef struct SetOfChoice {
/*** <<< FUNC-DECLS [SetOfChoice] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SetOfChoice;
extern asn_SET_OF_specifics_t asn_SPC_SetOfChoice_specs_1;
extern asn_TYPE_member_t asn_MBR_SetOfChoice_1[1];
/*** <<< POST-INCLUDE [SetOfChoice] >>> ***/
@ -1789,7 +1595,7 @@ extern asn_TYPE_descriptor_t asn_DEF_SetOfChoice;
/*** <<< STAT-DEFS [SetOfChoice] >>> ***/
static asn_TYPE_member_t asn_MBR_SetOfChoice_1[] = {
asn_TYPE_member_t asn_MBR_SetOfChoice_1[] = {
{ ATF_POINTER, 0, 0,
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag_mode = 0,
@ -1804,7 +1610,7 @@ static asn_TYPE_member_t asn_MBR_SetOfChoice_1[] = {
static const ber_tlv_tag_t asn_DEF_SetOfChoice_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_SetOfChoice_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_SetOfChoice_specs_1 = {
sizeof(struct SetOfChoice),
offsetof(struct SetOfChoice, _asn_ctx),
2, /* XER encoding is XMLValueList */
@ -1857,6 +1663,8 @@ typedef struct NamedSetOfChoice {
/*** <<< FUNC-DECLS [NamedSetOfChoice] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice;
extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_specs_1;
extern asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[1];
/*** <<< POST-INCLUDE [NamedSetOfChoice] >>> ***/
@ -1864,7 +1672,7 @@ extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice;
/*** <<< STAT-DEFS [NamedSetOfChoice] >>> ***/
static asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[] = {
asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[] = {
{ ATF_POINTER, 0, 0,
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag_mode = 0,
@ -1879,7 +1687,7 @@ static asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[] = {
static const ber_tlv_tag_t asn_DEF_NamedSetOfChoice_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_specs_1 = {
sizeof(struct NamedSetOfChoice),
offsetof(struct NamedSetOfChoice, _asn_ctx),
2, /* XER encoding is XMLValueList */
@ -1941,10 +1749,12 @@ typedef struct SimpleChoice {
/*** <<< FUNC-DECLS [SimpleChoice] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_SimpleChoice;
extern asn_CHOICE_specifics_t asn_SPC_SimpleChoice_specs_1;
extern asn_TYPE_member_t asn_MBR_SimpleChoice_1[2];
/*** <<< STAT-DEFS [SimpleChoice] >>> ***/
static asn_TYPE_member_t asn_MBR_SimpleChoice_1[] = {
asn_TYPE_member_t asn_MBR_SimpleChoice_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1970,7 +1780,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SimpleChoice_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
};
static asn_CHOICE_specifics_t asn_SPC_SimpleChoice_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_SimpleChoice_specs_1 = {
sizeof(struct SimpleChoice),
offsetof(struct SimpleChoice, _asn_ctx),
offsetof(struct SimpleChoice, present),

View File

@ -184,6 +184,8 @@ typedef struct Type1 {
/*** <<< FUNC-DECLS [Type1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Type1;
extern asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1;
extern asn_TYPE_member_t asn_MBR_Type1_1[1];
/*** <<< STAT-DEFS [Type1] >>> ***/
@ -302,7 +304,7 @@ asn_TYPE_descriptor_t asn_DEF_one_name_2 = {
&asn_SPC_one_name_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Type1_1[] = {
asn_TYPE_member_t asn_MBR_Type1_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Type1, one_name),
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag_mode = 0,
@ -320,7 +322,7 @@ static const ber_tlv_tag_t asn_DEF_Type1_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_Type1_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */
};
static asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1 = {
sizeof(struct Type1),
offsetof(struct Type1, _asn_ctx),
asn_MAP_Type1_tag2el_1,
@ -427,6 +429,8 @@ typedef struct Type2 {
/*** <<< FUNC-DECLS [Type2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Type2;
extern asn_CHOICE_specifics_t asn_SPC_Type2_specs_1;
extern asn_TYPE_member_t asn_MBR_Type2_1[2];
/*** <<< CODE [Type2] >>> ***/
@ -700,7 +704,8 @@ static const asn_TYPE_tag2member_t asn_MAP_two_name_tag2el_7[] = {
static const uint8_t asn_MAP_two_name_mmap_7[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
static asn_SET_specifics_t asn_SPC_two_name_specs_7 = {
static
asn_SET_specifics_t asn_SPC_two_name_specs_7 = {
sizeof(struct two_name),
offsetof(struct two_name, _asn_ctx),
offsetof(struct two_name, _presence_map),
@ -738,7 +743,7 @@ asn_TYPE_descriptor_t asn_DEF_two_name_7 = {
&asn_SPC_two_name_specs_7 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Type2_1[] = {
asn_TYPE_member_t asn_MBR_Type2_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Type2, choice.one_name),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@ -764,7 +769,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Type2_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* one-name */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */
};
static asn_CHOICE_specifics_t asn_SPC_Type2_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_Type2_specs_1 = {
sizeof(struct Type2),
offsetof(struct Type2, _asn_ctx),
offsetof(struct Type2, present),

View File

@ -26,6 +26,8 @@ typedef struct Type {
/*** <<< FUNC-DECLS [Type] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Type;
extern asn_SEQUENCE_specifics_t asn_SPC_Type_specs_1;
extern asn_TYPE_member_t asn_MBR_Type_1[1];
/*** <<< POST-INCLUDE [Type] >>> ***/
@ -80,7 +82,7 @@ asn_TYPE_descriptor_t asn_DEF_data_2 = {
&asn_SPC_data_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Type_1[] = {
asn_TYPE_member_t asn_MBR_Type_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Type, data),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@ -98,7 +100,7 @@ static const ber_tlv_tag_t asn_DEF_Type_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_Type_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* data */
};
static asn_SEQUENCE_specifics_t asn_SPC_Type_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Type_specs_1 = {
sizeof(struct Type),
offsetof(struct Type, _asn_ctx),
asn_MAP_Type_tag2el_1,
@ -155,84 +157,10 @@ xer_type_encoder_f EpytRef_encode_xer;
/*** <<< CODE [EpytRef] >>> ***/
int
EpytRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Epyt.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Epyt,
* so here we adjust the DEF accordingly.
*/
static void
EpytRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Epyt.free_struct;
td->print_struct = asn_DEF_Epyt.print_struct;
td->check_constraints = asn_DEF_Epyt.check_constraints;
td->ber_decoder = asn_DEF_Epyt.ber_decoder;
td->der_encoder = asn_DEF_Epyt.der_encoder;
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;
td->oer_decoder = asn_DEF_Epyt.oer_decoder;
td->oer_encoder = asn_DEF_Epyt.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Epyt.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Epyt.per_constraints;
td->elements = asn_DEF_Epyt.elements;
td->elements_count = asn_DEF_Epyt.elements_count;
td->specifics = asn_DEF_Epyt.specifics;
}
void
EpytRef_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
EpytRef_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
EpytRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
EpytRef_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
EpytRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
EpytRef_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
EpytRef_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
EpytRef_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
EpytRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
EpytRef_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
EpytRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
EpytRef_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [EpytRef] >>> ***/
@ -242,13 +170,13 @@ static const ber_tlv_tag_t asn_DEF_EpytRef_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_EpytRef = {
"EpytRef",
"EpytRef",
EpytRef_free,
EpytRef_print,
EpytRef_constraint,
EpytRef_decode_ber,
EpytRef_encode_der,
EpytRef_decode_xer,
EpytRef_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -260,8 +188,9 @@ asn_TYPE_descriptor_t asn_DEF_EpytRef = {
/sizeof(asn_DEF_EpytRef_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Epyt_1,
3, /* Elements count */
&asn_SPC_Epyt_specs_1 /* Additional specs */
};
@ -295,6 +224,8 @@ typedef struct Epyt {
/*** <<< FUNC-DECLS [Epyt] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Epyt;
extern asn_SEQUENCE_specifics_t asn_SPC_Epyt_specs_1;
extern asn_TYPE_member_t asn_MBR_Epyt_1[3];
/*** <<< POST-INCLUDE [Epyt] >>> ***/
@ -350,7 +281,7 @@ asn_TYPE_descriptor_t asn_DEF_stype_2 = {
&asn_SPC_stype_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Epyt_1[] = {
asn_TYPE_member_t asn_MBR_Epyt_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Epyt, stype),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
@ -390,7 +321,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Epyt_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 1 }, /* stype */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, -1, 0 } /* ypet */
};
static asn_SEQUENCE_specifics_t asn_SPC_Epyt_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Epyt_specs_1 = {
sizeof(struct Epyt),
offsetof(struct Epyt, _asn_ctx),
asn_MAP_Epyt_tag2el_1,
@ -478,6 +409,8 @@ typedef struct Ypet {
/*** <<< FUNC-DECLS [Ypet] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Ypet;
extern asn_SET_specifics_t asn_SPC_Ypet_specs_1;
extern asn_TYPE_member_t asn_MBR_Ypet_1[5];
/*** <<< POST-INCLUDE [Ypet] >>> ***/
@ -632,7 +565,7 @@ asn_TYPE_descriptor_t asn_DEF_senums_4 = {
&asn_SPC_senums_specs_4 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Ypet_1[] = {
asn_TYPE_member_t asn_MBR_Ypet_1[] = {
{ ATF_POINTER, 0, offsetof(struct Ypet, epyt),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@ -697,7 +630,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Ypet_tag2el_1[] = {
static const uint8_t asn_MAP_Ypet_mmap_1[(5 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (0 << 6) | (1 << 5) | (1 << 4) | (1 << 3)
};
static asn_SET_specifics_t asn_SPC_Ypet_specs_1 = {
asn_SET_specifics_t asn_SPC_Ypet_specs_1 = {
sizeof(struct Ypet),
offsetof(struct Ypet, _asn_ctx),
offsetof(struct Ypet, _presence_map),
@ -753,6 +686,7 @@ typedef ENUMERATED_t EnumType_t;
/*** <<< FUNC-DECLS [EnumType] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_EnumType;
extern asn_INTEGER_specifics_t asn_SPC_EnumType_specs_1;
asn_struct_free_f EnumType_free;
asn_struct_print_f EnumType_print;
asn_constr_check_f EnumType_constraint;
@ -763,84 +697,10 @@ xer_type_encoder_f EnumType_encode_xer;
/*** <<< CODE [EnumType] >>> ***/
int
EnumType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
EnumType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
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;
td->oer_decoder = asn_DEF_ENUMERATED.oer_decoder;
td->oer_encoder = asn_DEF_ENUMERATED.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_ENUMERATED.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
void
EnumType_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
EnumType_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
EnumType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
EnumType_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
EnumType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
EnumType_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
EnumType_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
EnumType_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
EnumType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
EnumType_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
EnumType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
EnumType_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [EnumType] >>> ***/
@ -852,7 +712,7 @@ static const unsigned int asn_MAP_EnumType_enum2value_1[] = {
0, /* one(0) */
1 /* two(1) */
};
static asn_INTEGER_specifics_t asn_SPC_EnumType_specs_1 = {
const asn_INTEGER_specifics_t asn_SPC_EnumType_specs_1 = {
asn_MAP_EnumType_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_EnumType_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
@ -867,13 +727,13 @@ static const ber_tlv_tag_t asn_DEF_EnumType_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_EnumType = {
"EnumType",
"EnumType",
EnumType_free,
EnumType_print,
EnumType_constraint,
EnumType_decode_ber,
EnumType_encode_der,
EnumType_decode_xer,
EnumType_encode_xer,
ENUMERATED_free,
ENUMERATED_print,
ENUMERATED_constraint,
ENUMERATED_decode_ber,
ENUMERATED_encode_der,
ENUMERATED_decode_xer,
ENUMERATED_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */

View File

@ -23,7 +23,11 @@ typedef struct TestType_16P1 {
/*** <<< FUNC-DECLS [TestType] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_TestType_16P0;
extern asn_SEQUENCE_specifics_t asn_SPC_TestType_16P0_specs_1;
extern asn_TYPE_member_t asn_MBR_TestType_16P0_1[1];
extern asn_TYPE_descriptor_t asn_DEF_TestType_16P1;
extern asn_SEQUENCE_specifics_t asn_SPC_TestType_16P1_specs_3;
extern asn_TYPE_member_t asn_MBR_TestType_16P1_3[1];
/*** <<< CODE [TestType] >>> ***/
@ -73,7 +77,7 @@ static int asn_DFL_2_set_0(int set_value, void **sptr) {
return (*st == 0);
}
}
static asn_TYPE_member_t asn_MBR_TestType_16P0_1[] = {
asn_TYPE_member_t asn_MBR_TestType_16P0_1[] = {
{ ATF_NOFLAGS, 1, offsetof(struct TestType_16P0, common),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
@ -91,7 +95,7 @@ static const ber_tlv_tag_t asn_DEF_TestType_16P0_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_TestType_16P0_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* common */
};
static asn_SEQUENCE_specifics_t asn_SPC_TestType_16P0_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_TestType_16P0_specs_1 = {
sizeof(struct TestType_16P0),
offsetof(struct TestType_16P0, _asn_ctx),
asn_MAP_TestType_16P0_tag2el_1,
@ -144,7 +148,7 @@ static int asn_DFL_4_set_0(int set_value, void **sptr) {
return (*st == 0);
}
}
static asn_TYPE_member_t asn_MBR_TestType_16P1_3[] = {
asn_TYPE_member_t asn_MBR_TestType_16P1_3[] = {
{ ATF_NOFLAGS, 1, offsetof(struct TestType_16P1, common),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
.tag_mode = 0,
@ -162,7 +166,7 @@ static const ber_tlv_tag_t asn_DEF_TestType_16P1_tags_3[] = {
static const asn_TYPE_tag2member_t asn_MAP_TestType_16P1_tag2el_3[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 } /* common */
};
static asn_SEQUENCE_specifics_t asn_SPC_TestType_16P1_specs_3 = {
asn_SEQUENCE_specifics_t asn_SPC_TestType_16P1_specs_3 = {
sizeof(struct TestType_16P1),
offsetof(struct TestType_16P1, _asn_ctx),
asn_MAP_TestType_16P1_tag2el_3,
@ -315,7 +319,11 @@ typedef struct AutoType_34P1 {
/*** <<< FUNC-DECLS [AutoType] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_AutoType_34P0;
extern asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P0_specs_1;
extern asn_TYPE_member_t asn_MBR_AutoType_34P0_1[1];
extern asn_TYPE_descriptor_t asn_DEF_AutoType_34P1;
extern asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P1_specs_3;
extern asn_TYPE_member_t asn_MBR_AutoType_34P1_3[1];
/*** <<< CODE [AutoType] >>> ***/
@ -372,7 +380,7 @@ memb_common_constraint_3(asn_TYPE_descriptor_t *td, const void *sptr,
/*** <<< STAT-DEFS [AutoType] >>> ***/
static asn_TYPE_member_t asn_MBR_AutoType_34P0_1[] = {
asn_TYPE_member_t asn_MBR_AutoType_34P0_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AutoType_34P0, common),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -390,7 +398,7 @@ static const ber_tlv_tag_t asn_DEF_AutoType_34P0_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_AutoType_34P0_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* common */
};
static asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P0_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P0_specs_1 = {
sizeof(struct AutoType_34P0),
offsetof(struct AutoType_34P0, _asn_ctx),
asn_MAP_AutoType_34P0_tag2el_1,
@ -425,7 +433,7 @@ asn_TYPE_descriptor_t asn_DEF_AutoType_34P0 = {
&asn_SPC_AutoType_34P0_specs_1 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_AutoType_34P1_3[] = {
asn_TYPE_member_t asn_MBR_AutoType_34P1_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AutoType_34P1, common),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -443,7 +451,7 @@ static const ber_tlv_tag_t asn_DEF_AutoType_34P1_tags_3[] = {
static const asn_TYPE_tag2member_t asn_MAP_AutoType_34P1_tag2el_3[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* common */
};
static asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P1_specs_3 = {
asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P1_specs_3 = {
sizeof(struct AutoType_34P1),
offsetof(struct AutoType_34P1, _asn_ctx),
asn_MAP_AutoType_34P1_tag2el_3,

View File

@ -27,84 +27,10 @@ xer_type_encoder_f T_encode_xer;
/*** <<< CODE [T] >>> ***/
int
T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_INTEGER.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
static void
T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_INTEGER.free_struct;
td->print_struct = asn_DEF_INTEGER.print_struct;
td->check_constraints = asn_DEF_INTEGER.check_constraints;
td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
td->der_encoder = asn_DEF_INTEGER.der_encoder;
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;
td->oer_decoder = asn_DEF_INTEGER.oer_decoder;
td->oer_encoder = asn_DEF_INTEGER.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_INTEGER.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_INTEGER.per_constraints;
td->elements = asn_DEF_INTEGER.elements;
td->elements_count = asn_DEF_INTEGER.elements_count;
td->specifics = asn_DEF_INTEGER.specifics;
}
void
T_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
T_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
T_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
T_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T] >>> ***/
@ -114,13 +40,13 @@ static const ber_tlv_tag_t asn_DEF_T_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_T = {
"T",
"T",
T_free,
T_print,
T_constraint,
T_decode_ber,
T_encode_der,
T_decode_xer,
T_encode_xer,
INTEGER_free,
INTEGER_print,
INTEGER_constraint,
INTEGER_decode_ber,
INTEGER_encode_der,
INTEGER_decode_xer,
INTEGER_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -45,72 +45,6 @@ OK_Integer1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
OK_Integer1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->check_constraints = asn_DEF_NativeInteger.check_constraints;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
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;
td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
OK_Integer1_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
OK_Integer1_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
OK_Integer1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer1_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
OK_Integer1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
OK_Integer1_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
OK_Integer1_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer1_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
OK_Integer1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
OK_Integer1_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
OK_Integer1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer1_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [OK-Integer1] >>> ***/
@ -120,13 +54,13 @@ static const ber_tlv_tag_t asn_DEF_OK_Integer1_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_OK_Integer1 = {
"OK-Integer1",
"OK-Integer1",
OK_Integer1_free,
OK_Integer1_print,
NativeInteger_free,
NativeInteger_print,
OK_Integer1_constraint,
OK_Integer1_decode_ber,
OK_Integer1_encode_der,
OK_Integer1_decode_xer,
OK_Integer1_encode_xer,
NativeInteger_decode_ber,
NativeInteger_encode_der,
NativeInteger_decode_xer,
NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -189,72 +123,6 @@ OK_Integer2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
OK_Integer2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->check_constraints = asn_DEF_NativeInteger.check_constraints;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
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;
td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
OK_Integer2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
OK_Integer2_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
OK_Integer2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer2_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
OK_Integer2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
OK_Integer2_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
OK_Integer2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer2_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
OK_Integer2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
OK_Integer2_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
OK_Integer2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer2_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [OK-Integer2] >>> ***/
@ -264,13 +132,13 @@ static const ber_tlv_tag_t asn_DEF_OK_Integer2_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_OK_Integer2 = {
"OK-Integer2",
"OK-Integer2",
OK_Integer2_free,
OK_Integer2_print,
NativeInteger_free,
NativeInteger_print,
OK_Integer2_constraint,
OK_Integer2_decode_ber,
OK_Integer2_encode_der,
OK_Integer2_decode_xer,
OK_Integer2_encode_xer,
NativeInteger_decode_ber,
NativeInteger_encode_der,
NativeInteger_decode_xer,
NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -333,72 +201,6 @@ OK_Integer3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
OK_Integer3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->check_constraints = asn_DEF_NativeInteger.check_constraints;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
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;
td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
OK_Integer3_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
OK_Integer3_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
OK_Integer3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer3_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
OK_Integer3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
OK_Integer3_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
OK_Integer3_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer3_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
OK_Integer3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
OK_Integer3_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
OK_Integer3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer3_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [OK-Integer3] >>> ***/
@ -408,13 +210,13 @@ static const ber_tlv_tag_t asn_DEF_OK_Integer3_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_OK_Integer3 = {
"OK-Integer3",
"OK-Integer3",
OK_Integer3_free,
OK_Integer3_print,
NativeInteger_free,
NativeInteger_print,
OK_Integer3_constraint,
OK_Integer3_decode_ber,
OK_Integer3_encode_der,
OK_Integer3_decode_xer,
OK_Integer3_encode_xer,
NativeInteger_decode_ber,
NativeInteger_encode_der,
NativeInteger_decode_xer,
NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -477,72 +279,6 @@ OK_Integer4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
OK_Integer4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->check_constraints = asn_DEF_NativeInteger.check_constraints;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
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;
td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
OK_Integer4_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
OK_Integer4_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
OK_Integer4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer4_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
OK_Integer4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
OK_Integer4_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
OK_Integer4_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer4_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
OK_Integer4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
OK_Integer4_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
OK_Integer4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
OK_Integer4_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [OK-Integer4] >>> ***/
@ -552,13 +288,13 @@ static const ber_tlv_tag_t asn_DEF_OK_Integer4_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_OK_Integer4 = {
"OK-Integer4",
"OK-Integer4",
OK_Integer4_free,
OK_Integer4_print,
NativeInteger_free,
NativeInteger_print,
OK_Integer4_constraint,
OK_Integer4_decode_ber,
OK_Integer4_encode_der,
OK_Integer4_decode_xer,
OK_Integer4_encode_xer,
NativeInteger_decode_ber,
NativeInteger_encode_der,
NativeInteger_decode_xer,
NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -621,72 +357,6 @@ NO_Integer5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
NO_Integer5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->check_constraints = asn_DEF_NativeInteger.check_constraints;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
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;
td->oer_decoder = asn_DEF_NativeInteger.oer_decoder;
td->oer_encoder = asn_DEF_NativeInteger.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_NativeInteger.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
NO_Integer5_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
NO_Integer5_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
NO_Integer5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
NO_Integer5_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
NO_Integer5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
NO_Integer5_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
NO_Integer5_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
NO_Integer5_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
NO_Integer5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
NO_Integer5_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
NO_Integer5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
NO_Integer5_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [NO-Integer5] >>> ***/
@ -696,13 +366,13 @@ static const ber_tlv_tag_t asn_DEF_NO_Integer5_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_NO_Integer5 = {
"NO-Integer5",
"NO-Integer5",
NO_Integer5_free,
NO_Integer5_print,
NativeInteger_free,
NativeInteger_print,
NO_Integer5_constraint,
NO_Integer5_decode_ber,
NO_Integer5_encode_der,
NO_Integer5_decode_xer,
NO_Integer5_encode_xer,
NativeInteger_decode_ber,
NativeInteger_encode_der,
NativeInteger_decode_xer,
NativeInteger_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */

View File

@ -37,6 +37,8 @@ typedef struct Everything {
/*** <<< FUNC-DECLS [Everything] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Everything;
extern asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1;
extern asn_TYPE_member_t asn_MBR_Everything_1[10];
/*** <<< POST-INCLUDE [Everything] >>> ***/
@ -46,7 +48,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Everything;
/*** <<< STAT-DEFS [Everything] >>> ***/
static asn_TYPE_member_t asn_MBR_Everything_1[] = {
asn_TYPE_member_t asn_MBR_Everything_1[] = {
{ ATF_POINTER, 0, offsetof(struct Everything, ch1),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = +1, /* EXPLICIT tag at current level */
@ -163,7 +165,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Everything_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt */
{ (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to */
};
static asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
sizeof(struct Everything),
offsetof(struct Everything, _asn_ctx),
asn_MAP_Everything_tag2el_1,
@ -236,6 +238,8 @@ typedef struct Choice1 {
/*** <<< FUNC-DECLS [Choice1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice1;
extern asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1;
extern asn_TYPE_member_t asn_MBR_Choice1_1[2];
/*** <<< POST-INCLUDE [Choice1] >>> ***/
@ -243,7 +247,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Choice1;
/*** <<< STAT-DEFS [Choice1] >>> ***/
static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
asn_TYPE_member_t asn_MBR_Choice1_1[] = {
{ ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -269,7 +273,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */
};
static asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
sizeof(struct Choice1),
offsetof(struct Choice1, _asn_ctx),
offsetof(struct Choice1, present),
@ -342,6 +346,8 @@ typedef struct Choice2 {
/*** <<< FUNC-DECLS [Choice2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice2;
extern asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1;
extern asn_TYPE_member_t asn_MBR_Choice2_1[2];
/*** <<< POST-INCLUDE [Choice2] >>> ***/
@ -350,7 +356,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Choice2;
/*** <<< STAT-DEFS [Choice2] >>> ***/
static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
asn_TYPE_member_t asn_MBR_Choice2_1[] = {
{ ATF_POINTER, 0, offsetof(struct Choice2, choice.typeref),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -376,7 +382,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
};
static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
sizeof(struct Choice2),
offsetof(struct Choice2, _asn_ctx),
offsetof(struct Choice2, present),
@ -459,6 +465,8 @@ typedef struct Choice3 {
/*** <<< FUNC-DECLS [Choice3] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice3;
extern asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1;
extern asn_TYPE_member_t asn_MBR_Choice3_1[3];
/*** <<< POST-INCLUDE [Choice3] >>> ***/
@ -570,7 +578,7 @@ asn_TYPE_descriptor_t asn_DEF_c_5 = {
&asn_SPC_c_specs_5 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
asn_TYPE_member_t asn_MBR_Choice3_1[] = {
{ ATF_POINTER, 0, offsetof(struct Choice3, choice.a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = 0,
@ -607,7 +615,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
};
static asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
sizeof(struct Choice3),
offsetof(struct Choice3, _asn_ctx),
offsetof(struct Choice3, present),
@ -683,6 +691,8 @@ typedef struct Set {
/*** <<< FUNC-DECLS [Set] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Set;
extern asn_SET_OF_specifics_t asn_SPC_Set_specs_1;
extern asn_TYPE_member_t asn_MBR_Set_1[1];
/*** <<< POST-INCLUDE [Set] >>> ***/
@ -789,7 +799,7 @@ asn_TYPE_descriptor_t asn_DEF_Member_2 = {
&asn_SPC_Member_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Set_1[] = {
asn_TYPE_member_t asn_MBR_Set_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@ -804,7 +814,7 @@ static asn_TYPE_member_t asn_MBR_Set_1[] = {
static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
sizeof(struct Set),
offsetof(struct Set, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@ -865,6 +875,8 @@ typedef struct Sequence {
/*** <<< FUNC-DECLS [Sequence] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Sequence;
extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
extern asn_TYPE_member_t asn_MBR_Sequence_1[4];
/*** <<< POST-INCLUDE [Sequence] >>> ***/
@ -873,7 +885,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Sequence;
/*** <<< STAT-DEFS [Sequence] >>> ***/
static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
asn_TYPE_member_t asn_MBR_Sequence_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -924,7 +936,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
};
static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
sizeof(struct Sequence),
offsetof(struct Sequence, _asn_ctx),
asn_MAP_Sequence_tag2el_1,
@ -981,84 +993,10 @@ xer_type_encoder_f TypeRef_encode_xer;
/*** <<< CODE [TypeRef] >>> ***/
int
TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Sequence.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Sequence,
* so here we adjust the DEF accordingly.
*/
static void
TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Sequence.free_struct;
td->print_struct = asn_DEF_Sequence.print_struct;
td->check_constraints = asn_DEF_Sequence.check_constraints;
td->ber_decoder = asn_DEF_Sequence.ber_decoder;
td->der_encoder = asn_DEF_Sequence.der_encoder;
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;
td->oer_decoder = asn_DEF_Sequence.oer_decoder;
td->oer_encoder = asn_DEF_Sequence.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Sequence.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Sequence.per_constraints;
td->elements = asn_DEF_Sequence.elements;
td->elements_count = asn_DEF_Sequence.elements_count;
td->specifics = asn_DEF_Sequence.specifics;
}
void
TypeRef_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
TypeRef_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
TypeRef_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
TypeRef_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
TypeRef_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
TypeRef_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
TypeRef_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
TypeRef_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [TypeRef] >>> ***/
@ -1068,13 +1006,13 @@ static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_TypeRef = {
"TypeRef",
"TypeRef",
TypeRef_free,
TypeRef_print,
TypeRef_constraint,
TypeRef_decode_ber,
TypeRef_encode_der,
TypeRef_decode_xer,
TypeRef_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -1086,8 +1024,9 @@ asn_TYPE_descriptor_t asn_DEF_TypeRef = {
/sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Sequence_1,
4, /* Elements count */
&asn_SPC_Sequence_specs_1 /* Additional specs */
};
@ -1117,6 +1056,8 @@ typedef struct Alpha {
/*** <<< FUNC-DECLS [Alpha] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Alpha;
extern asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1;
extern asn_TYPE_member_t asn_MBR_Alpha_1[2];
/*** <<< POST-INCLUDE [Alpha] >>> ***/
@ -1179,7 +1120,7 @@ asn_TYPE_descriptor_t asn_DEF_b_3 = {
&asn_SPC_b_specs_3 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
asn_TYPE_member_t asn_MBR_Alpha_1[] = {
{ ATF_POINTER, 0, offsetof(struct Alpha, a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1208,7 +1149,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
};
static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
sizeof(struct Alpha),
offsetof(struct Alpha, _asn_ctx),
asn_MAP_Alpha_tag2el_1,
@ -1266,6 +1207,8 @@ typedef struct Beta {
/*** <<< FUNC-DECLS [Beta] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Beta;
extern asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1;
extern asn_TYPE_member_t asn_MBR_Beta_1[2];
/*** <<< POST-INCLUDE [Beta] >>> ***/
@ -1274,7 +1217,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Beta;
/*** <<< STAT-DEFS [Beta] >>> ***/
static asn_TYPE_member_t asn_MBR_Beta_1[] = {
asn_TYPE_member_t asn_MBR_Beta_1[] = {
{ ATF_POINTER, 2, offsetof(struct Beta, b),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1303,7 +1246,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
};
static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
sizeof(struct Beta),
offsetof(struct Beta, _asn_ctx),
asn_MAP_Beta_tag2el_1,
@ -1363,6 +1306,8 @@ typedef struct Gamma {
/*** <<< FUNC-DECLS [Gamma] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Gamma;
extern asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1;
extern asn_TYPE_member_t asn_MBR_Gamma_1[3];
/*** <<< POST-INCLUDE [Gamma] >>> ***/
@ -1372,7 +1317,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Gamma;
/*** <<< STAT-DEFS [Gamma] >>> ***/
static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
asn_TYPE_member_t asn_MBR_Gamma_1[] = {
{ ATF_POINTER, 0, offsetof(struct Gamma, o),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1412,7 +1357,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
};
static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
sizeof(struct Gamma),
offsetof(struct Gamma, _asn_ctx),
asn_MAP_Gamma_tag2el_1,
@ -1482,6 +1427,8 @@ typedef struct OneTwo {
/*** <<< FUNC-DECLS [OneTwo] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
extern asn_SET_specifics_t asn_SPC_OneTwo_specs_1;
extern asn_TYPE_member_t asn_MBR_OneTwo_1[1];
/*** <<< POST-INCLUDE [OneTwo] >>> ***/
@ -1489,7 +1436,7 @@ extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
/*** <<< STAT-DEFS [OneTwo] >>> ***/
static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
{ ATF_POINTER, 0, offsetof(struct OneTwo, m12),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1510,7 +1457,7 @@ static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
sizeof(struct OneTwo),
offsetof(struct OneTwo, _asn_ctx),
offsetof(struct OneTwo, _presence_map),
@ -1582,6 +1529,8 @@ typedef struct TwoThree {
/*** <<< FUNC-DECLS [TwoThree] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
extern asn_SET_specifics_t asn_SPC_TwoThree_specs_1;
extern asn_TYPE_member_t asn_MBR_TwoThree_1[1];
/*** <<< POST-INCLUDE [TwoThree] >>> ***/
@ -1589,7 +1538,7 @@ extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
/*** <<< STAT-DEFS [TwoThree] >>> ***/
static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
{ ATF_POINTER, 0, offsetof(struct TwoThree, m23),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1610,7 +1559,7 @@ static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
sizeof(struct TwoThree),
offsetof(struct TwoThree, _asn_ctx),
offsetof(struct TwoThree, _presence_map),
@ -1685,6 +1634,8 @@ typedef struct ThreeOne {
/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
extern asn_SET_specifics_t asn_SPC_ThreeOne_specs_1;
extern asn_TYPE_member_t asn_MBR_ThreeOne_1[2];
/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
@ -1693,7 +1644,7 @@ extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
/*** <<< STAT-DEFS [ThreeOne] >>> ***/
static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
{ ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1725,7 +1676,7 @@ static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (1 << 6)
};
static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
sizeof(struct ThreeOne),
offsetof(struct ThreeOne, _asn_ctx),
offsetof(struct ThreeOne, _presence_map),

View File

@ -37,6 +37,8 @@ typedef struct Everything {
/*** <<< FUNC-DECLS [Everything] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Everything;
extern asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1;
extern asn_TYPE_member_t asn_MBR_Everything_1[10];
/*** <<< POST-INCLUDE [Everything] >>> ***/
@ -46,7 +48,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Everything;
/*** <<< STAT-DEFS [Everything] >>> ***/
static asn_TYPE_member_t asn_MBR_Everything_1[] = {
asn_TYPE_member_t asn_MBR_Everything_1[] = {
{ ATF_POINTER, 0, offsetof(struct Everything, ch1),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = +1, /* EXPLICIT tag at current level */
@ -163,7 +165,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Everything_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt */
{ (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to */
};
static asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = {
sizeof(struct Everything),
offsetof(struct Everything, _asn_ctx),
asn_MAP_Everything_tag2el_1,
@ -236,6 +238,8 @@ typedef struct Choice1 {
/*** <<< FUNC-DECLS [Choice1] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice1;
extern asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1;
extern asn_TYPE_member_t asn_MBR_Choice1_1[2];
/*** <<< POST-INCLUDE [Choice1] >>> ***/
@ -243,7 +247,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Choice1;
/*** <<< STAT-DEFS [Choice1] >>> ***/
static asn_TYPE_member_t asn_MBR_Choice1_1[] = {
asn_TYPE_member_t asn_MBR_Choice1_1[] = {
{ ATF_POINTER, 0, offsetof(struct Choice1, choice.something),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -269,7 +273,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */
};
static asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = {
sizeof(struct Choice1),
offsetof(struct Choice1, _asn_ctx),
offsetof(struct Choice1, present),
@ -342,6 +346,8 @@ typedef struct Choice2 {
/*** <<< FUNC-DECLS [Choice2] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice2;
extern asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1;
extern asn_TYPE_member_t asn_MBR_Choice2_1[2];
/*** <<< POST-INCLUDE [Choice2] >>> ***/
@ -349,7 +355,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Choice2;
/*** <<< STAT-DEFS [Choice2] >>> ***/
static asn_TYPE_member_t asn_MBR_Choice2_1[] = {
asn_TYPE_member_t asn_MBR_Choice2_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.typeref),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -375,7 +381,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */
};
static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = {
sizeof(struct Choice2),
offsetof(struct Choice2, _asn_ctx),
offsetof(struct Choice2, present),
@ -458,6 +464,8 @@ typedef struct Choice3 {
/*** <<< FUNC-DECLS [Choice3] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Choice3;
extern asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1;
extern asn_TYPE_member_t asn_MBR_Choice3_1[3];
/*** <<< POST-INCLUDE [Choice3] >>> ***/
@ -569,7 +577,7 @@ asn_TYPE_descriptor_t asn_DEF_c_5 = {
&asn_SPC_c_specs_5 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
asn_TYPE_member_t asn_MBR_Choice3_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = 0,
@ -606,7 +614,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */
};
static asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = {
sizeof(struct Choice3),
offsetof(struct Choice3, _asn_ctx),
offsetof(struct Choice3, present),
@ -682,6 +690,8 @@ typedef struct Set {
/*** <<< FUNC-DECLS [Set] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Set;
extern asn_SET_OF_specifics_t asn_SPC_Set_specs_1;
extern asn_TYPE_member_t asn_MBR_Set_1[1];
/*** <<< POST-INCLUDE [Set] >>> ***/
@ -788,7 +798,7 @@ asn_TYPE_descriptor_t asn_DEF_Member_2 = {
&asn_SPC_Member_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Set_1[] = {
asn_TYPE_member_t asn_MBR_Set_1[] = {
{ ATF_POINTER, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
@ -803,7 +813,7 @@ static asn_TYPE_member_t asn_MBR_Set_1[] = {
static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = {
sizeof(struct Set),
offsetof(struct Set, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
@ -864,6 +874,8 @@ typedef struct Sequence {
/*** <<< FUNC-DECLS [Sequence] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Sequence;
extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
extern asn_TYPE_member_t asn_MBR_Sequence_1[4];
/*** <<< POST-INCLUDE [Sequence] >>> ***/
@ -872,7 +884,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Sequence;
/*** <<< STAT-DEFS [Sequence] >>> ***/
static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
asn_TYPE_member_t asn_MBR_Sequence_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Sequence, a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -923,7 +935,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */
};
static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
sizeof(struct Sequence),
offsetof(struct Sequence, _asn_ctx),
asn_MAP_Sequence_tag2el_1,
@ -980,84 +992,10 @@ xer_type_encoder_f TypeRef_encode_xer;
/*** <<< CODE [TypeRef] >>> ***/
int
TypeRef_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_Sequence.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using Sequence,
* so here we adjust the DEF accordingly.
*/
static void
TypeRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Sequence.free_struct;
td->print_struct = asn_DEF_Sequence.print_struct;
td->check_constraints = asn_DEF_Sequence.check_constraints;
td->ber_decoder = asn_DEF_Sequence.ber_decoder;
td->der_encoder = asn_DEF_Sequence.der_encoder;
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;
td->oer_decoder = asn_DEF_Sequence.oer_decoder;
td->oer_encoder = asn_DEF_Sequence.oer_encoder;
if(!td->oer_constraints)
td->oer_constraints = asn_DEF_Sequence.oer_constraints;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Sequence.per_constraints;
td->elements = asn_DEF_Sequence.elements;
td->elements_count = asn_DEF_Sequence.elements_count;
td->specifics = asn_DEF_Sequence.specifics;
}
void
TypeRef_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
TypeRef_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
TypeRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
TypeRef_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
TypeRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
TypeRef_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
TypeRef_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
TypeRef_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
TypeRef_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
TypeRef_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
TypeRef_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
TypeRef_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [TypeRef] >>> ***/
@ -1067,13 +1005,13 @@ static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = {
asn_TYPE_descriptor_t asn_DEF_TypeRef = {
"TypeRef",
"TypeRef",
TypeRef_free,
TypeRef_print,
TypeRef_constraint,
TypeRef_decode_ber,
TypeRef_encode_der,
TypeRef_decode_xer,
TypeRef_encode_xer,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, 0, /* No OER support, use "-gen-OER" to enable */
0, 0, /* No PER support, use "-gen-PER" to enable */
0, /* Use generic outmost tag fetcher */
@ -1085,8 +1023,9 @@ asn_TYPE_descriptor_t asn_DEF_TypeRef = {
/sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
asn_MBR_Sequence_1,
4, /* Elements count */
&asn_SPC_Sequence_specs_1 /* Additional specs */
};
@ -1116,6 +1055,8 @@ typedef struct Alpha {
/*** <<< FUNC-DECLS [Alpha] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Alpha;
extern asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1;
extern asn_TYPE_member_t asn_MBR_Alpha_1[2];
/*** <<< POST-INCLUDE [Alpha] >>> ***/
@ -1178,7 +1119,7 @@ asn_TYPE_descriptor_t asn_DEF_b_3 = {
&asn_SPC_b_specs_3 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Alpha_1[] = {
asn_TYPE_member_t asn_MBR_Alpha_1[] = {
{ ATF_POINTER, 0, offsetof(struct Alpha, a),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1207,7 +1148,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */
};
static asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = {
sizeof(struct Alpha),
offsetof(struct Alpha, _asn_ctx),
asn_MAP_Alpha_tag2el_1,
@ -1265,6 +1206,8 @@ typedef struct Beta {
/*** <<< FUNC-DECLS [Beta] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Beta;
extern asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1;
extern asn_TYPE_member_t asn_MBR_Beta_1[2];
/*** <<< POST-INCLUDE [Beta] >>> ***/
@ -1273,7 +1216,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Beta;
/*** <<< STAT-DEFS [Beta] >>> ***/
static asn_TYPE_member_t asn_MBR_Beta_1[] = {
asn_TYPE_member_t asn_MBR_Beta_1[] = {
{ ATF_POINTER, 2, offsetof(struct Beta, b),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1302,7 +1245,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */
};
static asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = {
sizeof(struct Beta),
offsetof(struct Beta, _asn_ctx),
asn_MAP_Beta_tag2el_1,
@ -1362,6 +1305,8 @@ typedef struct Gamma {
/*** <<< FUNC-DECLS [Gamma] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Gamma;
extern asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1;
extern asn_TYPE_member_t asn_MBR_Gamma_1[3];
/*** <<< POST-INCLUDE [Gamma] >>> ***/
@ -1371,7 +1316,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Gamma;
/*** <<< STAT-DEFS [Gamma] >>> ***/
static asn_TYPE_member_t asn_MBR_Gamma_1[] = {
asn_TYPE_member_t asn_MBR_Gamma_1[] = {
{ ATF_POINTER, 0, offsetof(struct Gamma, o),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1411,7 +1356,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */
};
static asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = {
sizeof(struct Gamma),
offsetof(struct Gamma, _asn_ctx),
asn_MAP_Gamma_tag2el_1,
@ -1481,6 +1426,8 @@ typedef struct OneTwo {
/*** <<< FUNC-DECLS [OneTwo] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
extern asn_SET_specifics_t asn_SPC_OneTwo_specs_1;
extern asn_TYPE_member_t asn_MBR_OneTwo_1[1];
/*** <<< POST-INCLUDE [OneTwo] >>> ***/
@ -1488,7 +1435,7 @@ extern asn_TYPE_descriptor_t asn_DEF_OneTwo;
/*** <<< STAT-DEFS [OneTwo] >>> ***/
static asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
asn_TYPE_member_t asn_MBR_OneTwo_1[] = {
{ ATF_POINTER, 0, offsetof(struct OneTwo, m12),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1509,7 +1456,7 @@ static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = {
static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
static asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = {
sizeof(struct OneTwo),
offsetof(struct OneTwo, _asn_ctx),
offsetof(struct OneTwo, _presence_map),
@ -1581,6 +1528,8 @@ typedef struct TwoThree {
/*** <<< FUNC-DECLS [TwoThree] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
extern asn_SET_specifics_t asn_SPC_TwoThree_specs_1;
extern asn_TYPE_member_t asn_MBR_TwoThree_1[1];
/*** <<< POST-INCLUDE [TwoThree] >>> ***/
@ -1588,7 +1537,7 @@ extern asn_TYPE_descriptor_t asn_DEF_TwoThree;
/*** <<< STAT-DEFS [TwoThree] >>> ***/
static asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
asn_TYPE_member_t asn_MBR_TwoThree_1[] = {
{ ATF_POINTER, 0, offsetof(struct TwoThree, m23),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1609,7 +1558,7 @@ static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = {
static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
};
static asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = {
sizeof(struct TwoThree),
offsetof(struct TwoThree, _asn_ctx),
offsetof(struct TwoThree, _presence_map),
@ -1684,6 +1633,8 @@ typedef struct ThreeOne {
/*** <<< FUNC-DECLS [ThreeOne] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
extern asn_SET_specifics_t asn_SPC_ThreeOne_specs_1;
extern asn_TYPE_member_t asn_MBR_ThreeOne_1[2];
/*** <<< POST-INCLUDE [ThreeOne] >>> ***/
@ -1692,7 +1643,7 @@ extern asn_TYPE_descriptor_t asn_DEF_ThreeOne;
/*** <<< STAT-DEFS [ThreeOne] >>> ***/
static asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
asn_TYPE_member_t asn_MBR_ThreeOne_1[] = {
{ ATF_POINTER, 0, offsetof(struct ThreeOne, m31),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -1724,7 +1675,7 @@ static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = {
static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (1 << 6)
};
static asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = {
sizeof(struct ThreeOne),
offsetof(struct ThreeOne, _asn_ctx),
offsetof(struct ThreeOne, _presence_map),

View File

@ -17,10 +17,12 @@ typedef struct Sequence {
/*** <<< FUNC-DECLS [Sequence] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Sequence;
extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
extern asn_TYPE_member_t asn_MBR_Sequence_1[2];
/*** <<< STAT-DEFS [Sequence] >>> ***/
static asn_TYPE_member_t asn_MBR_Sequence_1[] = {
asn_TYPE_member_t asn_MBR_Sequence_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Sequence, ainl),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
@ -49,7 +51,7 @@ static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ainl */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aptr */
};
static asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
sizeof(struct Sequence),
offsetof(struct Sequence, _asn_ctx),
asn_MAP_Sequence_tag2el_1,
@ -161,7 +163,8 @@ static const asn_TYPE_tag2member_t asn_MAP_Set_tag2el_1[] = {
static const uint8_t asn_MAP_Set_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (1 << 6)
};
static asn_SET_specifics_t asn_SPC_Set_specs_1 = {
static
asn_SET_specifics_t asn_SPC_Set_specs_1 = {
sizeof(struct Set),
offsetof(struct Set, _asn_ctx),
offsetof(struct Set, _presence_map),

View File

@ -176,7 +176,8 @@ static const uint8_t asn_MAP_TestSet_mmap_1[(10 + (8 * sizeof(unsigned int)) - 1
(1 << 7) | (0 << 6) | (1 << 5) | (1 << 4) | (0 << 3) | (1 << 2) | (1 << 1) | (1 << 0),
(0 << 7) | (1 << 6)
};
static asn_SET_specifics_t asn_SPC_TestSet_specs_1 = {
static
asn_SET_specifics_t asn_SPC_TestSet_specs_1 = {
sizeof(struct TestSet),
offsetof(struct TestSet, _asn_ctx),
offsetof(struct TestSet, _presence_map),