Imported Upstream version 2.9.4
[platform/upstream/libxml2.git] / os400 / libxmlrpg / xmlreader.rpgle
1       * Summary: the XMLReader implementation
2       * Description: API of the XML streaming API based on C# interfaces.
3       *
4       * Copy: See Copyright for the status of this software.
5       *
6       * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
7
8       /if not defined(XML_XMLREADER_H__)
9       /define XML_XMLREADER_H__
10
11       /include "libxmlrpg/xmlversion"
12       /include "libxmlrpg/xmlTypesC"
13       /include "libxmlrpg/tree"
14       /include "libxmlrpg/xmlIO"
15
16       /if defined(LIBXML_SCHEMAS_ENABLED)
17       /include "libxmlrpg/relaxng"
18       /include "libxmlrpg/xmlschemas"
19       /endif
20
21       * xmlParserSeverities:
22       *
23       * How severe an error callback is when the per-reader error callback API
24       * is used.
25
26      d xmlParserSeverities...
27      d                 s                   based(######typedef######)
28      d                                     like(xmlCenum)
29      d  XML_PARSER_SEVERITY_VALIDITY_WARNING...
30      d                 c                   1
31      d  XML_PARSER_SEVERITY_VALIDITY_ERROR...
32      d                 c                   2
33      d  XML_PARSER_SEVERITY_WARNING...
34      d                 c                   3
35      d  XML_PARSER_SEVERITY_ERROR...
36      d                 c                   4
37
38       /if defined(LIBXML_READER_ENABLED)
39
40       * xmlTextReaderMode:
41       *
42       * Internal state values for the reader.
43
44      d xmlTextReaderMode...
45      d                 s                   based(######typedef######)
46      d                                     like(xmlCenum)
47      d  XML_TEXTREADER_MODE_INITIAL...
48      d                 c                   0
49      d  XML_TEXTREADER_MODE_INTERACTIVE...
50      d                 c                   1
51      d  XML_TEXTREADER_MODE_ERROR...
52      d                 c                   2
53      d  XML_TEXTREADER_MODE_EOF...
54      d                 c                   3
55      d  XML_TEXTREADER_MODE_CLOSED...
56      d                 c                   4
57      d  XML_TEXTREADER_MODE_READING...
58      d                 c                   5
59
60       * xmlParserProperties:
61       *
62       * Some common options to use with xmlTextReaderSetParserProp, but it
63       * is better to use xmlParserOption and the xmlReaderNewxxx and
64       * xmlReaderForxxx APIs now.
65
66      d xmlParserProperties...
67      d                 s                   based(######typedef######)
68      d                                     like(xmlCenum)
69      d  XML_PARSER_LOADDTD...
70      d                 c                   1
71      d  XML_PARSER_DEFAULTATTRS...
72      d                 c                   2
73      d  XML_PARSER_VALIDATE...
74      d                 c                   3
75      d  XML_PARSER_SUBST_ENTITIES...
76      d                 c                   4
77
78       * xmlReaderTypes:
79       *
80       * Predefined constants for the different types of nodes.
81
82      d xmlReaderTypes  s                   based(######typedef######)
83      d                                     like(xmlCenum)
84      d  XML_READER_TYPE_NONE...
85      d                 c                   0
86      d  XML_READER_TYPE_ELEMENT...
87      d                 c                   1
88      d  XML_READER_TYPE_ATTRIBUTE...
89      d                 c                   2
90      d  XML_READER_TYPE_TEXT...
91      d                 c                   3
92      d  XML_READER_TYPE_CDATA...
93      d                 c                   4
94      d  XML_READER_TYPE_ENTITY_REFERENCE...
95      d                 c                   5
96      d  XML_READER_TYPE_ENTITY...
97      d                 c                   6
98      d  XML_READER_TYPE_PROCESSING_INSTRUCTION...
99      d                 c                   7
100      d  XML_READER_TYPE_COMMENT...
101      d                 c                   8
102      d  XML_READER_TYPE_DOCUMENT...
103      d                 c                   9
104      d  XML_READER_TYPE_DOCUMENT_TYPE...
105      d                 c                   10
106      d  XML_READER_TYPE_DOCUMENT_FRAGMENT...
107      d                 c                   11
108      d  XML_READER_TYPE_NOTATION...
109      d                 c                   12
110      d  XML_READER_TYPE_WHITESPACE...
111      d                 c                   13
112      d  XML_READER_TYPE_SIGNIFICANT_WHITESPACE...
113      d                 c                   14
114      d  XML_READER_TYPE_END_ELEMENT...
115      d                 c                   15
116      d  XML_READER_TYPE_END_ENTITY...
117      d                 c                   16
118      d  XML_READER_TYPE_XML_DECLARATION...
119      d                 c                   17
120
121       * xmlTextReaderPtr:
122       *
123       * Pointer to an xmlReader context.
124
125      d xmlTextReaderPtr...
126      d                 s               *   based(######typedef######)
127
128       * Constructors & Destructor
129
130      d xmlNewTextReader...
131      d                 pr                  extproc('xmlNewTextReader')
132      d                                     like(xmlTextReaderPtr)
133      d  input                              value like(xmlParserInputBufferPtr)
134      d  URI                            *   value options(*string)               const char *
135
136      d xmlNewTextReaderFilename...
137      d                 pr                  extproc('xmlNewTextReaderFilename')
138      d                                     like(xmlTextReaderPtr)
139      d  URI                            *   value options(*string)               const char *
140
141      d xmlFreeTextReader...
142      d                 pr                  extproc('xmlFreeTextReader')
143      d  reader                             value like(xmlTextReaderPtr)
144
145      d xmlTextReaderSetup...
146      d                 pr                  extproc('xmlTextReaderSetup')
147      d                                     like(xmlCint)
148      d  reader                             value like(xmlTextReaderPtr)
149      d  input                              value like(xmlParserInputBufferPtr)
150      d  URL                            *   value options(*string)               const char *
151      d  encoding                       *   value options(*string)               const char *
152      d  options                            value like(xmlCint)
153
154       * Iterators
155
156      d xmlTextReaderRead...
157      d                 pr                  extproc('xmlTextReaderRead')
158      d                                     like(xmlCint)
159      d  reader                             value like(xmlTextReaderPtr)
160
161       /if defined(LIBXML_WRITER_ENABLED)
162      d xmlTextReaderReadInnerXml...
163      d                 pr              *   extproc('xmlTextReaderReadInnerXml') xmlChar *
164      d  reader                             value like(xmlTextReaderPtr)
165
166      d xmlTextReaderReadOuterXml...
167      d                 pr              *   extproc('xmlTextReaderReadOuterXml') xmlChar *
168      d  reader                             value like(xmlTextReaderPtr)
169       /endif
170
171      d xmlTextReaderReadString...
172      d                 pr              *   extproc('xmlTextReaderReadString')   xmlChar *
173      d  reader                             value like(xmlTextReaderPtr)
174
175      d xmlTextReaderReadAttributeValue...
176      d                 pr                  extproc(
177      d                                     'xmlTextReaderReadAttributeValue')
178      d                                     like(xmlCint)
179      d  reader                             value like(xmlTextReaderPtr)
180
181       * Attributes of the node
182
183      d xmlTextReaderAttributeCount...
184      d                 pr                  extproc(
185      d                                     'xmlTextReaderAttributeCount')
186      d                                     like(xmlCint)
187      d  reader                             value like(xmlTextReaderPtr)
188
189      d xmlTextReaderDepth...
190      d                 pr                  extproc('xmlTextReaderDepth')
191      d                                     like(xmlCint)
192      d  reader                             value like(xmlTextReaderPtr)
193
194      d xmlTextReaderHasAttributes...
195      d                 pr                  extproc('xmlTextReaderHasAttributes')
196      d                                     like(xmlCint)
197      d  reader                             value like(xmlTextReaderPtr)
198
199      d xmlTextReaderHasValue...
200      d                 pr                  extproc('xmlTextReaderHasValue')
201      d                                     like(xmlCint)
202      d  reader                             value like(xmlTextReaderPtr)
203
204      d xmlTextReaderIsDefault...
205      d                 pr                  extproc('xmlTextReaderIsDefault')
206      d                                     like(xmlCint)
207      d  reader                             value like(xmlTextReaderPtr)
208
209      d xmlTextReaderIsEmptyElement...
210      d                 pr                  extproc(
211      d                                     'xmlTextReaderIsEmptyElement')
212      d                                     like(xmlCint)
213      d  reader                             value like(xmlTextReaderPtr)
214
215      d xmlTextReaderNodeType...
216      d                 pr                  extproc('xmlTextReaderNodeType')
217      d                                     like(xmlCint)
218      d  reader                             value like(xmlTextReaderPtr)
219
220      d xmlTextReaderQuoteChar...
221      d                 pr                  extproc('xmlTextReaderQuoteChar')
222      d                                     like(xmlCint)
223      d  reader                             value like(xmlTextReaderPtr)
224
225      d xmlTextReaderReadState...
226      d                 pr                  extproc('xmlTextReaderReadState')
227      d                                     like(xmlCint)
228      d  reader                             value like(xmlTextReaderPtr)
229
230      d xmlTextReaderIsNamespaceDecl...
231      d                 pr                  extproc(
232      d                                     'xmlTextReaderIsNamespaceDecl')
233      d                                     like(xmlCint)
234      d  reader                             value like(xmlTextReaderPtr)
235
236      d xmlTextReaderConstBaseUri...
237      d                 pr              *   extproc('xmlTextReaderConstBaseUri') const xmlChar *
238      d  reader                             value like(xmlTextReaderPtr)
239
240      d xmlTextReaderConstLocalName...
241      d                 pr              *   extproc(                             const xmlChar *
242      d                                     'xmlTextReaderConstLocalName')
243      d  reader                             value like(xmlTextReaderPtr)
244
245      d xmlTextReaderConstName...
246      d                 pr              *   extproc('xmlTextReaderConstName')    const xmlChar *
247      d  reader                             value like(xmlTextReaderPtr)
248
249      d xmlTextReaderConstNamespaceUri...
250      d                 pr              *   extproc(                             const xmlChar *
251      d                                     'xmlTextReaderConstNamespaceUri')
252      d  reader                             value like(xmlTextReaderPtr)
253
254      d xmlTextReaderConstPrefix...
255      d                 pr              *   extproc('xmlTextReaderConstPrefix')  const xmlChar *
256      d  reader                             value like(xmlTextReaderPtr)
257
258      d xmlTextReaderConstXmlLang...
259      d                 pr              *   extproc('xmlTextReaderConstXmlLang') const xmlChar *
260      d  reader                             value like(xmlTextReaderPtr)
261
262      d xmlTextReaderConstString...
263      d                 pr              *   extproc('xmlTextReaderConstString')  const xmlChar *
264      d  reader                             value like(xmlTextReaderPtr)
265      d  str                            *   value options(*string)               const xmlChar *
266
267      d xmlTextReaderConstValue...
268      d                 pr              *   extproc('xmlTextReaderConstValue')   const xmlChar *
269      d  reader                             value like(xmlTextReaderPtr)
270
271       * use the Const version of the routine for
272       * better performance and simpler code
273
274      d xmlTextReaderBaseUri...
275      d                 pr              *   extproc('xmlTextReaderBaseUri')      xmlChar *
276      d  reader                             value like(xmlTextReaderPtr)
277
278      d xmlTextReaderLocalName...
279      d                 pr              *   extproc('xmlTextReaderLocalName')    xmlChar *
280      d  reader                             value like(xmlTextReaderPtr)
281
282      d xmlTextReaderName...
283      d                 pr              *   extproc('xmlTextReaderName')         xmlChar *
284      d  reader                             value like(xmlTextReaderPtr)
285
286      d xmlTextReaderNamespaceUri...
287      d                 pr              *   extproc('xmlTextReaderNamespaceUri') xmlChar *
288      d  reader                             value like(xmlTextReaderPtr)
289
290      d xmlTextReaderPrefix...
291      d                 pr              *   extproc('xmlTextReaderPrefix')       xmlChar *
292      d  reader                             value like(xmlTextReaderPtr)
293
294      d xmlTextReaderXmlLang...
295      d                 pr              *   extproc('xmlTextReaderXmlLang')      xmlChar *
296      d  reader                             value like(xmlTextReaderPtr)
297
298      d xmlTextReaderValue...
299      d                 pr              *   extproc('xmlTextReaderValue')        xmlChar *
300      d  reader                             value like(xmlTextReaderPtr)
301
302       * Methods of the XmlTextReader
303
304      d xmlTextReaderClose...
305      d                 pr                  extproc('xmlTextReaderClose')
306      d                                     like(xmlCint)
307      d  reader                             value like(xmlTextReaderPtr)
308
309      d xmlTextReaderGetAttributeNo...
310      d                 pr              *   extproc(                             xmlChar *
311      d                                     'xmlTextReaderGetAttributeNo')
312      d  reader                             value like(xmlTextReaderPtr)
313      d  no                                 value like(xmlCint)
314
315      d xmlTextReaderGetAttribute...
316      d                 pr              *   extproc('xmlTextReaderGetAttribute') xmlChar *
317      d  reader                             value like(xmlTextReaderPtr)
318      d  name                           *   value options(*string)               const xmlChar *
319
320      d xmlTextReaderGetAttributeNs...
321      d                 pr              *   extproc(                             xmlChar *
322      d                                     'xmlTextReaderGetAttributeNs')
323      d  reader                             value like(xmlTextReaderPtr)
324      d  localName                      *   value options(*string)               const xmlChar *
325      d  namespaceURI                   *   value options(*string)               const xmlChar *
326
327      d xmlTextReaderGetRemainder...
328      d                 pr                  extproc('xmlTextReaderGetRemainder')
329      d                                     like(xmlParserInputBufferPtr)
330      d  reader                             value like(xmlTextReaderPtr)
331
332      d xmlTextReaderLookupNamespace...
333      d                 pr              *   extproc(                             xmlChar *
334      d                                     'xmlTextReaderLookupNamespace')
335      d  reader                             value like(xmlTextReaderPtr)
336      d  prefix                         *   value options(*string)               const xmlChar *
337
338      d xmlTextReaderMoveToAttributeNo...
339      d                 pr                  extproc(
340      d                                     'xmlTextReaderMoveToAttributeNo')
341      d                                     like(xmlCint)
342      d  reader                             value like(xmlTextReaderPtr)
343      d  no                                 value like(xmlCint)
344
345      d xmlTextReaderMoveToAttribute...
346      d                 pr                  extproc(
347      d                                     'xmlTextReaderMoveToAttribute')
348      d                                     like(xmlCint)
349      d  reader                             value like(xmlTextReaderPtr)
350      d  name                           *   value options(*string)               const xmlChar *
351
352      d xmlTextReaderMoveToAttributeNs...
353      d                 pr                  extproc(
354      d                                     'xmlTextReaderMoveToAttributeNs')
355      d                                     like(xmlCint)
356      d  reader                             value like(xmlTextReaderPtr)
357      d  localName                      *   value options(*string)               const xmlChar *
358      d  namespaceURI                   *   value options(*string)               const xmlChar *
359
360      d xmlTextReaderMoveToFirstAttribute...
361      d                 pr                  extproc(
362      d                                     'xmlTextReaderMoveToFirstAttribute')
363      d                                     like(xmlCint)
364      d  reader                             value like(xmlTextReaderPtr)
365
366      d xmlTextReaderMoveToNextAttribute...
367      d                 pr                  extproc(
368      d                                     'xmlTextReaderMoveToNextAttribute')
369      d                                     like(xmlCint)
370      d  reader                             value like(xmlTextReaderPtr)
371
372      d xmlTextReaderMoveToElement...
373      d                 pr                  extproc('xmlTextReaderMoveToElement')
374      d                                     like(xmlCint)
375      d  reader                             value like(xmlTextReaderPtr)
376
377      d xmlTextReaderNormalization...
378      d                 pr                  extproc('xmlTextReaderNormalization')
379      d                                     like(xmlCint)
380      d  reader                             value like(xmlTextReaderPtr)
381
382      d xmlTextReaderConstEncoding...
383      d                 pr              *   extproc('xmlTextReaderConstEncoding')const xmlChar *
384      d  reader                             value like(xmlTextReaderPtr)
385
386       * Extensions
387
388      d xmlTextReaderSetParserProp...
389      d                 pr                  extproc('xmlTextReaderSetParserProp')
390      d                                     like(xmlCint)
391      d  reader                             value like(xmlTextReaderPtr)
392      d  prop                               value like(xmlCint)
393      d  value                              value like(xmlCint)
394
395      d xmlTextReaderGetParserProp...
396      d                 pr                  extproc('xmlTextReaderGetParserProp')
397      d                                     like(xmlCint)
398      d  reader                             value like(xmlTextReaderPtr)
399      d  prop                               value like(xmlCint)
400
401      d xmlTextReaderCurrentNode...
402      d                 pr                  extproc('xmlTextReaderCurrentNode')
403      d                                     like(xmlNodePtr)
404      d  reader                             value like(xmlTextReaderPtr)
405
406      d xmlTextReaderGetParserLineNumber...
407      d                 pr                  extproc(
408      d                                     'xmlTextReaderGetParserLineNumber')
409      d                                     like(xmlCint)
410      d  reader                             value like(xmlTextReaderPtr)
411
412      d xmlTextReaderGetParserColumnNumber...
413      d                 pr                  extproc(
414      d                                     'xmlTextReaderGetParserColumnNumber')
415      d                                     like(xmlCint)
416      d  reader                             value like(xmlTextReaderPtr)
417
418      d xmlTextReaderPreserve...
419      d                 pr                  extproc('xmlTextReaderPreserve')
420      d                                     like(xmlNodePtr)
421      d  reader                             value like(xmlTextReaderPtr)
422
423       /if defined(LIBXML_PATTERN_ENABLED)
424      d xmlTextReaderPreservePattern...
425      d                 pr                  extproc(
426      d                                     'xmlTextReaderPreservePattern')
427      d                                     like(xmlCint)
428      d  reader                             value like(xmlTextReaderPtr)
429      d  pattern                        *   value options(*string)               const xmlChar *
430      d  namespaces                     *                                        const xmlChar *(*)
431       /endif                                                                    LIBXML_PATTERN_ENBLD
432
433      d xmlTextReaderCurrentDoc...
434      d                 pr                  extproc('xmlTextReaderCurrentDoc')
435      d                                     like(xmlDocPtr)
436      d  reader                             value like(xmlTextReaderPtr)
437
438      d xmlTextReaderExpand...
439      d                 pr                  extproc('xmlTextReaderExpand')
440      d                                     like(xmlNodePtr)
441      d  reader                             value like(xmlTextReaderPtr)
442
443      d xmlTextReaderNext...
444      d                 pr                  extproc('xmlTextReaderNext')
445      d                                     like(xmlCint)
446      d  reader                             value like(xmlTextReaderPtr)
447
448      d xmlTextReaderNextSibling...
449      d                 pr                  extproc('xmlTextReaderNextSibling')
450      d                                     like(xmlCint)
451      d  reader                             value like(xmlTextReaderPtr)
452
453      d xmlTextReaderIsValid...
454      d                 pr                  extproc('xmlTextReaderIsValid')
455      d                                     like(xmlCint)
456      d  reader                             value like(xmlTextReaderPtr)
457
458       /if defined(LIBXML_SCHEMAS_ENABLED)
459      d xmlTextReaderRelaxNGValidate...
460      d                 pr                  extproc(
461      d                                     'xmlTextReaderRelaxNGValidate')
462      d                                     like(xmlCint)
463      d  reader                             value like(xmlTextReaderPtr)
464      d  rng                            *   value options(*string)               const char *
465
466      d xmlTextReaderRelaxNGValidateCtxt...
467      d                 pr                  extproc(
468      d                                     'xmlTextReaderRelaxNGValidateCtxt')
469      d                                     like(xmlCint)
470      d  reader                             value like(xmlTextReaderPtr)
471      d  ctxt                               value like(xmlRelaxNGValidCtxtPtr)
472      d  options                            value like(xmlCint)
473
474      d xmlTextReaderRelaxNGSetSchema...
475      d                 pr                  extproc(
476      d                                     'xmlTextReaderRelaxNGSetSchema')
477      d                                     like(xmlCint)
478      d  reader                             value like(xmlTextReaderPtr)
479      d  schema                             value like(xmlRelaxNGPtr)
480
481      d xmlTextReaderSchemaValidate...
482      d                 pr                  extproc(
483      d                                     'xmlTextReaderSchemaValidate')
484      d                                     like(xmlCint)
485      d  reader                             value like(xmlTextReaderPtr)
486      d  xsd                            *   value options(*string)               const char *
487
488      d xmlTextReaderSchemaValidateCtxt...
489      d                 pr                  extproc(
490      d                                     'xmlTextReaderSchemaValidateCtxt')
491      d                                     like(xmlCint)
492      d  reader                             value like(xmlTextReaderPtr)
493      d  ctxt                               value like(xmlSchemaValidCtxtPtr)
494      d  options                            value like(xmlCint)
495
496      d xmlTextReaderSetSchema...
497      d                 pr                  extproc('xmlTextReaderSetSchema')
498      d                                     like(xmlCint)
499      d  reader                             value like(xmlTextReaderPtr)
500      d  schema                             value like(xmlSchemaPtr)
501       /endif
502
503      d xmlTextReaderConstXmlVersion...
504      d                 pr              *   extproc(                             const xmlChar *
505      d                                     'xmlTextReaderConstXmlVersion')
506      d  reader                             value like(xmlTextReaderPtr)
507
508      d xmlTextReaderStandalone...
509      d                 pr                  extproc('xmlTextReaderStandalone')
510      d                                     like(xmlCint)
511      d  reader                             value like(xmlTextReaderPtr)
512
513       * Index lookup
514
515      d xmlTextReaderByteConsumed...
516      d                 pr                  extproc('xmlTextReaderByteConsumed')
517      d                                     like(xmlClong)
518      d  reader                             value like(xmlTextReaderPtr)
519
520       * New more complete APIs for simpler creation and reuse of readers
521
522      d xmlReaderWalker...
523      d                 pr                  extproc('xmlReaderWalker')
524      d                                     like(xmlTextReaderPtr)
525      d  doc                                value like(xmlDocPtr)
526
527      d xmlReaderForDoc...
528      d                 pr                  extproc('xmlReaderForDoc')
529      d                                     like(xmlTextReaderPtr)
530      d  cur                            *   value options(*string)               const xmlChar *
531      d  URL                            *   value options(*string)               const char *
532      d  encoding                       *   value options(*string)               const char *
533      d  options                            value like(xmlCint)
534
535      d xmlReaderForFile...
536      d                 pr                  extproc('xmlReaderForFile')
537      d                                     like(xmlTextReaderPtr)
538      d  filename                       *   value options(*string)               const char *
539      d  encoding                       *   value options(*string)               const char *
540      d  options                            value like(xmlCint)
541
542      d xmlReaderForMemory...
543      d                 pr                  extproc('xmlReaderForMemory')
544      d                                     like(xmlTextReaderPtr)
545      d  buffer                         *   value options(*string)               const char *
546      d  size                               value like(xmlCint)
547      d  URL                            *   value options(*string)               const char *
548      d  encoding                       *   value options(*string)               const char *
549      d  options                            value like(xmlCint)
550
551      d xmlReaderForFd  pr                  extproc('xmlReaderForFd')
552      d                                     like(xmlTextReaderPtr)
553      d  fd                                 value like(xmlCint)
554      d  URL                            *   value options(*string)               const char *
555      d  encoding                       *   value options(*string)               const char *
556      d  options                            value like(xmlCint)
557
558      d xmlReaderForIO  pr                  extproc('xmlReaderForIO')
559      d                                     like(xmlTextReaderPtr)
560      d  ioread                             value like(xmlInputReadCallback)
561      d  ioclose                            value like(xmlInputCloseCallback)
562      d  ioctx                          *   value                                void *
563      d  URL                            *   value options(*string)               const char *
564      d  encoding                       *   value options(*string)               const char *
565      d  options                            value like(xmlCint)
566
567      d xmlReaderNewWalker...
568      d                 pr                  extproc('xmlReaderNewWalker')
569      d                                     like(xmlCint)
570      d  reader                             value like(xmlTextReaderPtr)
571      d  doc                                value like(xmlDocPtr)
572
573      d xmlReaderNewDoc...
574      d                 pr                  extproc('xmlReaderNewDoc')
575      d                                     like(xmlCint)
576      d  reader                             value like(xmlTextReaderPtr)
577      d  cur                            *   value options(*string)               const xmlChar *
578      d  URL                            *   value options(*string)               const char *
579      d  encoding                       *   value options(*string)               const char *
580      d  options                            value like(xmlCint)
581
582      d xmlReaderNewFile...
583      d                 pr                  extproc('xmlReaderNewFile')
584      d                                     like(xmlCint)
585      d  reader                             value like(xmlTextReaderPtr)
586      d  filename                       *   value options(*string)               const char *
587      d  encoding                       *   value options(*string)               const char *
588      d  options                            value like(xmlCint)
589
590      d xmlReaderNewMemory...
591      d                 pr                  extproc('xmlReaderNewMemory')
592      d                                     like(xmlCint)
593      d  reader                             value like(xmlTextReaderPtr)
594      d  buffer                         *   value options(*string)               const char *
595      d  size                               value like(xmlCint)
596      d  URL                            *   value options(*string)               const char *
597      d  encoding                       *   value options(*string)               const char *
598      d  options                            value like(xmlCint)
599
600      d xmlReaderNewFd  pr                  extproc('xmlReaderNewFd')
601      d                                     like(xmlCint)
602      d  reader                             value like(xmlTextReaderPtr)
603      d  fd                                 value like(xmlCint)
604      d  URL                            *   value options(*string)               const char *
605      d  encoding                       *   value options(*string)               const char *
606      d  options                            value like(xmlCint)
607
608      d xmlReaderNewIO  pr                  extproc('xmlReaderNewIO')
609      d                                     like(xmlCint)
610      d  reader                             value like(xmlTextReaderPtr)
611      d  ioread                             value like(xmlInputReadCallback)
612      d  ioclose                            value like(xmlInputCloseCallback)
613      d  ioctx                          *   value                                void *
614      d  URL                            *   value options(*string)               const char *
615      d  encoding                       *   value options(*string)               const char *
616      d  options                            value like(xmlCint)
617
618       * Error handling extensions
619
620      d xmlTextReaderLocatorPtr...
621      d                 s               *   based(######typedef######)           void *
622
623       * xmlTextReaderErrorFunc:
624       * @arg: the user argument
625       * @msg: the message
626       * @severity: the severity of the error
627       * @locator: a locator indicating where the error occured
628       *
629       * Signature of an error callback from a reader parser
630
631      d xmlTextReaderErrorFunc...
632      d                 s               *   based(######typedef######)
633      d                                     procptr
634
635      d xmlTextReaderLocatorLineNumber...
636      d                 pr                  extproc(
637      d                                     'xmlTextReaderLocatorLineNumber')
638      d                                     like(xmlCint)
639      d  locator                            value like(xmlTextReaderLocatorPtr)
640
641      d xmlTextReaderLocatorBaseURI...
642      d                 pr              *   extproc(                             xmlChar *
643      d                                     'xmlTextReaderLocatorBaseURI')
644      d  locator                            value like(xmlTextReaderLocatorPtr)
645
646      d xmlTextReaderSetErrorHandler...
647      d                 pr                  extproc(
648      d                                     'xmlTextReaderSetErrorHandler')
649      d  reader                             value like(xmlTextReaderPtr)
650      d  f                                  value like(xmlTextReaderErrorFunc)
651      d  arg                            *   value                                void *
652
653      d xmlTextReaderSetStructuredErrorHandler...
654      d                 pr                  extproc('xmlTextReaderSetStructuredE-
655      d                                     rrorHandler')
656      d  reader                             value like(xmlTextReaderPtr)
657      d  f                                  value like(xmlStructuredErrorFunc)
658      d  arg                            *   value                                void *
659
660      d xmlTextReaderGetErrorHandler...
661      d                 pr                  extproc(
662      d                                     'xmlTextReaderGetErrorHandler')
663      d  reader                             value like(xmlTextReaderPtr)
664      d  f                                  like(xmlTextReaderErrorFunc)
665      d  arg                            *                                        void *(*)
666
667       /endif                                                                    LIBXML_READER_ENABLD
668       /endif                                                                    XML_XMLREADER_H__