Annotation of embedaddon/expat/amiga/include/libraries/expat.h, revision 1.1
1.1 ! misho 1: #ifndef LIBRARIES_EXPAT_H
! 2: #define LIBRARIES_EXPAT_H
! 3:
! 4: /*
! 5: ** Copyright (c) 2001-2007 Expat maintainers.
! 6: **
! 7: ** Permission is hereby granted, free of charge, to any person obtaining
! 8: ** a copy of this software and associated documentation files (the
! 9: ** "Software"), to deal in the Software without restriction, including
! 10: ** without limitation the rights to use, copy, modify, merge, publish,
! 11: ** distribute, sublicense, and/or sell copies of the Software, and to
! 12: ** permit persons to whom the Software is furnished to do so, subject to
! 13: ** the following conditions:
! 14: **
! 15: ** The above copyright notice and this permission notice shall be included
! 16: ** in all copies or substantial portions of the Software.
! 17: **
! 18: ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
! 19: ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
! 20: ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
! 21: ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
! 22: ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
! 23: ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
! 24: ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
! 25: */
! 26:
! 27:
! 28: /****************************************************************************/
! 29:
! 30: #ifdef __cplusplus
! 31: extern "C" {
! 32: #endif
! 33:
! 34: #ifdef __GNUC__
! 35: #ifdef __PPC__
! 36: #pragma pack(2)
! 37: #endif
! 38: #elif defined(__VBCC__)
! 39: #pragma amiga-align
! 40: #endif
! 41:
! 42: /****************************************************************************/
! 43:
! 44:
! 45: #include <stdlib.h>
! 46:
! 47: #ifndef XMLCALL
! 48: #define XMLCALL
! 49: #endif
! 50:
! 51: typedef char XML_Char;
! 52: typedef char XML_LChar;
! 53: typedef long XML_Index;
! 54: typedef unsigned long XML_Size;
! 55:
! 56: struct XML_ParserStruct;
! 57: typedef struct XML_ParserStruct *XML_Parser;
! 58:
! 59: typedef unsigned char XML_Bool;
! 60: #define XML_TRUE ((XML_Bool) 1)
! 61: #define XML_FALSE ((XML_Bool) 0)
! 62:
! 63: enum XML_Status {
! 64: XML_STATUS_ERROR = 0,
! 65: #define XML_STATUS_ERROR XML_STATUS_ERROR
! 66: XML_STATUS_OK = 1,
! 67: #define XML_STATUS_OK XML_STATUS_OK
! 68: XML_STATUS_SUSPENDED = 2,
! 69: #define XML_STATUS_SUSPENDED XML_STATUS_SUSPENDED
! 70: };
! 71:
! 72: enum XML_Error {
! 73: XML_ERROR_NONE,
! 74: XML_ERROR_NO_MEMORY,
! 75: XML_ERROR_SYNTAX,
! 76: XML_ERROR_NO_ELEMENTS,
! 77: XML_ERROR_INVALID_TOKEN,
! 78: XML_ERROR_UNCLOSED_TOKEN,
! 79: XML_ERROR_PARTIAL_CHAR,
! 80: XML_ERROR_TAG_MISMATCH,
! 81: XML_ERROR_DUPLICATE_ATTRIBUTE,
! 82: XML_ERROR_JUNK_AFTER_DOC_ELEMENT,
! 83: XML_ERROR_PARAM_ENTITY_REF,
! 84: XML_ERROR_UNDEFINED_ENTITY,
! 85: XML_ERROR_RECURSIVE_ENTITY_REF,
! 86: XML_ERROR_ASYNC_ENTITY,
! 87: XML_ERROR_BAD_CHAR_REF,
! 88: XML_ERROR_BINARY_ENTITY_REF,
! 89: XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF,
! 90: XML_ERROR_MISPLACED_XML_PI,
! 91: XML_ERROR_UNKNOWN_ENCODING,
! 92: XML_ERROR_INCORRECT_ENCODING,
! 93: XML_ERROR_UNCLOSED_CDATA_SECTION,
! 94: XML_ERROR_EXTERNAL_ENTITY_HANDLING,
! 95: XML_ERROR_NOT_STANDALONE,
! 96: XML_ERROR_UNEXPECTED_STATE,
! 97: XML_ERROR_ENTITY_DECLARED_IN_PE,
! 98: XML_ERROR_FEATURE_REQUIRES_XML_DTD,
! 99: XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING,
! 100: XML_ERROR_UNBOUND_PREFIX,
! 101: XML_ERROR_UNDECLARING_PREFIX,
! 102: XML_ERROR_INCOMPLETE_PE,
! 103: XML_ERROR_XML_DECL,
! 104: XML_ERROR_TEXT_DECL,
! 105: XML_ERROR_PUBLICID,
! 106: XML_ERROR_SUSPENDED,
! 107: XML_ERROR_NOT_SUSPENDED,
! 108: XML_ERROR_ABORTED,
! 109: XML_ERROR_FINISHED,
! 110: XML_ERROR_SUSPEND_PE,
! 111: XML_ERROR_RESERVED_PREFIX_XML,
! 112: XML_ERROR_RESERVED_PREFIX_XMLNS,
! 113: XML_ERROR_RESERVED_NAMESPACE_URI
! 114: };
! 115:
! 116: enum XML_Content_Type {
! 117: XML_CTYPE_EMPTY = 1,
! 118: XML_CTYPE_ANY,
! 119: XML_CTYPE_MIXED,
! 120: XML_CTYPE_NAME,
! 121: XML_CTYPE_CHOICE,
! 122: XML_CTYPE_SEQ
! 123: };
! 124:
! 125: enum XML_Content_Quant {
! 126: XML_CQUANT_NONE,
! 127: XML_CQUANT_OPT,
! 128: XML_CQUANT_REP,
! 129: XML_CQUANT_PLUS
! 130: };
! 131:
! 132: typedef struct XML_cp XML_Content;
! 133:
! 134: struct XML_cp {
! 135: enum XML_Content_Type type;
! 136: enum XML_Content_Quant quant;
! 137: XML_Char * name;
! 138: unsigned int numchildren;
! 139: XML_Content * children;
! 140: };
! 141:
! 142:
! 143: typedef void (*XML_ElementDeclHandler) (void *userData,
! 144: const XML_Char *name,
! 145: XML_Content *model);
! 146:
! 147: void
! 148: XML_SetElementDeclHandler(XML_Parser parser,
! 149: XML_ElementDeclHandler eldecl);
! 150:
! 151: typedef void (*XML_AttlistDeclHandler) (
! 152: void *userData,
! 153: const XML_Char *elname,
! 154: const XML_Char *attname,
! 155: const XML_Char *att_type,
! 156: const XML_Char *dflt,
! 157: int isrequired);
! 158:
! 159: void
! 160: XML_SetAttlistDeclHandler(XML_Parser parser,
! 161: XML_AttlistDeclHandler attdecl);
! 162:
! 163: typedef void (*XML_XmlDeclHandler) (void *userData,
! 164: const XML_Char *version,
! 165: const XML_Char *encoding,
! 166: int standalone);
! 167:
! 168: void
! 169: XML_SetXmlDeclHandler(XML_Parser parser,
! 170: XML_XmlDeclHandler xmldecl);
! 171:
! 172:
! 173: typedef struct {
! 174: void *(*malloc_fcn)(size_t size);
! 175: void *(*realloc_fcn)(void *ptr, size_t size);
! 176: void (*free_fcn)(void *ptr);
! 177: } XML_Memory_Handling_Suite;
! 178:
! 179: XML_Parser
! 180: XML_ParserCreate(const XML_Char *encoding);
! 181:
! 182: XML_Parser
! 183: XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator);
! 184:
! 185:
! 186: XML_Parser
! 187: XML_ParserCreate_MM(const XML_Char *encoding,
! 188: const XML_Memory_Handling_Suite *memsuite,
! 189: const XML_Char *namespaceSeparator);
! 190:
! 191: XML_Bool
! 192: XML_ParserReset(XML_Parser parser, const XML_Char *encoding);
! 193:
! 194: typedef void (*XML_StartElementHandler) (void *userData,
! 195: const XML_Char *name,
! 196: const XML_Char **atts);
! 197:
! 198: typedef void (*XML_EndElementHandler) (void *userData,
! 199: const XML_Char *name);
! 200:
! 201:
! 202: typedef void (*XML_CharacterDataHandler) (void *userData,
! 203: const XML_Char *s,
! 204: int len);
! 205:
! 206: typedef void (*XML_ProcessingInstructionHandler) (
! 207: void *userData,
! 208: const XML_Char *target,
! 209: const XML_Char *data);
! 210:
! 211: typedef void (*XML_CommentHandler) (void *userData,
! 212: const XML_Char *data);
! 213:
! 214: typedef void (*XML_StartCdataSectionHandler) (void *userData);
! 215: typedef void (*XML_EndCdataSectionHandler) (void *userData);
! 216:
! 217: typedef void (*XML_DefaultHandler) (void *userData,
! 218: const XML_Char *s,
! 219: int len);
! 220:
! 221: typedef void (*XML_StartDoctypeDeclHandler) (
! 222: void *userData,
! 223: const XML_Char *doctypeName,
! 224: const XML_Char *sysid,
! 225: const XML_Char *pubid,
! 226: int has_internal_subset);
! 227:
! 228: typedef void (*XML_EndDoctypeDeclHandler)(void *userData);
! 229:
! 230: typedef void (*XML_EntityDeclHandler) (
! 231: void *userData,
! 232: const XML_Char *entityName,
! 233: int is_parameter_entity,
! 234: const XML_Char *value,
! 235: int value_length,
! 236: const XML_Char *base,
! 237: const XML_Char *systemId,
! 238: const XML_Char *publicId,
! 239: const XML_Char *notationName);
! 240:
! 241: void
! 242: XML_SetEntityDeclHandler(XML_Parser parser,
! 243: XML_EntityDeclHandler handler);
! 244:
! 245: typedef void (*XML_UnparsedEntityDeclHandler) (
! 246: void *userData,
! 247: const XML_Char *entityName,
! 248: const XML_Char *base,
! 249: const XML_Char *systemId,
! 250: const XML_Char *publicId,
! 251: const XML_Char *notationName);
! 252:
! 253: typedef void (*XML_NotationDeclHandler) (
! 254: void *userData,
! 255: const XML_Char *notationName,
! 256: const XML_Char *base,
! 257: const XML_Char *systemId,
! 258: const XML_Char *publicId);
! 259:
! 260: typedef void (*XML_StartNamespaceDeclHandler) (
! 261: void *userData,
! 262: const XML_Char *prefix,
! 263: const XML_Char *uri);
! 264:
! 265: typedef void (*XML_EndNamespaceDeclHandler) (
! 266: void *userData,
! 267: const XML_Char *prefix);
! 268:
! 269: typedef int (*XML_NotStandaloneHandler) (void *userData);
! 270:
! 271: typedef int (*XML_ExternalEntityRefHandler) (
! 272: XML_Parser parser,
! 273: const XML_Char *context,
! 274: const XML_Char *base,
! 275: const XML_Char *systemId,
! 276: const XML_Char *publicId);
! 277:
! 278: typedef void (*XML_SkippedEntityHandler) (
! 279: void *userData,
! 280: const XML_Char *entityName,
! 281: int is_parameter_entity);
! 282:
! 283: typedef struct {
! 284: int map[256];
! 285: void *data;
! 286: int (*convert)(void *data, const char *s);
! 287: void (*release)(void *data);
! 288: } XML_Encoding;
! 289:
! 290: typedef int (*XML_UnknownEncodingHandler) (
! 291: void *encodingHandlerData,
! 292: const XML_Char *name,
! 293: XML_Encoding *info);
! 294:
! 295: void
! 296: XML_SetElementHandler(XML_Parser parser,
! 297: XML_StartElementHandler start,
! 298: XML_EndElementHandler end);
! 299:
! 300: void
! 301: XML_SetStartElementHandler(XML_Parser parser,
! 302: XML_StartElementHandler handler);
! 303:
! 304: void
! 305: XML_SetEndElementHandler(XML_Parser parser,
! 306: XML_EndElementHandler handler);
! 307:
! 308: void
! 309: XML_SetCharacterDataHandler(XML_Parser parser,
! 310: XML_CharacterDataHandler handler);
! 311:
! 312: void
! 313: XML_SetProcessingInstructionHandler(XML_Parser parser,
! 314: XML_ProcessingInstructionHandler handler);
! 315: void
! 316: XML_SetCommentHandler(XML_Parser parser,
! 317: XML_CommentHandler handler);
! 318:
! 319: void
! 320: XML_SetCdataSectionHandler(XML_Parser parser,
! 321: XML_StartCdataSectionHandler start,
! 322: XML_EndCdataSectionHandler end);
! 323:
! 324: void
! 325: XML_SetStartCdataSectionHandler(XML_Parser parser,
! 326: XML_StartCdataSectionHandler start);
! 327:
! 328: void
! 329: XML_SetEndCdataSectionHandler(XML_Parser parser,
! 330: XML_EndCdataSectionHandler end);
! 331:
! 332: void
! 333: XML_SetDefaultHandler(XML_Parser parser,
! 334: XML_DefaultHandler handler);
! 335:
! 336: void
! 337: XML_SetDefaultHandlerExpand(XML_Parser parser,
! 338: XML_DefaultHandler handler);
! 339:
! 340: void
! 341: XML_SetDoctypeDeclHandler(XML_Parser parser,
! 342: XML_StartDoctypeDeclHandler start,
! 343: XML_EndDoctypeDeclHandler end);
! 344:
! 345: void
! 346: XML_SetStartDoctypeDeclHandler(XML_Parser parser,
! 347: XML_StartDoctypeDeclHandler start);
! 348:
! 349: void
! 350: XML_SetEndDoctypeDeclHandler(XML_Parser parser,
! 351: XML_EndDoctypeDeclHandler end);
! 352:
! 353: void
! 354: XML_SetUnparsedEntityDeclHandler(XML_Parser parser,
! 355: XML_UnparsedEntityDeclHandler handler);
! 356:
! 357: void
! 358: XML_SetNotationDeclHandler(XML_Parser parser,
! 359: XML_NotationDeclHandler handler);
! 360:
! 361: void
! 362: XML_SetNamespaceDeclHandler(XML_Parser parser,
! 363: XML_StartNamespaceDeclHandler start,
! 364: XML_EndNamespaceDeclHandler end);
! 365:
! 366: void
! 367: XML_SetStartNamespaceDeclHandler(XML_Parser parser,
! 368: XML_StartNamespaceDeclHandler start);
! 369:
! 370: void
! 371: XML_SetEndNamespaceDeclHandler(XML_Parser parser,
! 372: XML_EndNamespaceDeclHandler end);
! 373:
! 374: void
! 375: XML_SetNotStandaloneHandler(XML_Parser parser,
! 376: XML_NotStandaloneHandler handler);
! 377:
! 378: void
! 379: XML_SetExternalEntityRefHandler(XML_Parser parser,
! 380: XML_ExternalEntityRefHandler handler);
! 381:
! 382: void
! 383: XML_SetExternalEntityRefHandlerArg(XML_Parser parser,
! 384: void *arg);
! 385:
! 386: void
! 387: XML_SetSkippedEntityHandler(XML_Parser parser,
! 388: XML_SkippedEntityHandler handler);
! 389:
! 390: void
! 391: XML_SetUnknownEncodingHandler(XML_Parser parser,
! 392: XML_UnknownEncodingHandler handler,
! 393: void *encodingHandlerData);
! 394:
! 395: void
! 396: XML_DefaultCurrent(XML_Parser parser);
! 397:
! 398: void
! 399: XML_SetReturnNSTriplet(XML_Parser parser, int do_nst);
! 400:
! 401: void
! 402: XML_SetUserData(XML_Parser parser, void *userData);
! 403:
! 404: #define XML_GetUserData(parser) (*(void **)(parser))
! 405:
! 406: enum XML_Status
! 407: XML_SetEncoding(XML_Parser parser, const XML_Char *encoding);
! 408:
! 409: void
! 410: XML_UseParserAsHandlerArg(XML_Parser parser);
! 411:
! 412: enum XML_Error
! 413: XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD);
! 414:
! 415:
! 416: enum XML_Status
! 417: XML_SetBase(XML_Parser parser, const XML_Char *base);
! 418:
! 419: const XML_Char *
! 420: XML_GetBase(XML_Parser parser);
! 421:
! 422: int
! 423: XML_GetSpecifiedAttributeCount(XML_Parser parser);
! 424:
! 425: int
! 426: XML_GetIdAttributeIndex(XML_Parser parser);
! 427:
! 428: enum XML_Status
! 429: XML_Parse(XML_Parser parser, const char *s, int len, int isFinal);
! 430:
! 431: void *
! 432: XML_GetBuffer(XML_Parser parser, int len);
! 433:
! 434: enum XML_Status
! 435: XML_ParseBuffer(XML_Parser parser, int len, int isFinal);
! 436:
! 437: enum XML_Status
! 438: XML_StopParser(XML_Parser parser, XML_Bool resumable);
! 439:
! 440: enum XML_Status
! 441: XML_ResumeParser(XML_Parser parser);
! 442:
! 443: enum XML_Parsing {
! 444: XML_INITIALIZED,
! 445: XML_PARSING,
! 446: XML_FINISHED,
! 447: XML_SUSPENDED
! 448: };
! 449:
! 450: typedef struct {
! 451: enum XML_Parsing parsing;
! 452: XML_Bool finalBuffer;
! 453: } XML_ParsingStatus;
! 454:
! 455: void
! 456: XML_GetParsingStatus(XML_Parser parser, XML_ParsingStatus *status);
! 457:
! 458: XML_Parser
! 459: XML_ExternalEntityParserCreate(XML_Parser parser,
! 460: const XML_Char *context,
! 461: const XML_Char *encoding);
! 462:
! 463: enum XML_ParamEntityParsing {
! 464: XML_PARAM_ENTITY_PARSING_NEVER,
! 465: XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE,
! 466: XML_PARAM_ENTITY_PARSING_ALWAYS
! 467: };
! 468:
! 469: int
! 470: XML_SetParamEntityParsing(XML_Parser parser,
! 471: enum XML_ParamEntityParsing parsing);
! 472:
! 473: enum XML_Error
! 474: XML_GetErrorCode(XML_Parser parser);
! 475:
! 476: int XML_GetCurrentLineNumber(XML_Parser parser);
! 477: int XML_GetCurrentColumnNumber(XML_Parser parser);
! 478: long XML_GetCurrentByteIndex(XML_Parser parser);
! 479:
! 480: int
! 481: XML_GetCurrentByteCount(XML_Parser parser);
! 482:
! 483: const char *
! 484: XML_GetInputContext(XML_Parser parser,
! 485: int *offset,
! 486: int *size);
! 487:
! 488: #define XML_GetErrorLineNumber XML_GetCurrentLineNumber
! 489: #define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber
! 490: #define XML_GetErrorByteIndex XML_GetCurrentByteIndex
! 491:
! 492: void
! 493: XML_FreeContentModel(XML_Parser parser, XML_Content *model);
! 494:
! 495: void *
! 496: XML_MemMalloc(XML_Parser parser, size_t size);
! 497:
! 498: void *
! 499: XML_MemRealloc(XML_Parser parser, void *ptr, size_t size);
! 500:
! 501: void
! 502: XML_MemFree(XML_Parser parser, void *ptr);
! 503:
! 504: void
! 505: XML_ParserFree(XML_Parser parser);
! 506:
! 507: const XML_LChar *
! 508: XML_ErrorString(enum XML_Error code);
! 509:
! 510: const XML_LChar *
! 511: XML_ExpatVersion(void);
! 512:
! 513: typedef struct {
! 514: int major;
! 515: int minor;
! 516: int micro;
! 517: } XML_Expat_Version;
! 518:
! 519: XML_Expat_Version
! 520: XML_ExpatVersionInfo(void);
! 521:
! 522: enum XML_FeatureEnum {
! 523: XML_FEATURE_END = 0,
! 524: XML_FEATURE_UNICODE,
! 525: XML_FEATURE_UNICODE_WCHAR_T,
! 526: XML_FEATURE_DTD,
! 527: XML_FEATURE_CONTEXT_BYTES,
! 528: XML_FEATURE_MIN_SIZE,
! 529: XML_FEATURE_SIZEOF_XML_CHAR,
! 530: XML_FEATURE_SIZEOF_XML_LCHAR,
! 531: XML_FEATURE_NS,
! 532: XML_FEATURE_LARGE_SIZE
! 533: };
! 534:
! 535: typedef struct {
! 536: enum XML_FeatureEnum feature;
! 537: const XML_LChar *name;
! 538: long int value;
! 539: } XML_Feature;
! 540:
! 541: const XML_Feature *
! 542: XML_GetFeatureList(void);
! 543:
! 544:
! 545: #define XML_MAJOR_VERSION 2
! 546: #define XML_MINOR_VERSION 0
! 547: #define XML_MICRO_VERSION 1
! 548:
! 549:
! 550: /****************************************************************************/
! 551:
! 552: #ifdef __GNUC__
! 553: #ifdef __PPC__
! 554: #pragma pack()
! 555: #endif
! 556: #elif defined(__VBCC__)
! 557: #pragma default-align
! 558: #endif
! 559:
! 560: #ifdef __cplusplus
! 561: }
! 562: #endif
! 563:
! 564: /****************************************************************************/
! 565:
! 566: #endif /* EXPAT_EXPAT_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>