Annotation of embedaddon/php/ext/xml/expat_compat.h, revision 1.1.1.1

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: Sterling Hughes <sterling@php.net>                          |
                     16:    +----------------------------------------------------------------------+
                     17: */
                     18: 
                     19: /* $Id: expat_compat.h 321634 2012-01-01 13:15:04Z felipe $ */
                     20: 
                     21: #ifndef PHP_EXPAT_COMPAT_H
                     22: #define PHP_EXPAT_COMPAT_H
                     23: 
                     24: #ifdef PHP_WIN32
                     25: #include "config.w32.h"
                     26: #else
                     27: #include <php_config.h>
                     28: #endif
                     29: 
                     30: #if !defined(HAVE_LIBEXPAT) && defined(HAVE_LIBXML)
                     31: #define LIBXML_EXPAT_COMPAT 1
                     32: 
                     33: #include "php.h"
                     34: #include "php_compat.h"
                     35: 
                     36: #include <libxml/parser.h>
                     37: #include <libxml/parserInternals.h>
                     38: #include <libxml/tree.h>
                     39: #include <libxml/hash.h>
                     40: 
                     41: typedef xmlChar XML_Char;
                     42: 
                     43: typedef void (*XML_StartElementHandler)(void *, const XML_Char *, const XML_Char **);
                     44: typedef void (*XML_EndElementHandler)(void *, const XML_Char *);
                     45: typedef void (*XML_CharacterDataHandler)(void *, const XML_Char *, int);
                     46: typedef void (*XML_ProcessingInstructionHandler)(void *, const XML_Char *, const XML_Char *);
                     47: typedef void (*XML_CommentHandler)(void *, const XML_Char *);
                     48: typedef void (*XML_DefaultHandler)(void *, const XML_Char *, int);
                     49: typedef void (*XML_UnparsedEntityDeclHandler)(void *, const XML_Char *, const XML_Char *, const XML_Char *, const XML_Char *, const XML_Char *);
                     50: typedef void (*XML_NotationDeclHandler)(void *, const XML_Char *, const XML_Char *, const XML_Char *, const XML_Char *);
                     51: typedef int  (*XML_ExternalEntityRefHandler)(void *, const XML_Char *, const XML_Char *, const XML_Char *, const XML_Char *);
                     52: typedef void (*XML_StartNamespaceDeclHandler)(void *, const XML_Char *, const XML_Char *);
                     53: typedef void (*XML_EndNamespaceDeclHandler)(void *, const XML_Char *);
                     54: 
                     55: typedef struct _XML_Memory_Handling_Suite {
                     56:   void *(*malloc_fcn)(size_t size);
                     57:   void *(*realloc_fcn)(void *ptr, size_t size);
                     58:   void (*free_fcn)(void *ptr);
                     59: } XML_Memory_Handling_Suite;
                     60: 
                     61: typedef struct _XML_Parser {
                     62:        int use_namespace;
                     63: 
                     64:        xmlChar *_ns_seperator;
                     65: 
                     66:        void *user;
                     67:        xmlParserCtxtPtr parser;
                     68: 
                     69:        XML_StartElementHandler          h_start_element;
                     70:        XML_EndElementHandler            h_end_element;
                     71:        XML_CharacterDataHandler         h_cdata;
                     72:        XML_ProcessingInstructionHandler h_pi;
                     73:        XML_CommentHandler               h_comment;
                     74:        XML_DefaultHandler               h_default;
                     75:        XML_UnparsedEntityDeclHandler    h_unparsed_entity_decl;
                     76:        XML_NotationDeclHandler          h_notation_decl;
                     77:        XML_ExternalEntityRefHandler     h_external_entity_ref;
                     78:        XML_StartNamespaceDeclHandler    h_start_ns;
                     79:        XML_EndNamespaceDeclHandler      h_end_ns;
                     80: } *XML_Parser;
                     81: 
                     82: enum XML_Error {
                     83:        XML_ERROR_NONE,
                     84:        XML_ERROR_NO_MEMORY,
                     85:        XML_ERROR_SYNTAX,
                     86:        XML_ERROR_NO_ELEMENTS,
                     87:        XML_ERROR_INVALID_TOKEN,
                     88:        XML_ERROR_UNCLOSED_TOKEN,
                     89:        XML_ERROR_PARTIAL_CHAR,
                     90:        XML_ERROR_TAG_MISMATCH,
                     91:        XML_ERROR_DUPLICATE_ATTRIBUTE,
                     92:        XML_ERROR_JUNK_AFTER_DOC_ELEMENT,
                     93:        XML_ERROR_PARAM_ENTITY_REF,
                     94:        XML_ERROR_UNDEFINED_ENTITY,
                     95:        XML_ERROR_RECURSIVE_ENTITY_REF,
                     96:        XML_ERROR_ASYNC_ENTITY,
                     97:        XML_ERROR_BAD_CHAR_REF,
                     98:        XML_ERROR_BINARY_ENTITY_REF,
                     99:        XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF,
                    100:        XML_ERROR_MISPLACED_XML_PI,
                    101:        XML_ERROR_UNKNOWN_ENCODING,
                    102:        XML_ERROR_INCORRECT_ENCODING,
                    103:        XML_ERROR_UNCLOSED_CDATA_SECTION,
                    104:        XML_ERROR_EXTERNAL_ENTITY_HANDLING,
                    105:        XML_ERROR_NOT_STANDALONE,
                    106:        XML_ERROR_UNEXPECTED_STATE,
                    107:        XML_ERROR_ENTITY_DECLARED_IN_PE,
                    108:        XML_ERROR_FEATURE_REQUIRES_XML_DTD,
                    109:        XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING
                    110: };
                    111: 
                    112: enum XML_Content_Type {
                    113:        XML_CTYPE_EMPTY = 1,
                    114:        XML_CTYPE_ANY,
                    115:        XML_CTYPE_MIXED,
                    116:        XML_CTYPE_NAME,
                    117:        XML_CTYPE_CHOICE,
                    118:        XML_CTYPE_SEQ
                    119: };
                    120: 
                    121: PHPAPI XML_Parser XML_ParserCreate(const XML_Char *);
                    122: PHPAPI XML_Parser XML_ParserCreateNS(const XML_Char *, const XML_Char);
                    123: PHPAPI XML_Parser XML_ParserCreate_MM(const XML_Char *, const XML_Memory_Handling_Suite *, const XML_Char *);
                    124: PHPAPI void XML_SetUserData(XML_Parser, void *);
                    125: PHPAPI void *XML_GetUserData(XML_Parser);
                    126: PHPAPI void XML_SetElementHandler(XML_Parser, XML_StartElementHandler, XML_EndElementHandler);
                    127: PHPAPI void XML_SetCharacterDataHandler(XML_Parser, XML_CharacterDataHandler);
                    128: PHPAPI void XML_SetProcessingInstructionHandler(XML_Parser, XML_ProcessingInstructionHandler);
                    129: PHPAPI void XML_SetDefaultHandler(XML_Parser, XML_DefaultHandler);
                    130: PHPAPI void XML_SetUnparsedEntityDeclHandler(XML_Parser, XML_UnparsedEntityDeclHandler);
                    131: PHPAPI void XML_SetNotationDeclHandler(XML_Parser, XML_NotationDeclHandler);
                    132: PHPAPI void XML_SetExternalEntityRefHandler(XML_Parser, XML_ExternalEntityRefHandler);
                    133: PHPAPI void XML_SetStartNamespaceDeclHandler(XML_Parser, XML_StartNamespaceDeclHandler);
                    134: PHPAPI void XML_SetEndNamespaceDeclHandler(XML_Parser, XML_EndNamespaceDeclHandler);
                    135: PHPAPI int  XML_Parse(XML_Parser, const XML_Char *, int data_len, int is_final);
                    136: PHPAPI int  XML_GetErrorCode(XML_Parser);
                    137: PHPAPI const XML_Char *XML_ErrorString(int);
                    138: PHPAPI int  XML_GetCurrentLineNumber(XML_Parser);
                    139: PHPAPI int  XML_GetCurrentColumnNumber(XML_Parser);
                    140: PHPAPI int  XML_GetCurrentByteIndex(XML_Parser);
                    141: PHPAPI int  XML_GetCurrentByteCount(XML_Parser);
                    142: PHPAPI const XML_Char *XML_ExpatVersion(void);
                    143: PHPAPI void XML_ParserFree(XML_Parser);
                    144: 
                    145: #elif defined(HAVE_LIBEXPAT)
                    146: #include <expat.h>
                    147: #endif /* HAVE_LIBEXPAT */
                    148: 
                    149: #endif /* PHP_EXPAT_COMPAT_H */
                    150: 
                    151: /*
                    152:  * Local variables:
                    153:  * tab-width: 4
                    154:  * c-basic-offset: 4
                    155:  * End:
                    156:  */

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