Annotation of embedaddon/libxml2/python/libxml_wrap.h, revision 1.1
1.1 ! misho 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: #include <libxml/xmlunicode.h>
! 18: #include <libxml/xmlregexp.h>
! 19: #include <libxml/xmlautomata.h>
! 20: #include <libxml/xmlreader.h>
! 21: #ifdef LIBXML_SCHEMAS_ENABLED
! 22: #include <libxml/relaxng.h>
! 23: #include <libxml/xmlschemas.h>
! 24: #endif
! 25:
! 26: /**
! 27: * ATTRIBUTE_UNUSED:
! 28: *
! 29: * Macro used to signal to GCC unused function parameters
! 30: * Repeated here since the definition is not available when
! 31: * compiled outside the libxml2 build tree.
! 32: */
! 33: #ifdef __GNUC__
! 34: #ifdef ATTRIBUTE_UNUSED
! 35: #undef ATTRIBUTE_UNUSED
! 36: #endif
! 37: #ifndef ATTRIBUTE_UNUSED
! 38: #define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
! 39: #endif /* ATTRIBUTE_UNUSED */
! 40: #else
! 41: #define ATTRIBUTE_UNUSED
! 42: #endif
! 43:
! 44: #define PyxmlNode_Get(v) (((v) == Py_None) ? NULL : \
! 45: (((PyxmlNode_Object *)(v))->obj))
! 46:
! 47: typedef struct {
! 48: PyObject_HEAD
! 49: xmlNodePtr obj;
! 50: } PyxmlNode_Object;
! 51:
! 52: #define PyxmlXPathContext_Get(v) (((v) == Py_None) ? NULL : \
! 53: (((PyxmlXPathContext_Object *)(v))->obj))
! 54:
! 55: typedef struct {
! 56: PyObject_HEAD
! 57: xmlXPathContextPtr obj;
! 58: } PyxmlXPathContext_Object;
! 59:
! 60: #define PyxmlXPathParserContext_Get(v) (((v) == Py_None) ? NULL : \
! 61: (((PyxmlXPathParserContext_Object *)(v))->obj))
! 62:
! 63: typedef struct {
! 64: PyObject_HEAD
! 65: xmlXPathParserContextPtr obj;
! 66: } PyxmlXPathParserContext_Object;
! 67:
! 68: #define PyparserCtxt_Get(v) (((v) == Py_None) ? NULL : \
! 69: (((PyparserCtxt_Object *)(v))->obj))
! 70:
! 71: typedef struct {
! 72: PyObject_HEAD
! 73: xmlParserCtxtPtr obj;
! 74: } PyparserCtxt_Object;
! 75:
! 76: #define PyValidCtxt_Get(v) (((v) == Py_None) ? NULL : \
! 77: (((PyValidCtxt_Object *)(v))->obj))
! 78:
! 79: typedef struct {
! 80: PyObject_HEAD
! 81: xmlValidCtxtPtr obj;
! 82: } PyValidCtxt_Object;
! 83:
! 84: #define Pycatalog_Get(v) (((v) == Py_None) ? NULL : \
! 85: (((Pycatalog_Object *)(v))->obj))
! 86:
! 87: typedef struct {
! 88: PyObject_HEAD
! 89: xmlCatalogPtr obj;
! 90: } Pycatalog_Object;
! 91:
! 92: #ifdef LIBXML_REGEXP_ENABLED
! 93: #define PyxmlReg_Get(v) (((v) == Py_None) ? NULL : \
! 94: (((PyxmlReg_Object *)(v))->obj))
! 95:
! 96: typedef struct {
! 97: PyObject_HEAD
! 98: xmlRegexpPtr obj;
! 99: } PyxmlReg_Object;
! 100: #endif /* LIBXML_REGEXP_ENABLED */
! 101:
! 102: #ifdef LIBXML_READER_ENABLED
! 103: #define PyxmlTextReader_Get(v) (((v) == Py_None) ? NULL : \
! 104: (((PyxmlTextReader_Object *)(v))->obj))
! 105:
! 106: typedef struct {
! 107: PyObject_HEAD
! 108: xmlTextReaderPtr obj;
! 109: } PyxmlTextReader_Object;
! 110:
! 111: #define PyxmlTextReaderLocator_Get(v) (((v) == Py_None) ? NULL : \
! 112: (((PyxmlTextReaderLocator_Object *)(v))->obj))
! 113:
! 114: typedef struct {
! 115: PyObject_HEAD
! 116: xmlTextReaderLocatorPtr obj;
! 117: } PyxmlTextReaderLocator_Object;
! 118: #endif
! 119:
! 120: #define PyURI_Get(v) (((v) == Py_None) ? NULL : \
! 121: (((PyURI_Object *)(v))->obj))
! 122:
! 123: typedef struct {
! 124: PyObject_HEAD
! 125: xmlErrorPtr obj;
! 126: } PyError_Object;
! 127:
! 128: #define PyError_Get(v) (((v) == Py_None) ? NULL : \
! 129: (((PyError_Object *)(v))->obj))
! 130:
! 131: typedef struct {
! 132: PyObject_HEAD
! 133: xmlOutputBufferPtr obj;
! 134: } PyoutputBuffer_Object;
! 135:
! 136: #define PyoutputBuffer_Get(v) (((v) == Py_None) ? NULL : \
! 137: (((PyoutputBuffer_Object *)(v))->obj))
! 138:
! 139: typedef struct {
! 140: PyObject_HEAD
! 141: xmlParserInputBufferPtr obj;
! 142: } PyinputBuffer_Object;
! 143:
! 144: #define PyinputBuffer_Get(v) (((v) == Py_None) ? NULL : \
! 145: (((PyinputBuffer_Object *)(v))->obj))
! 146:
! 147: typedef struct {
! 148: PyObject_HEAD
! 149: xmlURIPtr obj;
! 150: } PyURI_Object;
! 151:
! 152: /* FILE * have their own internal representation */
! 153: #define PyFile_Get(v) (((v) == Py_None) ? NULL : \
! 154: (PyFile_Check(v) ? (PyFile_AsFile(v)) : stdout))
! 155:
! 156: #ifdef LIBXML_SCHEMAS_ENABLED
! 157: typedef struct {
! 158: PyObject_HEAD
! 159: xmlRelaxNGPtr obj;
! 160: } PyrelaxNgSchema_Object;
! 161:
! 162: #define PyrelaxNgSchema_Get(v) (((v) == Py_None) ? NULL : \
! 163: (((PyrelaxNgSchema_Object *)(v))->obj))
! 164:
! 165: typedef struct {
! 166: PyObject_HEAD
! 167: xmlRelaxNGParserCtxtPtr obj;
! 168: } PyrelaxNgParserCtxt_Object;
! 169:
! 170: #define PyrelaxNgParserCtxt_Get(v) (((v) == Py_None) ? NULL : \
! 171: (((PyrelaxNgParserCtxt_Object *)(v))->obj))
! 172:
! 173: typedef struct {
! 174: PyObject_HEAD
! 175: xmlRelaxNGValidCtxtPtr obj;
! 176: } PyrelaxNgValidCtxt_Object;
! 177:
! 178: #define PyrelaxNgValidCtxt_Get(v) (((v) == Py_None) ? NULL : \
! 179: (((PyrelaxNgValidCtxt_Object *)(v))->obj))
! 180:
! 181: typedef struct {
! 182: PyObject_HEAD
! 183: xmlSchemaPtr obj;
! 184: } PySchema_Object;
! 185:
! 186: #define PySchema_Get(v) (((v) == Py_None) ? NULL : \
! 187: (((PySchema_Object *)(v))->obj))
! 188:
! 189: typedef struct {
! 190: PyObject_HEAD
! 191: xmlSchemaParserCtxtPtr obj;
! 192: } PySchemaParserCtxt_Object;
! 193:
! 194: #define PySchemaParserCtxt_Get(v) (((v) == Py_None) ? NULL : \
! 195: (((PySchemaParserCtxt_Object *)(v))->obj))
! 196:
! 197: typedef struct {
! 198: PyObject_HEAD
! 199: xmlSchemaValidCtxtPtr obj;
! 200: } PySchemaValidCtxt_Object;
! 201:
! 202: #define PySchemaValidCtxt_Get(v) (((v) == Py_None) ? NULL : \
! 203: (((PySchemaValidCtxt_Object *)(v))->obj))
! 204:
! 205: #endif /* LIBXML_SCHEMAS_ENABLED */
! 206:
! 207: PyObject * libxml_intWrap(int val);
! 208: PyObject * libxml_longWrap(long val);
! 209: PyObject * libxml_xmlCharPtrWrap(xmlChar *str);
! 210: PyObject * libxml_constxmlCharPtrWrap(const xmlChar *str);
! 211: PyObject * libxml_charPtrWrap(char *str);
! 212: PyObject * libxml_constcharPtrWrap(const char *str);
! 213: PyObject * libxml_charPtrConstWrap(const char *str);
! 214: PyObject * libxml_xmlCharPtrConstWrap(const xmlChar *str);
! 215: PyObject * libxml_xmlDocPtrWrap(xmlDocPtr doc);
! 216: PyObject * libxml_xmlNodePtrWrap(xmlNodePtr node);
! 217: PyObject * libxml_xmlAttrPtrWrap(xmlAttrPtr attr);
! 218: PyObject * libxml_xmlNsPtrWrap(xmlNsPtr ns);
! 219: PyObject * libxml_xmlAttributePtrWrap(xmlAttributePtr ns);
! 220: PyObject * libxml_xmlElementPtrWrap(xmlElementPtr ns);
! 221: PyObject * libxml_doubleWrap(double val);
! 222: PyObject * libxml_xmlXPathContextPtrWrap(xmlXPathContextPtr ctxt);
! 223: PyObject * libxml_xmlParserCtxtPtrWrap(xmlParserCtxtPtr ctxt);
! 224: PyObject * libxml_xmlXPathParserContextPtrWrap(xmlXPathParserContextPtr ctxt);
! 225: PyObject * libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj);
! 226: PyObject * libxml_xmlValidCtxtPtrWrap(xmlValidCtxtPtr valid);
! 227: PyObject * libxml_xmlCatalogPtrWrap(xmlCatalogPtr obj);
! 228: PyObject * libxml_xmlURIPtrWrap(xmlURIPtr uri);
! 229: PyObject * libxml_xmlOutputBufferPtrWrap(xmlOutputBufferPtr buffer);
! 230: PyObject * libxml_xmlParserInputBufferPtrWrap(xmlParserInputBufferPtr buffer);
! 231: #ifdef LIBXML_REGEXP_ENABLED
! 232: PyObject * libxml_xmlRegexpPtrWrap(xmlRegexpPtr regexp);
! 233: #endif /* LIBXML_REGEXP_ENABLED */
! 234: #ifdef LIBXML_READER_ENABLED
! 235: PyObject * libxml_xmlTextReaderPtrWrap(xmlTextReaderPtr reader);
! 236: PyObject * libxml_xmlTextReaderLocatorPtrWrap(xmlTextReaderLocatorPtr locator);
! 237: #endif
! 238:
! 239: xmlXPathObjectPtr libxml_xmlXPathObjectPtrConvert(PyObject * obj);
! 240: #ifdef LIBXML_SCHEMAS_ENABLED
! 241: PyObject * libxml_xmlRelaxNGPtrWrap(xmlRelaxNGPtr ctxt);
! 242: PyObject * libxml_xmlRelaxNGParserCtxtPtrWrap(xmlRelaxNGParserCtxtPtr ctxt);
! 243: PyObject * libxml_xmlRelaxNGValidCtxtPtrWrap(xmlRelaxNGValidCtxtPtr valid);
! 244: PyObject * libxml_xmlSchemaPtrWrap(xmlSchemaPtr ctxt);
! 245: PyObject * libxml_xmlSchemaParserCtxtPtrWrap(xmlSchemaParserCtxtPtr ctxt);
! 246: PyObject * libxml_xmlSchemaValidCtxtPtrWrap(xmlSchemaValidCtxtPtr valid);
! 247: #endif /* LIBXML_SCHEMAS_ENABLED */
! 248: PyObject * libxml_xmlErrorPtrWrap(xmlErrorPtr error);
! 249: PyObject * libxml_xmlSchemaSetValidErrors(PyObject * self, PyObject * args);
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>