1#include <Python.h> 2#include <libxml/tree.h> 3#include <libxml/parser.h> 4#include <libxml/parserInternals.h> 5#include <libxml/catalog.h> 6#include <libxml/threads.h> 7#include <libxml/nanoftp.h> 8#include <libxml/nanohttp.h> 9#include <libxml/uri.h> 10#include <libxml/xpath.h> 11#include <libxml/xpathInternals.h> 12#include <libxml/debugXML.h> 13#include <libxml/HTMLparser.h> 14#include <libxml/HTMLtree.h> 15#include <libxml/xinclude.h> 16#include <libxml/xpointer.h> 17 18#define PyxmlNode_Get(v) (((v) == Py_None) ? NULL : \ 19 (((PyxmlNode_Object *)(v))->obj)) 20 21typedef struct { 22 PyObject_HEAD 23 xmlNodePtr obj; 24} PyxmlNode_Object; 25 26#define PyxmlXPathContext_Get(v) (((v) == Py_None) ? NULL : \ 27 (((PyxmlXPathContext_Object *)(v))->obj)) 28 29typedef struct { 30 PyObject_HEAD 31 xmlXPathContextPtr obj; 32} PyxmlXPathContext_Object; 33 34#define PyxmlXPathParserContext_Get(v) (((v) == Py_None) ? NULL : \ 35 (((PyxmlXPathParserContext_Object *)(v))->obj)) 36 37typedef struct { 38 PyObject_HEAD 39 xmlXPathParserContextPtr obj; 40} PyxmlXPathParserContext_Object; 41 42#define PyparserCtxt_Get(v) (((v) == Py_None) ? NULL : \ 43 (((PyparserCtxt_Object *)(v))->obj)) 44 45typedef struct { 46 PyObject_HEAD 47 xmlParserCtxtPtr obj; 48} PyparserCtxt_Object; 49 50#define Pycatalog_Get(v) (((v) == Py_None) ? NULL : \ 51 (((Pycatalog_Object *)(v))->obj)) 52 53typedef struct { 54 PyObject_HEAD 55 xmlCatalogPtr obj; 56} Pycatalog_Object; 57 58#define PyFile_Get(v) (((v) == Py_None) ? NULL : \ 59 (PyFile_Check(v) ? (PyFile_AsFile(v)) : stdout)) 60 61PyObject * libxml_intWrap(int val); 62PyObject * libxml_longWrap(long val); 63PyObject * libxml_xmlCharPtrWrap(xmlChar *str); 64PyObject * libxml_constxmlCharPtrWrap(const xmlChar *str); 65PyObject * libxml_charPtrWrap(char *str); 66PyObject * libxml_constcharPtrWrap(const char *str); 67PyObject * libxml_charPtrConstWrap(const char *str); 68PyObject * libxml_xmlCharPtrConstWrap(const xmlChar *str); 69PyObject * libxml_xmlDocPtrWrap(xmlDocPtr doc); 70PyObject * libxml_xmlNodePtrWrap(xmlNodePtr node); 71PyObject * libxml_xmlAttrPtrWrap(xmlAttrPtr attr); 72PyObject * libxml_xmlNsPtrWrap(xmlNsPtr ns); 73PyObject * libxml_xmlAttributePtrWrap(xmlAttributePtr ns); 74PyObject * libxml_xmlElementPtrWrap(xmlElementPtr ns); 75PyObject * libxml_doubleWrap(double val); 76PyObject * libxml_xmlXPathContextPtrWrap(xmlXPathContextPtr ctxt); 77PyObject * libxml_xmlParserCtxtPtrWrap(xmlParserCtxtPtr ctxt); 78PyObject * libxml_xmlXPathParserContextPtrWrap(xmlXPathParserContextPtr ctxt); 79PyObject * libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj); 80PyObject * libxml_xmlCatalogPtrWrap(xmlCatalogPtr obj); 81PyObject * libxml_xmlURIPtrWrap(xmlURIPtr uri); 82PyObject * libxml_xmlOutputBufferPtrWrap(xmlOutputBufferPtr buffer); 83PyObject * libxml_xmlParserInputBufferPtrWrap(xmlParserInputBufferPtr buffer); 84PyObject * libxml_xmlRegexpPtrWrap(xmlRegexpPtr regexp); 85 86xmlXPathObjectPtr libxml_xmlXPathObjectPtrConvert(PyObject * obj); 87