Grandly renamed.

Note that since I have no idea how to test this, I didn't write a test
case.  It does seem to at least compile on my system though.
diff --git a/Modules/rgbimgmodule.c b/Modules/rgbimgmodule.c
index ad45c16..a997ba4 100644
--- a/Modules/rgbimgmodule.c
+++ b/Modules/rgbimgmodule.c
@@ -14,8 +14,8 @@
  *	Changed to incorporate into Python.
  *				Sjoerd Mullender - 1993
  */
-#include "allobjects.h"
-#include "modsupport.h"
+#include "Python.h"
+
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
@@ -83,12 +83,12 @@
 
 #define CHANOFFSET(z)	(3-(z))	/* this is byte order dependent */
 
-static void expandrow PROTO((unsigned char *, unsigned char *, int));
-static void setalpha PROTO((unsigned char *, int));
-static void copybw PROTO((long *, int));
-static void interleaverow PROTO((unsigned char *, unsigned char *, int, int));
-static int compressrow PROTO((unsigned char *, unsigned char *, int, int));
-static void lumrow PROTO((unsigned char *, unsigned char *, int));
+static void expandrow Py_PROTO((unsigned char *, unsigned char *, int));
+static void setalpha Py_PROTO((unsigned char *, int));
+static void copybw Py_PROTO((long *, int));
+static void interleaverow Py_PROTO((unsigned char*, unsigned char*, int, int));
+static int compressrow Py_PROTO((unsigned char *, unsigned char *, int, int));
+static void lumrow Py_PROTO((unsigned char *, unsigned char *, int));
 
 #ifdef ADD_TAGS
 #define TAGLEN	(5)
@@ -96,7 +96,7 @@
 #define TAGLEN	(0)
 #endif
 
-static object *ImgfileError;
+static PyObject *ImgfileError;
 
 static int reverse_order;
 
@@ -229,29 +229,29 @@
  *		return the xsize and ysize of an iris image file.
  *
  */
-static object *
+static PyObject *
 sizeofimage(self, args)
-    object *self, *args;
+    PyObject *self, *args;
 {
     char *name;
     IMAGE image;
     FILE *inf;
 
-    if (!getargs(args, "s", &name))
+    if (!PyArg_Parse(args, "s", &name))
 	return NULL;
 
     inf = fopen(name,"r");
     if(!inf) {
-	err_setstr(ImgfileError, "can't open image file");
+	PyErr_SetString(ImgfileError, "can't open image file");
 	return NULL;
     }
     readheader(inf,&image);
     fclose(inf);
     if(image.imagic != IMAGIC) {
-	err_setstr(ImgfileError, "bad magic number in image file");
+	PyErr_SetString(ImgfileError, "bad magic number in image file");
 	return NULL;
     }
-    return mkvalue("(ii)", image.xsize, image.ysize);
+    return Py_BuildValue("(ii)", image.xsize, image.ysize);
 }
 
 /*
@@ -260,9 +260,9 @@
  *	pointer to an array of longs.
  *
  */
-static object *
+static PyObject *
 longimagedata(self, args)
