constness fixes, round-trip and fuzz-testing for CHOICE
diff --git a/skeletons/oer_encoder.h b/skeletons/oer_encoder.h
index 37d95e3..252bd6a 100644
--- a/skeletons/oer_encoder.h
+++ b/skeletons/oer_encoder.h
@@ -19,31 +19,31 @@
* Produces CANONICAL-OER output compatible with CANONICAL-OER
* and BASIC-OER decoders.
*/
-asn_enc_rval_t oer_encode(struct asn_TYPE_descriptor_s *type_descriptor,
- void *struct_ptr, /* Structure to be encoded */
+asn_enc_rval_t oer_encode(const struct asn_TYPE_descriptor_s *type_descriptor,
+ const void *struct_ptr, /* Structure to be encoded */
asn_app_consume_bytes_f *consume_bytes_cb,
void *app_key /* Arbitrary callback argument */
- );
+);
/* A variant of oer_encode() which encodes data into the pre-allocated buffer */
asn_enc_rval_t oer_encode_to_buffer(
- struct asn_TYPE_descriptor_s *type_descriptor,
+ const struct asn_TYPE_descriptor_s *type_descriptor,
const asn_oer_constraints_t *constraints,
- void *struct_ptr, /* Structure to be encoded */
- void *buffer, /* Pre-allocated buffer */
- size_t buffer_size /* Initial buffer size (maximum) */
- );
+ const void *struct_ptr, /* Structure to be encoded */
+ void *buffer, /* Pre-allocated buffer */
+ size_t buffer_size /* Initial buffer size (maximum) */
+);
/*
* Type of the generic OER encoder.
*/
typedef asn_enc_rval_t(oer_type_encoder_f)(
- struct asn_TYPE_descriptor_s *type_descriptor,
+ const struct asn_TYPE_descriptor_s *type_descriptor,
const asn_oer_constraints_t *constraints,
- void *struct_ptr, /* Structure to be encoded */
+ const void *struct_ptr, /* Structure to be encoded */
asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */
void *app_key /* Arbitrary callback argument */
- );
+);
/*
* Write out the Open Type (X.696 (08/2015), #30).
@@ -51,9 +51,9 @@
* -1: Fatal error encoding the type.
* >=0: Number of bytes serialized.
*/
-ssize_t oer_open_type_put(struct asn_TYPE_descriptor_s *td,
+ssize_t oer_open_type_put(const struct asn_TYPE_descriptor_s *td,
const asn_oer_constraints_t *constraints,
- void *struct_ptr,
+ const void *struct_ptr,
asn_app_consume_bytes_f *consume_bytes_cb,
void *app_key);