/ lib / lxml / includes / libxml / globals.h
globals.h
  1  /*
  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.
  5   *
  6   * The bottom of this file is automatically generated by build_glob.py
  7   * based on the description file global.data
  8   *
  9   * Copy: See Copyright for the status of this software.
 10   *
 11   * Author: Gary Pennington <Gary.Pennington@uk.sun.com>, Daniel Veillard
 12   */
 13  
 14  #ifndef __XML_GLOBALS_H
 15  #define __XML_GLOBALS_H
 16  
 17  #include <libxml/xmlversion.h>
 18  #include <libxml/parser.h>
 19  #include <libxml/xmlerror.h>
 20  #include <libxml/SAX2.h>
 21  #include <libxml/xmlmemory.h>
 22  
 23  #ifdef __cplusplus
 24  extern "C" {
 25  #endif
 26  
 27  XMLPUBFUN void XMLCALL xmlInitGlobals(void);
 28  XMLPUBFUN void XMLCALL xmlCleanupGlobals(void);
 29  
 30  /**
 31   * xmlParserInputBufferCreateFilenameFunc:
 32   * @URI: the URI to read from
 33   * @enc: the requested source encoding
 34   *
 35   * Signature for the function doing the lookup for a suitable input method
 36   * corresponding to an URI.
 37   *
 38   * Returns the new xmlParserInputBufferPtr in case of success or NULL if no
 39   *         method was found.
 40   */
 41  typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI,
 42  									   xmlCharEncoding enc);
 43  
 44  
 45  /**
 46   * xmlOutputBufferCreateFilenameFunc:
 47   * @URI: the URI to write to
 48   * @enc: the requested target encoding
 49   *
 50   * Signature for the function doing the lookup for a suitable output method
 51   * corresponding to an URI.
 52   *
 53   * Returns the new xmlOutputBufferPtr in case of success or NULL if no
 54   *         method was found.
 55   */
 56  typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI,
 57  								 xmlCharEncodingHandlerPtr encoder,
 58  								 int compression);
 59  
 60  XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
 61  XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
 62  XMLPUBFUN xmlOutputBufferCreateFilenameFunc
 63  XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);
 64  
 65  /*
 66   * Externally global symbols which need to be protected for backwards
 67   * compatibility support.
 68   */
 69  
 70  #undef	docbDefaultSAXHandler
 71  #undef	htmlDefaultSAXHandler
 72  #undef	oldXMLWDcompatibility
 73  #undef	xmlBufferAllocScheme
 74  #undef	xmlDefaultBufferSize
 75  #undef	xmlDefaultSAXHandler
 76  #undef	xmlDefaultSAXLocator
 77  #undef	xmlDoValidityCheckingDefaultValue
 78  #undef	xmlFree
 79  #undef	xmlGenericError
 80  #undef	xmlStructuredError
 81  #undef	xmlGenericErrorContext
 82  #undef	xmlStructuredErrorContext
 83  #undef	xmlGetWarningsDefaultValue
 84  #undef	xmlIndentTreeOutput
 85  #undef  xmlTreeIndentString
 86  #undef	xmlKeepBlanksDefaultValue
 87  #undef	xmlLineNumbersDefaultValue
 88  #undef	xmlLoadExtDtdDefaultValue
 89  #undef	xmlMalloc
 90  #undef	xmlMallocAtomic
 91  #undef	xmlMemStrdup
 92  #undef	xmlParserDebugEntities
 93  #undef	xmlParserVersion
 94  #undef	xmlPedanticParserDefaultValue
 95  #undef	xmlRealloc
 96  #undef	xmlSaveNoEmptyTags
 97  #undef	xmlSubstituteEntitiesDefaultValue
 98  #undef  xmlRegisterNodeDefaultValue
 99  #undef  xmlDeregisterNodeDefaultValue
