Annotation of embedaddon/php/ext/xml/php_xml.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:    | Authors: Stig Sæther Bakken <ssb@php.net>                            |
                     16:    |          Thies C. Arntzen <thies@thieso.net>                         |
                     17:    |          Sterling Hughes <sterling@php.net>                          |
                     18:    +----------------------------------------------------------------------+
                     19: */
                     20: 
1.1.1.2 ! misho      21: /* $Id$ */
1.1       misho      22: 
                     23: #ifndef PHP_XML_H
                     24: #define PHP_XML_H
                     25: 
                     26: #ifdef HAVE_XML
                     27: extern zend_module_entry xml_module_entry;
                     28: #define xml_module_ptr &xml_module_entry
                     29: #else
                     30: #define xml_module_ptr NULL
                     31: #endif
                     32: 
                     33: #ifdef HAVE_XML 
                     34: 
                     35: #include "ext/xml/expat_compat.h"
                     36: 
                     37: 
                     38: #ifdef XML_UNICODE
                     39: #error "UTF-16 Unicode support not implemented!"
                     40: #endif
                     41: 
                     42: ZEND_BEGIN_MODULE_GLOBALS(xml)
                     43:        XML_Char *default_encoding;
                     44: ZEND_END_MODULE_GLOBALS(xml)
                     45: 
                     46: typedef struct {
                     47:        int index;
                     48:        int case_folding;
                     49:        XML_Parser parser;
                     50:        XML_Char *target_encoding;
                     51: 
                     52:        zval *startElementHandler;
                     53:        zval *endElementHandler;
                     54:        zval *characterDataHandler;
                     55:        zval *processingInstructionHandler;
                     56:        zval *defaultHandler;
                     57:        zval *unparsedEntityDeclHandler;
                     58:        zval *notationDeclHandler;
                     59:        zval *externalEntityRefHandler;
                     60:        zval *unknownEncodingHandler;   
                     61:        zval *startNamespaceDeclHandler;
                     62:        zval *endNamespaceDeclHandler;
                     63: 
                     64:        zend_function *startElementPtr;
                     65:        zend_function *endElementPtr;
                     66:        zend_function *characterDataPtr;
                     67:        zend_function *processingInstructionPtr;
                     68:        zend_function *defaultPtr;
                     69:        zend_function *unparsedEntityDeclPtr;
                     70:        zend_function *notationDeclPtr;
                     71:        zend_function *externalEntityRefPtr;
                     72:        zend_function *unknownEncodingPtr;
                     73:        zend_function *startNamespaceDeclPtr;
                     74:        zend_function *endNamespaceDeclPtr;
                     75: 
                     76:        zval *object;
                     77: 
                     78:        zval *data;
                     79:        zval *info;
                     80:        int level;
                     81:        int toffset;
                     82:        int curtag;
                     83:        zval **ctag;
                     84:        char **ltags;
                     85:        int lastwasopen;
                     86:        int skipwhite;
                     87:        int isparsing;
                     88:        
                     89:        XML_Char *baseURI;
                     90: } xml_parser;
                     91: 
                     92: 
                     93: typedef struct {
                     94:        XML_Char *name;
                     95:        char (*decoding_function)(unsigned short);
                     96:        unsigned short (*encoding_function)(unsigned char);
                     97: } xml_encoding;
                     98: 
                     99: 
                    100: enum php_xml_option {
                    101:     PHP_XML_OPTION_CASE_FOLDING = 1,
                    102:     PHP_XML_OPTION_TARGET_ENCODING,
                    103:     PHP_XML_OPTION_SKIP_TAGSTART,
                    104:     PHP_XML_OPTION_SKIP_WHITE
                    105: };
                    106: 
                    107: /* for xml_parse_into_struct */
                    108:        
                    109: #define XML_MAXLEVEL 255 /* XXX this should be dynamic */
                    110:        
                    111: PHP_FUNCTION(xml_parser_create);
                    112: PHP_FUNCTION(xml_parser_create_ns);
                    113: PHP_FUNCTION(xml_set_object);
                    114: PHP_FUNCTION(xml_set_element_handler);
                    115: PHP_FUNCTION(xml_set_character_data_handler);
                    116: PHP_FUNCTION(xml_set_processing_instruction_handler);
                    117: PHP_FUNCTION(xml_set_default_handler);
                    118: PHP_FUNCTION(xml_set_unparsed_entity_decl_handler);
                    119: PHP_FUNCTION(xml_set_notation_decl_handler);
                    120: PHP_FUNCTION(xml_set_external_entity_ref_handler);
                    121: PHP_FUNCTION(xml_set_start_namespace_decl_handler);
                    122: PHP_FUNCTION(xml_set_end_namespace_decl_handler);
                    123: PHP_FUNCTION(xml_parse);
                    124: PHP_FUNCTION(xml_get_error_code);
                    125: PHP_FUNCTION(xml_error_string);
                    126: PHP_FUNCTION(xml_get_current_line_number);
                    127: PHP_FUNCTION(xml_get_current_column_number);
                    128: PHP_FUNCTION(xml_get_current_byte_index);
                    129: PHP_FUNCTION(xml_parser_free);
                    130: PHP_FUNCTION(xml_parser_set_option);
                    131: PHP_FUNCTION(xml_parser_get_option);
                    132: PHP_FUNCTION(utf8_encode);
                    133: PHP_FUNCTION(utf8_decode);
                    134: PHP_FUNCTION(xml_parse_into_struct);
                    135: 
                    136: PHPAPI char *_xml_zval_strdup(zval *val);
                    137: PHPAPI char *xml_utf8_decode(const XML_Char *, int, int *, const XML_Char *);
                    138: PHPAPI char *xml_utf8_encode(const char *s, int len, int *newlen, const XML_Char *encoding);
                    139: 
                    140: #endif /* HAVE_LIBEXPAT */
                    141: 
                    142: #define phpext_xml_ptr xml_module_ptr
                    143: 
                    144: #ifdef ZTS
                    145: #define XML(v) TSRMG(xml_globals_id, zend_xml_globals *, v)
                    146: #else
                    147: #define XML(v) (xml_globals.v)
                    148: #endif
                    149: 
                    150: #endif /* PHP_XML_H */
                    151: 
                    152: /*
                    153:  * Local variables:
                    154:  * tab-width: 4
                    155:  * c-basic-offset: 4
                    156:  * End:
                    157:  */

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