summaryrefslogtreecommitdiff
path: root/ext/xml/php_xml.h
diff options
context:
space:
mode:
authorMark A. Hershberger <mah@debian.(none)>2009-03-25 00:34:21 -0400
committerMark A. Hershberger <mah@debian.(none)>2009-03-25 00:34:21 -0400
commit0e920280a2e04b110827bb766b9f29e3d581c4ee (patch)
tree8f2125f3d00fe3089e3b94adb06f04479ee15f2a /ext/xml/php_xml.h
downloadphp-0e920280a2e04b110827bb766b9f29e3d581c4ee.tar.gz
Imported Upstream version 5.0.4upstream/5.0.4
Diffstat (limited to 'ext/xml/php_xml.h')
-rw-r--r--ext/xml/php_xml.h161
1 files changed, 161 insertions, 0 deletions
diff --git a/ext/xml/php_xml.h b/ext/xml/php_xml.h
new file mode 100644
index 000000000..8f0f97544
--- /dev/null
+++ b/ext/xml/php_xml.h
@@ -0,0 +1,161 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 5 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2004 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 3.0 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: |
+ | http://www.php.net/license/3_0.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. |
+ +----------------------------------------------------------------------+
+ | Authors: Stig Sæther Bakken <ssb@php.net> |
+ | Thies C. Arntzen <thies@thieso.net> |
+ | Sterling Hughes <sterling@php.net> |
+ +----------------------------------------------------------------------+
+*/
+
+/* $Id: php_xml.h,v 1.26 2004/01/08 17:32:59 sniper Exp $ */
+
+#ifndef PHP_XML_H
+#define PHP_XML_H
+
+#ifdef HAVE_XML
+extern zend_module_entry xml_module_entry;
+#define xml_module_ptr &xml_module_entry
+#else
+#define xml_module_ptr NULL
+#endif
+
+#ifdef HAVE_XML
+
+#include "ext/xml/expat_compat.h"
+
+#ifdef PHP_WIN32
+#define PHP_XML_API __declspec(dllexport)
+#else
+#define PHP_XML_API
+#endif
+
+
+#ifdef XML_UNICODE
+#error "UTF-16 Unicode support not implemented!"
+#endif
+
+typedef struct {
+ XML_Char *default_encoding;
+} php_xml_globals;
+
+typedef struct {
+ int index;
+ int case_folding;
+ XML_Parser parser;
+ XML_Char *target_encoding;
+
+ zval *startElementHandler;
+ zval *endElementHandler;
+ zval *characterDataHandler;
+ zval *processingInstructionHandler;
+ zval *defaultHandler;
+ zval *unparsedEntityDeclHandler;
+ zval *notationDeclHandler;
+ zval *externalEntityRefHandler;
+ zval *unknownEncodingHandler;
+ zval *startNamespaceDeclHandler;
+ zval *endNamespaceDeclHandler;
+
+ zend_function *startElementPtr;
+ zend_function *endElementPtr;
+ zend_function *characterDataPtr;
+ zend_function *processingInstructionPtr;
+ zend_function *defaultPtr;
+ zend_function *unparsedEntityDeclPtr;
+ zend_function *notationDeclPtr;
+ zend_function *externalEntityRefPtr;
+ zend_function *unknownEncodingPtr;
+ zend_function *startNamespaceDeclPtr;
+ zend_function *endNamespaceDeclPtr;
+
+ zval *object;
+
+ zval *data;
+ zval *info;
+ int level;
+ int toffset;
+ int curtag;
+ pval **ctag;
+ char **ltags;
+ int lastwasopen;
+ int skipwhite;
+
+ XML_Char *baseURI;
+} xml_parser;
+
+
+typedef struct {
+ XML_Char *name;
+ char (*decoding_function)(unsigned short);
+ unsigned short (*encoding_function)(unsigned char);
+} xml_encoding;
+
+
+enum php_xml_option {
+ PHP_XML_OPTION_CASE_FOLDING = 1,
+ PHP_XML_OPTION_TARGET_ENCODING,
+ PHP_XML_OPTION_SKIP_TAGSTART,
+ PHP_XML_OPTION_SKIP_WHITE
+};
+
+/* for xml_parse_into_struct */
+
+#define XML_MAXLEVEL 255 /* XXX this should be dynamic */
+
+PHP_FUNCTION(xml_parser_create);
+PHP_FUNCTION(xml_parser_create_ns);
+PHP_FUNCTION(xml_set_object);
+PHP_FUNCTION(xml_set_element_handler);
+PHP_FUNCTION(xml_set_character_data_handler);
+PHP_FUNCTION(xml_set_processing_instruction_handler);
+PHP_FUNCTION(xml_set_default_handler);
+PHP_FUNCTION(xml_set_unparsed_entity_decl_handler);
+PHP_FUNCTION(xml_set_notation_decl_handler);
+PHP_FUNCTION(xml_set_external_entity_ref_handler);
+PHP_FUNCTION(xml_set_start_namespace_decl_handler);
+PHP_FUNCTION(xml_set_end_namespace_decl_handler);
+PHP_FUNCTION(xml_parse);
+PHP_FUNCTION(xml_get_error_code);
+PHP_FUNCTION(xml_error_string);
+PHP_FUNCTION(xml_get_current_line_number);
+PHP_FUNCTION(xml_get_current_column_number);
+PHP_FUNCTION(xml_get_current_byte_index);
+PHP_FUNCTION(xml_parser_free);
+PHP_FUNCTION(xml_parser_set_option);
+PHP_FUNCTION(xml_parser_get_option);
+PHP_FUNCTION(utf8_encode);
+PHP_FUNCTION(utf8_decode);
+PHP_FUNCTION(xml_parse_into_struct);
+
+PHPAPI char *_xml_zval_strdup(zval *val);
+PHPAPI char *xml_utf8_decode(const XML_Char *, int, int *, const XML_Char *);
+
+#endif /* HAVE_LIBEXPAT */
+
+#define phpext_xml_ptr xml_module_ptr
+
+#ifdef ZTS
+#define XML(v) TSRMG(xml_globals_id, php_xml_globals *, v)
+#else
+#define XML(v) (xml_globals.v)
+#endif
+
+#endif /* PHP_XML_H */
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ */