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);
 