100  #undef  xmlLastError
101  #undef  xmlParserInputBufferCreateFilenameValue
102  #undef  xmlOutputBufferCreateFilenameValue
103  
104  /**
105   * xmlRegisterNodeFunc:
106   * @node: the current node
107   *
108   * Signature for the registration callback of a created node
109   */
110  typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
111  /**
112   * xmlDeregisterNodeFunc:
113   * @node: the current node
114   *
115   * Signature for the deregistration callback of a discarded node
116   */
117  typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
118  
119  typedef struct _xmlGlobalState xmlGlobalState;
120  typedef xmlGlobalState *xmlGlobalStatePtr;
121  struct _xmlGlobalState
122  {
123  	const char *xmlParserVersion;
124  
125  	xmlSAXLocator xmlDefaultSAXLocator;
126  	xmlSAXHandlerV1 xmlDefaultSAXHandler;
127  	xmlSAXHandlerV1 docbDefaultSAXHandler;
128  	xmlSAXHandlerV1 htmlDefaultSAXHandler;
129  
130  	xmlFreeFunc xmlFree;
131  	xmlMallocFunc xmlMalloc;
132  	xmlStrdupFunc xmlMemStrdup;
133  	xmlReallocFunc xmlRealloc;
134  
135  	xmlGenericErrorFunc xmlGenericError;
136  	xmlStructuredErrorFunc xmlStructuredError;
137  	void *xmlGenericErrorContext;
138  
139  	int oldXMLWDcompatibility;
140  
141  	xmlBufferAllocationScheme xmlBufferAllocScheme;
142  	int xmlDefaultBufferSize;
143  
144  	int xmlSubstituteEntitiesDefaultValue;
145  	int xmlDoValidityCheckingDefaultValue;
146  	int xmlGetWarningsDefaultValue;
147  	int xmlKeepBlanksDefaultValue;
148  	int xmlLineNumbersDefaultValue;
149  	int xmlLoadExtDtdDefaultValue;
150  	int xmlParserDebugEntities;
151  	int xmlPedanticParserDefaultValue;
152  
153  	int xmlSaveNoEmptyTags;
154  	int xmlIndentTreeOutput;
155  	const char *xmlTreeIndentString;
156  
157  	xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
158  	xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
159  
160  	xmlMallocFunc xmlMallocAtomic;
161  	xmlError xmlLastError;
162  
163  	xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
164  	xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
165  
166  	void *xmlStructuredErrorContext;
167  };
168  
169  #ifdef __cplusplus
170  }
171  #endif
172  #include <libxml/threads.h>
173  #ifdef __cplusplus
174  extern "C" {
175  #endif
176  
177  XMLPUBFUN void XMLCALL	xmlInitializeGlobalState(xmlGlobalStatePtr gs);
178  
179  XMLPUBFUN void XMLCALL xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
180  
181  XMLPUBFUN void XMLCALL xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);
182  
183  XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
184  XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
185  XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
186  XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
187  
188  XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
189  	xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
190  XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
191  	xmlThrDefParserInputBufferCreateFilenameDefault(
192  				xmlParserInputBufferCreateFilenameFunc func);
193  
194  /** DOC_DISABLE */
195  /*
196   * In general the memory allocation entry points are not kept
197   * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
198   *    - xmlMalloc
199   *    - xmlMallocAtomic
200   *    - xmlRealloc
201   *    - xmlMemStrdup
202   *    - xmlFree
203   */
204  
205  #ifdef LIBXML_THREAD_ALLOC_ENABLED
206  #ifdef LIBXML_THREAD_ENABLED
207  XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMalloc(void);
208  #define xmlMalloc \
209  (*(__xmlMalloc()))
210  #else
211  XMLPUBVAR xmlMallocFunc xmlMalloc;
212  #endif
213  
214  #ifdef LIBXML_THREAD_ENABLED
215  XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMallocAtomic(void);
216  #define xmlMallocAtomic \
217  (*(__xmlMallocAtomic()))
218  #else
219  XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
220  #endif
221  
222  #ifdef LIBXML_THREAD_ENABLED
223  XMLPUBFUN  xmlReallocFunc * XMLCALL __xmlRealloc(void);
224  #define xmlRealloc \
225  (*(__xmlRealloc()))
226  #else
227  XMLPUBVAR xmlReallocFunc xmlRealloc;
228  #endif
229  
230  #ifdef LIBXML_THREAD_ENABLED
231  XMLPUBFUN  xmlFreeFunc * XMLCALL __xmlFree(void);
232  #define xmlFree \
233  (*(__xmlFree()))
234  #else
235  XMLPUBVAR xmlFreeFunc xmlFree;
236  #endif
237  
238  #ifdef LIBXML_THREAD_ENABLED
239  XMLPUBFUN  xmlStrdupFunc * XMLCALL __xmlMemStrdup(void);
240  #define xmlMemStrdup \
241  (*(__xmlMemStrdup()))
242  #else
243  XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
244  #endif
245  
246  #else /* !LIBXML_THREAD_ALLOC_ENABLED */
247  XMLPUBVAR xmlMallocFunc xmlMalloc;
248  XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
249  XMLPUBVAR xmlReallocFunc xmlRealloc;
250  XMLPUBVAR xmlFreeFunc xmlFree;
251  XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
252  #endif /* LIBXML_THREAD_ALLOC_ENABLED */
253  
254  #ifdef LIBXML_DOCB_ENABLED
255  XMLPUBFUN  xmlSAXHandlerV1 * XMLCALL __docbDefaultSAXHandler(void);
256  #ifdef LIBXML_THREAD_ENABLED
257  #define docbDefaultSAXHandler \
258  (*(__docbDefaultSAXHandler()))
259  #else
260  XMLPUBVAR xmlSAXHandlerV1 docbDefaultSAXHandler;
261  #endif
262  #endif
263  
264  #ifdef LIBXML_HTML_ENABLED
265  XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __htmlDefaultSAXHandler(void);
266  #ifdef LIBXML_THREAD_ENABLED
267  #define htmlDefaultSAXHandler \
268  (*(__htmlDefaultSAXHandler()))
269  #else
270  XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler;
271  #endif
272  #endif
273  
274  XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
275  #ifdef LIBXML_THREAD_ENABLED
276  #define xmlLastError \
277  (*(__xmlLastError()))
278  #else
279  XMLPUBVAR xmlError xmlLastError;
280  #endif
281  
282  /*
283   * Everything starting from the line below is
284   * Automatically generated by build_glob.py.
285   * Do not modify the previous line.
286   */
287  
288  
289  XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
290  #ifdef LIBXML_THREAD_ENABLED
291  #define oldXMLWDcompatibility \
292  (*(__oldXMLWDcompatibility()))
293  #else
294  XMLPUBVAR int oldXMLWDcompatibility;
295  #endif
296  
297  XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
298  #ifdef LIBXML_THREAD_ENABLED
299  #define xmlBufferAllocScheme \
300  (*(__xmlBufferAllocScheme()))
301  #else
302  XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
303  #endif
304  XMLPUBFUN xmlBufferAllocationScheme XMLCALL
305  	xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
306  
307  XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
308  #ifdef LIBXML_THREAD_ENABLED
309  #define xmlDefaultBufferSize \
310  (*(__xmlDefaultBufferSize()))
311  #else
312  XMLPUBVAR int xmlDefaultBufferSize;
313  #endif
314  XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);
315  
316  XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
317  #ifdef LIBXML_THREAD_ENABLED
318  #define xmlDefaultSAXHandler \
319  (*(__xmlDefaultSAXHandler()))
320  #else
321  XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
322  #endif
323  
324  XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
325  #ifdef LIBXML_THREAD_ENABLED
326  #define xmlDefaultSAXLocator \
327  (*(__xmlDefaultSAXLocator()))
328  #else
329  XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
330  #endif
331  
332  XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
333  #ifdef LIBXML_THREAD_ENABLED
334  #define xmlDoValidityCheckingDefaultValue \
335  (*(__xmlDoValidityCheckingDefaultValue()))
336  #else
337  XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
338  #endif
339  XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);
340  
341  XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
342  #ifdef LIBXML_THREAD_ENABLED
343  #define xmlGenericError \
344  (*(__xmlGenericError()))
345  #else
346  XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
347  #endif
348  
349  XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
350  #ifdef LIBXML_THREAD_ENABLED
351  #define xmlStructuredError \
352  (*(__xmlStructuredError()))
353  #else
354  XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
355  #endif
356  
357  XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
358  #ifdef LIBXML_THREAD_ENABLED
359  #define xmlGenericErrorContext \
360  (*(__xmlGenericErrorContext()))
361  #else
362  XMLPUBVAR void * xmlGenericErrorContext;
363  #endif
364  
365  XMLPUBFUN void * * XMLCALL __xmlStructuredErrorContext(void);
366  #ifdef LIBXML_THREAD_ENABLED
367  #define xmlStructuredErrorContext \
368  (*(__xmlStructuredErrorContext()))
369  #else
370  XMLPUBVAR void * xmlStructuredErrorContext;
371  #endif
372  
373  XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
374  #ifdef LIBXML_THREAD_ENABLED
375  #define xmlGetWarningsDefaultValue \
376  (*(__xmlGetWarningsDefaultValue()))
377  #else
378  XMLPUBVAR int xmlGetWarningsDefaultValue;
379  #endif
380  XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);
381  
382  XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
383  #ifdef LIBXML_THREAD_ENABLED
384  #define xmlIndentTreeOutput \
385  (*(__xmlIndentTreeOutput()))
386  #else
387  XMLPUBVAR int xmlIndentTreeOutput;
388  #endif
389  XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);
390  
391  XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
392  #ifdef LIBXML_THREAD_ENABLED
393  #define xmlTreeIndentString \
394  (*(__xmlTreeIndentString()))
395  #else
396  XMLPUBVAR const char * xmlTreeIndentString;
397  #endif
398  XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);
399  
400  XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
401  #ifdef LIBXML_THREAD_ENABLED
402  #define xmlKeepBlanksDefaultValue \
403  (*(__xmlKeepBlanksDefaultValue()))
404  #else
405  XMLPUBVAR int xmlKeepBlanksDefaultValue;
406  #endif
407  XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);
408  
409  XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
410  #ifdef LIBXML_THREAD_ENABLED
411  #define xmlLineNumbersDefaultValue \
412  (*(__xmlLineNumbersDefaultValue()))
413  #else
414  XMLPUBVAR int xmlLineNumbersDefaultValue;
415  #endif
416  XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);
417  
418  XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
419  #ifdef LIBXML_THREAD_ENABLED
420  #define xmlLoadExtDtdDefaultValue \
421  (*(__xmlLoadExtDtdDefaultValue()))
422  #else
423  XMLPUBVAR int xmlLoadExtDtdDefaultValue;
424  #endif
425  XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);
426  
427  XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
428  #ifdef LIBXML_THREAD_ENABLED
429  #define xmlParserDebugEntities \
430  (*(__xmlParserDebugEntities()))
431  #else
432  XMLPUBVAR int xmlParserDebugEntities;
433  #endif
434  XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);
435  
436  XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
437  #ifdef LIBXML_THREAD_ENABLED
438  #define xmlParserVersion \
439  (*(__xmlParserVersion()))
440  #else
441  XMLPUBVAR const char * xmlParserVersion;
442  #endif
443  
444  XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
445  #ifdef LIBXML_THREAD_ENABLED
446  #define xmlPedanticParserDefaultValue \
447  (*(__xmlPedanticParserDefaultValue()))
448  #else
449  XMLPUBVAR int xmlPedanticParserDefaultValue;
450  #endif
451  XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);
452  
453  XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
454  #ifdef LIBXML_THREAD_ENABLED
455  #define xmlSaveNoEmptyTags \
456  (*(__xmlSaveNoEmptyTags()))
457  #else
458  XMLPUBVAR int xmlSaveNoEmptyTags;
459  #endif
460  XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);
461  
462  XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
463  #ifdef LIBXML_THREAD_ENABLED
464  #define xmlSubstituteEntitiesDefaultValue \
465  (*(__xmlSubstituteEntitiesDefaultValue()))
466  #else
467  XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
468  #endif
469  XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);
470  
471  XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
472  #ifdef LIBXML_THREAD_ENABLED
473  #define xmlRegisterNodeDefaultValue \
474  (*(__xmlRegisterNodeDefaultValue()))
475  #else
476  XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
477  #endif
478  
479  XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
480  #ifdef LIBXML_THREAD_ENABLED
481  #define xmlDeregisterNodeDefaultValue \
482  (*(__xmlDeregisterNodeDefaultValue()))
483  #else
484  XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
485  #endif
486  
487  XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL \
488  				__xmlParserInputBufferCreateFilenameValue(void);
489  #ifdef LIBXML_THREAD_ENABLED
490  #define xmlParserInputBufferCreateFilenameValue \
491  (*(__xmlParserInputBufferCreateFilenameValue()))
492  #else
493  XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
494  #endif
495  
496  XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
497  #ifdef LIBXML_THREAD_ENABLED
498  #define xmlOutputBufferCreateFilenameValue \
499  (*(__xmlOutputBufferCreateFilenameValue()))
500  #else
501  XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
502  #endif
503  
504  #ifdef __cplusplus
505  }
506  #endif
507  
508  #endif /* __XML_GLOBALS_H */