diff options
author | Sascha Schumann <sas@php.net> | 1999-12-04 19:19:57 +0000 |
---|---|---|
committer | Sascha Schumann <sas@php.net> | 1999-12-04 19:19:57 +0000 |
commit | 5b983c944f66b55192c901ce3fa38fcce6ca21e3 (patch) | |
tree | 89c7d57484170f274eba416495d88e02be541e6f /ext/xml/php_xml.h | |
parent | 83ce7c13d1a7f21b4bd7dd0b5ce4f4d6764d7e52 (diff) | |
download | php-git-5b983c944f66b55192c901ce3fa38fcce6ca21e3.tar.gz |
Clean up php3.*\.h files. The files itself are renamed, and references in all
.*\.[ch] files were changed. There is a slight chance that my script missed
a few changes, please correct them manually.
Diffstat (limited to 'ext/xml/php_xml.h')
-rw-r--r-- | ext/xml/php_xml.h | 161 |
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 0000000000..23d89c0fd2 --- /dev/null +++ b/ext/xml/php_xml.h @@ -0,0 +1,161 @@ +/* + +----------------------------------------------------------------------+ + | PHP HTML Embedded Scripting Language Version 3.0 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997,1998 PHP Development Team (See Credits file) | + +----------------------------------------------------------------------+ + | This program is free software; you can redistribute it and/or modify | + | it under the terms of one of the following licenses: | + | | + | A) the GNU General Public License as published by the Free Software | + | Foundation; either version 2 of the License, or (at your option) | + | any later version. | + | | + | B) the PHP License as published by the PHP Development Team and | + | included in the distribution in the file: LICENSE | + | | + | This program is distributed in the hope that it will be useful, | + | but WITHOUT ANY WARRANTY; without even the implied warranty of | + | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | + | GNU General Public License for more details. | + | | + | You should have received a copy of both licenses referred to here. | + | If you did not, or have any questions about PHP licensing, please | + | contact core@php.net. | + +----------------------------------------------------------------------+ + | Authors: Stig Sæther Bakken <ssb@guardian.no> | + +----------------------------------------------------------------------+ + */ + +/* $Id$ */ + +#ifndef _PHP_XML_H +# define _PHP_XML_H + +# if HAVE_LIBEXPAT + +#include <xmltok.h> +#include <xmlparse.h> + +#if WIN32||WINNT +#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; + char *startElementHandler; + char *endElementHandler; + char *characterDataHandler; + char *processingInstructionHandler; + char *defaultHandler; + char *unparsedEntityDeclHandler; + char *notationDeclHandler; + char *externalEntityRefHandler; + char *unknownEncodingHandler; + + pval *data; + pval *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; + + +extern php3_module_entry xml_module_entry; +# define xml_module_ptr &xml_module_entry + +enum php3_xml_option { + PHP3_XML_OPTION_CASE_FOLDING = 1, + PHP3_XML_OPTION_TARGET_ENCODING, + PHP3_XML_OPTION_SKIP_TAGSTART, + PHP3_XML_OPTION_SKIP_WHITE +}; + +# define RETURN_OUT_OF_MEMORY \ + php_error(E_WARNING, "Out of memory");\ + RETURN_FALSE + +/* for xml_parse_into_struct */ + +#define XML_MAXLEVEL 255 /* XXX this should be dynamic */ + +PHP_FUNCTION(xml_parser_create); +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_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); + +#else /* !HAVE_LIBEXPAT */ + +# define xml_module_ptr NULL + +#endif /* HAVE_LIBEXPAT */ + +#define phpext_xml_ptr xml_module_ptr + +#ifdef ZTS +#define XMLLS_D php_xml_globals *xml_globals +#define XMLLS_DC , PSLS_D +#define XMLLS_C xml_globals +#define XMLLS_CC , XMLLS_C +#define XML(v) (xml_globals->v) +#define XMLLS_FETCH() php_xml_globals *xml_globals = ts_resource(xml_globals_id) +#else +#define XMLLS_D +#define XMLLS_DC +#define XMLLS_C +#define XMLLS_CC +#define XML(v) (xml_globals.v) +#define XMLLS_FETCH() +#endif + +# endif /* _PHP_XML_H */ + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + */ |