diff --git a/Include/pyexpat.h b/Include/pyexpat.h
index d4acb9a..50ed49f 100644
--- a/Include/pyexpat.h
+++ b/Include/pyexpat.h
@@ -7,15 +7,17 @@
 
 struct PyExpat_CAPI 
 {
+    char* magic; /* set to PyExpat_CAPI_MAGIC */
     int size; /* set to sizeof(struct PyExpat_CAPI) */
-    int MAJOR_VERSION; /* XXX: use the ExpatVersionInfo instead? */
+    int MAJOR_VERSION;
     int MINOR_VERSION;
     int MICRO_VERSION;
     /* pointers to selected expat functions.  add new functions at
        the end, if needed */
     const XML_LChar * (*ErrorString)(enum XML_Error code);
-    int (*GetCurrentColumnNumber)(XML_Parser parser);
-    int (*GetCurrentLineNumber)(XML_Parser parser);
+    enum XML_Error (*GetErrorCode)(XML_Parser parser);
+    int (*GetErrorColumnNumber)(XML_Parser parser);
+    int (*GetErrorLineNumber)(XML_Parser parser);
     enum XML_Status (*Parse)(
         XML_Parser parser, const char *s, int len, int isFinal);
     XML_Parser (*ParserCreate_MM)(
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index 2da80c8..ca2a850 100644
--- a/Modules/pyexpat.c
+++ b/Modules/pyexpat.c
@@ -2018,12 +2018,14 @@
 
     /* initialize pyexpat dispatch table */
     capi.size = sizeof(capi);
+    capi.magic = PyExpat_CAPI_MAGIC;
     capi.MAJOR_VERSION = XML_MAJOR_VERSION;
     capi.MINOR_VERSION = XML_MINOR_VERSION;
     capi.MICRO_VERSION = XML_MICRO_VERSION;
     capi.ErrorString = XML_ErrorString;
-    capi.GetCurrentColumnNumber = XML_GetCurrentColumnNumber;
-    capi.GetCurrentLineNumber = XML_GetCurrentLineNumber;
+    capi.GetErrorCode = XML_GetErrorCode;
+    capi.GetErrorColumnNumber = XML_GetErrorColumnNumber;
+    capi.GetErrorLineNumber = XML_GetErrorLineNumber;
     capi.Parse = XML_Parse;
     capi.ParserCreate_MM = XML_ParserCreate_MM;
     capi.ParserFree = XML_ParserFree;
@@ -2037,9 +2039,7 @@
     capi.SetUserData = XML_SetUserData;
     
     /* export as cobject */
-    capi_object = PyCObject_FromVoidPtrAndDesc(
-        &capi, PyExpat_CAPI_MAGIC, NULL
-        );
+    capi_object = PyCObject_FromVoidPtr(&capi, NULL);
     if (capi_object)
         PyModule_AddObject(m, "expat_CAPI", capi_object);
 }
