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__
673