relaxed XER processing rules for whitespace
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@769 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/skeletons/asn_codecs_prim.h b/skeletons/asn_codecs_prim.h
index 7a6723d..ceadf51 100644
--- a/skeletons/asn_codecs_prim.h
+++ b/skeletons/asn_codecs_prim.h
@@ -17,6 +17,20 @@
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 @@
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 */