Commit 0ebe8b3d authored by Lev Walkin's avatar Lev Walkin

XER decoders

parent c17c7fa1
...@@ -102,6 +102,7 @@ asn_struct_print_f T_print; ...@@ -102,6 +102,7 @@ asn_struct_print_f T_print;
asn_constr_check_f T_constraint; asn_constr_check_f T_constraint;
ber_type_decoder_f T_decode_ber; ber_type_decoder_f T_decode_ber;
der_type_encoder_f T_encode_der; der_type_encoder_f T_encode_der;
xer_type_decoder_f T_decode_xer;
xer_type_encoder_f T_encode_xer; xer_type_encoder_f T_encode_xer;
/*** <<< CODE [T] >>> ***/ /*** <<< CODE [T] >>> ***/
...@@ -160,6 +161,13 @@ T_encode_der(asn_TYPE_descriptor_t *td, ...@@ -160,6 +161,13 @@ T_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -183,7 +191,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { ...@@ -183,7 +191,7 @@ asn_TYPE_descriptor_t asn_DEF_T = {
T_constraint, T_constraint,
T_decode_ber, T_decode_ber,
T_encode_der, T_encode_der,
0, /* Not implemented yet */ T_decode_xer,
T_encode_xer, T_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T_tags, asn_DEF_T_tags,
......
This diff is collapsed.
...@@ -16,6 +16,7 @@ asn_struct_print_f T1_print; ...@@ -16,6 +16,7 @@ asn_struct_print_f T1_print;
asn_constr_check_f T1_constraint; asn_constr_check_f T1_constraint;
ber_type_decoder_f T1_decode_ber; ber_type_decoder_f T1_decode_ber;
der_type_encoder_f T1_encode_der; der_type_encoder_f T1_encode_der;
xer_type_decoder_f T1_decode_xer;
xer_type_encoder_f T1_encode_xer; xer_type_encoder_f T1_encode_xer;
/*** <<< CODE [T1] >>> ***/ /*** <<< CODE [T1] >>> ***/
...@@ -74,6 +75,13 @@ T1_encode_der(asn_TYPE_descriptor_t *td, ...@@ -74,6 +75,13 @@ T1_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T1_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -107,7 +115,7 @@ asn_TYPE_descriptor_t asn_DEF_T1 = { ...@@ -107,7 +115,7 @@ asn_TYPE_descriptor_t asn_DEF_T1 = {
T1_constraint, T1_constraint,
T1_decode_ber, T1_decode_ber,
T1_encode_der, T1_encode_der,
0, /* Not implemented yet */ T1_decode_xer,
T1_encode_xer, T1_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T1_tags, asn_DEF_T1_tags,
...@@ -138,6 +146,7 @@ asn_struct_print_f T2_print; ...@@ -138,6 +146,7 @@ asn_struct_print_f T2_print;
asn_constr_check_f T2_constraint; asn_constr_check_f T2_constraint;
ber_type_decoder_f T2_decode_ber; ber_type_decoder_f T2_decode_ber;
der_type_encoder_f T2_encode_der; der_type_encoder_f T2_encode_der;
xer_type_decoder_f T2_decode_xer;
xer_type_encoder_f T2_encode_xer; xer_type_encoder_f T2_encode_xer;
/*** <<< CODE [T2] >>> ***/ /*** <<< CODE [T2] >>> ***/
...@@ -196,6 +205,13 @@ T2_encode_der(asn_TYPE_descriptor_t *td, ...@@ -196,6 +205,13 @@ T2_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T2_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -227,7 +243,7 @@ asn_TYPE_descriptor_t asn_DEF_T2 = { ...@@ -227,7 +243,7 @@ asn_TYPE_descriptor_t asn_DEF_T2 = {
T2_constraint, T2_constraint,
T2_decode_ber, T2_decode_ber,
T2_encode_der, T2_encode_der,
0, /* Not implemented yet */ T2_decode_xer,
T2_encode_xer, T2_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T2_tags, asn_DEF_T2_tags,
...@@ -258,6 +274,7 @@ asn_struct_print_f T3_print; ...@@ -258,6 +274,7 @@ asn_struct_print_f T3_print;
asn_constr_check_f T3_constraint; asn_constr_check_f T3_constraint;
ber_type_decoder_f T3_decode_ber; ber_type_decoder_f T3_decode_ber;
der_type_encoder_f T3_encode_der; der_type_encoder_f T3_encode_der;
xer_type_decoder_f T3_decode_xer;
xer_type_encoder_f T3_encode_xer; xer_type_encoder_f T3_encode_xer;
/*** <<< CODE [T3] >>> ***/ /*** <<< CODE [T3] >>> ***/
...@@ -316,6 +333,13 @@ T3_encode_der(asn_TYPE_descriptor_t *td, ...@@ -316,6 +333,13 @@ T3_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T3_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T3_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -345,7 +369,7 @@ asn_TYPE_descriptor_t asn_DEF_T3 = { ...@@ -345,7 +369,7 @@ asn_TYPE_descriptor_t asn_DEF_T3 = {
T3_constraint, T3_constraint,
T3_decode_ber, T3_decode_ber,
T3_encode_der, T3_encode_der,
0, /* Not implemented yet */ T3_decode_xer,
T3_encode_xer, T3_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T3_tags, asn_DEF_T3_tags,
...@@ -376,6 +400,7 @@ asn_struct_print_f T4_print; ...@@ -376,6 +400,7 @@ asn_struct_print_f T4_print;
asn_constr_check_f T4_constraint; asn_constr_check_f T4_constraint;
ber_type_decoder_f T4_decode_ber; ber_type_decoder_f T4_decode_ber;
der_type_encoder_f T4_encode_der; der_type_encoder_f T4_encode_der;
xer_type_decoder_f T4_decode_xer;
xer_type_encoder_f T4_encode_xer; xer_type_encoder_f T4_encode_xer;
/*** <<< CODE [T4] >>> ***/ /*** <<< CODE [T4] >>> ***/
...@@ -434,6 +459,13 @@ T4_encode_der(asn_TYPE_descriptor_t *td, ...@@ -434,6 +459,13 @@ T4_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T4_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T4_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -458,7 +490,7 @@ asn_TYPE_descriptor_t asn_DEF_T4 = { ...@@ -458,7 +490,7 @@ asn_TYPE_descriptor_t asn_DEF_T4 = {
T4_constraint, T4_constraint,
T4_decode_ber, T4_decode_ber,
T4_encode_der, T4_encode_der,
0, /* Not implemented yet */ T4_decode_xer,
T4_encode_xer, T4_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T4_tags, asn_DEF_T4_tags,
...@@ -489,6 +521,7 @@ asn_struct_print_f T5_print; ...@@ -489,6 +521,7 @@ asn_struct_print_f T5_print;
asn_constr_check_f T5_constraint; asn_constr_check_f T5_constraint;
ber_type_decoder_f T5_decode_ber; ber_type_decoder_f T5_decode_ber;
der_type_encoder_f T5_encode_der; der_type_encoder_f T5_encode_der;
xer_type_decoder_f T5_decode_xer;
xer_type_encoder_f T5_encode_xer; xer_type_encoder_f T5_encode_xer;
/*** <<< CODE [T5] >>> ***/ /*** <<< CODE [T5] >>> ***/
...@@ -547,6 +580,13 @@ T5_encode_der(asn_TYPE_descriptor_t *td, ...@@ -547,6 +580,13 @@ T5_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T5_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T5_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -570,7 +610,7 @@ asn_TYPE_descriptor_t asn_DEF_T5 = { ...@@ -570,7 +610,7 @@ asn_TYPE_descriptor_t asn_DEF_T5 = {
T5_constraint, T5_constraint,
T5_decode_ber, T5_decode_ber,
T5_encode_der, T5_encode_der,
0, /* Not implemented yet */ T5_decode_xer,
T5_encode_xer, T5_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T5_tags, asn_DEF_T5_tags,
...@@ -620,6 +660,7 @@ asn_struct_print_f T_print; ...@@ -620,6 +660,7 @@ asn_struct_print_f T_print;
asn_constr_check_f T_constraint; asn_constr_check_f T_constraint;
ber_type_decoder_f T_decode_ber; ber_type_decoder_f T_decode_ber;
der_type_encoder_f T_encode_der; der_type_encoder_f T_encode_der;
xer_type_decoder_f T_decode_xer;
xer_type_encoder_f T_encode_xer; xer_type_encoder_f T_encode_xer;
/*** <<< CODE [T] >>> ***/ /*** <<< CODE [T] >>> ***/
...@@ -678,6 +719,13 @@ T_encode_der(asn_TYPE_descriptor_t *td, ...@@ -678,6 +719,13 @@ T_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -702,7 +750,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { ...@@ -702,7 +750,7 @@ asn_TYPE_descriptor_t asn_DEF_T = {
T_constraint, T_constraint,
T_decode_ber, T_decode_ber,
T_encode_der, T_encode_der,
0, /* Not implemented yet */ T_decode_xer,
T_encode_xer, T_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T_tags, asn_DEF_T_tags,
......
...@@ -16,6 +16,7 @@ asn_struct_print_f T1_print; ...@@ -16,6 +16,7 @@ asn_struct_print_f T1_print;
asn_constr_check_f T1_constraint; asn_constr_check_f T1_constraint;
ber_type_decoder_f T1_decode_ber; ber_type_decoder_f T1_decode_ber;
der_type_encoder_f T1_encode_der; der_type_encoder_f T1_encode_der;
xer_type_decoder_f T1_decode_xer;
xer_type_encoder_f T1_encode_xer; xer_type_encoder_f T1_encode_xer;
/*** <<< CODE [T1] >>> ***/ /*** <<< CODE [T1] >>> ***/
...@@ -74,6 +75,13 @@ T1_encode_der(asn_TYPE_descriptor_t *td, ...@@ -74,6 +75,13 @@ T1_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T1_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -107,7 +115,7 @@ asn_TYPE_descriptor_t asn_DEF_T1 = { ...@@ -107,7 +115,7 @@ asn_TYPE_descriptor_t asn_DEF_T1 = {
T1_constraint, T1_constraint,
T1_decode_ber, T1_decode_ber,
T1_encode_der, T1_encode_der,
0, /* Not implemented yet */ T1_decode_xer,
T1_encode_xer, T1_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T1_tags, asn_DEF_T1_tags,
...@@ -138,6 +146,7 @@ asn_struct_print_f T2_print; ...@@ -138,6 +146,7 @@ asn_struct_print_f T2_print;
asn_constr_check_f T2_constraint; asn_constr_check_f T2_constraint;
ber_type_decoder_f T2_decode_ber; ber_type_decoder_f T2_decode_ber;
der_type_encoder_f T2_encode_der; der_type_encoder_f T2_encode_der;
xer_type_decoder_f T2_decode_xer;
xer_type_encoder_f T2_encode_xer; xer_type_encoder_f T2_encode_xer;
/*** <<< CODE [T2] >>> ***/ /*** <<< CODE [T2] >>> ***/
...@@ -196,6 +205,13 @@ T2_encode_der(asn_TYPE_descriptor_t *td, ...@@ -196,6 +205,13 @@ T2_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T2_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -227,7 +243,7 @@ asn_TYPE_descriptor_t asn_DEF_T2 = { ...@@ -227,7 +243,7 @@ asn_TYPE_descriptor_t asn_DEF_T2 = {
T2_constraint, T2_constraint,
T2_decode_ber, T2_decode_ber,
T2_encode_der, T2_encode_der,
0, /* Not implemented yet */ T2_decode_xer,
T2_encode_xer, T2_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T2_tags, asn_DEF_T2_tags,
...@@ -258,6 +274,7 @@ asn_struct_print_f T3_print; ...@@ -258,6 +274,7 @@ asn_struct_print_f T3_print;
asn_constr_check_f T3_constraint; asn_constr_check_f T3_constraint;
ber_type_decoder_f T3_decode_ber; ber_type_decoder_f T3_decode_ber;
der_type_encoder_f T3_encode_der; der_type_encoder_f T3_encode_der;
xer_type_decoder_f T3_decode_xer;
xer_type_encoder_f T3_encode_xer; xer_type_encoder_f T3_encode_xer;
/*** <<< CODE [T3] >>> ***/ /*** <<< CODE [T3] >>> ***/
...@@ -316,6 +333,13 @@ T3_encode_der(asn_TYPE_descriptor_t *td, ...@@ -316,6 +333,13 @@ T3_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T3_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T3_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -345,7 +369,7 @@ asn_TYPE_descriptor_t asn_DEF_T3 = { ...@@ -345,7 +369,7 @@ asn_TYPE_descriptor_t asn_DEF_T3 = {
T3_constraint, T3_constraint,
T3_decode_ber, T3_decode_ber,
T3_encode_der, T3_encode_der,
0, /* Not implemented yet */ T3_decode_xer,
T3_encode_xer, T3_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T3_tags, asn_DEF_T3_tags,
...@@ -376,6 +400,7 @@ asn_struct_print_f T4_print; ...@@ -376,6 +400,7 @@ asn_struct_print_f T4_print;
asn_constr_check_f T4_constraint; asn_constr_check_f T4_constraint;
ber_type_decoder_f T4_decode_ber; ber_type_decoder_f T4_decode_ber;
der_type_encoder_f T4_encode_der; der_type_encoder_f T4_encode_der;
xer_type_decoder_f T4_decode_xer;
xer_type_encoder_f T4_encode_xer; xer_type_encoder_f T4_encode_xer;
/*** <<< CODE [T4] >>> ***/ /*** <<< CODE [T4] >>> ***/
...@@ -434,6 +459,13 @@ T4_encode_der(asn_TYPE_descriptor_t *td, ...@@ -434,6 +459,13 @@ T4_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T4_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T4_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -458,7 +490,7 @@ asn_TYPE_descriptor_t asn_DEF_T4 = { ...@@ -458,7 +490,7 @@ asn_TYPE_descriptor_t asn_DEF_T4 = {
T4_constraint, T4_constraint,
T4_decode_ber, T4_decode_ber,
T4_encode_der, T4_encode_der,
0, /* Not implemented yet */ T4_decode_xer,
T4_encode_xer, T4_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T4_tags, asn_DEF_T4_tags,
...@@ -489,6 +521,7 @@ asn_struct_print_f T5_print; ...@@ -489,6 +521,7 @@ asn_struct_print_f T5_print;
asn_constr_check_f T5_constraint; asn_constr_check_f T5_constraint;
ber_type_decoder_f T5_decode_ber; ber_type_decoder_f T5_decode_ber;
der_type_encoder_f T5_encode_der; der_type_encoder_f T5_encode_der;
xer_type_decoder_f T5_decode_xer;
xer_type_encoder_f T5_encode_xer; xer_type_encoder_f T5_encode_xer;
/*** <<< CODE [T5] >>> ***/ /*** <<< CODE [T5] >>> ***/
...@@ -547,6 +580,13 @@ T5_encode_der(asn_TYPE_descriptor_t *td, ...@@ -547,6 +580,13 @@ T5_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T5_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T5_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -570,7 +610,7 @@ asn_TYPE_descriptor_t asn_DEF_T5 = { ...@@ -570,7 +610,7 @@ asn_TYPE_descriptor_t asn_DEF_T5 = {
T5_constraint, T5_constraint,
T5_decode_ber, T5_decode_ber,
T5_encode_der, T5_encode_der,
0, /* Not implemented yet */ T5_decode_xer,
T5_encode_xer, T5_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T5_tags, asn_DEF_T5_tags,
...@@ -620,6 +660,7 @@ asn_struct_print_f T_print; ...@@ -620,6 +660,7 @@ asn_struct_print_f T_print;
asn_constr_check_f T_constraint; asn_constr_check_f T_constraint;
ber_type_decoder_f T_decode_ber; ber_type_decoder_f T_decode_ber;
der_type_encoder_f T_encode_der; der_type_encoder_f T_encode_der;
xer_type_decoder_f T_decode_xer;
xer_type_encoder_f T_encode_xer; xer_type_encoder_f T_encode_xer;
/*** <<< CODE [T] >>> ***/ /*** <<< CODE [T] >>> ***/
...@@ -678,6 +719,13 @@ T_encode_der(asn_TYPE_descriptor_t *td, ...@@ -678,6 +719,13 @@ T_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
T_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
T_encode_xer(asn_TYPE_descriptor_t *td, void *structure, T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -702,7 +750,7 @@ asn_TYPE_descriptor_t asn_DEF_T = { ...@@ -702,7 +750,7 @@ asn_TYPE_descriptor_t asn_DEF_T = {
T_constraint, T_constraint,
T_decode_ber, T_decode_ber,
T_encode_der, T_encode_der,
0, /* Not implemented yet */ T_decode_xer,
T_encode_xer, T_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_T_tags, asn_DEF_T_tags,
......
...@@ -86,6 +86,7 @@ asn_struct_print_f SimpleType_print; ...@@ -86,6 +86,7 @@ asn_struct_print_f SimpleType_print;
asn_constr_check_f SimpleType_constraint; asn_constr_check_f SimpleType_constraint;
ber_type_decoder_f SimpleType_decode_ber; ber_type_decoder_f SimpleType_decode_ber;
der_type_encoder_f SimpleType_encode_der; der_type_encoder_f SimpleType_encode_der;
xer_type_decoder_f SimpleType_decode_xer;
xer_type_encoder_f SimpleType_encode_xer; xer_type_encoder_f SimpleType_encode_xer;
/*** <<< CODE [SimpleType] >>> ***/ /*** <<< CODE [SimpleType] >>> ***/
...@@ -144,6 +145,13 @@ SimpleType_encode_der(asn_TYPE_descriptor_t *td, ...@@ -144,6 +145,13 @@ SimpleType_encode_der(asn_TYPE_descriptor_t *td,
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); 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, void *bufptr, size_t size) {
SimpleType_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t asn_enc_rval_t
SimpleType_encode_xer(asn_TYPE_descriptor_t *td, void *structure, SimpleType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
...@@ -166,7 +174,7 @@ asn_TYPE_descriptor_t asn_DEF_SimpleType = { ...@@ -166,7 +174,7 @@ asn_TYPE_descriptor_t asn_DEF_SimpleType = {
SimpleType_constraint, SimpleType_constraint,
SimpleType_decode_ber, SimpleType_decode_ber,
SimpleType_encode_der, SimpleType_encode_der,
0, /* Not implemented yet */ SimpleType_decode_xer,
SimpleType_encode_xer, SimpleType_encode_xer,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_SimpleType_tags, asn_DEF_SimpleType_tags,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment