blob: 1e79f4e762f0b8de1b874ea0f87d190e536b9766 [file] [log] [blame]
Fredrik Lundhc3345042005-12-13 19:49:55 +00001/* Stuff to export relevant 'expat' entry points from pyexpat to other
2 * parser modules, such as cElementTree. */
3
4/* note: you must import expat.h before importing this module! */
5
Fredrik Lundhd7a42882005-12-13 20:43:04 +00006#define PyExpat_CAPI_MAGIC "pyexpat.expat_CAPI 1.0"
Fredrik Lundhc3345042005-12-13 19:49:55 +00007
Fredrik Lundhd7a42882005-12-13 20:43:04 +00008struct PyExpat_CAPI
Fredrik Lundhc3345042005-12-13 19:49:55 +00009{
Fredrik Lundhcc117db2005-12-13 21:55:36 +000010 char* magic; /* set to PyExpat_CAPI_MAGIC */
Fredrik Lundhd7a42882005-12-13 20:43:04 +000011 int size; /* set to sizeof(struct PyExpat_CAPI) */
Fredrik Lundhcc117db2005-12-13 21:55:36 +000012 int MAJOR_VERSION;
Fredrik Lundhc3345042005-12-13 19:49:55 +000013 int MINOR_VERSION;
14 int MICRO_VERSION;
15 /* pointers to selected expat functions. add new functions at
16 the end, if needed */
17 const XML_LChar * (*ErrorString)(enum XML_Error code);
Fredrik Lundhcc117db2005-12-13 21:55:36 +000018 enum XML_Error (*GetErrorCode)(XML_Parser parser);
Trent Mickf08d6632006-06-19 23:21:25 +000019 XML_Size (*GetErrorColumnNumber)(XML_Parser parser);
20 XML_Size (*GetErrorLineNumber)(XML_Parser parser);
Fredrik Lundhc3345042005-12-13 19:49:55 +000021 enum XML_Status (*Parse)(
22 XML_Parser parser, const char *s, int len, int isFinal);
23 XML_Parser (*ParserCreate_MM)(
24 const XML_Char *encoding, const XML_Memory_Handling_Suite *memsuite,
25 const XML_Char *namespaceSeparator);
26 void (*ParserFree)(XML_Parser parser);
27 void (*SetCharacterDataHandler)(
28 XML_Parser parser, XML_CharacterDataHandler handler);
29 void (*SetCommentHandler)(
30 XML_Parser parser, XML_CommentHandler handler);
31 void (*SetDefaultHandlerExpand)(
32 XML_Parser parser, XML_DefaultHandler handler);
33 void (*SetElementHandler)(
34 XML_Parser parser, XML_StartElementHandler start,
35 XML_EndElementHandler end);
36 void (*SetNamespaceDeclHandler)(
37 XML_Parser parser, XML_StartNamespaceDeclHandler start,
38 XML_EndNamespaceDeclHandler end);
39 void (*SetProcessingInstructionHandler)(
40 XML_Parser parser, XML_ProcessingInstructionHandler handler);
41 void (*SetUnknownEncodingHandler)(
42 XML_Parser parser, XML_UnknownEncodingHandler handler,
43 void *encodingHandlerData);
44 void (*SetUserData)(XML_Parser parser, void *userData);
45 /* always add new stuff to the end! */
46};
47