-    object *self, *args;
+    PyObject *self, *args;
 {
     char *name;
     unsigned char *base, *lptr;
@@ -274,26 +274,26 @@
     int xsize, ysize, zsize;
     int bpp, rle, cur, badorder;
     int rlebuflen;
-    object *rv;
+    PyObject *rv;
 
-    if (!getargs(args, "s", &name))
+    if (!PyArg_Parse(args, "s", &name))
 	return NULL;
 
     inf = fopen(name,"r");
     if(!inf) {
-	err_setstr(ImgfileError,"can't open image file");
+	PyErr_SetString(ImgfileError,"can't open image file");
 	return NULL;
     }
     readheader(inf,&image);
     if(image.imagic != IMAGIC) {
-	err_setstr(ImgfileError,"bad magic number in image file");
+	PyErr_SetString(ImgfileError,"bad magic number in image file");
 	fclose(inf);
 	return NULL;
     }
     rle = ISRLE(image.type);
     bpp = BPP(image.type);
     if(bpp != 1 ) {
-	err_setstr(ImgfileError,"image must have 1 byte per pix chan");
+	PyErr_SetString(ImgfileError,"image must have 1 byte per pix chan");
 	fclose(inf);
 	return NULL;
     }
@@ -327,8 +327,8 @@
 
 	fseek(inf,512+2*tablen,SEEK_SET);
 	cur = 512+2*tablen;
-	rv = newsizedstringobject((char *) 0,
-				  (xsize*ysize+TAGLEN)*sizeof(long));
+	rv = PyString_FromStringAndSize((char *) 0,
+					(xsize*ysize+TAGLEN)*sizeof(long));
 	if (rv == NULL) {
 	    fclose(inf);
 	    free(lengthtab);
@@ -336,7 +336,7 @@
 	    free(rledat);
 	    return NULL;
 	}
-	base = (unsigned char *) getstringvalue(rv);
+	base = (unsigned char *) PyString_AsString(rv);
 #ifdef ADD_TAGS
 	addlongimgtag(base,xsize,ysize);
 #endif
@@ -351,9 +351,10 @@
 			cur = starttab[y+z*ysize];
 		    }
 		    if(lengthtab[y+z*ysize]>rlebuflen) {
-			err_setstr(ImgfileError,"rlebuf is too small - bad poop");
+			PyErr_SetString(ImgfileError,
+					"rlebuf is too small - bad poop");
 			fclose(inf);
-			DECREF(rv);
+			Py_DECREF(rv);
 			free(rledat);
 			free(starttab);
 			free(lengthtab);
@@ -398,13 +399,13 @@
 	free(rledat);
 	return rv;
     } else {
-	rv = newsizedstringobject((char *) 0,
-				  (xsize*ysize+TAGLEN)*sizeof(long));
+	rv = PyString_FromStringAndSize((char *) 0,
+					(xsize*ysize+TAGLEN)*sizeof(long));
 	if (rv == NULL) {
 	    fclose(inf);
 	    return NULL;
 	}
-	base = (unsigned char *) getstringvalue(rv);
+	base = (unsigned char *) PyString_AsString(rv);
 #ifdef ADD_TAGS
 	addlongimgtag(base,xsize,ysize);
 #endif
@@ -551,9 +552,9 @@
  *	RGBA image file is saved.
  *
  */
-static object *
+static PyObject *
 longstoimage(self, args)
-    object *self, *args;
+    PyObject *self, *args;
 {
     unsigned char *lptr;
     char *name;
@@ -566,13 +567,14 @@
     unsigned char *lumbuf;
     int rlebuflen, goodwrite;
 
-    if (!getargs(args, "(s#iiis)", &lptr, &len, &xsize, &ysize, &zsize, &name))
+    if (!PyArg_Parse(args, "(s#iiis)", &lptr, &len, &xsize, &ysize, &zsize,
+		     &name))
 	return NULL;
 
     goodwrite = 1;
     outf = fopen(name,"w");
     if(!outf) {
-	err_setstr(ImgfileError,"can't open output file");
+	PyErr_SetString(ImgfileError,"can't open output file");
 	return NULL;
     }
     tablen = ysize*zsize*sizeof(long);
@@ -609,7 +611,7 @@
 		len = compressrow(lptr,rlebuf,CHANOFFSET(z),xsize);
 	    }
 	    if(len>rlebuflen) {
-		err_setstr(ImgfileError,"rlebuf is too small - bad poop");
+		PyErr_SetString(ImgfileError,"rlebuf is too small - bad poop");
 		free(starttab);
 		free(lengthtab);
 		free(rlebuf);
@@ -637,10 +639,10 @@
     free(lumbuf);
     fclose(outf);
     if(goodwrite) {
-	INCREF(None);
-	return None;
+	Py_INCREF(Py_None);
+	return Py_None;
     } else {
-	err_setstr(ImgfileError,"not enough space for image!!");
+	PyErr_SetString(ImgfileError,"not enough space for image!!");
 	return NULL;
     }
 }
@@ -718,21 +720,21 @@
     return optr - (unsigned char *)rlebuf;
 }
 
-static object *
+static PyObject *
 ttob(self, args)
-    object *self;
-    object *args;
+    PyObject *self;
+    PyObject *args;
 {
     int order, oldorder;
 
-    if (!getargs(args, "i", &order))
+    if (!PyArg_Parse(args, "i", &order))
 	return NULL;
     oldorder = reverse_order;
     reverse_order = order;
-    return newintobject(oldorder);
+    return PyInt_FromLong(oldorder);
 }
 
-static struct methodlist rgbimg_methods[] = {
+static PyMethodDef rgbimg_methods[] = {
     {"sizeofimage",	sizeofimage},
     {"longimagedata",	longimagedata},
     {"longstoimage",	longstoimage},
@@ -743,10 +745,10 @@
 void
 initrgbimg()
 {
-    object *m, *d;
-    m = initmodule("rgbimg", rgbimg_methods);
-    d = getmoduledict(m);
-    ImgfileError = newstringobject("rgbimg.error");
-    if (ImgfileError == NULL || dictinsert(d, "error", ImgfileError))
-	fatal("can't define rgbimg.error");
+    PyObject *m, *d;
+    m = Py_InitModule("rgbimg", rgbimg_methods);
+    d = PyModule_GetDict(m);
+    ImgfileError = PyString_FromString("rgbimg.error");
+    if (ImgfileError == NULL || PyDict_SetItemString(d, "error", ImgfileError))
+	Py_FatalError("can't define rgbimg.error");
 }