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