--- src/extend.c	Sat Oct 18 17:45:16 2003
+++ src/extend.c.new	Sat Oct 18 17:41:29 2003
@@ -279,7 +279,7 @@
  *
  * Find the magic token for an encoding, by name
  */
-const Parrot_Encoding Parrot_find_encoding(Parrot_INTERP interpreter, char *encoding_name) {
+Parrot_Const_Encoding Parrot_find_encoding(Parrot_INTERP interpreter, char *encoding_name) {
     return Parrot_encoding_lookup(encoding_name);
 }
 
@@ -297,7 +297,7 @@
  * Find the magic token for a chartype, by name
  *
  */
-const Parrot_CharType Parrot_find_chartype(Parrot_INTERP interpreter, char *chartype) {
+Parrot_Const_CharType Parrot_find_chartype(Parrot_INTERP interpreter, char *chartype) {
     return Parrot_chartype_lookup(chartype);
 }
 /*
--- include/parrot/encoding.h	Sat Oct 18 17:44:43 2003
+++ include/parrot/encoding.h.new	Sat Oct 18 17:29:34 2003
@@ -35,9 +35,10 @@
     const void *(*skip_backward) (const void *ptr, Parrot_UInt n);
 };
 
-#define Parrot_Encoding struct parrot_encoding_t *
+typedef struct parrot_encoding_t* Parrot_Encoding;
+typedef const struct parrot_encoding_t* Parrot_Const_Encoding;
 
-const Parrot_Encoding Parrot_encoding_lookup(const char *name);
+Parrot_Const_Encoding Parrot_encoding_lookup(const char *name);
 
 #ifdef PARROT_IN_CORE
 
--- include/parrot/chartype.h	Sat Oct 18 17:44:43 2003
+++ include/parrot/chartype.h.new	Sat Oct 18 17:01:36 2003
@@ -69,7 +69,8 @@
     const struct chartype_transcoder_entry_t *transcoders;
 };
 
-#define Parrot_CharType struct parrot_chartype_t *
+typedef struct parrot_chartype_t* Parrot_CharType;
+typedef const struct parrot_chartype_t* Parrot_Const_CharType;
 
 #ifdef PARROT_IN_CORE
 
@@ -90,7 +91,7 @@
 
 typedef Parrot_CharType_Transcoder CHARTYPE_TRANSCODER;
 
-const Parrot_CharType Parrot_chartype_lookup(const char *name);
+Parrot_Const_CharType Parrot_chartype_lookup(const char *name);
 
 #define chartype_lookup Parrot_chartype_lookup
 
--- include/parrot/extend.h	Sat Oct 18 17:44:43 2003
+++ include/parrot/extend.h.new	Sat Oct 18 17:27:44 2003
@@ -35,9 +35,11 @@
 typedef void * Parrot_INTERP;
 typedef void * Parrot_STRING;
 typedef void * Parrot_PMC;
-typedef void * Parrot_Encoding;
 typedef Parrot_Int Parrot_Language;
+typedef void * Parrot_Encoding;
 typedef void * Parrot_CharType;
+typedef const void * Parrot_Const_Encoding;
+typedef const void * Parrot_Const_CharType;
 
 #endif
 
@@ -73,9 +75,9 @@
 
 Parrot_STRING Parrot_new_string(Parrot_INTERP, char *, int, Parrot_Encoding, Parrot_CharType, Parrot_Language, Parrot_Int);
 
-const Parrot_CharType Parrot_find_chartype(Parrot_INTERP, char*);
+Parrot_Const_CharType Parrot_find_chartype(Parrot_INTERP, char*);
 Parrot_Language Parrot_find_language(Parrot_INTERP, char*);
-const Parrot_Encoding Parrot_find_encoding(Parrot_INTERP, char*);
+Parrot_Const_Encoding Parrot_find_encoding(Parrot_INTERP, char*);
 
 #endif
 
