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, xmlCharEncoding enc);
45 * xmlOutputBufferCreateFilenameFunc:
46 * @URI: the URI to write to
47 * @enc: the requested target encoding
49 * Signature for the function doing the lookup for a suitable output method
50 * corresponding to an URI.
52 * Returns the new xmlOutputBufferPtr in case of success or NULL if no
55 typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, xmlCharEncodingHandlerPtr encoder, int compression);
57 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
58 XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
59 XMLPUBFUN xmlOutputBufferCreateFilenameFunc
60 XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);
63 * Externally global symbols which need to be protected for backwards
64 * compatibility support.
67 #undef docbDefaultSAXHandler
68 #undef htmlDefaultSAXHandler
69 #undef oldXMLWDcompatibility
70 #undef xmlBufferAllocScheme
71 #undef xmlDefaultBufferSize
72 #undef xmlDefaultSAXHandler
73 #undef xmlDefaultSAXLocator
74 #undef xmlDoValidityCheckingDefaultValue
76 #undef xmlGenericError
77 #undef xmlStructuredError
78 #undef xmlGenericErrorContext
79 #undef xmlStructuredErrorContext
80 #undef xmlGetWarningsDefaultValue
81 #undef xmlIndentTreeOutput
82 #undef xmlTreeIndentString
83 #undef xmlKeepBlanksDefaultValue
84 #undef xmlLineNumbersDefaultValue
85 #undef xmlLoadExtDtdDefaultValue
87 #undef xmlMallocAtomic
89 #undef xmlParserDebugEntities
90 #undef xmlParserVersion
91 #undef xmlPedanticParserDefaultValue
93 #undef xmlSaveNoEmptyTags
94 #undef xmlSubstituteEntitiesDefaultValue
95 #undef xmlRegisterNodeDefaultValue
96 #undef xmlDeregisterNodeDefaultValue
98 #undef xmlParserInputBufferCreateFilenameValue
99 #undef xmlOutputBufferCreateFilenameValue
102 * xmlRegisterNodeFunc:
103 * @node: the current node
105 * Signature for the registration callback of a created node
107 typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
109 * xmlDeregisterNodeFunc:
110 * @node: the current node
112 * Signature for the deregistration callback of a discarded node
114 typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
116 typedef struct _xmlGlobalState xmlGlobalState;
117 typedef xmlGlobalState *xmlGlobalStatePtr;
118 struct _xmlGlobalState
120 const char *xmlParserVersion;
122 xmlSAXLocator xmlDefaultSAXLocator;
123 xmlSAXHandlerV1 xmlDefaultSAXHandler;
124 xmlSAXHandlerV1 docbDefaultSAXHandler;
125 xmlSAXHandlerV1 htmlDefaultSAXHandler;
128 xmlMallocFunc xmlMalloc;
129 xmlStrdupFunc xmlMemStrdup;
130 xmlReallocFunc xmlRealloc;
132 xmlGenericErrorFunc xmlGenericError;
133 xmlStructuredErrorFunc xmlStructuredError;
134 void *xmlGenericErrorContext;
136 int oldXMLWDcompatibility;
138 xmlBufferAllocationScheme xmlBufferAllocScheme;
139 int xmlDefaultBufferSize;
141 int xmlSubstituteEntitiesDefaultValue;
142 int xmlDoValidityCheckingDefaultValue;
143 int xmlGetWarningsDefaultValue;
144 int xmlKeepBlanksDefaultValue;
145 int xmlLineNumbersDefaultValue;
146 int xmlLoadExtDtdDefaultValue;
147 int xmlParserDebugEntities;
148 int xmlPedanticParserDefaultValue;
150 int xmlSaveNoEmptyTags;
151 int xmlIndentTreeOutput;
152 const char *xmlTreeIndentString;
154 xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
155 xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
157 xmlMallocFunc xmlMallocAtomic;
158 xmlError xmlLastError;
160 xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
161 xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
163 void *xmlStructuredErrorContext;
169 #include <libxml/threads.h>
174 XMLPUBFUN void XMLCALL xmlInitializeGlobalState(xmlGlobalStatePtr gs);
176 XMLPUBFUN void XMLCALL xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
178 XMLPUBFUN void XMLCALL xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);
180 XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
181 XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
182 XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
183 XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
185 XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
186 xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
187 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
188 xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func);
192 * In general the memory allocation entry points are not kept
193 * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
201 #ifdef LIBXML_THREAD_ALLOC_ENABLED
202 #ifdef LIBXML_THREAD_ENABLED
203 XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMalloc(void);
207 XMLPUBVAR xmlMallocFunc xmlMalloc;
210 #ifdef LIBXML_THREAD_ENABLED
211 XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMallocAtomic(void);
212 #define xmlMallocAtomic \
213 (*(__xmlMallocAtomic()))
215 XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
218 #ifdef LIBXML_THREAD_ENABLED
219 XMLPUBFUN xmlReallocFunc * XMLCALL __xmlRealloc(void);
223 XMLPUBVAR xmlReallocFunc xmlRealloc;
226 #ifdef LIBXML_THREAD_ENABLED
227 XMLPUBFUN xmlFreeFunc * XMLCALL __xmlFree(void);
231 XMLPUBVAR xmlFreeFunc xmlFree;
234 #ifdef LIBXML_THREAD_ENABLED
235 XMLPUBFUN xmlStrdupFunc * XMLCALL __xmlMemStrdup(void);
236 #define xmlMemStrdup \
237 (*(__xmlMemStrdup()))
239 XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
242 #else /* !LIBXML_THREAD_ALLOC_ENABLED */
243 XMLPUBVAR xmlMallocFunc xmlMalloc;
244 XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
245 XMLPUBVAR xmlReallocFunc xmlRealloc;
246 XMLPUBVAR xmlFreeFunc xmlFree;
247 XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
248 #endif /* LIBXML_THREAD_ALLOC_ENABLED */
250 #ifdef LIBXML_DOCB_ENABLED
251 XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __docbDefaultSAXHandler(void);
252 #ifdef LIBXML_THREAD_ENABLED
253 #define docbDefaultSAXHandler \
254 (*(__docbDefaultSAXHandler()))
256 XMLPUBVAR xmlSAXHandlerV1 docbDefaultSAXHandler;
260 #ifdef LIBXML_HTML_ENABLED
261 XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __htmlDefaultSAXHandler(void);
262 #ifdef LIBXML_THREAD_ENABLED
263 #define htmlDefaultSAXHandler \
264 (*(__htmlDefaultSAXHandler()))
266 XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler;
270 XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
271 #ifdef LIBXML_THREAD_ENABLED
272 #define xmlLastError \
273 (*(__xmlLastError()))
275 XMLPUBVAR xmlError xmlLastError;
279 * Everything starting from the line below is
280 * Automatically generated by build_glob.py.
281 * Do not modify the previous line.
285 XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
286 #ifdef LIBXML_THREAD_ENABLED
287 #define oldXMLWDcompatibility \
288 (*(__oldXMLWDcompatibility()))
290 XMLPUBVAR int oldXMLWDcompatibility;
293 XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
294 #ifdef LIBXML_THREAD_ENABLED
295 #define xmlBufferAllocScheme \
296 (*(__xmlBufferAllocScheme()))
298 XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
300 XMLPUBFUN xmlBufferAllocationScheme XMLCALL xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
302 XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
303 #ifdef LIBXML_THREAD_ENABLED
304 #define xmlDefaultBufferSize \
305 (*(__xmlDefaultBufferSize()))
307 XMLPUBVAR int xmlDefaultBufferSize;
309 XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);
311 XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
312 #ifdef LIBXML_THREAD_ENABLED
313 #define xmlDefaultSAXHandler \
314 (*(__xmlDefaultSAXHandler()))
316 XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
319 XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
320 #ifdef LIBXML_THREAD_ENABLED
321 #define xmlDefaultSAXLocator \
322 (*(__xmlDefaultSAXLocator()))
324 XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
327 XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
328 #ifdef LIBXML_THREAD_ENABLED
329 #define xmlDoValidityCheckingDefaultValue \
330 (*(__xmlDoValidityCheckingDefaultValue()))
332 XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
334 XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);
336 XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
337 #ifdef LIBXML_THREAD_ENABLED
338 #define xmlGenericError \
339 (*(__xmlGenericError()))
341 XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
344 XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
345 #ifdef LIBXML_THREAD_ENABLED
346 #define xmlStructuredError \
347 (*(__xmlStructuredError()))
349 XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
352 XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
353 #ifdef LIBXML_THREAD_ENABLED
354 #define xmlGenericErrorContext \
355 (*(__xmlGenericErrorContext()))
357 XMLPUBVAR void * xmlGenericErrorContext;
360 XMLPUBFUN void * * XMLCALL __xmlStructuredErrorContext(void);
361 #ifdef LIBXML_THREAD_ENABLED
362 #define xmlStructuredErrorContext \
363 (*(__xmlStructuredErrorContext()))
365 XMLPUBVAR void * xmlStructuredErrorContext;
368 XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
369 #ifdef LIBXML_THREAD_ENABLED
370 #define xmlGetWarningsDefaultValue \
371 (*(__xmlGetWarningsDefaultValue()))
373 XMLPUBVAR int xmlGetWarningsDefaultValue;
375 XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);
377 XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
378 #ifdef LIBXML_THREAD_ENABLED
379 #define xmlIndentTreeOutput \
380 (*(__xmlIndentTreeOutput()))
382 XMLPUBVAR int xmlIndentTreeOutput;
384 XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);
386 XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
387 #ifdef LIBXML_THREAD_ENABLED
388 #define xmlTreeIndentString \
389 (*(__xmlTreeIndentString()))
391 XMLPUBVAR const char * xmlTreeIndentString;
393 XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);
395 XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
396 #ifdef LIBXML_THREAD_ENABLED
397 #define xmlKeepBlanksDefaultValue \
398 (*(__xmlKeepBlanksDefaultValue()))
400 XMLPUBVAR int xmlKeepBlanksDefaultValue;
402 XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);
404 XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
405 #ifdef LIBXML_THREAD_ENABLED
406 #define xmlLineNumbersDefaultValue \
407 (*(__xmlLineNumbersDefaultValue()))
409 XMLPUBVAR int xmlLineNumbersDefaultValue;
411 XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);
413 XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
414 #ifdef LIBXML_THREAD_ENABLED
415 #define xmlLoadExtDtdDefaultValue \
416 (*(__xmlLoadExtDtdDefaultValue()))
418 XMLPUBVAR int xmlLoadExtDtdDefaultValue;
420 XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);
422 XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
423 #ifdef LIBXML_THREAD_ENABLED
424 #define xmlParserDebugEntities \
425 (*(__xmlParserDebugEntities()))
427 XMLPUBVAR int xmlParserDebugEntities;
429 XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);
431 XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
432 #ifdef LIBXML_THREAD_ENABLED
433 #define xmlParserVersion \
434 (*(__xmlParserVersion()))
436 XMLPUBVAR const char * xmlParserVersion;
439 XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
440 #ifdef LIBXML_THREAD_ENABLED
441 #define xmlPedanticParserDefaultValue \
442 (*(__xmlPedanticParserDefaultValue()))
444 XMLPUBVAR int xmlPedanticParserDefaultValue;
446 XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);
448 XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
449 #ifdef LIBXML_THREAD_ENABLED
450 #define xmlSaveNoEmptyTags \
451 (*(__xmlSaveNoEmptyTags()))
453 XMLPUBVAR int xmlSaveNoEmptyTags;
455 XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);
457 XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
458 #ifdef LIBXML_THREAD_ENABLED
459 #define xmlSubstituteEntitiesDefaultValue \
460 (*(__xmlSubstituteEntitiesDefaultValue()))
462 XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
464 XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);
466 XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
467 #ifdef LIBXML_THREAD_ENABLED
468 #define xmlRegisterNodeDefaultValue \
469 (*(__xmlRegisterNodeDefaultValue()))
471 XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
474 XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
475 #ifdef LIBXML_THREAD_ENABLED
476 #define xmlDeregisterNodeDefaultValue \
477 (*(__xmlDeregisterNodeDefaultValue()))
479 XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
482 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL __xmlParserInputBufferCreateFilenameValue(void);
483 #ifdef LIBXML_THREAD_ENABLED
484 #define xmlParserInputBufferCreateFilenameValue \
485 (*(__xmlParserInputBufferCreateFilenameValue()))
487 XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
490 XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
491 #ifdef LIBXML_THREAD_ENABLED
492 #define xmlOutputBufferCreateFilenameValue \
493 (*(__xmlOutputBufferCreateFilenameValue()))
495 XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
502 #endif /* __XML_GLOBALS_H */