XER decoders
diff --git a/tests/50-constraint-OK.asn1.-P b/tests/50-constraint-OK.asn1.-P
index 6f4dac1..2700676 100644
--- a/tests/50-constraint-OK.asn1.-P
+++ b/tests/50-constraint-OK.asn1.-P
@@ -35,6 +35,7 @@
asn_constr_check_f Int2_constraint;
ber_type_decoder_f Int2_decode_ber;
der_type_encoder_f Int2_encode_der;
+xer_type_decoder_f Int2_decode_xer;
xer_type_encoder_f Int2_encode_xer;
/*** <<< CODE [Int2] >>> ***/
@@ -112,6 +113,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Int2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Int2_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Int2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -134,7 +142,7 @@
Int2_constraint,
Int2_decode_ber,
Int2_encode_der,
- 0, /* Not implemented yet */
+ Int2_decode_xer,
Int2_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Int2_tags,
@@ -165,6 +173,7 @@
asn_constr_check_f Int3_constraint;
ber_type_decoder_f Int3_decode_ber;
der_type_encoder_f Int3_encode_der;
+xer_type_decoder_f Int3_decode_xer;
xer_type_encoder_f Int3_encode_xer;
/*** <<< CODE [Int3] >>> ***/
@@ -246,6 +255,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Int3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Int3_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Int3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -268,7 +284,7 @@
Int3_constraint,
Int3_decode_ber,
Int3_encode_der,
- 0, /* Not implemented yet */
+ Int3_decode_xer,
Int3_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Int3_tags,
@@ -299,6 +315,7 @@
asn_constr_check_f Int4_constraint;
ber_type_decoder_f Int4_decode_ber;
der_type_encoder_f Int4_encode_der;
+xer_type_decoder_f Int4_decode_xer;
xer_type_encoder_f Int4_encode_xer;
/*** <<< CODE [Int4] >>> ***/
@@ -380,6 +397,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Int4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Int4_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Int4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -402,7 +426,7 @@
Int4_constraint,
Int4_decode_ber,
Int4_encode_der,
- 0, /* Not implemented yet */
+ Int4_decode_xer,
Int4_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Int4_tags,
@@ -433,6 +457,7 @@
asn_constr_check_f Int5_constraint;
ber_type_decoder_f Int5_decode_ber;
der_type_encoder_f Int5_encode_der;
+xer_type_decoder_f Int5_decode_xer;
xer_type_encoder_f Int5_encode_xer;
/*** <<< CODE [Int5] >>> ***/
@@ -514,6 +539,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Int5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Int5_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Int5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -536,7 +568,7 @@
Int5_constraint,
Int5_decode_ber,
Int5_encode_der,
- 0, /* Not implemented yet */
+ Int5_decode_xer,
Int5_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Int5_tags,
@@ -567,6 +599,7 @@
asn_constr_check_f ExtensibleExtensions_constraint;
ber_type_decoder_f ExtensibleExtensions_decode_ber;
der_type_encoder_f ExtensibleExtensions_encode_der;
+xer_type_decoder_f ExtensibleExtensions_decode_xer;
xer_type_encoder_f ExtensibleExtensions_encode_xer;
/*** <<< CODE [ExtensibleExtensions] >>> ***/
@@ -648,6 +681,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+ExtensibleExtensions_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ ExtensibleExtensions_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
ExtensibleExtensions_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -670,7 +710,7 @@
ExtensibleExtensions_constraint,
ExtensibleExtensions_decode_ber,
ExtensibleExtensions_encode_der,
- 0, /* Not implemented yet */
+ ExtensibleExtensions_decode_xer,
ExtensibleExtensions_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_ExtensibleExtensions_tags,
@@ -720,6 +760,7 @@
asn_constr_check_f Str2_constraint;
ber_type_decoder_f Str2_decode_ber;
der_type_encoder_f Str2_encode_der;
+xer_type_decoder_f Str2_decode_xer;
xer_type_encoder_f Str2_encode_xer;
/*** <<< CTABLES [Str2] >>> ***/
@@ -813,6 +854,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Str2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Str2_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Str2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -835,7 +883,7 @@
Str2_constraint,
Str2_decode_ber,
Str2_encode_der,
- 0, /* Not implemented yet */
+ Str2_decode_xer,
Str2_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Str2_tags,
@@ -866,6 +914,7 @@
asn_constr_check_f Str3_constraint;
ber_type_decoder_f Str3_decode_ber;
der_type_encoder_f Str3_encode_der;
+xer_type_decoder_f Str3_decode_xer;
xer_type_encoder_f Str3_encode_xer;
/*** <<< CTABLES [Str3] >>> ***/
@@ -970,6 +1019,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Str3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Str3_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Str3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -992,7 +1048,7 @@
Str3_constraint,
Str3_decode_ber,
Str3_encode_der,
- 0, /* Not implemented yet */
+ Str3_decode_xer,
Str3_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Str3_tags,
@@ -1023,6 +1079,7 @@
asn_constr_check_f Str4_constraint;
ber_type_decoder_f Str4_decode_ber;
der_type_encoder_f Str4_encode_der;
+xer_type_decoder_f Str4_decode_xer;
xer_type_encoder_f Str4_encode_xer;
/*** <<< CTABLES [Str4] >>> ***/
@@ -1113,6 +1170,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Str4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Str4_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Str4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -1135,7 +1199,7 @@
Str4_constraint,
Str4_decode_ber,
Str4_encode_der,
- 0, /* Not implemented yet */
+ Str4_decode_xer,
Str4_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Str4_tags,
@@ -1166,6 +1230,7 @@
asn_constr_check_f PER_Visible_constraint;
ber_type_decoder_f PER_Visible_decode_ber;
der_type_encoder_f PER_Visible_encode_der;
+xer_type_decoder_f PER_Visible_decode_xer;
xer_type_encoder_f PER_Visible_encode_xer;
/*** <<< CTABLES [PER-Visible] >>> ***/
@@ -1256,6 +1321,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+PER_Visible_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ PER_Visible_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
PER_Visible_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -1278,7 +1350,7 @@
PER_Visible_constraint,
PER_Visible_decode_ber,
PER_Visible_encode_der,
- 0, /* Not implemented yet */
+ PER_Visible_decode_xer,
PER_Visible_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_PER_Visible_tags,
@@ -1309,6 +1381,7 @@
asn_constr_check_f PER_Visible_2_constraint;
ber_type_decoder_f PER_Visible_2_decode_ber;
der_type_encoder_f PER_Visible_2_encode_der;
+xer_type_decoder_f PER_Visible_2_decode_xer;
xer_type_encoder_f PER_Visible_2_encode_xer;
/*** <<< CTABLES [PER-Visible-2] >>> ***/
@@ -1399,6 +1472,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+PER_Visible_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ PER_Visible_2_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -1421,7 +1501,7 @@
PER_Visible_2_constraint,
PER_Visible_2_decode_ber,
PER_Visible_2_encode_der,
- 0, /* Not implemented yet */
+ PER_Visible_2_decode_xer,
PER_Visible_2_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_PER_Visible_2_tags,
@@ -1452,6 +1532,7 @@
asn_constr_check_f Not_PER_Visible_1_constraint;
ber_type_decoder_f Not_PER_Visible_1_decode_ber;
der_type_encoder_f Not_PER_Visible_1_encode_der;
+xer_type_decoder_f Not_PER_Visible_1_decode_xer;
xer_type_encoder_f Not_PER_Visible_1_encode_xer;
/*** <<< CTABLES [Not-PER-Visible-1] >>> ***/
@@ -1542,6 +1623,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Not_PER_Visible_1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Not_PER_Visible_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Not_PER_Visible_1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -1564,7 +1652,7 @@
Not_PER_Visible_1_constraint,
Not_PER_Visible_1_decode_ber,
Not_PER_Visible_1_encode_der,
- 0, /* Not implemented yet */
+ Not_PER_Visible_1_decode_xer,
Not_PER_Visible_1_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Not_PER_Visible_1_tags,
@@ -1595,6 +1683,7 @@
asn_constr_check_f Not_PER_Visible_2_constraint;
ber_type_decoder_f Not_PER_Visible_2_decode_ber;
der_type_encoder_f Not_PER_Visible_2_encode_der;
+xer_type_decoder_f Not_PER_Visible_2_decode_xer;
xer_type_encoder_f Not_PER_Visible_2_encode_xer;
/*** <<< CTABLES [Not-PER-Visible-2] >>> ***/
@@ -1685,6 +1774,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Not_PER_Visible_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Not_PER_Visible_2_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Not_PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -1707,7 +1803,7 @@
Not_PER_Visible_2_constraint,
Not_PER_Visible_2_decode_ber,
Not_PER_Visible_2_encode_der,
- 0, /* Not implemented yet */
+ Not_PER_Visible_2_decode_xer,
Not_PER_Visible_2_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Not_PER_Visible_2_tags,
@@ -1738,6 +1834,7 @@
asn_constr_check_f Not_PER_Visible_3_constraint;
ber_type_decoder_f Not_PER_Visible_3_decode_ber;
der_type_encoder_f Not_PER_Visible_3_encode_der;
+xer_type_decoder_f Not_PER_Visible_3_decode_xer;
xer_type_encoder_f Not_PER_Visible_3_encode_xer;
/*** <<< CTABLES [Not-PER-Visible-3] >>> ***/
@@ -1828,6 +1925,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Not_PER_Visible_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Not_PER_Visible_3_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Not_PER_Visible_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -1850,7 +1954,7 @@
Not_PER_Visible_3_constraint,
Not_PER_Visible_3_decode_ber,
Not_PER_Visible_3_encode_der,
- 0, /* Not implemented yet */
+ Not_PER_Visible_3_decode_xer,
Not_PER_Visible_3_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Not_PER_Visible_3_tags,
@@ -1881,6 +1985,7 @@
asn_constr_check_f SIZE_but_not_FROM_constraint;
ber_type_decoder_f SIZE_but_not_FROM_decode_ber;
der_type_encoder_f SIZE_but_not_FROM_encode_der;
+xer_type_decoder_f SIZE_but_not_FROM_decode_xer;
xer_type_encoder_f SIZE_but_not_FROM_encode_xer;
/*** <<< CTABLES [SIZE-but-not-FROM] >>> ***/
@@ -1974,6 +2079,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+SIZE_but_not_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
SIZE_but_not_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -1996,7 +2108,7 @@
SIZE_but_not_FROM_constraint,
SIZE_but_not_FROM_decode_ber,
SIZE_but_not_FROM_encode_der,
- 0, /* Not implemented yet */
+ SIZE_but_not_FROM_decode_xer,
SIZE_but_not_FROM_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_SIZE_but_not_FROM_tags,
@@ -2027,6 +2139,7 @@
asn_constr_check_f SIZE_and_FROM_constraint;
ber_type_decoder_f SIZE_and_FROM_decode_ber;
der_type_encoder_f SIZE_and_FROM_encode_der;
+xer_type_decoder_f SIZE_and_FROM_decode_xer;
xer_type_encoder_f SIZE_and_FROM_encode_xer;
/*** <<< CTABLES [SIZE-and-FROM] >>> ***/
@@ -2120,6 +2233,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+SIZE_and_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ SIZE_and_FROM_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
SIZE_and_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -2142,7 +2262,7 @@
SIZE_and_FROM_constraint,
SIZE_and_FROM_decode_ber,
SIZE_and_FROM_encode_der,
- 0, /* Not implemented yet */
+ SIZE_and_FROM_decode_xer,
SIZE_and_FROM_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_SIZE_and_FROM_tags,
@@ -2173,6 +2293,7 @@
asn_constr_check_f Neither_SIZE_nor_FROM_constraint;
ber_type_decoder_f Neither_SIZE_nor_FROM_decode_ber;
der_type_encoder_f Neither_SIZE_nor_FROM_encode_der;
+xer_type_decoder_f Neither_SIZE_nor_FROM_decode_xer;
xer_type_encoder_f Neither_SIZE_nor_FROM_encode_xer;
/*** <<< CTABLES [Neither-SIZE-nor-FROM] >>> ***/
@@ -2263,6 +2384,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Neither_SIZE_nor_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Neither_SIZE_nor_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -2285,7 +2413,7 @@
Neither_SIZE_nor_FROM_constraint,
Neither_SIZE_nor_FROM_decode_ber,
Neither_SIZE_nor_FROM_encode_der,
- 0, /* Not implemented yet */
+ Neither_SIZE_nor_FROM_decode_xer,
Neither_SIZE_nor_FROM_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Neither_SIZE_nor_FROM_tags,
@@ -2316,6 +2444,7 @@
asn_constr_check_f Utf8_4_constraint;
ber_type_decoder_f Utf8_4_decode_ber;
der_type_encoder_f Utf8_4_encode_der;
+xer_type_decoder_f Utf8_4_decode_xer;
xer_type_encoder_f Utf8_4_encode_xer;
/*** <<< CTABLES [Utf8-4] >>> ***/
@@ -2400,6 +2529,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Utf8_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Utf8_4_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Utf8_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -2422,7 +2558,7 @@
Utf8_4_constraint,
Utf8_4_decode_ber,
Utf8_4_encode_der,
- 0, /* Not implemented yet */
+ Utf8_4_decode_xer,
Utf8_4_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Utf8_4_tags,
@@ -2453,6 +2589,7 @@
asn_constr_check_f Utf8_3_constraint;
ber_type_decoder_f Utf8_3_decode_ber;
der_type_encoder_f Utf8_3_encode_der;
+xer_type_decoder_f Utf8_3_decode_xer;
xer_type_encoder_f Utf8_3_encode_xer;
/*** <<< CTABLES [Utf8-3] >>> ***/
@@ -2565,6 +2702,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Utf8_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Utf8_3_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Utf8_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -2587,7 +2731,7 @@
Utf8_3_constraint,
Utf8_3_decode_ber,
Utf8_3_encode_der,
- 0, /* Not implemented yet */
+ Utf8_3_decode_xer,
Utf8_3_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Utf8_3_tags,
@@ -2618,6 +2762,7 @@
asn_constr_check_f Utf8_2_constraint;
ber_type_decoder_f Utf8_2_decode_ber;
der_type_encoder_f Utf8_2_encode_der;
+xer_type_decoder_f Utf8_2_decode_xer;
xer_type_encoder_f Utf8_2_encode_xer;
/*** <<< CODE [Utf8-2] >>> ***/
@@ -2700,6 +2845,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Utf8_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Utf8_2_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Utf8_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -2722,7 +2874,7 @@
Utf8_2_constraint,
Utf8_2_decode_ber,
Utf8_2_encode_der,
- 0, /* Not implemented yet */
+ Utf8_2_decode_xer,
Utf8_2_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Utf8_2_tags,
@@ -2791,6 +2943,7 @@
asn_constr_check_f Identifier_constraint;
ber_type_decoder_f Identifier_decode_ber;
der_type_encoder_f Identifier_encode_der;
+xer_type_decoder_f Identifier_decode_xer;
xer_type_encoder_f Identifier_encode_xer;
/*** <<< CTABLES [Identifier] >>> ***/
@@ -2896,6 +3049,13 @@
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
+asn_dec_rval_t
+Identifier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, void *bufptr, size_t size) {
+ Identifier_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
asn_enc_rval_t
Identifier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
@@ -2918,7 +3078,7 @@
Identifier_constraint,
Identifier_decode_ber,
Identifier_encode_der,
- 0, /* Not implemented yet */
+ Identifier_decode_xer,
Identifier_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_Identifier_tags,