rolled back to 2.9.2 because 2.9.4 doesn't work with XML validator
[platform/upstream/libxml2.git] / os400 / libxmlrpg / xpathInternals.rpgle
1       * Summary: internal interfaces for XML Path Language implementation
2       * Description: internal interfaces for XML Path Language implementation
3       *              used to build new modules on top of XPath like XPointer and
4       *              XSLT
5       *
6       * Copy: See Copyright for the status of this software.
7       *
8       * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
9
10       /if not defined(XML_XPATH_INTERNALS_H__)
11       /define XML_XPATH_INTERNALS_H__
12
13       /include "libxmlrpg/xmlversion"
14       /include "libxmlrpg/xpath"
15
16       /if defined(LIBXML_XPATH_ENABLED)
17
18       ************************************************************************
19       *                                                                      *
20       *                            Helpers                                   *
21       *                                                                      *
22       ************************************************************************
23
24       * Many of these macros may later turn into functions. They
25       * shouldn't be used in #ifdef's preprocessor instructions.
26
27      d xmlXPathPopBoolean...
28      d                 pr            10i 0 extproc('xmlXPathPopBoolean')
29      d  ctxt                               value like(xmlXPathParserContextPtr)
30
31      d xmlXPathPopNumber...
32      d                 pr             8f   extproc('xmlXPathPopNumber')
33      d  ctxt                               value like(xmlXPathParserContextPtr)
34
35      d xmlXPathPopString...
36      d                 pr              *   extproc('xmlXPathPopString')         xmlChar *
37      d  ctxt                               value like(xmlXPathParserContextPtr)
38
39      d xmlXPathPopNodeSet...
40      d                 pr                  extproc('xmlXPathPopNodeSet')
41      d                                     like(xmlNodeSetPtr)
42      d  ctxt                               value like(xmlXPathParserContextPtr)
43
44      d xmlXPathPopExternal...
45      d                 pr              *   extproc('xmlXPathPopExternal')       void *
46      d  ctxt                               value like(xmlXPathParserContextPtr)
47
48       * Variable Lookup forwarding.
49
50      d xmlXPathRegisterVariableLookup...
51      d                 pr                  extproc(
52      d                                     'xmlXPathRegisterVariableLookup')
53      d  ctxt                               value like(xmlXPathContextPtr)
54      d  f                                  value
55      d                                     like(xmlXPathVariableLookupFunc)
56      d  data                           *   value                                void *
57
58       * Function Lookup forwarding.
59
60      d xmlXPathRegisterFuncLookup...
61      d                 pr                  extproc('xmlXPathRegisterFuncLookup')
62      d  ctxt                               value like(xmlXPathContextPtr)
63      d  f                                  value like(xmlXPathFuncLookupFunc)
64      d  funcCtxt                       *   value                                void *
65
66       * Error reporting.
67       * Note this procedure is renamed in RPG to avoid character case clash with
68       *   data type xmlXPathError.
69
70      d xmlXPathReportError...
71      d                 pr                  extproc('xmlXPatherror')
72      d  ctxt                               value like(xmlXPathParserContextPtr)
73      d  file                           *   value options(*string)               const char *
74      d  line                         10i 0 value
75      d  no                           10i 0 value
76
77      d xmlXPathErr     pr                  extproc('xmlXPathErr')
78      d  ctxt                               value like(xmlXPathParserContextPtr)
79      d  error                        10i 0 value
80
81       /if defined(LIBXML_DEBUG_ENABLED)
82      d xmlXPathDebugDumpObject...
83      d                 pr                  extproc('xmlXPathDebugDumpObject')
84      d  output                         *   value                                FILE *
85      d  cur                                value like(xmlXPathObjectPtr)
86      d  depth                        10i 0 value
87
88      d xmlXPathDebugDumpCompExpr...
89      d                 pr                  extproc('xmlXPathDebugDumpCompExpr')
90      d  output                         *   value                                FILE *
91      d  comp                               value like(xmlXPathCompExprPtr)
92      d  depth                        10i 0 value
93       /endif
94
95       * NodeSet handling.
96
97      d xmlXPathNodeSetContains...
98      d                 pr            10i 0 extproc('xmlXPathNodeSetContains')
99      d  cur                                value like(xmlNodeSetPtr)
100      d  val                                value like(xmlNodePtr)
101
102      d xmlXPathDifference...
103      d                 pr                  extproc('xmlXPathDifference')
104      d                                     like(xmlNodeSetPtr)
105      d  nodes1                             value like(xmlNodeSetPtr)
106      d  nodes2                             value like(xmlNodeSetPtr)
107
108      d xmlXPathIntersection...
109      d                 pr                  extproc('xmlXPathIntersection')
110      d                                     like(xmlNodeSetPtr)
111      d  nodes1                             value like(xmlNodeSetPtr)
112      d  nodes2                             value like(xmlNodeSetPtr)
113
114      d xmlXPathDistinctSorted...
115      d                 pr                  extproc('xmlXPathDistinctSorted')
116      d                                     like(xmlNodeSetPtr)
117      d  nodes                              value like(xmlNodeSetPtr)
118
119      d xmlXPathDistinct...
120      d                 pr                  extproc('xmlXPathDistinct')
121      d                                     like(xmlNodeSetPtr)
122      d  nodes                              value like(xmlNodeSetPtr)
123
124      d xmlXPathHasSameNodes...
125      d                 pr            10i 0 extproc('xmlXPathHasSameNodes')
126      d  nodes1                             value like(xmlNodeSetPtr)
127      d  nodes2                             value like(xmlNodeSetPtr)
128
129      d xmlXPathNodeLeadingSorted...
130      d                 pr                  extproc('xmlXPathNodeLeadingSorted')
131      d                                     like(xmlNodeSetPtr)
132      d  nodes                              value like(xmlNodeSetPtr)
133      d  node                               value like(xmlNodePtr)
134
135      d xmlXPathLeadingSorted...
136      d                 pr                  extproc('xmlXPathLeadingSorted')
137      d                                     like(xmlNodeSetPtr)
138      d  nodes1                             value like(xmlNodeSetPtr)
139      d  nodes2                             value like(xmlNodeSetPtr)
140
141      d xmlXPathNodeLeading...
142      d                 pr                  extproc('xmlXPathNodeLeading')
143      d                                     like(xmlNodeSetPtr)
144      d  nodes                              value like(xmlNodeSetPtr)
145      d  node                               value like(xmlNodePtr)
146
147      d xmlXPathLeading...
148      d                 pr                  extproc('xmlXPathLeading')
149      d                                     like(xmlNodeSetPtr)
150      d  nodes1                             value like(xmlNodeSetPtr)
151      d  nodes2                             value like(xmlNodeSetPtr)
152
153      d xmlXPathNodeTrailingSorted...
154      d                 pr                  extproc('xmlXPathNodeTrailingSorted')
155      d                                     like(xmlNodeSetPtr)
156      d  nodes                              value like(xmlNodeSetPtr)
157      d  node                               value like(xmlNodePtr)
158
159      d xmlXPathTrailingSorted...
160      d                 pr                  extproc('xmlXPathTrailingSorted')
161      d                                     like(xmlNodeSetPtr)
162      d  nodes1                             value like(xmlNodeSetPtr)
163      d  nodes2                             value like(xmlNodeSetPtr)
164
165      d xmlXPathNodeTrailing...
166      d                 pr                  extproc('xmlXPathNodeTrailing')
167      d                                     like(xmlNodeSetPtr)
168      d  nodes                              value like(xmlNodeSetPtr)
169      d  node                               value like(xmlNodePtr)
170
171      d xmlXPathTrailing...
172      d                 pr                  extproc('xmlXPathTrailing')
173      d                                     like(xmlNodeSetPtr)
174      d  nodes1                             value like(xmlNodeSetPtr)
175      d  nodes2                             value like(xmlNodeSetPtr)
176
177       * Extending a context.
178
179      d xmlXPathRegisterNs...
180      d                 pr            10i 0 extproc('xmlXPathRegisterNs')
181      d  ctxt                               value like(xmlXPathContextPtr)
182      d  prefix                         *   value options(*string)               const xmlChar *
183      d  ns_uri                         *   value options(*string)               const xmlChar *
184
185      d xmlXPathNsLookup...
186      d                 pr              *   extproc('xmlXPathNsLookup')          const xmlChar *
187      d  ctxt                               value like(xmlXPathContextPtr)
188      d  prefix                         *   value options(*string)               const xmlChar *
189
190      d xmlXPathRegisteredNsCleanup...
191      d                 pr                  extproc(
192      d                                     'xmlXPathRegisteredNsCleanup')
193      d  ctxt                               value like(xmlXPathContextPtr)
194
195      d xmlXPathRegisterFunc...
196      d                 pr            10i 0 extproc('xmlXPathRegisterFunc')
197      d  ctxt                               value like(xmlXPathContextPtr)
198      d  name                           *   value options(*string)               const xmlChar *
199      d  f                                  value like(xmlXPathFunction)
200
201      d xmlXPathRegisterFuncNS...
202      d                 pr            10i 0 extproc('xmlXPathRegisterFuncNS')
203      d  ctxt                               value like(xmlXPathContextPtr)
204      d  name                           *   value options(*string)               const xmlChar *
205      d  ns_uri                         *   value options(*string)               const xmlChar *
206      d  f                                  value like(xmlXPathFunction)
207
208      d xmlXPathRegisterVariable...
209      d                 pr            10i 0 extproc('xmlXPathRegisterVariable')
210      d  ctxt                               value like(xmlXPathContextPtr)
211      d  name                           *   value options(*string)               const xmlChar *
212      d  value                              value like(xmlXPathObjectPtr)
213
214      d xmlXPathRegisterVariableNS...
215      d                 pr            10i 0 extproc('xmlXPathRegisterVariableNS')
216      d  ctxt                               value like(xmlXPathContextPtr)
217      d  name                           *   value options(*string)               const xmlChar *
218      d  ns_uri                         *   value options(*string)               const xmlChar *
219      d  value                              value like(xmlXPathObjectPtr)
220
221      d xmlXPathFunctionLookup...
222      d                 pr                  extproc('xmlXPathFunctionLookup')
223      d                                     like(xmlXPathFunction)
224      d  ctxt                               value like(xmlXPathContextPtr)
225      d  name                           *   value options(*string)               const xmlChar *
226
227      d xmlXPathFunctionLookupNS...
228      d                 pr                  extproc('xmlXPathFunctionLookupNS')
229      d                                     like(xmlXPathFunction)
230      d  ctxt                               value like(xmlXPathContextPtr)
231      d  name                           *   value options(*string)               const xmlChar *
232      d  ns_uri                         *   value options(*string)               const xmlChar *
233
234      d xmlXPathRegisteredFuncsCleanup...
235      d                 pr                  extproc(
236      d                                     'xmlXPathRegisteredFuncsCleanup')
237      d  ctxt                               value like(xmlXPathContextPtr)
238
239      d xmlXPathVariableLookup...
240      d                 pr                  extproc('xmlXPathVariableLookup')
241      d                                     like(xmlXPathObjectPtr)
242      d  ctxt                               value like(xmlXPathContextPtr)
243      d  name                           *   value options(*string)               const xmlChar *
244
245      d xmlXPathVariableLookupNS...
246      d                 pr                  extproc('xmlXPathVariableLookupNS')
247      d                                     like(xmlXPathObjectPtr)
248      d  ctxt                               value like(xmlXPathContextPtr)
249      d  name                           *   value options(*string)               const xmlChar *
250      d  ns_uri                         *   value options(*string)               const xmlChar *
251
252      d xmlXPathRegisteredVariablesCleanup...
253      d                 pr                  extproc(
254      d                                     'xmlXPathRegisteredVariablesCleanup')
255      d  ctxt                               value like(xmlXPathContextPtr)
256
257       * Utilities to extend XPath.
258
259      d xmlXPathNewParserContext...
260      d                 pr                  extproc('xmlXPathNewParserContext')
261      d                                     like(xmlXPathParserContextPtr)
262      d  str                            *   value options(*string)               const xmlChar *
263      d  ctxt                               value like(xmlXPathContextPtr)
264
265      d xmlXPathFreeParserContext...
266      d                 pr                  extproc('xmlXPathFreeParserContext')
267      d  ctxt                               value like(xmlXPathParserContextPtr)
268
269
270       * TODO: remap to xmlXPathValuePop and Push.
271
272      d valuePop        pr                  extproc('valuePop')
273      d                                     like(xmlXPathObjectPtr)
274      d  ctxt                               value like(xmlXPathParserContextPtr)
275
276      d valuePush       pr            10i 0 extproc('valuePush')
277      d  ctxt                               value like(xmlXPathParserContextPtr)
278      d  value                              value like(xmlXPathObjectPtr)
279
280      d xmlXPathNewString...
281      d                 pr                  extproc('xmlXPathNewString')
282      d                                     like(xmlXPathObjectPtr)
283      d  val                            *   value options(*string)               const xmlChar *
284
285      d xmlXPathNewCString...
286      d                 pr                  extproc('xmlXPathNewCString')
287      d                                     like(xmlXPathObjectPtr)
288      d  val                            *   value options(*string)               const char *
289
290      d xmlXPathWrapString...
291      d                 pr                  extproc('xmlXPathWrapString')
292      d                                     like(xmlXPathObjectPtr)
293      d  val                            *   value options(*string)               xmlChar *
294
295      d xmlXPathWrapCString...
296      d                 pr                  extproc('xmlXPathWrapCString')
297      d                                     like(xmlXPathObjectPtr)
298      d  val                            *   value options(*string)               char *
299
300      d xmlXPathNewFloat...
301      d                 pr                  extproc('xmlXPathNewFloat')
302      d                                     like(xmlXPathObjectPtr)
303      d  val                           8f   value
304
305      d xmlXPathNewBoolean...
306      d                 pr                  extproc('xmlXPathNewBoolean')
307      d                                     like(xmlXPathObjectPtr)
308      d  val                          10i 0 value
309
310      d xmlXPathNewNodeSet...
311      d                 pr                  extproc('xmlXPathNewNodeSet')
312      d                                     like(xmlXPathObjectPtr)
313      d  val                                value like(xmlNodePtr)
314
315      d xmlXPathNewValueTree...
316      d                 pr                  extproc('xmlXPathNewValueTree')
317      d                                     like(xmlXPathObjectPtr)
318      d  val                                value like(xmlNodePtr)
319
320      d xmlXPathNodeSetAdd...
321      d                 pr            10i 0 extproc('xmlXPathNodeSetAdd')
322      d  cur                                value like(xmlNodeSetPtr)
323      d  val                                value like(xmlNodePtr)
324
325      d xmlXPathNodeSetAddUnique...
326      d                 pr            10i 0 extproc('xmlXPathNodeSetAddUnique')
327      d  cur                                value like(xmlNodeSetPtr)
328      d  val                                value like(xmlNodePtr)
329
330      d xmlXPathNodeSetAddNs...
331      d                 pr            10i 0 extproc('xmlXPathNodeSetAddNs')
332      d  cur                                value like(xmlNodeSetPtr)
333      d  node                               value like(xmlNodePtr)
334      d  ns                                 value like(xmlNsPtr)
335
336      d xmlXPathNodeSetSort...
337      d                 pr                  extproc('xmlXPathNodeSetSort')
338      d  set                                value like(xmlNodeSetPtr)
339
340      d xmlXPathRoot    pr                  extproc('xmlXPathRoot')
341      d  ctxt                               value like(xmlXPathParserContextPtr)
342
343      d xmlXPathEvalExpr...
344      d                 pr                  extproc('xmlXPathEvalExpr')
345      d  ctxt                               value like(xmlXPathParserContextPtr)
346
347      d xmlXPathParseName...
348      d                 pr              *   extproc('xmlXPathParseName')         xmlChar *
349      d  ctxt                               value like(xmlXPathParserContextPtr)
350
351      d xmlXPathParseNCName...
352      d                 pr              *   extproc('xmlXPathParseNCName')       xmlChar *
353      d  ctxt                               value like(xmlXPathParserContextPtr)
354
355       * Existing functions.
356
357      d xmlXPathStringEvalNumber...
358      d                 pr             8f   extproc('xmlXPathStringEvalNumber')
359      d  str                            *   value options(*string)               const xmlChar *
360
361      d xmlXPathEvaluatePredicateResult...
362      d                 pr            10i 0 extproc(
363      d                                     'xmlXPathEvaluatePredicateResult')
364      d  ctxt                               value like(xmlXPathParserContextPtr)
365      d  res                                value like(xmlXPathObjectPtr)
366
367      d xmlXPathRegisterAllFunctions...
368      d                 pr                  extproc(
369      d                                     'xmlXPathRegisterAllFunctions')
370      d  ctxt                               value like(xmlXPathContextPtr)
371
372      d xmlXPathNodeSetMerge...
373      d                 pr                  extproc('xmlXPathNodeSetMerge')
374      d                                     like(xmlNodeSetPtr)
375      d  val1                               value like(xmlNodeSetPtr)
376      d  val2                               value like(xmlNodeSetPtr)
377
378      d xmlXPathNodeSetDel...
379      d                 pr                  extproc('xmlXPathNodeSetDel')
380      d  cur                                value like(xmlNodeSetPtr)
381      d  val                                value like(xmlNodePtr)
382
383      d xmlXPathNodeSetRemove...
384      d                 pr                  extproc('xmlXPathNodeSetRemove')
385      d  cur                                value like(xmlNodeSetPtr)
386      d  val                          10i 0 value
387
388      d xmlXPathNewNodeSetList...
389      d                 pr                  extproc('xmlXPathNewNodeSetList')
390      d                                     like(xmlXPathObjectPtr)
391      d  val                                value like(xmlNodeSetPtr)
392
393      d xmlXPathWrapNodeSet...
394      d                 pr                  extproc('xmlXPathWrapNodeSet')
395      d                                     like(xmlXPathObjectPtr)
396      d  val                                value like(xmlNodeSetPtr)
397
398      d xmlXPathWrapExternal...
399      d                 pr                  extproc('xmlXPathWrapExternal')
400      d                                     like(xmlXPathObjectPtr)
401      d  val                            *   value                                void *
402
403      d xmlXPathEqualValues...
404      d                 pr            10i 0 extproc('xmlXPathEqualValues')
405      d  ctxt                               value like(xmlXPathParserContextPtr)
406
407      d xmlXPathNotEqualValues...
408      d                 pr            10i 0 extproc('xmlXPathNotEqualValues')
409      d  ctxt                               value like(xmlXPathParserContextPtr)
410
411      d xmlXPathCompareValues...
412      d                 pr            10i 0 extproc('xmlXPathCompareValues')
413      d  ctxt                               value like(xmlXPathParserContextPtr)
414      d  inf                          10i 0 value
415      d  strict                       10i 0 value
416
417      d xmlXPathValueFlipSign...
418      d                 pr                  extproc('xmlXPathValueFlipSign')
419      d  ctxt                               value like(xmlXPathParserContextPtr)
420
421      d xmlXPathAddValues...
422      d                 pr                  extproc('xmlXPathAddValues')
423      d  ctxt                               value like(xmlXPathParserContextPtr)
424
425      d xmlXPathSubValues...
426      d                 pr                  extproc('xmlXPathSubValues')
427      d  ctxt                               value like(xmlXPathParserContextPtr)
428
429      d xmlXPathMultValues...
430      d                 pr                  extproc('xmlXPathMultValues')
431      d  ctxt                               value like(xmlXPathParserContextPtr)
432
433      d xmlXPathDivValues...
434      d                 pr                  extproc('xmlXPathDivValues')
435      d  ctxt                               value like(xmlXPathParserContextPtr)
436
437      d xmlXPathModValues...
438      d                 pr                  extproc('xmlXPathModValues')
439      d  ctxt                               value like(xmlXPathParserContextPtr)
440
441      d xmlXPathIsNodeType...
442      d                 pr            10i 0 extproc('xmlXPathIsNodeType')
443      d  name                           *   value options(*string)               const xmlChar *
444
445       * Some of the axis navigation routines.
446
447      d xmlXPathNextSelf...
448      d                 pr                  extproc('xmlXPathNextSelf')
449      d                                     like(xmlNodePtr)
450      d  ctxt                               value like(xmlXPathParserContextPtr)
451      d  cur                                value like(xmlNodePtr)
452
453      d xmlXPathNextChild...
454      d                 pr                  extproc('xmlXPathNextChild')
455      d                                     like(xmlNodePtr)
456      d  ctxt                               value like(xmlXPathParserContextPtr)
457      d  cur                                value like(xmlNodePtr)
458
459      d xmlXPathNextDescendant...
460      d                 pr                  extproc('xmlXPathNextDescendant')
461      d                                     like(xmlNodePtr)
462      d  ctxt                               value like(xmlXPathParserContextPtr)
463      d  cur                                value like(xmlNodePtr)
464
465      d xmlXPathNextDescendantOrSelf...
466      d                 pr                  extproc(
467      d                                     'xmlXPathNextDescendantOrSelf')
468      d                                     like(xmlNodePtr)
469      d  ctxt                               value like(xmlXPathParserContextPtr)
470      d  cur                                value like(xmlNodePtr)
471
472      d xmlXPathNextParent...
473      d                 pr                  extproc('xmlXPathNextParent')
474      d                                     like(xmlNodePtr)
475      d  ctxt                               value like(xmlXPathParserContextPtr)
476      d  cur                                value like(xmlNodePtr)
477
478      d xmlXPathNextAncestorOrSelf...
479      d                 pr                  extproc('xmlXPathNextAncestorOrSelf')
480      d                                     like(xmlNodePtr)
481      d  ctxt                               value like(xmlXPathParserContextPtr)
482      d  cur                                value like(xmlNodePtr)
483
484      d xmlXPathNextFollowingSibling...
485      d                 pr                  extproc(
486      d                                     'xmlXPathNextFollowingSibling')
487      d                                     like(xmlNodePtr)
488      d  ctxt                               value like(xmlXPathParserContextPtr)
489      d  cur                                value like(xmlNodePtr)
490
491      d xmlXPathNextFollowing...
492      d                 pr                  extproc('xmlXPathNextFollowing')
493      d                                     like(xmlNodePtr)
494      d  ctxt                               value like(xmlXPathParserContextPtr)
495      d  cur                                value like(xmlNodePtr)
496
497      d xmlXPathNextNamespace...
498      d                 pr                  extproc('xmlXPathNextNamespace')
499      d                                     like(xmlNodePtr)
500      d  ctxt                               value like(xmlXPathParserContextPtr)
501      d  cur                                value like(xmlNodePtr)
502
503      d xmlXPathNextAttribute...
504      d                 pr                  extproc('xmlXPathNextAttribute')
505      d                                     like(xmlNodePtr)
506      d  ctxt                               value like(xmlXPathParserContextPtr)
507      d  cur                                value like(xmlNodePtr)
508
509      d xmlXPathNextPreceding...
510      d                 pr                  extproc('xmlXPathNextPreceding')
511      d                                     like(xmlNodePtr)
512      d  ctxt                               value like(xmlXPathParserContextPtr)
513      d  cur                                value like(xmlNodePtr)
514
515      d xmlXPathNextAncestor...
516      d                 pr                  extproc('xmlXPathNextAncestor')
517      d                                     like(xmlNodePtr)
518      d  ctxt                               value like(xmlXPathParserContextPtr)
519      d  cur                                value like(xmlNodePtr)
520
521      d xmlXPathNextPrecedingSibling...
522      d                 pr                  extproc(
523      d                                     'xmlXPathNextPrecedingSibling')
524      d                                     like(xmlNodePtr)
525      d  ctxt                               value like(xmlXPathParserContextPtr)
526      d  cur                                value like(xmlNodePtr)
527
528       * The official core of XPath functions.
529
530      d xmlXPathLastFunction...
531      d                 pr                  extproc('xmlXPathLastFunction')
532      d  ctxt                               value like(xmlXPathParserContextPtr)
533      d  nargs                        10i 0 value
534
535      d xmlXPathPositionFunction...
536      d                 pr                  extproc('xmlXPathPositionFunction')
537      d  ctxt                               value like(xmlXPathParserContextPtr)
538      d  nargs                        10i 0 value
539
540      d xmlXPathCountFunction...
541      d                 pr                  extproc('xmlXPathCountFunction')
542      d  ctxt                               value like(xmlXPathParserContextPtr)
543      d  nargs                        10i 0 value
544
545      d xmlXPathIdFunction...
546      d                 pr                  extproc('xmlXPathIdFunction')
547      d  ctxt                               value like(xmlXPathParserContextPtr)
548      d  nargs                        10i 0 value
549
550      d xmlXPathLocalNameFunction...
551      d                 pr                  extproc('xmlXPathLocalNameFunction')
552      d  ctxt                               value like(xmlXPathParserContextPtr)
553      d  nargs                        10i 0 value
554
555      d xmlXPathNamespaceURIFunction...
556      d                 pr                  extproc(
557      d                                     'xmlXPathNamespaceURIFunction')
558      d  ctxt                               value like(xmlXPathParserContextPtr)
559      d  nargs                        10i 0 value
560
561      d xmlXPathStringFunction...
562      d                 pr                  extproc('xmlXPathStringFunction')
563      d  ctxt                               value like(xmlXPathParserContextPtr)
564      d  nargs                        10i 0 value
565
566      d xmlXPathStringLengthFunction...
567      d                 pr                  extproc(
568      d                                     'xmlXPathStringLengthFunction')
569      d  ctxt                               value like(xmlXPathParserContextPtr)
570      d  nargs                        10i 0 value
571
572      d xmlXPathConcatFunction...
573      d                 pr                  extproc('xmlXPathConcatFunction')
574      d  ctxt                               value like(xmlXPathParserContextPtr)
575      d  nargs                        10i 0 value
576
577      d xmlXPathContainsFunction...
578      d                 pr                  extproc('xmlXPathContainsFunction')
579      d  ctxt                               value like(xmlXPathParserContextPtr)
580      d  nargs                        10i 0 value
581
582      d xmlXPathStartsWithFunction...
583      d                 pr                  extproc('xmlXPathStartsWithFunction')
584      d  ctxt                               value like(xmlXPathParserContextPtr)
585      d  nargs                        10i 0 value
586
587      d xmlXPathSubstringFunction...
588      d                 pr                  extproc('xmlXPathSubstringFunction')
589      d  ctxt                               value like(xmlXPathParserContextPtr)
590      d  nargs                        10i 0 value
591
592      d xmlXPathSubstringBeforeFunction...
593      d                 pr                  extproc(
594      d                                     'xmlXPathSubstringBeforeFunction')
595      d  ctxt                               value like(xmlXPathParserContextPtr)
596      d  nargs                        10i 0 value
597
598      d xmlXPathSubstringAfterFunction...
599      d                 pr                  extproc(
600      d                                     'xmlXPathSubstringAfterFunction')
601      d  ctxt                               value like(xmlXPathParserContextPtr)
602      d  nargs                        10i 0 value
603
604
605      d xmlXPathNormalizeFunction...
606      d                 pr                  extproc('xmlXPathNormalizeFunction')
607      d  ctxt                               value like(xmlXPathParserContextPtr)
608      d  nargs                        10i 0 value
609
610      d xmlXPathTranslateFunction...
611      d                 pr                  extproc('xmlXPathTranslateFunction')
612      d  ctxt                               value like(xmlXPathParserContextPtr)
613      d  nargs                        10i 0 value
614
615      d xmlXPathNotFunction...
616      d                 pr                  extproc('xmlXPathNotFunction')
617      d  ctxt                               value like(xmlXPathParserContextPtr)
618      d  nargs                        10i 0 value
619
620      d xmlXPathTrueFunction...
621      d                 pr                  extproc('xmlXPathTrueFunction')
622      d  ctxt                               value like(xmlXPathParserContextPtr)
623      d  nargs                        10i 0 value
624
625      d xmlXPathFalseFunction...
626      d                 pr                  extproc('xmlXPathFalseFunction')
627      d  ctxt                               value like(xmlXPathParserContextPtr)
628      d  nargs                        10i 0 value
629
630      d xmlXPathLangFunction...
631      d                 pr                  extproc('xmlXPathLangFunction')
632      d  ctxt                               value like(xmlXPathParserContextPtr)
633      d  nargs                        10i 0 value
634
635      d xmlXPathNumberFunction...
636      d                 pr                  extproc('xmlXPathNumberFunction')
637      d  ctxt                               value like(xmlXPathParserContextPtr)
638      d  nargs                        10i 0 value
639
640      d xmlXPathSumFunction...
641      d                 pr                  extproc('xmlXPathSumFunction')
642      d  ctxt                               value like(xmlXPathParserContextPtr)
643      d  nargs                        10i 0 value
644
645      d xmlXPathFloorFunction...
646      d                 pr                  extproc('xmlXPathFloorFunction')
647      d  ctxt                               value like(xmlXPathParserContextPtr)
648      d  nargs                        10i 0 value
649
650      d xmlXPathCeilingFunction...
651      d                 pr                  extproc('xmlXPathCeilingFunction')
652      d  ctxt                               value like(xmlXPathParserContextPtr)
653      d  nargs                        10i 0 value
654
655      d xmlXPathRoundFunction...
656      d                 pr                  extproc('xmlXPathRoundFunction')
657      d  ctxt                               value like(xmlXPathParserContextPtr)
658      d  nargs                        10i 0 value
659
660      d xmlXPathBooleanFunction...
661      d                 pr                  extproc('xmlXPathBooleanFunction')
662      d  ctxt                               value like(xmlXPathParserContextPtr)
663      d  nargs                        10i 0 value
664
665       * Really internal functions
666
667      d xmlXPathNodeSetFreeNs...
668      d                 pr                  extproc('xmlXPathNodeSetFreeNs')
669      d  ns                                 value like(xmlNsPtr)
670
671       /endif                                                                    LIBXML_XPATH_ENABLED
672       /endif                                                                    XPATH_INTERNALS_H__