Annotation of embedaddon/expat/amiga/include/libraries/expat.h, revision 1.1.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>