1(*
2 * Summary: interface for all global variables of the library
3 * Description: all the global variables and thread handling for
4 *              those variables is handled by this module.
5 *
6 * The bottom of this file is automatically generated by build_glob.py
7 * based on the description file global.data
8 *
9 * Copy: See Copyright for the status of this software.
10 *
11 * Author: Gary Pennington <Gary.Pennington@uk.sun.com>, Daniel Veillard
12 *)
13
14{$IFDEF POINTER}
15  xmlGlobalStatePtr = ^xmlGlobalState;
16  xmlRegisterNodeFuncPtr = ^xmlRegisterNodeFunc;
17  xmlDeregisterNodeFuncPtr = ^xmlDeregisterNodeFunc;
18  xmlParserInputBufferCreateFilenameFuncPtr = ^xmlParserInputBufferCreateFilenameFunc;
19  xmlOutputBufferCreateFilenameFuncPtr = ^xmlOutputBufferCreateFilenameFunc;
20{$ENDIF}
21
22{$IFDEF FUNCTION}
23procedure xmlInitGlobals; EXTDECL; external xml2lib;
24procedure xmlCleanupGlobals; EXTDECL; external xml2lib;
25{$ENDIF}
26
27{$IFDEF TYPE}
28  xmlParserInputBufferCreateFilenameFunc = function(URI: pchar; enc: xmlCharEncoding): xmlParserInputBufferPtr; EXTDECL;
29  xmlOutputBufferCreateFilenameFunc = function(URI: pchar; encoder: xmlCharEncodingHandlerPtr; compression: cint): xmlOutputBufferPtr; EXTDECL;
30{$ENDIF}
31
32{$IFDEF FUNCTION}
33function xmlParserInputBufferCreateFilenameDefault(func: xmlParserInputBufferCreateFilenameFunc): xmlParserInputBufferCreateFilenameFunc; EXTDECL; external xml2lib;
34function xmlOutputBufferCreateFilenameDefault(func: xmlOutputBufferCreateFilenameFunc): xmlOutputBufferCreateFilenameFunc; EXTDECL; external xml2lib;
35{$ENDIF}
36
37(*
38 * Externally global symbols which need to be protected for backwards
39 * compatibility support.
40 *)
41
42{$IFDEF TYPE}
43  xmlRegisterNodeFunc = procedure(node: xmlNodePtr); EXTDECL;
44  xmlDeregisterNodeFunc = procedure(node: xmlNodePtr); EXTDECL;
45
46  xmlGlobalState = record
47    xmlParserVersion                        : pchar;
48
49    xmlDefaultSAXLocator                    : xmlSAXLocator;
50    xmlDefaultSAXHandler                    : xmlSAXHandlerV1;
51    docbDefaultSAXHandler                   : xmlSAXHandlerV1;
52    htmlDefaultSAXHandler                   : xmlSAXHandlerV1;
53
54    xmlFree                                 : xmlFreeFunc;
55    xmlMalloc                               : xmlMallocFunc;
56    xmlMemStrdup                            : xmlStrdupFunc;
57    xmlRealloc                              : xmlReallocFunc;
58
59    xmlGenericError                         : xmlGenericErrorFunc;
60    xmlStructuredError                      : xmlStructuredErrorFunc;
61    xmlGenericErrorContext                  : pointer;
62
63    oldXMLWDcompatibility                   : cint;
64
65    xmlBufferAllocScheme                    : xmlBufferAllocationScheme;
66    xmlDefaultBufferSize                    : cint;
67
68    xmlSubstituteEntitiesDefaultValue       : cint;
69    xmlDoValidityCheckingDefaultValue       : cint;
70    xmlGetWarningsDefaultValue              : cint;
71    xmlKeepBlanksDefaultValue               : cint;
72    xmlLineNumbersDefaultValue              : cint;
73    xmlLoadExtDtdDefaultValue               : cint;
74    xmlParserDebugEntities                  : cint;
75    xmlPedanticParserDefaultValue           : cint;
76
77    xmlSaveNoEmptyTags                      : cint;
78    xmlIndentTreeOutput                     : cint;
79    xmlTreeIndentString                     : pchar;
80
81    xmlRegisterNodeDefaultValue             : xmlRegisterNodeFunc;
82    xmlDeregisterNodeDefaultValue           : xmlDeregisterNodeFunc;
83
84    xmlMallocAtomic                         : xmlMallocFunc;
85    xmlLastError                            : xmlError;
86
87    xmlParserInputBufferCreateFilenameValue : xmlParserInputBufferCreateFilenameFunc;
88    xmlOutputBufferCreateFilenameValue      : xmlOutputBufferCreateFilenameFunc;
89  end;
90{$ENDIF}
91
92{$IFDEF FUNCTION}
93procedure xmlInitializeGlobalState(gs: xmlGlobalStatePtr); EXTDECL; external xml2lib;
94procedure xmlThrDefSetGenericErrorFunc(ctx: pointer; handler: xmlGenericErrorFunc); EXTDECL; external xml2lib;
95procedure xmlThrDefSetStructuredErrorFunc(ctx: pointer; handler: xmlStructuredErrorFunc); EXTDECL; external xml2lib;
96
97function xmlRegisterNodeDefault(func: xmlRegisterNodeFunc): xmlRegisterNodeFunc; EXTDECL; external xml2lib;
98function xmlThrDefRegisterNodeDefault(func: xmlRegisterNodeFunc): xmlRegisterNodeFunc; EXTDECL; external xml2lib;
99function xmlDeregisterNodeDefault(func: xmlRegisterNodeFunc): xmlDeregisterNodeFunc; EXTDECL; external xml2lib;
100function xmlThrDefDeregisterNodeDefault(func: xmlRegisterNodeFunc): xmlDeregisterNodeFunc; EXTDECL; external xml2lib;
101
102function xmlDeregisterNodeDefault(func: xmlOutputBufferCreateFilenameFunc): xmlOutputBufferCreateFilenameFunc; EXTDECL; external xml2lib;
103function xmlThrDefDeregisterNodeDefault(func: xmlParserInputBufferCreateFilenameFunc): xmlParserInputBufferCreateFilenameFunc; EXTDECL; external xml2lib;
104
105(** DOC_DISABLE *)
106(*
107 * In general the memory allocation entry points are not kept
108 * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
109 *    - xmlMalloc
110 *    - xmlMallocAtomic
111 *    - xmlRealloc
112 *    - xmlMemStrdup
113 *    - xmlFree
114 *)
115
116{$IFDEF LIBXML_THREAD_ALLOC_ENABLED}
117{$IFDEF LIBXML_THREAD_ENABLED}
118function __xmlMalloc: xmlMallocFuncPtr; EXTDECL; external xml2lib;
119{$DEFINE xmlMalloc := __xmlMalloc()^ }
120{$ELSE}
121var
122  xmlMalloc: xmlMallocFunc; {$IFNDEF NO_EXTERNAL_VARS}cvar; external;{$ENDIF}
123{$ENDIF}
124
125{$IFDEF LIBXML_THREAD_ENABLED}
126function __xmlMallocAtomic: xmlMallocFuncPtr; EXTDECL; external xml2lib;
127#define xmlMallocAtomic ( *(__xmlMallocAtomic()))
128{$ELSE}
129var
130  xmlMallocAtomic: xmlMallocFunc; {$IFNDEF NO_EXTERNAL_VARS}cvar; external;{$ENDIF}
131{$ENDIF}
132
133{$IFDEF LIBXML_THREAD_ENABLED}
134function __xmlRealloc: xmlReallocFuncPtr; EXTDECL; external xml2lib;
135#define xmlRealloc ( *(__xmlRealloc()))
136{$ELSE}
137var
138  xmlRealloc: xmlReallocFunc; {$IFNDEF NO_EXTERNAL_VARS}cvar; external;{$ENDIF}
139{$ENDIF}
140
141{$IFDEF LIBXML_THREAD_ENABLED}
142function __xmlFree: xmlFreeFuncPtr; EXTDECL; external xml2lib;
143#define xmlFree ( *(__xmlFree()))
144{$ELSE}
145var
146  xmlFree: xmlFreeFunc; {$IFNDEF NO_EXTERNAL_VARS}cvar; external;{$ENDIF}
147{$ENDIF}
148
149{$IFDEF LIBXML_THREAD_ENABLED}
150function __xmlMemStrdup: xmlStrdupFuncPtr; EXTDECL; external xml2lib;
151#define xmlMemStrdup ( *(__xmlMemStrdup()))
152{$ELSE}
153var
154  xmlMemStrdup: xmlStrdupFunc; {$IFNDEF NO_EXTERNAL_VARS}cvar; external;{$ENDIF}
155{$ENDIF}
156
157{$ELSE} (* !LIBXML_THREAD_ALLOC_ENABLED *)
158{$IFDEF NO_EXTERNAL_VARS}
159var
160  varxmlMalloc: PxmlMallocFunc;
161  varxmlMallocAtomic: PxmlMallocFunc;
162  varxmlRealloc: PxmlReallocFunc;
163  varxmlFree: PxmlFreeFunc;
164  varxmlMemStrdup: PxmlStrdupFunc;
165
166function GetxmlMalloc: xmlMallocFunc; inline;
167procedure SetxmlMalloc(AValue: xmlMallocFunc); inline;
168function GetxmlMallocAtomic: xmlMallocFunc; inline;
169procedure SetxmlMallocAtomic(AValue: xmlMallocFunc); inline;
170function GetxmlRealloc: xmlReallocFunc; inline;
171procedure SetxmlRealloc(AValue: xmlReallocFunc); inline;
172function GetxmlFree: xmlFreeFunc; inline;
173procedure SetxmlFree(AValue: xmlFreeFunc); inline;
174function GetxmlMemStrdup: xmlStrdupFunc; inline;
175procedure SetxmlMemStrdup(AValue: xmlStrdupFunc); inline;
176
177property xmlMalloc: xmlMallocFunc read GetxmlMalloc write SetxmlMalloc;
178property xmlMallocAtomic: xmlMallocFunc read GetxmlMallocAtomic write SetxmlMallocAtomic;
179property xmlRealloc: xmlReallocFunc read GetxmlRealloc write SetxmlRealloc;
180property xmlFree: xmlFreeFunc read GetxmlFree write SetxmlFree;
181property xmlMemStrdup: xmlStrdupFunc read GetxmlMemStrdup write SetxmlMemStrdup;
182
183{$ELSE}
184var
185  xmlMalloc: xmlMallocFunc; cvar; external;
186  xmlMallocAtomic: xmlMallocFunc; cvar; external;
187  xmlRealloc: xmlReallocFunc; cvar; external;
188  xmlFree: xmlFreeFunc; cvar; external;
189  xmlMemStrdup: xmlStrdupFunc; cvar; external;
190{$ENDIF}
191{$ENDIF} (* LIBXML_THREAD_ALLOC_ENABLED *)
192
193{$IFDEF LIBXML_DOCB_ENABLED}
194function __docbDefaultSAXHandler: xmlSAXHandlerV1Ptr; EXTDECL; external xml2lib;
195{$IFDEF LIBXML_THREAD_ENABLED}
196{$DEFINE docbDefaultSAXHandler := __docbDefaultSAXHandler()^ }
197{$ELSE}
198{$IFNDEF NO_EXTERNAL_VARS}
199var
200  docbDefaultSAXHandler: xmlSAXHandlerV1; cvar; external;
201{$ENDIF}
202{$ENDIF}
203{$ENDIF}
204
205{$IFDEF LIBXML_HTML_ENABLED}
206function __htmlDefaultSAXHandler: xmlSAXHandlerV1Ptr; EXTDECL; external xml2lib;
207{$IFDEF LIBXML_THREAD_ENABLED}
208{$DEFINE htmlDefaultSAXHandler := __htmlDefaultSAXHandler()^ }
209{$ELSE}
210{$IFNDEF NO_EXTERNAL_VARS}
211var
212  htmlDefaultSAXHandler: xmlSAXHandlerV1; cvar; external;
213{$ENDIF}
214{$ENDIF}
215{$ENDIF}
216
217function __xmlLastError: xmlErrorPtr; EXTDECL; external xml2lib;
218{$IFDEF LIBXML_THREAD_ENABLED}
219{$DEFINE xmlLastError := __xmlLastError()^ }
220{$ELSE}
221{$IFNDEF NO_EXTERNAL_VARS}
222var
223  xmlLastError: xmlError; cvar; external;
224{$ENDIF}
225{$ENDIF}
226
227(*
228 * Everything starting from the line below is
229 * Automatically generated by build_glob.py.
230 * Do not modify the previous line.
231 *)
232
233function __oldXMLWDcompatibility: pcint; EXTDECL; external xml2lib;
234{$IFDEF LIBXML_THREAD_ENABLED}
235{$DEFINE oldXMLWDcompatibility := __oldXMLWDcompatibility()^ }
236{$ELSE}
237{$IFNDEF NO_EXTERNAL_VARS}
238var
239  oldXMLWDcompatibility: cint; cvar; external;
240  {$ENDIF}
241{$ENDIF}
242
243function __xmlBufferAllocScheme: xmlBufferAllocationSchemePtr; EXTDECL; external xml2lib;
244{$IFDEF LIBXML_THREAD_ENABLED}
245{$DEFINE xmlBufferAllocScheme := __xmlBufferAllocScheme()^ }
246{$ELSE}
247{$IFNDEF NO_EXTERNAL_VARS}
248var
249  xmlBufferAllocScheme: xmlBufferAllocationScheme; cvar; external;
250{$ENDIF}
251{$ENDIF}
252function xmlThrDefBufferAllocScheme(v: xmlBufferAllocationScheme): xmlBufferAllocationScheme; EXTDECL; external xml2lib;
253
254function __xmlDefaultBufferSize: pcint; EXTDECL; external xml2lib;
255{$IFDEF LIBXML_THREAD_ENABLED}
256{$DEFINE xmlDefaultBufferSize := __xmlDefaultBufferSize()^ }
257{$ELSE}
258{$IFNDEF NO_EXTERNAL_VARS}
259var
260  xmlDefaultBufferSize: cint; cvar; external;
261{$ENDIF}
262{$ENDIF}
263function xmlThrDefDefaultBufferSize(v: cint): cint; EXTDECL; external xml2lib;
264
265function __xmlDefaultSAXHandler: xmlSAXHandlerV1Ptr; EXTDECL; external xml2lib;
266{$IFDEF LIBXML_THREAD_ENABLED}
267{$DEFINE xmlDefaultSAXHandler := __xmlDefaultSAXHandler()^ }
268{$ELSE}
269{$IFNDEF NO_EXTERNAL_VARS}
270var
271  xmlDefaultSAXHandler: xmlSAXHandlerV1; cvar; external;
272{$ENDIF}
273{$ENDIF}
274
275function __xmlDefaultSAXLocator: xmlSAXLocatorPtr; EXTDECL; external xml2lib;
276{$IFDEF LIBXML_THREAD_ENABLED}
277{$DEFINE xmlDefaultSAXLocator := __xmlDefaultSAXLocator()^ }
278{$ELSE}
279{$IFNDEF NO_EXTERNAL_VARS}
280var
281  xmlDefaultSAXLocator: xmlSAXLocator; cvar; external;
282{$ENDIF}
283{$ENDIF}
284
285function __xmlDoValidityCheckingDefaultValue: pcint; EXTDECL; external xml2lib;
286{$IFDEF LIBXML_THREAD_ENABLED}
287{$DEFINE xmlDoValidityCheckingDefaultValue := __xmlDoValidityCheckingDefaultValue()^ }
288{$ELSE}
289{$IFNDEF NO_EXTERNAL_VARS}
290var
291  xmlDoValidityCheckingDefaultValue: cint; cvar; external;
292{$ENDIF}
293{$ENDIF}
294function xmlThrDefDoValidityCheckingDefaultValue(v: cint): cint; EXTDECL; external xml2lib;
295
296function __xmlGenericError: xmlGenericErrorFuncPtr; EXTDECL; external xml2lib;
297{$IFDEF LIBXML_THREAD_ENABLED}
298{$DEFINE xmlGenericError := __xmlGenericError()^ }
299{$ELSE}
300{$IFNDEF NO_EXTERNAL_VARS}
301var
302  xmlGenericError: xmlGenericErrorFunc; cvar; external;
303{$ENDIF}
304{$ENDIF}
305
306function __xmlStructuredError: xmlStructuredErrorFuncPtr; EXTDECL; external xml2lib;
307{$IFDEF LIBXML_THREAD_ENABLED}
308{$DEFINE xmlStructuredError := __xmlStructuredError()^ }
309{$ELSE}
310{$IFNDEF NO_EXTERNAL_VARS}
311var
312  xmlStructuredError: xmlStructuredErrorFunc; cvar; external;
313{$ENDIF}
314{$ENDIF}
315
316function __xmlGenericErrorContext: ppointer; EXTDECL; external xml2lib;
317{$IFDEF LIBXML_THREAD_ENABLED}
318{$DEFINE xmlGenericErrorContext := __xmlGenericErrorContext()^ }
319{$ELSE}
320{$IFNDEF NO_EXTERNAL_VARS}
321var
322  xmlGenericErrorContext: pointer; cvar; external;
323{$ENDIF}
324{$ENDIF}
325
326function __xmlGetWarningsDefaultValue: pcint; EXTDECL; external xml2lib;
327{$IFDEF LIBXML_THREAD_ENABLED}
328{$DEFINE xmlGetWarningsDefaultValue := __xmlGetWarningsDefaultValue()^ }
329{$ELSE}
330{$IFNDEF NO_EXTERNAL_VARS}
331var
332  xmlGetWarningsDefaultValue: cint; cvar; external;
333{$ENDIF}
334{$ENDIF}
335function xmlThrDefGetWarningsDefaultValue(v: cint): cint; EXTDECL; external xml2lib;
336
337function __xmlIndentTreeOutput: pcint; EXTDECL; external xml2lib;
338{$IFDEF LIBXML_THREAD_ENABLED}
339{$DEFINE xmlIndentTreeOutput := __xmlIndentTreeOutput()^ }
340{$ELSE}
341{$IFNDEF NO_EXTERNAL_VARS}
342var
343  xmlIndentTreeOutput: cint; cvar; external;
344{$ENDIF}
345{$ENDIF}
346function xmlThrDefIndentTreeOutput(v: cint): cint; EXTDECL; external xml2lib;
347
348function __xmlTreeIndentString: ppchar; EXTDECL; external xml2lib;
349{$IFDEF LIBXML_THREAD_ENABLED}
350{$DEFINE xmlTreeIndentString := __xmlTreeIndentString()^ }
351{$ELSE}
352{$IFNDEF NO_EXTERNAL_VARS}
353var
354  xmlTreeIndentString: pchar; cvar; external;
355{$ENDIF}
356{$ENDIF}
357function xmlThrDefTreeIndentString(v: pchar): pchar; EXTDECL; external xml2lib;
358
359function __xmlKeepBlanksDefaultValue: pcint; EXTDECL; external xml2lib;
360{$IFDEF LIBXML_THREAD_ENABLED}
361{$DEFINE xmlKeepBlanksDefaultValue := __xmlKeepBlanksDefaultValue()^ }
362{$ELSE}
363{$IFNDEF NO_EXTERNAL_VARS}
364var
365  xmlKeepBlanksDefaultValue: cint; cvar; external;
366{$ENDIF}
367{$ENDIF}
368function xmlThrDefKeepBlanksDefaultValue(v: cint): cint; EXTDECL; external xml2lib;
369
370function __xmlLineNumbersDefaultValue: pcint; EXTDECL; external xml2lib;
371{$IFDEF LIBXML_THREAD_ENABLED}
372{$DEFINE xmlLineNumbersDefaultValue := __xmlLineNumbersDefaultValue()^ }
373{$ELSE}
374{$IFNDEF NO_EXTERNAL_VARS}
375var
376  xmlLineNumbersDefaultValue: cint; cvar; external;
377{$ENDIF}
378{$ENDIF}
379function xmlThrDefLineNumbersDefaultValue(v: cint): cint; EXTDECL; external xml2lib;
380
381function __xmlLoadExtDtdDefaultValue: pcint; EXTDECL; external xml2lib;
382{$IFDEF LIBXML_THREAD_ENABLED}
383{$DEFINE xmlLoadExtDtdDefaultValue := __xmlLoadExtDtdDefaultValue()^ }
384{$ELSE}
385{$IFNDEF NO_EXTERNAL_VARS}
386var
387  xmlLoadExtDtdDefaultValue: cint; cvar; external;
388{$ENDIF}
389{$ENDIF}
390function xmlThrDefLoadExtDtdDefaultValue(v: cint): cint; EXTDECL; external xml2lib;
391
392function __xmlParserDebugEntities: pcint; EXTDECL; external xml2lib;
393{$IFDEF LIBXML_THREAD_ENABLED}
394{$DEFINE xmlParserDebugEntities := __xmlParserDebugEntities()^ }
395{$ELSE}
396{$IFNDEF NO_EXTERNAL_VARS}
397var
398  xmlParserDebugEntities: cint; cvar; external;
399{$ENDIF}
400{$ENDIF}
401function xmlThrDefParserDebugEntities(v: cint): cint; EXTDECL; external xml2lib;
402
403function __xmlParserVersion: ppchar; EXTDECL; external xml2lib;
404{$IFDEF LIBXML_THREAD_ENABLED}
405{$DEFINE xmlParserVersion := __xmlParserVersion()^ }
406{$ELSE}
407{$IFNDEF NO_EXTERNAL_VARS}
408var
409  xmlParserVersion: pchar; cvar; external;
410{$ENDIF}
411{$ENDIF}
412
413function __xmlPedanticParserDefaultValue: pcint; EXTDECL; external xml2lib;
414{$IFDEF LIBXML_THREAD_ENABLED}
415{$DEFINE xmlPedanticParserDefaultValue := __xmlPedanticParserDefaultValue()^ }
416{$ELSE}
417{$IFNDEF NO_EXTERNAL_VARS}
418var
419  xmlPedanticParserDefaultValue: cint; cvar; external;
420{$ENDIF}
421{$ENDIF}
422function xmlThrDefPedanticParserDefaultValue(v: cint): cint; EXTDECL; external xml2lib;
423
424function __xmlSaveNoEmptyTags: pcint; EXTDECL; external xml2lib;
425{$IFDEF LIBXML_THREAD_ENABLED}
426{$DEFINE xmlSaveNoEmptyTags := __xmlSaveNoEmptyTags()^ }
427{$ELSE}
428{$IFNDEF NO_EXTERNAL_VARS}
429var
430  xmlSaveNoEmptyTags: cint; cvar; external;
431{$ENDIF}
432{$ENDIF}
433function xmlThrDefSaveNoEmptyTags(v: cint): cint; EXTDECL; external xml2lib;
434
435function __xmlSubstituteEntitiesDefaultValue: pcint; EXTDECL; external xml2lib;
436{$IFDEF LIBXML_THREAD_ENABLED}
437{$DEFINE xmlSubstituteEntitiesDefaultValue := __xmlSubstituteEntitiesDefaultValue()^ }
438{$ELSE}
439{$IFNDEF NO_EXTERNAL_VARS}
440var
441  xmlSubstituteEntitiesDefaultValue: cint; cvar; external;
442{$ENDIF}
443{$ENDIF}
444function xmlThrDefSubstituteEntitiesDefaultValue(v: cint): cint; EXTDECL; external xml2lib;
445
446function __xmlRegisterNodeDefaultValue: xmlRegisterNodeFuncPtr; EXTDECL; external xml2lib;
447{$IFDEF LIBXML_THREAD_ENABLED}
448{$DEFINE xmlRegisterNodeDefaultValue := __xmlRegisterNodeDefaultValue()^ }
449{$ELSE}
450{$IFNDEF NO_EXTERNAL_VARS}
451var
452  xmlRegisterNodeDefaultValue: xmlRegisterNodeFunc; cvar; external;
453{$ENDIF}
454{$ENDIF}
455
456function __xmlDeregisterNodeDefaultValue: xmlDeregisterNodeFuncPtr; EXTDECL; external xml2lib;
457{$IFDEF LIBXML_THREAD_ENABLED}
458{$DEFINE xmlDeregisterNodeDefaultValue := __xmlDeregisterNodeDefaultValue()^ }
459{$ELSE}
460{$IFNDEF NO_EXTERNAL_VARS}
461var
462  xmlDeregisterNodeDefaultValue: xmlDeregisterNodeFunc; cvar; external;
463{$ENDIF}
464{$ENDIF}
465
466function __xmlParserInputBufferCreateFilenameValue: xmlParserInputBufferCreateFilenameFuncPtr; EXTDECL; external xml2lib;
467{$IFDEF LIBXML_THREAD_ENABLED}
468{$DEFINE xmlParserInputBufferCreateFilenameValue := __xmlParserInputBufferCreateFilenameValue()^ }
469{$ELSE}
470{$IFNDEF NO_EXTERNAL_VARS}
471var
472  xmlParserInputBufferCreateFilenameValue: xmlParserInputBufferCreateFilenameFunc; cvar; external;
473{$ENDIF}
474{$ENDIF}
475
476function __xmlOutputBufferCreateFilenameValue: xmlOutputBufferCreateFilenameFuncPtr; EXTDECL; external xml2lib;
477{$IFDEF LIBXML_THREAD_ENABLED}
478{$DEFINE xmlOutputBufferCreateFilenameValue := __xmlOutputBufferCreateFilenameValue()^ }
479{$ELSE}
480{$IFNDEF NO_EXTERNAL_VARS}
481var
482  xmlOutputBufferCreateFilenameValue: xmlOutputBufferCreateFilenameFunc; cvar; external;
483{$ENDIF}
484{$ENDIF}
485
486{$ENDIF}
487