Initial revision
[TestXSLT.git] / libxml2 / include / libxml / globals.h
1 /*
2  * globals.h: interface for all global variables of the library
3  *
4  * The bottom of this file is automatically generated by build_glob.py
5  * based on the description file global.data
6  *
7  * See Copyright for the status of this software.
8  *
9  * Gary Pennington <Gary.Pennington@uk.sun.com>
10  * daniel@veillard.com
11  */
12
13 #ifndef __XML_GLOBALS_H
14 #define __XML_GLOBALS_H
15
16 #include <libxml/parser.h>
17 #include <libxml/xmlerror.h>
18 #include <libxml/SAX.h>
19 #include <libxml/xmlmemory.h>
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
25 /*
26  * Externally global symbols which need to be protected for backwards
27  * compatibility support.
28  */
29
30 #undef  docbDefaultSAXHandler
31 #undef  htmlDefaultSAXHandler
32 #undef  oldXMLWDcompatibility
33 #undef  xmlBufferAllocScheme
34 #undef  xmlDefaultBufferSize
35 #undef  xmlDefaultSAXHandler
36 #undef  xmlDefaultSAXLocator
37 #undef  xmlDoValidityCheckingDefaultValue
38 #undef  xmlFree
39 #undef  xmlGenericError
40 #undef  xmlGenericErrorContext
41 #undef  xmlGetWarningsDefaultValue
42 #undef  xmlIndentTreeOutput
43 #undef  xmlTreeIndentString
44 #undef  xmlKeepBlanksDefaultValue
45 #undef  xmlLineNumbersDefaultValue
46 #undef  xmlLoadExtDtdDefaultValue
47 #undef  xmlMalloc
48 #undef  xmlMemStrdup
49 #undef  xmlParserDebugEntities
50 #undef  xmlParserVersion
51 #undef  xmlPedanticParserDefaultValue
52 #undef  xmlRealloc
53 #undef  xmlSaveNoEmptyTags
54 #undef  xmlSubstituteEntitiesDefaultValue
55 #undef xmlRegisterNodeDefaultValue
56 #undef xmlDeregisterNodeDefaultValue
57
58 typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
59 typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
60
61 typedef struct _xmlGlobalState xmlGlobalState;
62 typedef xmlGlobalState *xmlGlobalStatePtr;
63 struct _xmlGlobalState 
64 {
65         const char *xmlParserVersion;
66
67         xmlSAXLocator xmlDefaultSAXLocator;
68         xmlSAXHandler xmlDefaultSAXHandler;
69         xmlSAXHandler docbDefaultSAXHandler;
70         xmlSAXHandler htmlDefaultSAXHandler;
71
72         xmlFreeFunc xmlFree;
73         xmlMallocFunc xmlMalloc;
74         xmlStrdupFunc xmlMemStrdup;
75         xmlReallocFunc xmlRealloc;
76
77         xmlGenericErrorFunc xmlGenericError;
78         void *xmlGenericErrorContext;
79
80         int oldXMLWDcompatibility;
81
82         xmlBufferAllocationScheme xmlBufferAllocScheme;
83         int xmlDefaultBufferSize;
84
85         int xmlSubstituteEntitiesDefaultValue;
86         int xmlDoValidityCheckingDefaultValue;
87         int xmlGetWarningsDefaultValue;
88         int xmlKeepBlanksDefaultValue;
89         int xmlLineNumbersDefaultValue;
90         int xmlLoadExtDtdDefaultValue;
91         int xmlParserDebugEntities;
92         int xmlPedanticParserDefaultValue;
93
94         int xmlSaveNoEmptyTags;
95         int xmlIndentTreeOutput;
96         const char *xmlTreeIndentString;
97
98         xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
99         xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
100 };
101
102 #ifdef __cplusplus
103 }
104 #endif
105 #include <libxml/threads.h>
106 #ifdef __cplusplus
107 extern "C" {
108 #endif
109
110 void    xmlInitializeGlobalState(xmlGlobalStatePtr gs);
111
112 xmlRegisterNodeFunc xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
113 xmlDeregisterNodeFunc xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
114
115 /*
116  * In general the memory allocation entry points are not kept
117  * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
118  *    - xmlMalloc
119  *    - xmlRealloc
120  *    - xmlMemStrdup
121  *    - xmlFree
122  */
123
124 #ifdef LIBXML_THREAD_ALLOC_ENABLED
125 #ifdef LIBXML_THREAD_ENABLED
126 extern xmlMallocFunc *__xmlMalloc(void);
127 #define xmlMalloc \
128 (*(__xmlMalloc()))
129 #else
130 LIBXML_DLL_IMPORT extern xmlMallocFunc xmlMalloc;
131 #endif
132
133 #ifdef LIBXML_THREAD_ENABLED
134 extern xmlReallocFunc *__xmlRealloc(void);
135 #define xmlRealloc \
136 (*(__xmlRealloc()))
137 #else
138 LIBXML_DLL_IMPORT extern xmlReallocFunc xmlRealloc;
139 #endif
140
141 #ifdef LIBXML_THREAD_ENABLED
142 extern xmlFreeFunc *__xmlFree(void);
143 #define xmlFree \
144 (*(__xmlFree()))
145 #else
146 LIBXML_DLL_IMPORT extern xmlFreeFunc xmlFree;
147 #endif
148
149 #ifdef LIBXML_THREAD_ENABLED
150 extern xmlStrdupFunc *__xmlMemStrdup(void);
151 #define xmlMemStrdup \
152 (*(__xmlMemStrdup()))
153 #else
154 LIBXML_DLL_IMPORT extern xmlStrdupFunc xmlMemStrdup;
155 #endif
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 */
162
163 #ifdef LIBXML_DOCB_ENABLED
164 extern xmlSAXHandler *__docbDefaultSAXHandler(void);
165 #ifdef LIBXML_THREAD_ENABLED
166 #define docbDefaultSAXHandler \
167 (*(__docbDefaultSAXHandler()))
168 #else
169 LIBXML_DLL_IMPORT extern xmlSAXHandler docbDefaultSAXHandler;
170 #endif
171 #endif
172
173 #ifdef LIBXML_HTML_ENABLED
174 extern xmlSAXHandler *__htmlDefaultSAXHandler(void);
175 #ifdef LIBXML_THREAD_ENABLED
176 #define htmlDefaultSAXHandler \
177 (*(__htmlDefaultSAXHandler()))
178 #else
179 LIBXML_DLL_IMPORT extern xmlSAXHandler htmlDefaultSAXHandler;
180 #endif
181 #endif
182
183
184 /*
185  * Everything starting from the line below is
186  * Automatically generated by build_glob.py.
187  * Do not modify the previous line.
188  */
189
190
191 extern int *__oldXMLWDcompatibility(void);
192 #ifdef LIBXML_THREAD_ENABLED
193 #define oldXMLWDcompatibility \
194 (*(__oldXMLWDcompatibility()))
195 #else
196 LIBXML_DLL_IMPORT extern int oldXMLWDcompatibility;
197 #endif
198
199 extern xmlBufferAllocationScheme *__xmlBufferAllocScheme(void);
200 #ifdef LIBXML_THREAD_ENABLED
201 #define xmlBufferAllocScheme \
202 (*(__xmlBufferAllocScheme()))
203 #else
204 LIBXML_DLL_IMPORT extern xmlBufferAllocationScheme xmlBufferAllocScheme;
205 #endif
206
207 extern int *__xmlDefaultBufferSize(void);
208 #ifdef LIBXML_THREAD_ENABLED
209 #define xmlDefaultBufferSize \
210 (*(__xmlDefaultBufferSize()))
211 #else
212 LIBXML_DLL_IMPORT extern int xmlDefaultBufferSize;
213 #endif
214
215 extern xmlSAXHandler *__xmlDefaultSAXHandler(void);
216 #ifdef LIBXML_THREAD_ENABLED
217 #define xmlDefaultSAXHandler \
218 (*(__xmlDefaultSAXHandler()))
219 #else
220 LIBXML_DLL_IMPORT extern xmlSAXHandler xmlDefaultSAXHandler;
221 #endif
222
223 extern xmlSAXLocator *__xmlDefaultSAXLocator(void);
224 #ifdef LIBXML_THREAD_ENABLED
225 #define xmlDefaultSAXLocator \
226 (*(__xmlDefaultSAXLocator()))
227 #else
228 LIBXML_DLL_IMPORT extern xmlSAXLocator xmlDefaultSAXLocator;
229 #endif
230
231 extern int *__xmlDoValidityCheckingDefaultValue(void);
232 #ifdef LIBXML_THREAD_ENABLED
233 #define xmlDoValidityCheckingDefaultValue \
234 (*(__xmlDoValidityCheckingDefaultValue()))
235 #else
236 LIBXML_DLL_IMPORT extern int xmlDoValidityCheckingDefaultValue;
237 #endif
238
239 extern xmlGenericErrorFunc *__xmlGenericError(void);
240 #ifdef LIBXML_THREAD_ENABLED
241 #define xmlGenericError \
242 (*(__xmlGenericError()))
243 #else
244 LIBXML_DLL_IMPORT extern xmlGenericErrorFunc xmlGenericError;
245 #endif
246
247 extern void * *__xmlGenericErrorContext(void);
248 #ifdef LIBXML_THREAD_ENABLED
249 #define xmlGenericErrorContext \
250 (*(__xmlGenericErrorContext()))
251 #else
252 LIBXML_DLL_IMPORT extern void * xmlGenericErrorContext;
253 #endif
254
255 extern int *__xmlGetWarningsDefaultValue(void);
256 #ifdef LIBXML_THREAD_ENABLED
257 #define xmlGetWarningsDefaultValue \
258 (*(__xmlGetWarningsDefaultValue()))
259 #else
260 LIBXML_DLL_IMPORT extern int xmlGetWarningsDefaultValue;
261 #endif
262
263 extern int *__xmlIndentTreeOutput(void);
264 #ifdef LIBXML_THREAD_ENABLED
265 #define xmlIndentTreeOutput \
266 (*(__xmlIndentTreeOutput()))
267 #else
268 LIBXML_DLL_IMPORT extern int xmlIndentTreeOutput;
269 #endif
270
271 extern const char * *__xmlTreeIndentString(void);
272 #ifdef LIBXML_THREAD_ENABLED
273 #define xmlTreeIndentString \
274 (*(__xmlTreeIndentString()))
275 #else
276 LIBXML_DLL_IMPORT extern const char * xmlTreeIndentString;
277 #endif
278
279 extern int *__xmlKeepBlanksDefaultValue(void);
280 #ifdef LIBXML_THREAD_ENABLED
281 #define xmlKeepBlanksDefaultValue \
282 (*(__xmlKeepBlanksDefaultValue()))
283 #else
284 LIBXML_DLL_IMPORT extern int xmlKeepBlanksDefaultValue;
285 #endif
286
287 extern int *__xmlLineNumbersDefaultValue(void);
288 #ifdef LIBXML_THREAD_ENABLED
289 #define xmlLineNumbersDefaultValue \
290 (*(__xmlLineNumbersDefaultValue()))
291 #else
292 LIBXML_DLL_IMPORT extern int xmlLineNumbersDefaultValue;
293 #endif
294
295 extern int *__xmlLoadExtDtdDefaultValue(void);
296 #ifdef LIBXML_THREAD_ENABLED
297 #define xmlLoadExtDtdDefaultValue \
298 (*(__xmlLoadExtDtdDefaultValue()))
299 #else
300 LIBXML_DLL_IMPORT extern int xmlLoadExtDtdDefaultValue;
301 #endif
302
303 extern int *__xmlParserDebugEntities(void);
304 #ifdef LIBXML_THREAD_ENABLED
305 #define xmlParserDebugEntities \
306 (*(__xmlParserDebugEntities()))
307 #else
308 LIBXML_DLL_IMPORT extern int xmlParserDebugEntities;
309 #endif
310
311 extern const char * *__xmlParserVersion(void);
312 #ifdef LIBXML_THREAD_ENABLED
313 #define xmlParserVersion \
314 (*(__xmlParserVersion()))
315 #else
316 LIBXML_DLL_IMPORT extern const char * xmlParserVersion;
317 #endif
318
319 extern int *__xmlPedanticParserDefaultValue(void);
320 #ifdef LIBXML_THREAD_ENABLED
321 #define xmlPedanticParserDefaultValue \
322 (*(__xmlPedanticParserDefaultValue()))
323 #else
324 LIBXML_DLL_IMPORT extern int xmlPedanticParserDefaultValue;
325 #endif
326
327 extern int *__xmlSaveNoEmptyTags(void);
328 #ifdef LIBXML_THREAD_ENABLED
329 #define xmlSaveNoEmptyTags \
330 (*(__xmlSaveNoEmptyTags()))
331 #else
332 LIBXML_DLL_IMPORT extern int xmlSaveNoEmptyTags;
333 #endif
334
335 extern int *__xmlSubstituteEntitiesDefaultValue(void);
336 #ifdef LIBXML_THREAD_ENABLED
337 #define xmlSubstituteEntitiesDefaultValue \
338 (*(__xmlSubstituteEntitiesDefaultValue()))
339 #else
340 LIBXML_DLL_IMPORT extern int xmlSubstituteEntitiesDefaultValue;
341 #endif
342
343 extern xmlRegisterNodeFunc *__xmlRegisterNodeDefaultValue(void);
344 #ifdef LIBXML_THREAD_ENABLED
345 #define xmlRegisterNodeDefaultValue \
346 (*(__xmlRegisterNodeDefaultValue()))
347 #else
348 LIBXML_DLL_IMPORT extern xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
349 #endif
350
351 extern xmlDeregisterNodeFunc *__xmlDeregisterNodeDefaultValue(void);
352 #ifdef LIBXML_THREAD_ENABLED
353 #define xmlDeregisterNodeDefaultValue \
354 (*(__xmlDeregisterNodeDefaultValue()))
355 #else
356 LIBXML_DLL_IMPORT extern xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
357 #endif
358
359 #ifdef __cplusplus
360 }
361 #endif
362
363 #endif /* __XML_GLOBALS_H */