root/ext/simplexml/php_simplexml.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2   +----------------------------------------------------------------------+
   3   | PHP Version 5                                                        |
   4   +----------------------------------------------------------------------+
   5   | Copyright (c) 1997-2016 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 
  19 /* $Id$ */
  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  */

/* [<][>][^][v][top][bottom][index][help] */