123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /*
- +----------------------------------------------------------------------+
- | Copyright (c) The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.01 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | https://www.php.net/license/3_01.txt |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Author: Rob Richards <rrichards@php.net> |
- +----------------------------------------------------------------------+
- */
- #ifndef PHP_XMLREADER_H
- #define PHP_XMLREADER_H
- extern zend_module_entry xmlreader_module_entry;
- #define phpext_xmlreader_ptr &xmlreader_module_entry
- #include "php_version.h"
- #define PHP_XMLREADER_VERSION PHP_VERSION
- #ifdef ZTS
- #include "TSRM.h"
- #endif
- #include "ext/libxml/php_libxml.h"
- #include <libxml/xmlreader.h>
- /* If xmlreader and dom both are compiled statically,
- no DLL import should be used in xmlreader for dom symbols. */
- #ifdef PHP_WIN32
- # if defined(HAVE_DOM) && !defined(COMPILE_DL_DOM) && !defined(COMPILE_DL_XMLREADER)
- # define DOM_LOCAL_DEFINES 1
- # endif
- #endif
- typedef struct _xmlreader_object {
- xmlTextReaderPtr ptr;
- /* strings must be set in input buffer as copy is required */
- xmlParserInputBufferPtr input;
- void *schema;
- HashTable *prop_handler;
- zend_object std;
- } xmlreader_object;
- static inline xmlreader_object *php_xmlreader_fetch_object(zend_object *obj) {
- return (xmlreader_object *)((char*)(obj) - XtOffsetOf(xmlreader_object, std));
- }
- #define Z_XMLREADER_P(zv) php_xmlreader_fetch_object(Z_OBJ_P((zv)))
- PHP_MINIT_FUNCTION(xmlreader);
- PHP_MSHUTDOWN_FUNCTION(xmlreader);
- PHP_MINFO_FUNCTION(xmlreader);
- #define REGISTER_XMLREADER_CLASS_CONST_LONG(const_name, value) \
- zend_declare_class_constant_long(xmlreader_class_entry, const_name, sizeof(const_name)-1, (zend_long)value);
- #endif /* PHP_XMLREADER_H */
|