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.
6 * The bottom of this file is automatically generated by build_glob.py
7 * based on the description file global.data
9 * Copy: See Copyright for the status of this software.
11 * Author: Gary Pennington <Gary.Pennington@uk.sun.com>, Daniel Veillard
14 #ifndef __XML_GLOBALS_H
15 #define __XML_GLOBALS_H
17 #include <libxml/xmlversion.h>
18 #include <libxml/parser.h>
19 #include <libxml/xmlerror.h>
20 #include <libxml/SAX.h>
21 #include <libxml/SAX2.h>
22 #include <libxml/xmlmemory.h>
28 XMLPUBFUN void XMLCALL xmlInitGlobals(void);
29 XMLPUBFUN void XMLCALL xmlCleanupGlobals(void);
31 typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI, xmlCharEncoding enc);
32 typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, xmlCharEncodingHandlerPtr encoder, int compression);
33 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
34 XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
35 XMLPUBFUN xmlOutputBufferCreateFilenameFunc
36 XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);
39 * Externally global symbols which need to be protected for backwards
40 * compatibility support.
43 #undef docbDefaultSAXHandler
44 #undef htmlDefaultSAXHandler
45 #undef oldXMLWDcompatibility
46 #undef xmlBufferAllocScheme
47 #undef xmlDefaultBufferSize
48 #undef xmlDefaultSAXHandler
49 #undef xmlDefaultSAXLocator
50 #undef xmlDoValidityCheckingDefaultValue
52 #undef xmlGenericError
53 #undef xmlStructuredError
54 #undef xmlGenericErrorContext
55 #undef xmlGetWarningsDefaultValue
56 #undef xmlIndentTreeOutput
57 #undef xmlTreeIndentString
58 #undef xmlKeepBlanksDefaultValue
59 #undef xmlLineNumbersDefaultValue
60 #undef xmlLoadExtDtdDefaultValue
62 #undef xmlMallocAtomic
64 #undef xmlParserDebugEntities
65 #undef xmlParserVersion
66 #undef xmlPedanticParserDefaultValue
68 #undef xmlSaveNoEmptyTags
69 #undef xmlSubstituteEntitiesDefaultValue
70 #undef xmlRegisterNodeDefaultValue
71 #undef xmlDeregisterNodeDefaultValue
73 #undef xmlParserInputBufferCreateFilenameValue
74 #undef xmlOutputBufferCreateFilenameValue
76 typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
77 typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
79 typedef struct _xmlGlobalState xmlGlobalState;
80 typedef xmlGlobalState *xmlGlobalStatePtr;
81 struct _xmlGlobalState
83 const char *xmlParserVersion;
85 xmlSAXLocator xmlDefaultSAXLocator;
86 xmlSAXHandlerV1 xmlDefaultSAXHandler;
87 xmlSAXHandlerV1 docbDefaultSAXHandler;
88 xmlSAXHandlerV1 htmlDefaultSAXHandler;
91 xmlMallocFunc xmlMalloc;
92 xmlStrdupFunc xmlMemStrdup;
93 xmlReallocFunc xmlRealloc;
95 xmlGenericErrorFunc xmlGenericError;
96 xmlStructuredErrorFunc xmlStructuredError;
97 void *xmlGenericErrorContext;
99 int oldXMLWDcompatibility;
101 xmlBufferAllocationScheme xmlBufferAllocScheme;
102 int xmlDefaultBufferSize;
104 int xmlSubstituteEntitiesDefaultValue;
105 int xmlDoValidityCheckingDefaultValue;
106 int xmlGetWarningsDefaultValue;
107 int xmlKeepBlanksDefaultValue;
108 int xmlLineNumbersDefaultValue;
109 int xmlLoadExtDtdDefaultValue;
110 int xmlParserDebugEntities;
111 int xmlPedanticParserDefaultValue;
113 int xmlSaveNoEmptyTags;
114 int xmlIndentTreeOutput;
115 const char *xmlTreeIndentString;
117 xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
118 xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
120 xmlMallocFunc xmlMallocAtomic;
121 xmlError xmlLastError;
123 xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
124 xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
130 #include <libxml/threads.h>
135 XMLPUBFUN void XMLCALL xmlInitializeGlobalState(xmlGlobalStatePtr gs);
137 XMLPUBFUN void XMLCALL xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
139 XMLPUBFUN void XMLCALL xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);
141 XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
142 XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
143 XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
144 XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
146 XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
147 xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
148 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
149 xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func);
153 * In general the memory allocation entry points are not kept
154 * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
162 #ifdef LIBXML_THREAD_ALLOC_ENABLED
163 #ifdef LIBXML_THREAD_ENABLED
164 XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMalloc(void);
168 XMLPUBVAR xmlMallocFunc xmlMalloc;
171 #ifdef LIBXML_THREAD_ENABLED
172 XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMallocAtomic(void);
173 #define xmlMallocAtomic \
174 (*(__xmlMallocAtomic()))
176 XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
179 #ifdef LIBXML_THREAD_ENABLED
180 XMLPUBFUN xmlReallocFunc * XMLCALL __xmlRealloc(void);
184 XMLPUBVAR xmlReallocFunc xmlRealloc;
187 #ifdef LIBXML_THREAD_ENABLED
188 XMLPUBFUN xmlFreeFunc * XMLCALL __xmlFree(void);
192 XMLPUBVAR xmlFreeFunc xmlFree;
195 #ifdef LIBXML_THREAD_ENABLED
196 XMLPUBFUN xmlStrdupFunc * XMLCALL __xmlMemStrdup(void);
197 #define xmlMemStrdup \
198 (*(__xmlMemStrdup()))
200 XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
203 #else /* !LIBXML_THREAD_ALLOC_ENABLED */
204 XMLPUBVAR xmlMallocFunc xmlMalloc;
205 XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
206 XMLPUBVAR xmlReallocFunc xmlRealloc;
207 XMLPUBVAR xmlFreeFunc xmlFree;
208 XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
209 #endif /* LIBXML_THREAD_ALLOC_ENABLED */
211 #ifdef LIBXML_DOCB_ENABLED
212 XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __docbDefaultSAXHandler(void);
213 #ifdef LIBXML_THREAD_ENABLED
214 #define docbDefaultSAXHandler \
215 (*(__docbDefaultSAXHandler()))
217 XMLPUBVAR xmlSAXHandlerV1 docbDefaultSAXHandler;
221 #ifdef LIBXML_HTML_ENABLED
222 XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __htmlDefaultSAXHandler(void);
223 #ifdef LIBXML_THREAD_ENABLED
224 #define htmlDefaultSAXHandler \
225 (*(__htmlDefaultSAXHandler()))
227 XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler;
231 XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
232 #ifdef LIBXML_THREAD_ENABLED
233 #define xmlLastError \
234 (*(__xmlLastError()))
236 XMLPUBVAR xmlError xmlLastError;
240 * Everything starting from the line below is
241 * Automatically generated by build_glob.py.
242 * Do not modify the previous line.
246 XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
247 #ifdef LIBXML_THREAD_ENABLED
248 #define oldXMLWDcompatibility \
249 (*(__oldXMLWDcompatibility()))
251 XMLPUBVAR int oldXMLWDcompatibility;
254 XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
255 #ifdef LIBXML_THREAD_ENABLED
256 #define xmlBufferAllocScheme \
257 (*(__xmlBufferAllocScheme()))
259 XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
261 XMLPUBFUN xmlBufferAllocationScheme XMLCALL xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
263 XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
264 #ifdef LIBXML_THREAD_ENABLED
265 #define xmlDefaultBufferSize \
266 (*(__xmlDefaultBufferSize()))
268 XMLPUBVAR int xmlDefaultBufferSize;
270 XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);
272 XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
273 #ifdef LIBXML_THREAD_ENABLED
274 #define xmlDefaultSAXHandler \
275 (*(__xmlDefaultSAXHandler()))
277 XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
280 XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
281 #ifdef LIBXML_THREAD_ENABLED
282 #define xmlDefaultSAXLocator \
283 (*(__xmlDefaultSAXLocator()))
285 XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
288 XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
289 #ifdef LIBXML_THREAD_ENABLED
290 #define xmlDoValidityCheckingDefaultValue \
291 (*(__xmlDoValidityCheckingDefaultValue()))
293 XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
295 XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);
297 XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
298 #ifdef LIBXML_THREAD_ENABLED
299 #define xmlGenericError \
300 (*(__xmlGenericError()))
302 XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
305 XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
306 #ifdef LIBXML_THREAD_ENABLED
307 #define xmlStructuredError \
308 (*(__xmlStructuredError()))
310 XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
313 XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
314 #ifdef LIBXML_THREAD_ENABLED
315 #define xmlGenericErrorContext \
316 (*(__xmlGenericErrorContext()))
318 XMLPUBVAR void * xmlGenericErrorContext;
321 XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
322 #ifdef LIBXML_THREAD_ENABLED
323 #define xmlGetWarningsDefaultValue \
324 (*(__xmlGetWarningsDefaultValue()))
326 XMLPUBVAR int xmlGetWarningsDefaultValue;
328 XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);
330 XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
331 #ifdef LIBXML_THREAD_ENABLED
332 #define xmlIndentTreeOutput \
333 (*(__xmlIndentTreeOutput()))
335 XMLPUBVAR int xmlIndentTreeOutput;
337 XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);
339 XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
340 #ifdef LIBXML_THREAD_ENABLED
341 #define xmlTreeIndentString \
342 (*(__xmlTreeIndentString()))
344 XMLPUBVAR const char * xmlTreeIndentString;
346 XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);
348 XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
349 #ifdef LIBXML_THREAD_ENABLED
350 #define xmlKeepBlanksDefaultValue \
351 (*(__xmlKeepBlanksDefaultValue()))
353 XMLPUBVAR int xmlKeepBlanksDefaultValue;
355 XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);
357 XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
358 #ifdef LIBXML_THREAD_ENABLED
359 #define xmlLineNumbersDefaultValue \
360 (*(__xmlLineNumbersDefaultValue()))
362 XMLPUBVAR int xmlLineNumbersDefaultValue;
364 XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);
366 XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
367 #ifdef LIBXML_THREAD_ENABLED
368 #define xmlLoadExtDtdDefaultValue \
369 (*(__xmlLoadExtDtdDefaultValue()))
371 XMLPUBVAR int xmlLoadExtDtdDefaultValue;
373 XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);
375 XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
376 #ifdef LIBXML_THREAD_ENABLED
377 #define xmlParserDebugEntities \
378 (*(__xmlParserDebugEntities()))
380 XMLPUBVAR int xmlParserDebugEntities;
382 XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);
384 XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
385 #ifdef LIBXML_THREAD_ENABLED
386 #define xmlParserVersion \
387 (*(__xmlParserVersion()))
389 XMLPUBVAR const char * xmlParserVersion;
392 XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
393 #ifdef LIBXML_THREAD_ENABLED
394 #define xmlPedanticParserDefaultValue \
395 (*(__xmlPedanticParserDefaultValue()))
397 XMLPUBVAR int xmlPedanticParserDefaultValue;
399 XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);
401 XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
402 #ifdef LIBXML_THREAD_ENABLED
403 #define xmlSaveNoEmptyTags \
404 (*(__xmlSaveNoEmptyTags()))
406 XMLPUBVAR int xmlSaveNoEmptyTags;
408 XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);
410 XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
411 #ifdef LIBXML_THREAD_ENABLED
412 #define xmlSubstituteEntitiesDefaultValue \
413 (*(__xmlSubstituteEntitiesDefaultValue()))
415 XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
417 XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);
419 XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
420 #ifdef LIBXML_THREAD_ENABLED
421 #define xmlRegisterNodeDefaultValue \
422 (*(__xmlRegisterNodeDefaultValue()))
424 XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
427 XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
428 #ifdef LIBXML_THREAD_ENABLED
429 #define xmlDeregisterNodeDefaultValue \
430 (*(__xmlDeregisterNodeDefaultValue()))
432 XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
435 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL __xmlParserInputBufferCreateFilenameValue(void);
436 #ifdef LIBXML_THREAD_ENABLED
437 #define xmlParserInputBufferCreateFilenameValue \
438 (*(__xmlParserInputBufferCreateFilenameValue()))
440 XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
443 XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
444 #ifdef LIBXML_THREAD_ENABLED
445 #define xmlOutputBufferCreateFilenameValue \
446 (*(__xmlOutputBufferCreateFilenameValue()))
448 XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
455 #endif /* __XML_GLOBALS_H */