Annotation of embedaddon/php/ext/simplexml/php_simplexml.h, revision 1.1.1.2

1.1       misho       1: /*
                      2:   +----------------------------------------------------------------------+
                      3:   | PHP Version 5                                                        |
                      4:   +----------------------------------------------------------------------+
                      5:   | Copyright (c) 1997-2012 The PHP Group                                |
                      6:   +----------------------------------------------------------------------+
                      7:   | This source file is subject to version 3.01 of the PHP license,      |
                      8:   | that is bundled with this package in the file LICENSE, and is        |
                      9:   | available through the world-wide-web at the following url:           |
                     10:   | http://www.php.net/license/3_01.txt                                  |
                     11:   | If you did not receive a copy of the PHP license and are unable to   |
                     12:   | obtain it through the world-wide-web, please send a note to          |
                     13:   | license@php.net so we can mail you a copy immediately.               |
                     14:   +----------------------------------------------------------------------+
                     15:   | Author: Sterling Hughes <sterling@php.net>                           |
                     16:   +----------------------------------------------------------------------+
                     17: */
                     18: 
1.1.1.2 ! misho      19: /* $Id$ */
1.1       misho      20: 
                     21: #ifndef PHP_SIMPLEXML_H
                     22: #define PHP_SIMPLEXML_H
                     23: 
                     24: extern zend_module_entry simplexml_module_entry;
                     25: #define phpext_simplexml_ptr &simplexml_module_entry
                     26: 
                     27: #ifdef ZTS
                     28: #include "TSRM.h"
                     29: #endif
                     30: 
                     31: #include "ext/libxml/php_libxml.h"
                     32: #include <libxml/parser.h>
                     33: #include <libxml/parserInternals.h>
                     34: #include <libxml/tree.h>
                     35: #include <libxml/uri.h>
                     36: #include <libxml/xmlerror.h>
                     37: #include <libxml/xinclude.h>
                     38: #include <libxml/xpath.h>
                     39: #include <libxml/xpathInternals.h>
                     40: #include <libxml/xpointer.h>
                     41: #include <libxml/xmlschemas.h>
                     42: 
                     43: PHP_MINIT_FUNCTION(simplexml);
                     44: PHP_MSHUTDOWN_FUNCTION(simplexml);
                     45: #ifdef HAVE_SPL
                     46: PHP_RINIT_FUNCTION(simplexml);
                     47: #endif
                     48: PHP_MINFO_FUNCTION(simplexml);
                     49: 
                     50: typedef enum {
                     51:        SXE_ITER_NONE     = 0,
                     52:        SXE_ITER_ELEMENT  = 1,
                     53:        SXE_ITER_CHILD    = 2,
                     54:        SXE_ITER_ATTRLIST = 3
                     55: } SXE_ITER;
                     56: 
                     57: typedef struct {
                     58:        zend_object zo;
                     59:        php_libxml_node_ptr *node;
                     60:        php_libxml_ref_obj *document;
                     61:        HashTable *properties;
                     62:        xmlXPathContextPtr xpath;
                     63:        struct {
                     64:                xmlChar               *name;
                     65:                xmlChar               *nsprefix;
                     66:                int                   isprefix;
                     67:                SXE_ITER              type;
                     68:                zval                  *data;
                     69:        } iter;
                     70:        zval *tmp;
                     71:        zend_function *fptr_count;
                     72: } php_sxe_object;
                     73: 
                     74: #ifdef ZTS
                     75: #define SIMPLEXML_G(v) TSRMG(simplexml_globals_id, zend_simplexml_globals *, v)
                     76: #else
                     77: #define SIMPLEXML_G(v) (simplexml_globals.v)
                     78: #endif
                     79: 
                     80: #ifdef PHP_WIN32
                     81: #      ifdef PHP_SIMPLEXML_EXPORTS
                     82: #              define PHP_SXE_API __declspec(dllexport)
                     83: #      else
                     84: #              define PHP_SXE_API __declspec(dllimport)
                     85: #      endif
                     86: #else
                     87: #      define PHP_SXE_API ZEND_API
                     88: #endif
                     89: 
                     90: PHP_SXE_API zend_class_entry *sxe_get_element_class_entry();
                     91: 
                     92: #endif
                     93: 
                     94: /*
                     95:  * Local variables:
                     96:  * tab-width: 4
                     97:  * c-basic-offset: 4
                     98:  * indent-tabs-mode: t
                     99:  * End:
                    100:  * vim600: fdm=marker
                    101:  * vim: noet sw=4 ts=4
                    102:  */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>