• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/expat-2.0.1/amiga/include/libraries/
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
31extern "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
51typedef char XML_Char;
52typedef char XML_LChar;
53typedef long XML_Index;
54typedef unsigned long XML_Size;
55
56struct XML_ParserStruct;
57typedef struct XML_ParserStruct *XML_Parser;
58
59typedef unsigned char XML_Bool;
60#define XML_TRUE   ((XML_Bool) 1)
61#define XML_FALSE  ((XML_Bool) 0)
62
63enum 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
72enum 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
116enum 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
125enum XML_Content_Quant {
126  XML_CQUANT_NONE,
127  XML_CQUANT_OPT,
128  XML_CQUANT_REP,
129  XML_CQUANT_PLUS
130};
131
132typedef struct XML_cp XML_Content;
133
134struct 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
143typedef void (*XML_ElementDeclHandler) (void *userData,
144                                        const XML_Char *name,
145                                        XML_Content *model);
146
147void
148XML_SetElementDeclHandler(XML_Parser parser,
149                          XML_ElementDeclHandler eldecl);
150
151typedef 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
159void
160XML_SetAttlistDeclHandler(XML_Parser parser,
161                          XML_AttlistDeclHandler attdecl);
162
163typedef void (*XML_XmlDeclHandler) (void *userData,
164                                    const XML_Char *version,
165                                    const XML_Char *encoding,
166                                    int             standalone);
167
168void
169XML_SetXmlDeclHandler(XML_Parser parser,
170                      XML_XmlDeclHandler xmldecl);
171
172
173typedef 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
179XML_Parser
180XML_ParserCreate(const XML_Char *encoding);
181
182XML_Parser
183XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator);
184
185
186XML_Parser
187XML_ParserCreate_MM(const XML_Char *encoding,
188                    const XML_Memory_Handling_Suite *memsuite,
189                    const XML_Char *namespaceSeparator);
190
191XML_Bool
192XML_ParserReset(XML_Parser parser, const XML_Char *encoding);
193
194typedef void (*XML_StartElementHandler) (void *userData,
195                                         const XML_Char *name,
196                                         const XML_Char **atts);
197
198typedef void (*XML_EndElementHandler) (void *userData,
199                                       const XML_Char *name);
200
201
202typedef void (*XML_CharacterDataHandler) (void *userData,
203                                          const XML_Char *s,
204                                          int len);
205
206typedef void (*XML_ProcessingInstructionHandler) (
207                                                void *userData,
208                                                const XML_Char *target,
209                                                const XML_Char *data);
210
211typedef void (*XML_CommentHandler) (void *userData,
212                                    const XML_Char *data);
213
214typedef void (*XML_StartCdataSectionHandler) (void *userData);
215typedef void (*XML_EndCdataSectionHandler) (void *userData);
216
217typedef void (*XML_DefaultHandler) (void *userData,
218                                    const XML_Char *s,
219                                    int len);
220
221typedef 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
228typedef void (*XML_EndDoctypeDeclHandler)(void *userData);
229
230typedef 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
241void
242XML_SetEntityDeclHandler(XML_Parser parser,
243                         XML_EntityDeclHandler handler);
244
245typedef 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
253typedef 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
260typedef void (*XML_StartNamespaceDeclHandler) (
261                                    void *userData,
262                                    const XML_Char *prefix,
263                                    const XML_Char *uri);
264
265typedef void (*XML_EndNamespaceDeclHandler) (
266                                    void *userData,
267                                    const XML_Char *prefix);
268
269typedef int (*XML_NotStandaloneHandler) (void *userData);
270
271typedef 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
278typedef void (*XML_SkippedEntityHandler) (
279                                    void *userData,
280                                    const XML_Char *entityName,
281                                    int is_parameter_entity);
282
283typedef 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
290typedef int (*XML_UnknownEncodingHandler) (
291                                    void *encodingHandlerData,
292                                    const XML_Char *name,
293                                    XML_Encoding *info);
294
295void
296XML_SetElementHandler(XML_Parser parser,
297                      XML_StartElementHandler start,
298                      XML_EndElementHandler end);
299
300void
301XML_SetStartElementHandler(XML_Parser parser,
302                           XML_StartElementHandler handler);
303
304void
305XML_SetEndElementHandler(XML_Parser parser,
306                         XML_EndElementHandler handler);
307
308void
309XML_SetCharacterDataHandler(XML_Parser parser,
310                            XML_CharacterDataHandler handler);
311
312void
313XML_SetProcessingInstructionHandler(XML_Parser parser,
314                                    XML_ProcessingInstructionHandler handler);
315void
316XML_SetCommentHandler(XML_Parser parser,
317                      XML_CommentHandler handler);
318
319void
320XML_SetCdataSectionHandler(XML_Parser parser,
321                           XML_StartCdataSectionHandler start,
322                           XML_EndCdataSectionHandler end);
323
324void
325XML_SetStartCdataSectionHandler(XML_Parser parser,
326                                XML_StartCdataSectionHandler start);
327
328void
329XML_SetEndCdataSectionHandler(XML_Parser parser,
330                              XML_EndCdataSectionHandler end);
331
332void
333XML_SetDefaultHandler(XML_Parser parser,
334                      XML_DefaultHandler handler);
335
336void
337XML_SetDefaultHandlerExpand(XML_Parser parser,
338                            XML_DefaultHandler handler);
339
340void
341XML_SetDoctypeDeclHandler(XML_Parser parser,
342                          XML_StartDoctypeDeclHandler start,
343                          XML_EndDoctypeDeclHandler end);
344
345void
346XML_SetStartDoctypeDeclHandler(XML_Parser parser,
347                               XML_StartDoctypeDeclHandler start);
348
349void
350XML_SetEndDoctypeDeclHandler(XML_Parser parser,
351                             XML_EndDoctypeDeclHandler end);
352
353void
354XML_SetUnparsedEntityDeclHandler(XML_Parser parser,
355                                 XML_UnparsedEntityDeclHandler handler);
356
357void
358XML_SetNotationDeclHandler(XML_Parser parser,
359                           XML_NotationDeclHandler handler);
360
361void
362XML_SetNamespaceDeclHandler(XML_Parser parser,
363                            XML_StartNamespaceDeclHandler start,
364                            XML_EndNamespaceDeclHandler end);
365
366void
367XML_SetStartNamespaceDeclHandler(XML_Parser parser,
368                                 XML_StartNamespaceDeclHandler start);
369
370void
371XML_SetEndNamespaceDeclHandler(XML_Parser parser,
372                               XML_EndNamespaceDeclHandler end);
373
374void
375XML_SetNotStandaloneHandler(XML_Parser parser,
376                            XML_NotStandaloneHandler handler);
377
378void
379XML_SetExternalEntityRefHandler(XML_Parser parser,
380                                XML_ExternalEntityRefHandler handler);
381
382void
383XML_SetExternalEntityRefHandlerArg(XML_Parser parser,
384                                   void *arg);
385
386void
387XML_SetSkippedEntityHandler(XML_Parser parser,
388                            XML_SkippedEntityHandler handler);
389
390void
391XML_SetUnknownEncodingHandler(XML_Parser parser,
392                              XML_UnknownEncodingHandler handler,
393                              void *encodingHandlerData);
394
395void
396XML_DefaultCurrent(XML_Parser parser);
397
398void
399XML_SetReturnNSTriplet(XML_Parser parser, int do_nst);
400
401void
402XML_SetUserData(XML_Parser parser, void *userData);
403
404#define XML_GetUserData(parser) (*(void **)(parser))
405
406enum XML_Status
407XML_SetEncoding(XML_Parser parser, const XML_Char *encoding);
408
409void
410XML_UseParserAsHandlerArg(XML_Parser parser);
411
412enum XML_Error
413XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD);
414
415
416enum XML_Status
417XML_SetBase(XML_Parser parser, const XML_Char *base);
418
419const XML_Char *
420XML_GetBase(XML_Parser parser);
421
422int
423XML_GetSpecifiedAttributeCount(XML_Parser parser);
424
425int
426XML_GetIdAttributeIndex(XML_Parser parser);
427
428enum XML_Status
429XML_Parse(XML_Parser parser, const char *s, int len, int isFinal);
430
431void *
432XML_GetBuffer(XML_Parser parser, int len);
433
434enum XML_Status
435XML_ParseBuffer(XML_Parser parser, int len, int isFinal);
436
437enum XML_Status
438XML_StopParser(XML_Parser parser, XML_Bool resumable);
439
440enum XML_Status
441XML_ResumeParser(XML_Parser parser);
442
443enum XML_Parsing {
444  XML_INITIALIZED,
445  XML_PARSING,
446  XML_FINISHED,
447  XML_SUSPENDED
448};
449
450typedef struct {
451  enum XML_Parsing parsing;
452  XML_Bool finalBuffer;
453} XML_ParsingStatus;
454
455void
456XML_GetParsingStatus(XML_Parser parser, XML_ParsingStatus *status);
457
458XML_Parser
459XML_ExternalEntityParserCreate(XML_Parser parser,
460                               const XML_Char *context,
461                               const XML_Char *encoding);
462
463enum XML_ParamEntityParsing {
464  XML_PARAM_ENTITY_PARSING_NEVER,
465  XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE,
466  XML_PARAM_ENTITY_PARSING_ALWAYS
467};
468
469int
470XML_SetParamEntityParsing(XML_Parser parser,
471                          enum XML_ParamEntityParsing parsing);
472
473enum XML_Error
474XML_GetErrorCode(XML_Parser parser);
475
476int XML_GetCurrentLineNumber(XML_Parser parser);
477int XML_GetCurrentColumnNumber(XML_Parser parser);
478long XML_GetCurrentByteIndex(XML_Parser parser);
479
480int
481XML_GetCurrentByteCount(XML_Parser parser);
482
483const char *
484XML_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
492void
493XML_FreeContentModel(XML_Parser parser, XML_Content *model);
494
495void *
496XML_MemMalloc(XML_Parser parser, size_t size);
497
498void *
499XML_MemRealloc(XML_Parser parser, void *ptr, size_t size);
500
501void
502XML_MemFree(XML_Parser parser, void *ptr);
503
504void
505XML_ParserFree(XML_Parser parser);
506
507const XML_LChar *
508XML_ErrorString(enum XML_Error code);
509
510const XML_LChar *
511XML_ExpatVersion(void);
512
513typedef struct {
514  int major;
515  int minor;
516  int micro;
517} XML_Expat_Version;
518
519XML_Expat_Version
520XML_ExpatVersionInfo(void);
521
522enum 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
535typedef struct {
536  enum XML_FeatureEnum  feature;
537  const XML_LChar       *name;
538  long int              value;
539} XML_Feature;
540
541const XML_Feature *
542XML_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 */
567