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 */