Index: skeletons/NativeEnumerated.c
===================================================================
--- skeletons/NativeEnumerated.c	(revision 1407)
+++ skeletons/NativeEnumerated.c	(working copy)
@@ -22,7 +22,7 @@
 	"ENUMERATED",			/* The ASN.1 type is still ENUMERATED */
 	"ENUMERATED",
 	NativeInteger_free,
-	NativeInteger_print,
+	NativeEnumerated_print,
 	asn_generic_no_constraint,
 	NativeInteger_decode_ber,
 	NativeInteger_encode_der,
@@ -205,3 +205,30 @@
 	_ASN_ENCODED_OK(er);
 }
 
+int
+NativeEnumerated_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
+	asn_app_consume_bytes_f *cb, void *app_key) {
+	asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics;
+	const long *native = (const long *)sptr;
+	char scratch[256];
+	int ret;
+
+	(void)td;	/* Unused argument */
+	(void)ilevel;	/* Unused argument */
+
+	if(native) {
+		const asn_INTEGER_enum_map_t *map = INTEGER_map_value2enum(specs, *native);
+		if (map && map->enum_len && map->enum_name) {
+			ret = snprintf(scratch, sizeof(scratch),
+				"%s", map->enum_name);
+		} else {
+			ret = snprintf(scratch, sizeof(scratch),
+				(specs && specs->field_unsigned)
+				? "%lu" : "%ld", *native);
+		}
+		assert(ret > 0 && (size_t)ret < sizeof(scratch));
+		return (cb(scratch, ret, app_key) < 0) ? -1 : 0;
+	} else {
+		return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
+	}
+}
Index: skeletons/NativeEnumerated.h
===================================================================
--- skeletons/NativeEnumerated.h	(revision 1407)
+++ skeletons/NativeEnumerated.h	(working copy)
@@ -24,6 +24,7 @@
 xer_type_encoder_f NativeEnumerated_encode_xer;
 per_type_decoder_f NativeEnumerated_decode_uper;
 per_type_encoder_f NativeEnumerated_encode_uper;
+asn_struct_print_f NativeEnumerated_print;
 
 #ifdef __cplusplus
 }
