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);
42 typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (
const char *URI, xmlCharEncoding enc);
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);
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
107 typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
114 typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
116 typedef struct _xmlGlobalState xmlGlobalState;
117 typedef xmlGlobalState *xmlGlobalStatePtr;
118 struct _xmlGlobalState
120 const char *xmlParserVersion;
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);
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;
243 XMLPUBVAR xmlMallocFunc xmlMalloc;
244 XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
245 XMLPUBVAR xmlReallocFunc xmlRealloc;
246 XMLPUBVAR xmlFreeFunc xmlFree;
247 XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
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;
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()))
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;