diff --git a/skeletons/ENUMERATED.c b/skeletons/ENUMERATED.c
index 83a71d07080c2fb71f52cc2f8f258f38e18e2132..3d07c01001f55988fe0c43628f7e6d8c75ace23a 100644
--- a/skeletons/ENUMERATED.c
+++ b/skeletons/ENUMERATED.c
@@ -4,7 +4,7 @@
  */
 #include <asn_internal.h>
 #include <ENUMERATED.h>
-#include <ber_codec_prim.h>
+#include <asn_codecs_prim.h>	/* Encoder and decoder of a primitive type */
 
 /*
  * ENUMERATED basic type description.
diff --git a/skeletons/OBJECT_IDENTIFIER.h b/skeletons/OBJECT_IDENTIFIER.h
index 8945a32da84bfeddd972e919a81e14b706ebeccd..668bd495fc0940ece9953d7ad953b296fcf09dae 100644
--- a/skeletons/OBJECT_IDENTIFIER.h
+++ b/skeletons/OBJECT_IDENTIFIER.h
@@ -6,7 +6,7 @@
 #define	_OBJECT_IDENTIFIER_H_
 
 #include <asn_application.h>
-#include <ber_codec_prim.h>
+#include <asn_codecs_prim.h>
 
 typedef ASN__PRIMITIVE_TYPE_t OBJECT_IDENTIFIER_t;
 
diff --git a/skeletons/REAL.h b/skeletons/REAL.h
index bd59799405a5c43ed105260f68c971ef30160ce1..86ae40f0225113d366c32e3e94056929e4c5a8e2 100644
--- a/skeletons/REAL.h
+++ b/skeletons/REAL.h
@@ -6,7 +6,7 @@
 #define	ASN_TYPE_REAL_H
 
 #include <asn_application.h>
-#include <ber_codec_prim.h>
+#include <asn_codecs_prim.h>
 
 typedef ASN__PRIMITIVE_TYPE_t REAL_t;
 
diff --git a/skeletons/RELATIVE-OID.c b/skeletons/RELATIVE-OID.c
index eba1eaa409ca8f5e66137c43d4e5f0d96b47b983..13fa0e2be18abe705aef2a5fa340d7fe552ce83c 100644
--- a/skeletons/RELATIVE-OID.c
+++ b/skeletons/RELATIVE-OID.c
@@ -4,7 +4,7 @@
  */
 #include <asn_internal.h>
 #include <RELATIVE-OID.h>
-#include <ber_codec_prim.h>	/* Encoder and decoder of a primitive */
+#include <asn_codecs_prim.h>	/* Encoder and decoder of a primitive type */
 #include <limits.h>	/* for CHAR_BIT */
 #include <assert.h>
 #include <errno.h>
diff --git a/skeletons/xer_decoder.c b/skeletons/xer_decoder.c
index 96f72e9cc6c277a63444ea3e48ca6fb8c31bd719..9cbccf816c17f82f6257139d6efe7caf84c8eaca 100644
--- a/skeletons/xer_decoder.c
+++ b/skeletons/xer_decoder.c
@@ -161,7 +161,7 @@ xer_check_tag(const void *buf_ptr, int size, const char *need_tag) {
 
 #define	XER_GOT_BODY(chunk_buf, chunk_size)	do {		\
 		ssize_t converted_size = body_receiver		\
-			(struct_ptr, chunk_buf, chunk_size,	\
+			(struct_key, chunk_buf, chunk_size,	\
 				(size_t)chunk_size < size);	\
 		if(converted_size == -1) RETURN(RC_FAIL);	\
 		chunk_size = converted_size;			\
@@ -177,13 +177,13 @@ xer_check_tag(const void *buf_ptr, int size, const char *need_tag) {
 asn_dec_rval_t
 xer_decode_general(asn_codec_ctx_t *opt_codec_ctx,
 	asn_struct_ctx_t *ctx,	/* Type decoder context */
-	void *struct_ptr,	/* The structure must be already allocated */
+	void *struct_key,
 	const char *xml_tag,	/* Expected XML tag */
 	void *buf_ptr, size_t size,
 	int (*opt_unexpected_tag_decoder)
-		(void *struct_ptr, void *chunk_buf, size_t chunk_size),
+		(void *struct_key, void *chunk_buf, size_t chunk_size),
 	ssize_t (*body_receiver)
-		(void *struct_ptr, void *chunk_buf, size_t chunk_size,
+		(void *struct_key, void *chunk_buf, size_t chunk_size,
 			int have_more)
 	) {
 
@@ -272,7 +272,7 @@ xer_decode_general(asn_codec_ctx_t *opt_codec_ctx,
 				 * Certain tags in the body may be expected.
 				 */
 				if(opt_unexpected_tag_decoder
-				&& opt_unexpected_tag_decoder(struct_ptr,
+				&& opt_unexpected_tag_decoder(struct_key,
 						buf_ptr, ch_size) == 0) {
 					/* Tag's processed fine */
 					ADVANCE(ch_size);
diff --git a/skeletons/xer_decoder.h b/skeletons/xer_decoder.h
index e258b5b86adee5ab1c35edd571ae9961933f2ed3..b8aef662a86065f3a81b1349dfb96cf8b7b8acc3 100644
--- a/skeletons/xer_decoder.h
+++ b/skeletons/xer_decoder.h
@@ -41,13 +41,13 @@ typedef asn_dec_rval_t (xer_type_decoder_f)(asn_codec_ctx_t *opt_codec_ctx,
  */
 asn_dec_rval_t xer_decode_general(asn_codec_ctx_t *opt_codec_ctx,
 	asn_struct_ctx_t *ctx,	/* Type decoder context */
-	void *struct_ptr,	/* The structure must be already allocated */
+	void *struct_key,	/* Treated as opaque pointer */
 	const char *xml_tag,	/* Expected XML tag name */
 	void *buf_ptr, size_t size,
 	int (*opt_unexpected_tag_decoder)
-		(void *struct_ptr, void *chunk_buf, size_t chunk_size),
+		(void *struct_key, void *chunk_buf, size_t chunk_size),
 	ssize_t (*body_receiver)
-		(void *struct_ptr, void *chunk_buf, size_t chunk_size,
+		(void *struct_key, void *chunk_buf, size_t chunk_size,
 			int have_more)
 	);