Annotation of embedaddon/libxml2/python/libxml_wrap.h, revision 1.1.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>