| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566 |
- #ifndef LIBRARIES_EXPAT_H
- #define LIBRARIES_EXPAT_H
- /*
- ** Copyright (c) 2001-2007 Expat maintainers.
- **
- ** Permission is hereby granted, free of charge, to any person obtaining
- ** a copy of this software and associated documentation files (the
- ** "Software"), to deal in the Software without restriction, including
- ** without limitation the rights to use, copy, modify, merge, publish,
- ** distribute, sublicense, and/or sell copies of the Software, and to
- ** permit persons to whom the Software is furnished to do so, subject to
- ** the following conditions:
- **
- ** The above copyright notice and this permission notice shall be included
- ** in all copies or substantial portions of the Software.
- **
- ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
- /****************************************************************************/
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifdef __GNUC__
- #ifdef __PPC__
- #pragma pack(2)
- #endif
- #elif defined(__VBCC__)
- #pragma amiga-align
- #endif
- /****************************************************************************/
- #include <stdlib.h>
- #ifndef XMLCALL
- #define XMLCALL
- #endif
- typedef char XML_Char;
- typedef char XML_LChar;
- typedef long XML_Index;
- typedef unsigned long XML_Size;
- struct XML_ParserStruct;
- typedef struct XML_ParserStruct *XML_Parser;
- typedef unsigned char XML_Bool;
- #define XML_TRUE ((XML_Bool) 1)
- #define XML_FALSE ((XML_Bool) 0)
- enum XML_Status {
- XML_STATUS_ERROR = 0,
- #define XML_STATUS_ERROR XML_STATUS_ERROR
- XML_STATUS_OK = 1,
- #define XML_STATUS_OK XML_STATUS_OK
- XML_STATUS_SUSPENDED = 2,
- #define XML_STATUS_SUSPENDED XML_STATUS_SUSPENDED
- };
- enum XML_Error {
- XML_ERROR_NONE,
- XML_ERROR_NO_MEMORY,
- XML_ERROR_SYNTAX,
- XML_ERROR_NO_ELEMENTS,
- XML_ERROR_INVALID_TOKEN,
- XML_ERROR_UNCLOSED_TOKEN,
- XML_ERROR_PARTIAL_CHAR,
- XML_ERROR_TAG_MISMATCH,
- XML_ERROR_DUPLICATE_ATTRIBUTE,
- XML_ERROR_JUNK_AFTER_DOC_ELEMENT,
- XML_ERROR_PARAM_ENTITY_REF,
- XML_ERROR_UNDEFINED_ENTITY,
- XML_ERROR_RECURSIVE_ENTITY_REF,
- XML_ERROR_ASYNC_ENTITY,
- XML_ERROR_BAD_CHAR_REF,
- XML_ERROR_BINARY_ENTITY_REF,
- XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF,
- XML_ERROR_MISPLACED_XML_PI,
- XML_ERROR_UNKNOWN_ENCODING,
- XML_ERROR_INCORRECT_ENCODING,
- XML_ERROR_UNCLOSED_CDATA_SECTION,
- XML_ERROR_EXTERNAL_ENTITY_HANDLING,
- XML_ERROR_NOT_STANDALONE,
- XML_ERROR_UNEXPECTED_STATE,
- XML_ERROR_ENTITY_DECLARED_IN_PE,
- XML_ERROR_FEATURE_REQUIRES_XML_DTD,
- XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING,
- XML_ERROR_UNBOUND_PREFIX,
- XML_ERROR_UNDECLARING_PREFIX,
- XML_ERROR_INCOMPLETE_PE,
- XML_ERROR_XML_DECL,
- XML_ERROR_TEXT_DECL,
- XML_ERROR_PUBLICID,
- XML_ERROR_SUSPENDED,
- XML_ERROR_NOT_SUSPENDED,
- XML_ERROR_ABORTED,
- XML_ERROR_FINISHED,
- XML_ERROR_SUSPEND_PE,
- XML_ERROR_RESERVED_PREFIX_XML,
- XML_ERROR_RESERVED_PREFIX_XMLNS,
- XML_ERROR_RESERVED_NAMESPACE_URI
- };
- enum XML_Content_Type {
- XML_CTYPE_EMPTY = 1,
- XML_CTYPE_ANY,
- XML_CTYPE_MIXED,
- XML_CTYPE_NAME,
- XML_CTYPE_CHOICE,
- XML_CTYPE_SEQ
- };
- enum XML_Content_Quant {
- XML_CQUANT_NONE,
- XML_CQUANT_OPT,
- XML_CQUANT_REP,
- XML_CQUANT_PLUS
- };
- typedef struct XML_cp XML_Content;
- struct XML_cp {
- enum XML_Content_Type type;
- enum XML_Content_Quant quant;
- XML_Char * name;
- unsigned int numchildren;
- XML_Content * children;
- };
- typedef void (*XML_ElementDeclHandler) (void *userData,
- const XML_Char *name,
- XML_Content *model);
- void
- XML_SetElementDeclHandler(XML_Parser parser,
- XML_ElementDeclHandler eldecl);
- typedef void (*XML_AttlistDeclHandler) (
- void *userData,
- const XML_Char *elname,
- const XML_Char *attname,
- const XML_Char *att_type,
- const XML_Char *dflt,
- int isrequired);
- void
- XML_SetAttlistDeclHandler(XML_Parser parser,
- XML_AttlistDeclHandler attdecl);
- typedef void (*XML_XmlDeclHandler) (void *userData,
- const XML_Char *version,
- const XML_Char *encoding,
- int standalone);
- void
- XML_SetXmlDeclHandler(XML_Parser parser,
- XML_XmlDeclHandler xmldecl);
- typedef struct {
- void *(*malloc_fcn)(size_t size);
- void *(*realloc_fcn)(void *ptr, size_t size);
- void (*free_fcn)(void *ptr);
- } XML_Memory_Handling_Suite;
- XML_Parser
- XML_ParserCreate(const XML_Char *encoding);
- XML_Parser
- XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator);
- XML_Parser
- XML_ParserCreate_MM(const XML_Char *encoding,
- const XML_Memory_Handling_Suite *memsuite,
- const XML_Char *namespaceSeparator);
- XML_Bool
- XML_ParserReset(XML_Parser parser, const XML_Char *encoding);
- typedef void (*XML_StartElementHandler) (void *userData,
- const XML_Char *name,
- const XML_Char **atts);
- typedef void (*XML_EndElementHandler) (void *userData,
- const XML_Char *name);
- typedef void (*XML_CharacterDataHandler) (void *userData,
- const XML_Char *s,
- int len);
- typedef void (*XML_ProcessingInstructionHandler) (
- void *userData,
- const XML_Char *target,
- const XML_Char *data);
- typedef void (*XML_CommentHandler) (void *userData,
- const XML_Char *data);
- typedef void (*XML_StartCdataSectionHandler) (void *userData);
- typedef void (*XML_EndCdataSectionHandler) (void *userData);
- typedef void (*XML_DefaultHandler) (void *userData,
- const XML_Char *s,
- int len);
- typedef void (*XML_StartDoctypeDeclHandler) (
- void *userData,
- const XML_Char *doctypeName,
- const XML_Char *sysid,
- const XML_Char *pubid,
- int has_internal_subset);
- typedef void (*XML_EndDoctypeDeclHandler)(void *userData);
- typedef void (*XML_EntityDeclHandler) (
- void *userData,
- const XML_Char *entityName,
- int is_parameter_entity,
- const XML_Char *value,
- int value_length,
- const XML_Char *base,
- const XML_Char *systemId,
- const XML_Char *publicId,
- const XML_Char *notationName);
- void
- XML_SetEntityDeclHandler(XML_Parser parser,
- XML_EntityDeclHandler handler);
- typedef void (*XML_UnparsedEntityDeclHandler) (
- void *userData,
- const XML_Char *entityName,
- const XML_Char *base,
- const XML_Char *systemId,
- const XML_Char *publicId,
- const XML_Char *notationName);
- typedef void (*XML_NotationDeclHandler) (
- void *userData,
- const XML_Char *notationName,
- const XML_Char *base,
- const XML_Char *systemId,
- const XML_Char *publicId);
- typedef void (*XML_StartNamespaceDeclHandler) (
- void *userData,
- const XML_Char *prefix,
- const XML_Char *uri);
- typedef void (*XML_EndNamespaceDeclHandler) (
- void *userData,
- const XML_Char *prefix);
- typedef int (*XML_NotStandaloneHandler) (void *userData);
- typedef int (*XML_ExternalEntityRefHandler) (
- XML_Parser parser,
- const XML_Char *context,
- const XML_Char *base,
- const XML_Char *systemId,
- const XML_Char *publicId);
- typedef void (*XML_SkippedEntityHandler) (
- void *userData,
- const XML_Char *entityName,
- int is_parameter_entity);
- typedef struct {
- int map[256];
- void *data;
- int (*convert)(void *data, const char *s);
- void (*release)(void *data);
- } XML_Encoding;
- typedef int (*XML_UnknownEncodingHandler) (
- void *encodingHandlerData,
- const XML_Char *name,
- XML_Encoding *info);
- void
- XML_SetElementHandler(XML_Parser parser,
- XML_StartElementHandler start,
- XML_EndElementHandler end);
- void
- XML_SetStartElementHandler(XML_Parser parser,
- XML_StartElementHandler handler);
- void
- XML_SetEndElementHandler(XML_Parser parser,
- XML_EndElementHandler handler);
- void
- XML_SetCharacterDataHandler(XML_Parser parser,
- XML_CharacterDataHandler handler);
- void
- XML_SetProcessingInstructionHandler(XML_Parser parser,
- XML_ProcessingInstructionHandler handler);
- void
- XML_SetCommentHandler(XML_Parser parser,
- XML_CommentHandler handler);
- void
- XML_SetCdataSectionHandler(XML_Parser parser,
- XML_StartCdataSectionHandler start,
- XML_EndCdataSectionHandler end);
- void
- XML_SetStartCdataSectionHandler(XML_Parser parser,
- XML_StartCdataSectionHandler start);
- void
- XML_SetEndCdataSectionHandler(XML_Parser parser,
- XML_EndCdataSectionHandler end);
- void
- XML_SetDefaultHandler(XML_Parser parser,
- XML_DefaultHandler handler);
- void
- XML_SetDefaultHandlerExpand(XML_Parser parser,
- XML_DefaultHandler handler);
- void
- XML_SetDoctypeDeclHandler(XML_Parser parser,
- XML_StartDoctypeDeclHandler start,
- XML_EndDoctypeDeclHandler end);
- void
- XML_SetStartDoctypeDeclHandler(XML_Parser parser,
- XML_StartDoctypeDeclHandler start);
- void
- XML_SetEndDoctypeDeclHandler(XML_Parser parser,
- XML_EndDoctypeDeclHandler end);
- void
- XML_SetUnparsedEntityDeclHandler(XML_Parser parser,
- XML_UnparsedEntityDeclHandler handler);
- void
- XML_SetNotationDeclHandler(XML_Parser parser,
- XML_NotationDeclHandler handler);
- void
- XML_SetNamespaceDeclHandler(XML_Parser parser,
- XML_StartNamespaceDeclHandler start,
- XML_EndNamespaceDeclHandler end);
- void
- XML_SetStartNamespaceDeclHandler(XML_Parser parser,
- XML_StartNamespaceDeclHandler start);
- void
- XML_SetEndNamespaceDeclHandler(XML_Parser parser,
- XML_EndNamespaceDeclHandler end);
- void
- XML_SetNotStandaloneHandler(XML_Parser parser,
- XML_NotStandaloneHandler handler);
- void
- XML_SetExternalEntityRefHandler(XML_Parser parser,
- XML_ExternalEntityRefHandler handler);
- void
- XML_SetExternalEntityRefHandlerArg(XML_Parser parser,
- void *arg);
- void
- XML_SetSkippedEntityHandler(XML_Parser parser,
- XML_SkippedEntityHandler handler);
- void
- XML_SetUnknownEncodingHandler(XML_Parser parser,
- XML_UnknownEncodingHandler handler,
- void *encodingHandlerData);
- void
- XML_DefaultCurrent(XML_Parser parser);
- void
- XML_SetReturnNSTriplet(XML_Parser parser, int do_nst);
- void
- XML_SetUserData(XML_Parser parser, void *userData);
- #define XML_GetUserData(parser) (*(void **)(parser))
- enum XML_Status
- XML_SetEncoding(XML_Parser parser, const XML_Char *encoding);
- void
- XML_UseParserAsHandlerArg(XML_Parser parser);
- enum XML_Error
- XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD);
- enum XML_Status
- XML_SetBase(XML_Parser parser, const XML_Char *base);
- const XML_Char *
- XML_GetBase(XML_Parser parser);
- int
- XML_GetSpecifiedAttributeCount(XML_Parser parser);
- int
- XML_GetIdAttributeIndex(XML_Parser parser);
- enum XML_Status
- XML_Parse(XML_Parser parser, const char *s, int len, int isFinal);
- void *
- XML_GetBuffer(XML_Parser parser, int len);
- enum XML_Status
- XML_ParseBuffer(XML_Parser parser, int len, int isFinal);
- enum XML_Status
- XML_StopParser(XML_Parser parser, XML_Bool resumable);
- enum XML_Status
- XML_ResumeParser(XML_Parser parser);
- enum XML_Parsing {
- XML_INITIALIZED,
- XML_PARSING,
- XML_FINISHED,
- XML_SUSPENDED
- };
- typedef struct {
- enum XML_Parsing parsing;
- XML_Bool finalBuffer;
- } XML_ParsingStatus;
- void
- XML_GetParsingStatus(XML_Parser parser, XML_ParsingStatus *status);
- XML_Parser
- XML_ExternalEntityParserCreate(XML_Parser parser,
- const XML_Char *context,
- const XML_Char *encoding);
- enum XML_ParamEntityParsing {
- XML_PARAM_ENTITY_PARSING_NEVER,
- XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE,
- XML_PARAM_ENTITY_PARSING_ALWAYS
- };
- int
- XML_SetParamEntityParsing(XML_Parser parser,
- enum XML_ParamEntityParsing parsing);
- enum XML_Error
- XML_GetErrorCode(XML_Parser parser);
- int XML_GetCurrentLineNumber(XML_Parser parser);
- int XML_GetCurrentColumnNumber(XML_Parser parser);
- long XML_GetCurrentByteIndex(XML_Parser parser);
- int
- XML_GetCurrentByteCount(XML_Parser parser);
- const char *
- XML_GetInputContext(XML_Parser parser,
- int *offset,
- int *size);
- #define XML_GetErrorLineNumber XML_GetCurrentLineNumber
- #define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber
- #define XML_GetErrorByteIndex XML_GetCurrentByteIndex
- void
- XML_FreeContentModel(XML_Parser parser, XML_Content *model);
- void *
- XML_MemMalloc(XML_Parser parser, size_t size);
- void *
- XML_MemRealloc(XML_Parser parser, void *ptr, size_t size);
- void
- XML_MemFree(XML_Parser parser, void *ptr);
- void
- XML_ParserFree(XML_Parser parser);
- const XML_LChar *
- XML_ErrorString(enum XML_Error code);
- const XML_LChar *
- XML_ExpatVersion(void);
- typedef struct {
- int major;
- int minor;
- int micro;
- } XML_Expat_Version;
- XML_Expat_Version
- XML_ExpatVersionInfo(void);
- enum XML_FeatureEnum {
- XML_FEATURE_END = 0,
- XML_FEATURE_UNICODE,
- XML_FEATURE_UNICODE_WCHAR_T,
- XML_FEATURE_DTD,
- XML_FEATURE_CONTEXT_BYTES,
- XML_FEATURE_MIN_SIZE,
- XML_FEATURE_SIZEOF_XML_CHAR,
- XML_FEATURE_SIZEOF_XML_LCHAR,
- XML_FEATURE_NS,
- XML_FEATURE_LARGE_SIZE
- };
- typedef struct {
- enum XML_FeatureEnum feature;
- const XML_LChar *name;
- long int value;
- } XML_Feature;
- const XML_Feature *
- XML_GetFeatureList(void);
- #define XML_MAJOR_VERSION 2
- #define XML_MINOR_VERSION 0
- #define XML_MICRO_VERSION 1
- /****************************************************************************/
- #ifdef __GNUC__
- #ifdef __PPC__
- #pragma pack()
- #endif
- #elif defined(__VBCC__)
- #pragma default-align
- #endif
- #ifdef __cplusplus
- }
- #endif
- /****************************************************************************/
- #endif /* EXPAT_EXPAT_H */
|