2 * globals.h: interface for all global variables of the library
4 * The bottom of this file is automatically generated by build_glob.py
5 * based on the description file global.data
7 * See Copyright for the status of this software.
9 * Gary Pennington <Gary.Pennington@uk.sun.com>
13 #ifndef __XML_GLOBALS_H
14 #define __XML_GLOBALS_H
16 #include <libxml/parser.h>
17 #include <libxml/xmlerror.h>
18 #include <libxml/SAX.h>
19 #include <libxml/xmlmemory.h>
26 * Externally global symbols which need to be protected for backwards
27 * compatibility support.
30 #undef docbDefaultSAXHandler
31 #undef htmlDefaultSAXHandler
32 #undef oldXMLWDcompatibility
33 #undef xmlBufferAllocScheme
34 #undef xmlDefaultBufferSize
35 #undef xmlDefaultSAXHandler
36 #undef xmlDefaultSAXLocator
37 #undef xmlDoValidityCheckingDefaultValue
39 #undef xmlGenericError
40 #undef xmlGenericErrorContext
41 #undef xmlGetWarningsDefaultValue
42 #undef xmlIndentTreeOutput
43 #undef xmlTreeIndentString
44 #undef xmlKeepBlanksDefaultValue
45 #undef xmlLineNumbersDefaultValue
46 #undef xmlLoadExtDtdDefaultValue
49 #undef xmlParserDebugEntities
50 #undef xmlParserVersion
51 #undef xmlPedanticParserDefaultValue
53 #undef xmlSaveNoEmptyTags
54 #undef xmlSubstituteEntitiesDefaultValue
55 #undef xmlRegisterNodeDefaultValue
56 #undef xmlDeregisterNodeDefaultValue
58 typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
59 typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
61 typedef struct _xmlGlobalState xmlGlobalState;
62 typedef xmlGlobalState *xmlGlobalStatePtr;
63 struct _xmlGlobalState
65 const char *xmlParserVersion;
67 xmlSAXLocator xmlDefaultSAXLocator;
68 xmlSAXHandler xmlDefaultSAXHandler;
69 xmlSAXHandler docbDefaultSAXHandler;
70 xmlSAXHandler htmlDefaultSAXHandler;
73 xmlMallocFunc xmlMalloc;
74 xmlStrdupFunc xmlMemStrdup;
75 xmlReallocFunc xmlRealloc;
77 xmlGenericErrorFunc xmlGenericError;
78 void *xmlGenericErrorContext;
80 int oldXMLWDcompatibility;
82 xmlBufferAllocationScheme xmlBufferAllocScheme;
83 int xmlDefaultBufferSize;
85 int xmlSubstituteEntitiesDefaultValue;
86 int xmlDoValidityCheckingDefaultValue;
87 int xmlGetWarningsDefaultValue;
88 int xmlKeepBlanksDefaultValue;
89 int xmlLineNumbersDefaultValue;
90 int xmlLoadExtDtdDefaultValue;
91 int xmlParserDebugEntities;
92 int xmlPedanticParserDefaultValue;
94 int xmlSaveNoEmptyTags;
95 int xmlIndentTreeOutput;
96 const char *xmlTreeIndentString;
98 xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
99 xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
105 #include <libxml/threads.h>
110 void xmlInitializeGlobalState(xmlGlobalStatePtr gs);
112 xmlRegisterNodeFunc xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
113 xmlDeregisterNodeFunc xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
116 * In general the memory allocation entry points are not kept
117 * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
124 #ifdef LIBXML_THREAD_ALLOC_ENABLED
125 #ifdef LIBXML_THREAD_ENABLED
126 extern xmlMallocFunc *__xmlMalloc(void);
130 LIBXML_DLL_IMPORT extern xmlMallocFunc xmlMalloc;
133 #ifdef LIBXML_THREAD_ENABLED
134 extern xmlReallocFunc *__xmlRealloc(void);
138 LIBXML_DLL_IMPORT extern xmlReallocFunc xmlRealloc;
141 #ifdef LIBXML_THREAD_ENABLED
142 extern xmlFreeFunc *__xmlFree(void);
146 LIBXML_DLL_IMPORT extern xmlFreeFunc xmlFree;
149 #ifdef LIBXML_THREAD_ENABLED
150 extern xmlStrdupFunc *__xmlMemStrdup(void);
151 #define xmlMemStrdup \
152 (*(__xmlMemStrdup()))
154 LIBXML_DLL_IMPORT extern xmlStrdupFunc xmlMemStrdup;
156 #else /* !LIBXML_THREAD_ALLOC_ENABLED */
157 LIBXML_DLL_IMPORT extern xmlMallocFunc xmlMalloc;
158 LIBXML_DLL_IMPORT extern xmlReallocFunc xmlRealloc;
159 LIBXML_DLL_IMPORT extern xmlFreeFunc xmlFree;
160 LIBXML_DLL_IMPORT extern xmlStrdupFunc xmlMemStrdup;
161 #endif /* LIBXML_THREAD_ALLOC_ENABLED */
163 #ifdef LIBXML_DOCB_ENABLED
164 extern xmlSAXHandler *__docbDefaultSAXHandler(void);
165 #ifdef LIBXML_THREAD_ENABLED
166 #define docbDefaultSAXHandler \
167 (*(__docbDefaultSAXHandler()))
169 LIBXML_DLL_IMPORT extern xmlSAXHandler docbDefaultSAXHandler;
173 #ifdef LIBXML_HTML_ENABLED
174 extern xmlSAXHandler *__htmlDefaultSAXHandler(void);
175 #ifdef LIBXML_THREAD_ENABLED
176 #define htmlDefaultSAXHandler \
177 (*(__htmlDefaultSAXHandler()))
179 LIBXML_DLL_IMPORT extern xmlSAXHandler htmlDefaultSAXHandler;
185 * Everything starting from the line below is
186 * Automatically generated by build_glob.py.
187 * Do not modify the previous line.
191 extern int *__oldXMLWDcompatibility(void);
192 #ifdef LIBXML_THREAD_ENABLED
193 #define oldXMLWDcompatibility \
194 (*(__oldXMLWDcompatibility()))
196 LIBXML_DLL_IMPORT extern int oldXMLWDcompatibility;
199 extern xmlBufferAllocationScheme *__xmlBufferAllocScheme(void);
200 #ifdef LIBXML_THREAD_ENABLED
201 #define xmlBufferAllocScheme \
202 (*(__xmlBufferAllocScheme()))
204 LIBXML_DLL_IMPORT extern xmlBufferAllocationScheme xmlBufferAllocScheme;
207 extern int *__xmlDefaultBufferSize(void);
208 #ifdef LIBXML_THREAD_ENABLED
209 #define xmlDefaultBufferSize \
210 (*(__xmlDefaultBufferSize()))
212 LIBXML_DLL_IMPORT extern int xmlDefaultBufferSize;
215 extern xmlSAXHandler *__xmlDefaultSAXHandler(void);
216 #ifdef LIBXML_THREAD_ENABLED
217 #define xmlDefaultSAXHandler \
218 (*(__xmlDefaultSAXHandler()))
220 LIBXML_DLL_IMPORT extern xmlSAXHandler xmlDefaultSAXHandler;
223 extern xmlSAXLocator *__xmlDefaultSAXLocator(void);
224 #ifdef LIBXML_THREAD_ENABLED
225 #define xmlDefaultSAXLocator \
226 (*(__xmlDefaultSAXLocator()))
228 LIBXML_DLL_IMPORT extern xmlSAXLocator xmlDefaultSAXLocator;
231 extern int *__xmlDoValidityCheckingDefaultValue(void);
232 #ifdef LIBXML_THREAD_ENABLED
233 #define xmlDoValidityCheckingDefaultValue \
234 (*(__xmlDoValidityCheckingDefaultValue()))
236 LIBXML_DLL_IMPORT extern int xmlDoValidityCheckingDefaultValue;
239 extern xmlGenericErrorFunc *__xmlGenericError(void);
240 #ifdef LIBXML_THREAD_ENABLED
241 #define xmlGenericError \
242 (*(__xmlGenericError()))
244 LIBXML_DLL_IMPORT extern xmlGenericErrorFunc xmlGenericError;
247 extern void * *__xmlGenericErrorContext(void);
248 #ifdef LIBXML_THREAD_ENABLED
249 #define xmlGenericErrorContext \
250 (*(__xmlGenericErrorContext()))
252 LIBXML_DLL_IMPORT extern void * xmlGenericErrorContext;
255 extern int *__xmlGetWarningsDefaultValue(void);
256 #ifdef LIBXML_THREAD_ENABLED
257 #define xmlGetWarningsDefaultValue \
258 (*(__xmlGetWarningsDefaultValue()))
260 LIBXML_DLL_IMPORT extern int xmlGetWarningsDefaultValue;
263 extern int *__xmlIndentTreeOutput(void);
264 #ifdef LIBXML_THREAD_ENABLED
265 #define xmlIndentTreeOutput \
266 (*(__xmlIndentTreeOutput()))
268 LIBXML_DLL_IMPORT extern int xmlIndentTreeOutput;
271 extern const char * *__xmlTreeIndentString(void);
272 #ifdef LIBXML_THREAD_ENABLED
273 #define xmlTreeIndentString \
274 (*(__xmlTreeIndentString()))
276 LIBXML_DLL_IMPORT extern const char * xmlTreeIndentString;
279 extern int *__xmlKeepBlanksDefaultValue(void);
280 #ifdef LIBXML_THREAD_ENABLED
281 #define xmlKeepBlanksDefaultValue \
282 (*(__xmlKeepBlanksDefaultValue()))
284 LIBXML_DLL_IMPORT extern int xmlKeepBlanksDefaultValue;
287 extern int *__xmlLineNumbersDefaultValue(void);
288 #ifdef LIBXML_THREAD_ENABLED
289 #define xmlLineNumbersDefaultValue \
290 (*(__xmlLineNumbersDefaultValue()))
292 LIBXML_DLL_IMPORT extern int xmlLineNumbersDefaultValue;
295 extern int *__xmlLoadExtDtdDefaultValue(void);
296 #ifdef LIBXML_THREAD_ENABLED
297 #define xmlLoadExtDtdDefaultValue \
298 (*(__xmlLoadExtDtdDefaultValue()))
300 LIBXML_DLL_IMPORT extern int xmlLoadExtDtdDefaultValue;
303 extern int *__xmlParserDebugEntities(void);
304 #ifdef LIBXML_THREAD_ENABLED
305 #define xmlParserDebugEntities \
306 (*(__xmlParserDebugEntities()))
308 LIBXML_DLL_IMPORT extern int xmlParserDebugEntities;
311 extern const char * *__xmlParserVersion(void);
312 #ifdef LIBXML_THREAD_ENABLED
313 #define xmlParserVersion \
314 (*(__xmlParserVersion()))
316 LIBXML_DLL_IMPORT extern const char * xmlParserVersion;
319 extern int *__xmlPedanticParserDefaultValue(void);
320 #ifdef LIBXML_THREAD_ENABLED
321 #define xmlPedanticParserDefaultValue \
322 (*(__xmlPedanticParserDefaultValue()))
324 LIBXML_DLL_IMPORT extern int xmlPedanticParserDefaultValue;
327 extern int *__xmlSaveNoEmptyTags(void);
328 #ifdef LIBXML_THREAD_ENABLED
329 #define xmlSaveNoEmptyTags \
330 (*(__xmlSaveNoEmptyTags()))
332 LIBXML_DLL_IMPORT extern int xmlSaveNoEmptyTags;
335 extern int *__xmlSubstituteEntitiesDefaultValue(void);
336 #ifdef LIBXML_THREAD_ENABLED
337 #define xmlSubstituteEntitiesDefaultValue \
338 (*(__xmlSubstituteEntitiesDefaultValue()))
340 LIBXML_DLL_IMPORT extern int xmlSubstituteEntitiesDefaultValue;
343 extern xmlRegisterNodeFunc *__xmlRegisterNodeDefaultValue(void);
344 #ifdef LIBXML_THREAD_ENABLED
345 #define xmlRegisterNodeDefaultValue \
346 (*(__xmlRegisterNodeDefaultValue()))
348 LIBXML_DLL_IMPORT extern xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
351 extern xmlDeregisterNodeFunc *__xmlDeregisterNodeDefaultValue(void);
352 #ifdef LIBXML_THREAD_ENABLED
353 #define xmlDeregisterNodeDefaultValue \
354 (*(__xmlDeregisterNodeDefaultValue()))
356 LIBXML_DLL_IMPORT extern xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
363 #endif /* __XML_GLOBALS_H */