From 0fab1a6fedfed87f5ebf182c771a4ce7269f4e9c Mon Sep 17 00:00:00 2001 From: Lev Walkin Date: Wed, 9 Mar 2005 22:19:25 +0000 Subject: relaxed XER processing rules for whitespace --- skeletons/asn_codecs_prim.h | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'skeletons/asn_codecs_prim.h') diff --git a/skeletons/asn_codecs_prim.h b/skeletons/asn_codecs_prim.h index 7a6723d3..ceadf511 100644 --- a/skeletons/asn_codecs_prim.h +++ b/skeletons/asn_codecs_prim.h @@ -16,6 +16,20 @@ asn_struct_free_f ASN__PRIMITIVE_TYPE_free; ber_type_decoder_f ber_decode_primitive; der_type_encoder_f der_encode_primitive; +/* + * A callback specification for the xer_decode_primitive() function below. + */ +enum xer_pbd_rval { + XPBD_SYSTEM_FAILURE, /* System failure (memory shortage, etc) */ + XPBD_DECODER_LIMIT, /* Hit some decoder limitation or deficiency */ + XPBD_BROKEN_ENCODING, /* Encoding of a primitive body is broken */ + XPBD_NOT_BODY_IGNORE, /* Not a body format, but safe to ignore */ + XPBD_BODY_CONSUMED, /* Body is recognized and consumed */ +}; +typedef enum xer_pbd_rval (xer_primitive_body_decoder_f) + (asn_TYPE_descriptor_t *td, void *struct_ptr, + const void *chunk_buf, size_t chunk_size); + /* * Specific function to decode simple primitive types. * Also see xer_decode_general() in xer_decoder.h @@ -25,8 +39,7 @@ asn_dec_rval_t xer_decode_primitive(asn_codec_ctx_t *opt_codec_ctx, void **struct_ptr, size_t struct_size, const char *opt_mname, void *buf_ptr, size_t size, - ssize_t (*prim_body_decode)(asn_TYPE_descriptor_t *td, - void *struct_ptr, void *chunk_buf, size_t chunk_size) - ); + xer_primitive_body_decoder_f *prim_body_decoder +); #endif /* ASN_CODECS_PRIM_H */ -- cgit v1.2.3