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);
32 * xmlParserInputBufferCreateFilenameFunc:
33 * @URI: the URI to read from
34 * @enc: the requested source encoding
36 * Signature for the function doing the lookup for a suitable input method
37 * corresponding to an URI.
39 * Returns the new xmlParserInputBufferPtr in case of success or NULL if no
42 typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI,
47 * xmlOutputBufferCreateFilenameFunc:
48 * @URI: the URI to write to
49 * @enc: the requested target encoding
51 * Signature for the function doing the lookup for a suitable output method
52 * corresponding to an URI.
54 * Returns the new xmlOutputBufferPtr in case of success or NULL if no
57 typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI,
58 xmlCharEncodingHandlerPtr encoder,
61 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
62 XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
63 XMLPUBFUN xmlOutputBufferCreateFilenameFunc
64 XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);
67 * Externally global symbols which need to be protected for backwards
68 * compatibility support.
71 #undef docbDefaultSAXHandler
72 #undef htmlDefaultSAXHandler
73 #undef oldXMLWDcompatibility
74 #undef xmlBufferAllocScheme
75 #undef xmlDefaultBufferSize
76 #undef xmlDefaultSAXHandler
77 #undef xmlDefaultSAXLocator
78 #undef xmlDoValidityCheckingDefaultValue
80 #undef xmlGenericError
81 #undef xmlStructuredError
82 #undef xmlGenericErrorContext
83 #undef xmlStructuredErrorContext
84 #undef xmlGetWarningsDefaultValue
85 #undef xmlIndentTreeOutput
86 #undef xmlTreeIndentString
87 #undef xmlKeepBlanksDefaultValue
88 #undef xmlLineNumbersDefaultValue
89 #undef xmlLoadExtDtdDefaultValue
91 #undef xmlMallocAtomic
93 #undef xmlParserDebugEntities
94 #undef xmlParserVersion
95 #undef xmlPedanticParserDefaultValue
97 #undef xmlSaveNoEmptyTags
98 #undef xmlSubstituteEntitiesDefaultValue
99 #undef xmlRegisterNodeDefaultValue
100 #undef xmlDeregisterNodeDefaultValue
102 #undef xmlParserInputBufferCreateFilenameValue
103 #undef xmlOutputBufferCreateFilenameValue
106 * xmlRegisterNodeFunc:
107 * @node: the current node
109 * Signature for the registration callback of a created node
111 typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
113 * xmlDeregisterNodeFunc:
114 * @node: the current node
116 * Signature for the deregistration callback of a discarded node
118 typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
120 typedef struct _xmlGlobalState xmlGlobalState;
121 typedef xmlGlobalState *xmlGlobalStatePtr;
122 struct _xmlGlobalState
124 const char *xmlParserVersion;
126 xmlSAXLocator xmlDefaultSAXLocator;
127 xmlSAXHandlerV1 xmlDefaultSAXHandler;
128 xmlSAXHandlerV1 docbDefaultSAXHandler;
129 xmlSAXHandlerV1 htmlDefaultSAXHandler;
132 xmlMallocFunc xmlMalloc;
133 xmlStrdupFunc xmlMemStrdup;
134 xmlReallocFunc xmlRealloc;
136 xmlGenericErrorFunc xmlGenericError;
137 xmlStructuredErrorFunc xmlStructuredError;
138 void *xmlGenericErrorContext;
140 int oldXMLWDcompatibility;
142 xmlBufferAllocationScheme xmlBufferAllocScheme;
143 int xmlDefaultBufferSize;
145 int xmlSubstituteEntitiesDefaultValue;
146 int xmlDoValidityCheckingDefaultValue;
147 int xmlGetWarningsDefaultValue;
148 int xmlKeepBlanksDefaultValue;
149 int xmlLineNumbersDefaultValue;
150 int xmlLoadExtDtdDefaultValue;
151 int xmlParserDebugEntities;
152 int xmlPedanticParserDefaultValue;
154 int xmlSaveNoEmptyTags;
155 int xmlIndentTreeOutput;
156 const char *xmlTreeIndentString;
158 xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
159 xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
161 xmlMallocFunc xmlMallocAtomic;
162 xmlError xmlLastError;
164 xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
165 xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
167 void *xmlStructuredErrorContext;
173 #include <libxml/threads.h>
178 XMLPUBFUN void XMLCALL xmlInitializeGlobalState(xmlGlobalStatePtr gs);
180 XMLPUBFUN void XMLCALL xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
182 XMLPUBFUN void XMLCALL xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);
184 XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
185 XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
186 XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
187 XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
189 XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
190 xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
191 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
192 xmlThrDefParserInputBufferCreateFilenameDefault(
193 xmlParserInputBufferCreateFilenameFunc func);
197 * In general the memory allocation entry points are not kept
198 * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
206 #ifdef LIBXML_THREAD_ALLOC_ENABLED
207 #ifdef LIBXML_THREAD_ENABLED
208 XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMalloc(void);
212 XMLPUBVAR xmlMallocFunc xmlMalloc;
215 #ifdef LIBXML_THREAD_ENABLED
216 XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMallocAtomic(void);
217 #define xmlMallocAtomic \
218 (*(__xmlMallocAtomic()))
220 XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
223 #ifdef LIBXML_THREAD_ENABLED
224 XMLPUBFUN xmlReallocFunc * XMLCALL __xmlRealloc(void);
228 XMLPUBVAR xmlReallocFunc xmlRealloc;
231 #ifdef LIBXML_THREAD_ENABLED
232 XMLPUBFUN xmlFreeFunc * XMLCALL __xmlFree(void);
236 XMLPUBVAR xmlFreeFunc xmlFree;
239 #ifdef LIBXML_THREAD_ENABLED
240 XMLPUBFUN xmlStrdupFunc * XMLCALL __xmlMemStrdup(void);
241 #define xmlMemStrdup \
242 (*(__xmlMemStrdup()))
244 XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
247 #else /* !LIBXML_THREAD_ALLOC_ENABLED */
248 XMLPUBVAR xmlMallocFunc xmlMalloc;
249 XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
250 XMLPUBVAR xmlReallocFunc xmlRealloc;
251 XMLPUBVAR xmlFreeFunc xmlFree;
252 XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
253 #endif /* LIBXML_THREAD_ALLOC_ENABLED */
255 #ifdef LIBXML_DOCB_ENABLED
256 XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __docbDefaultSAXHandler(void);
257 #ifdef LIBXML_THREAD_ENABLED
258 #define docbDefaultSAXHandler \
259 (*(__docbDefaultSAXHandler()))
261 XMLPUBVAR xmlSAXHandlerV1 docbDefaultSAXHandler;
265 #ifdef LIBXML_HTML_ENABLED
266 XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __htmlDefaultSAXHandler(void);
267 #ifdef LIBXML_THREAD_ENABLED
268 #define htmlDefaultSAXHandler \
269 (*(__htmlDefaultSAXHandler()))
271 XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler;
275 XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
276 #ifdef LIBXML_THREAD_ENABLED
277 #define xmlLastError \
278 (*(__xmlLastError()))
280 XMLPUBVAR xmlError xmlLastError;
284 * Everything starting from the line below is
285 * Automatically generated by build_glob.py.
286 * Do not modify the previous line.
290 XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
291 #ifdef LIBXML_THREAD_ENABLED
292 #define oldXMLWDcompatibility \
293 (*(__oldXMLWDcompatibility()))
295 XMLPUBVAR int oldXMLWDcompatibility;
298 XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
299 #ifdef LIBXML_THREAD_ENABLED
300 #define xmlBufferAllocScheme \
301 (*(__xmlBufferAllocScheme()))
303 XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
305 XMLPUBFUN xmlBufferAllocationScheme XMLCALL
306 xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
308 XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
309 #ifdef LIBXML_THREAD_ENABLED
310 #define xmlDefaultBufferSize \
311 (*(__xmlDefaultBufferSize()))
313 XMLPUBVAR int xmlDefaultBufferSize;
315 XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);
317 XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
318 #ifdef LIBXML_THREAD_ENABLED
319 #define xmlDefaultSAXHandler \
320 (*(__xmlDefaultSAXHandler()))
322 XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
325 XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
326 #ifdef LIBXML_THREAD_ENABLED
327 #define xmlDefaultSAXLocator \
328 (*(__xmlDefaultSAXLocator()))
330 XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
333 XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
334 #ifdef LIBXML_THREAD_ENABLED
335 #define xmlDoValidityCheckingDefaultValue \
336 (*(__xmlDoValidityCheckingDefaultValue()))
338 XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
340 XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);
342 XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
343 #ifdef LIBXML_THREAD_ENABLED
344 #define xmlGenericError \
345 (*(__xmlGenericError()))
347 XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
350 XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
351 #ifdef LIBXML_THREAD_ENABLED
352 #define xmlStructuredError \
353 (*(__xmlStructuredError()))
355 XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
358 XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
359 #ifdef LIBXML_THREAD_ENABLED
360 #define xmlGenericErrorContext \
361 (*(__xmlGenericErrorContext()))
363 XMLPUBVAR void * xmlGenericErrorContext;
366 XMLPUBFUN void * * XMLCALL __xmlStructuredErrorContext(void);
367 #ifdef LIBXML_THREAD_ENABLED
368 #define xmlStructuredErrorContext \
369 (*(__xmlStructuredErrorContext()))
371 XMLPUBVAR void * xmlStructuredErrorContext;
374 XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
375 #ifdef LIBXML_THREAD_ENABLED
376 #define xmlGetWarningsDefaultValue \
377 (*(__xmlGetWarningsDefaultValue()))
379 XMLPUBVAR int xmlGetWarningsDefaultValue;
381 XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);
383 XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
384 #ifdef LIBXML_THREAD_ENABLED
385 #define xmlIndentTreeOutput \
386 (*(__xmlIndentTreeOutput()))
388 XMLPUBVAR int xmlIndentTreeOutput;
390 XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);
392 XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
393 #ifdef LIBXML_THREAD_ENABLED
394 #define xmlTreeIndentString \
395 (*(__xmlTreeIndentString()))
397 XMLPUBVAR const char * xmlTreeIndentString;
399 XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);
401 XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
402 #ifdef LIBXML_THREAD_ENABLED
403 #define xmlKeepBlanksDefaultValue \
404 (*(__xmlKeepBlanksDefaultValue()))
406 XMLPUBVAR int xmlKeepBlanksDefaultValue;
408 XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);
410 XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
411 #ifdef LIBXML_THREAD_ENABLED
412 #define xmlLineNumbersDefaultValue \
413 (*(__xmlLineNumbersDefaultValue()))
415 XMLPUBVAR int xmlLineNumbersDefaultValue;
417 XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);
419 XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
420 #ifdef LIBXML_THREAD_ENABLED
421 #define xmlLoadExtDtdDefaultValue \
422 (*(__xmlLoadExtDtdDefaultValue()))
424 XMLPUBVAR int xmlLoadExtDtdDefaultValue;
426 XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);
428 XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
429 #ifdef LIBXML_THREAD_ENABLED
430 #define xmlParserDebugEntities \
431 (*(__xmlParserDebugEntities()))
433 XMLPUBVAR int xmlParserDebugEntities;
435 XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);
437 XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
438 #ifdef LIBXML_THREAD_ENABLED
439 #define xmlParserVersion \
440 (*(__xmlParserVersion()))
442 XMLPUBVAR const char * xmlParserVersion;
445 XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
446 #ifdef LIBXML_THREAD_ENABLED
447 #define xmlPedanticParserDefaultValue \
448 (*(__xmlPedanticParserDefaultValue()))
450 XMLPUBVAR int xmlPedanticParserDefaultValue;
452 XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);
454 XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
455 #ifdef LIBXML_THREAD_ENABLED
456 #define xmlSaveNoEmptyTags \
457 (*(__xmlSaveNoEmptyTags()))
459 XMLPUBVAR int xmlSaveNoEmptyTags;
461 XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);
463 XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
464 #ifdef LIBXML_THREAD_ENABLED
465 #define xmlSubstituteEntitiesDefaultValue \
466 (*(__xmlSubstituteEntitiesDefaultValue()))
468 XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
470 XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);
472 XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
473 #ifdef LIBXML_THREAD_ENABLED
474 #define xmlRegisterNodeDefaultValue \
475 (*(__xmlRegisterNodeDefaultValue()))
477 XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
480 XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
481 #ifdef LIBXML_THREAD_ENABLED
482 #define xmlDeregisterNodeDefaultValue \
483 (*(__xmlDeregisterNodeDefaultValue()))
485 XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
488 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL \
489 __xmlParserInputBufferCreateFilenameValue(void);
490 #ifdef LIBXML_THREAD_ENABLED
491 #define xmlParserInputBufferCreateFilenameValue \
492 (*(__xmlParserInputBufferCreateFilenameValue()))
494 XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
497 XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
498 #ifdef LIBXML_THREAD_ENABLED
499 #define xmlOutputBufferCreateFilenameValue \
500 (*(__xmlOutputBufferCreateFilenameValue()))
502 XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
509 #endif /* __XML_GLOBALS_H */