extern "C" added

diff --git a/skeletons/asn_internal.h b/skeletons/asn_internal.h
index 84d692a..0f8c029 100644
--- a/skeletons/asn_internal.h
+++ b/skeletons/asn_internal.h
@@ -8,15 +8,19 @@
 #ifndef	_ASN_INTERNAL_H_
 #define	_ASN_INTERNAL_H_
 
-#define	ASN1C_ENVIRONMENT_VERSION	98	/* Compile-time version */
-int get_asn1c_environment_version(void);	/* Run-time version */
-
 #include <asn_application.h>	/* Application-visible API */
 
 #ifndef	__NO_ASSERT_H__		/* Include assert.h only for internal use. */
 #include <assert.h>		/* for assert() macro */
 #endif
 
+#ifdef	__cplusplus
+extern "C" {
+#endif
+
+#define	ASN1C_ENVIRONMENT_VERSION	98	/* Compile-time version */
+int get_asn1c_environment_version(void);	/* Run-time version */
+
 #define	CALLOC(nmemb, size)	calloc(nmemb, size)
 #define	MALLOC(size)		malloc(size)
 #define	REALLOC(oldptr, size)	realloc(oldptr, size)
@@ -76,4 +80,8 @@
 		if(cb("    ", 4, app_key) < 0) return -1;		\
 } while(0)
 
+#ifdef	__cplusplus
+}
+#endif
+
 #endif	/* _ASN_INTERNAL_H_ */