Chris@87: /* Stuff to export relevant 'expat' entry points from pyexpat to other Chris@87: * parser modules, such as cElementTree. */ Chris@87: Chris@87: /* note: you must import expat.h before importing this module! */ Chris@87: Chris@87: #define PyExpat_CAPI_MAGIC "pyexpat.expat_CAPI 1.0" Chris@87: #define PyExpat_CAPSULE_NAME "pyexpat.expat_CAPI" Chris@87: Chris@87: struct PyExpat_CAPI Chris@87: { Chris@87: char* magic; /* set to PyExpat_CAPI_MAGIC */ Chris@87: int size; /* set to sizeof(struct PyExpat_CAPI) */ Chris@87: int MAJOR_VERSION; Chris@87: int MINOR_VERSION; Chris@87: int MICRO_VERSION; Chris@87: /* pointers to selected expat functions. add new functions at Chris@87: the end, if needed */ Chris@87: const XML_LChar * (*ErrorString)(enum XML_Error code); Chris@87: enum XML_Error (*GetErrorCode)(XML_Parser parser); Chris@87: XML_Size (*GetErrorColumnNumber)(XML_Parser parser); Chris@87: XML_Size (*GetErrorLineNumber)(XML_Parser parser); Chris@87: enum XML_Status (*Parse)( Chris@87: XML_Parser parser, const char *s, int len, int isFinal); Chris@87: XML_Parser (*ParserCreate_MM)( Chris@87: const XML_Char *encoding, const XML_Memory_Handling_Suite *memsuite, Chris@87: const XML_Char *namespaceSeparator); Chris@87: void (*ParserFree)(XML_Parser parser); Chris@87: void (*SetCharacterDataHandler)( Chris@87: XML_Parser parser, XML_CharacterDataHandler handler); Chris@87: void (*SetCommentHandler)( Chris@87: XML_Parser parser, XML_CommentHandler handler); Chris@87: void (*SetDefaultHandlerExpand)( Chris@87: XML_Parser parser, XML_DefaultHandler handler); Chris@87: void (*SetElementHandler)( Chris@87: XML_Parser parser, XML_StartElementHandler start, Chris@87: XML_EndElementHandler end); Chris@87: void (*SetNamespaceDeclHandler)( Chris@87: XML_Parser parser, XML_StartNamespaceDeclHandler start, Chris@87: XML_EndNamespaceDeclHandler end); Chris@87: void (*SetProcessingInstructionHandler)( Chris@87: XML_Parser parser, XML_ProcessingInstructionHandler handler); Chris@87: void (*SetUnknownEncodingHandler)( Chris@87: XML_Parser parser, XML_UnknownEncodingHandler handler, Chris@87: void *encodingHandlerData); Chris@87: void (*SetUserData)(XML_Parser parser, void *userData); Chris@87: /* always add new stuff to the end! */ Chris@87: }; Chris@87: