globals.h

Go to the documentation of this file.
00001 /*
00002  * Summary: interface for all global variables of the library
00003  * Description: all the global variables and thread handling for
00004  *              those variables is handled by this module.
00005  *
00006  * The bottom of this file is automatically generated by build_glob.py
00007  * based on the description file global.data
00008  *
00009  * Copy: See Copyright for the status of this software.
00010  *
00011  * Author: Gary Pennington <Gary.Pennington@uk.sun.com>, Daniel Veillard
00012  */
00013 
00014 #ifndef __XML_GLOBALS_H
00015 #define __XML_GLOBALS_H
00016 
00017 #include <libxml/xmlversion.h>
00018 #include <libxml/parser.h>
00019 #include <libxml/xmlerror.h>
00020 #include <libxml/SAX.h>
00021 #include <libxml/SAX2.h>
00022 #include <libxml/xmlmemory.h>
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00028 XMLPUBFUN void XMLCALL xmlInitGlobals(void);
00029 XMLPUBFUN void XMLCALL xmlCleanupGlobals(void);
00030 
00031 typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI, xmlCharEncoding enc);
00032 typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, xmlCharEncodingHandlerPtr encoder, int compression);
00033 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
00034 XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
00035 XMLPUBFUN xmlOutputBufferCreateFilenameFunc
00036 XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);
00037 
00038 /*
00039  * Externally global symbols which need to be protected for backwards
00040  * compatibility support.
00041  */
00042 
00043 #undef  docbDefaultSAXHandler
00044 #undef  htmlDefaultSAXHandler
00045 #undef  oldXMLWDcompatibility
00046 #undef  xmlBufferAllocScheme
00047 #undef  xmlDefaultBufferSize
00048 #undef  xmlDefaultSAXHandler
00049 #undef  xmlDefaultSAXLocator
00050 #undef  xmlDoValidityCheckingDefaultValue
00051 #undef  xmlFree
00052 #undef  xmlGenericError
00053 #undef  xmlStructuredError
00054 #undef  xmlGenericErrorContext
00055 #undef  xmlGetWarningsDefaultValue
00056 #undef  xmlIndentTreeOutput
00057 #undef  xmlTreeIndentString
00058 #undef  xmlKeepBlanksDefaultValue
00059 #undef  xmlLineNumbersDefaultValue
00060 #undef  xmlLoadExtDtdDefaultValue
00061 #undef  xmlMalloc
00062 #undef  xmlMallocAtomic
00063 #undef  xmlMemStrdup
00064 #undef  xmlParserDebugEntities
00065 #undef  xmlParserVersion
00066 #undef  xmlPedanticParserDefaultValue
00067 #undef  xmlRealloc
00068 #undef  xmlSaveNoEmptyTags
00069 #undef  xmlSubstituteEntitiesDefaultValue
00070 #undef  xmlRegisterNodeDefaultValue
00071 #undef  xmlDeregisterNodeDefaultValue
00072 #undef  xmlLastError
00073 #undef  xmlParserInputBufferCreateFilenameValue
00074 #undef  xmlOutputBufferCreateFilenameValue
00075 
00076 typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
00077 typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
00078 
00079 typedef struct _xmlGlobalState xmlGlobalState;
00080 typedef xmlGlobalState *xmlGlobalStatePtr;
00081 struct _xmlGlobalState 
00082 {
00083     const char *xmlParserVersion;
00084 
00085     xmlSAXLocator xmlDefaultSAXLocator;
00086     xmlSAXHandlerV1 xmlDefaultSAXHandler;
00087     xmlSAXHandlerV1 docbDefaultSAXHandler;
00088     xmlSAXHandlerV1 htmlDefaultSAXHandler;
00089 
00090     xmlFreeFunc xmlFree;
00091     xmlMallocFunc xmlMalloc;
00092     xmlStrdupFunc xmlMemStrdup;
00093     xmlReallocFunc xmlRealloc;
00094 
00095     xmlGenericErrorFunc xmlGenericError;
00096     xmlStructuredErrorFunc xmlStructuredError;
00097     void *xmlGenericErrorContext;
00098 
00099     int oldXMLWDcompatibility;
00100 
00101     xmlBufferAllocationScheme xmlBufferAllocScheme;
00102     int xmlDefaultBufferSize;
00103 
00104     int xmlSubstituteEntitiesDefaultValue;
00105     int xmlDoValidityCheckingDefaultValue;
00106     int xmlGetWarningsDefaultValue;
00107     int xmlKeepBlanksDefaultValue;
00108     int xmlLineNumbersDefaultValue;
00109     int xmlLoadExtDtdDefaultValue;
00110     int xmlParserDebugEntities;
00111     int xmlPedanticParserDefaultValue;
00112 
00113     int xmlSaveNoEmptyTags;
00114     int xmlIndentTreeOutput;
00115     const char *xmlTreeIndentString;
00116 
00117     xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
00118     xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
00119 
00120     xmlMallocFunc xmlMallocAtomic;
00121     xmlError xmlLastError;
00122 
00123     xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
00124     xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
00125 };
00126 
00127 #ifdef __cplusplus
00128 }
00129 #endif
00130 #include <libxml/threads.h>
00131 #ifdef __cplusplus
00132 extern "C" {
00133 #endif
00134 
00135 XMLPUBFUN void XMLCALL  xmlInitializeGlobalState(xmlGlobalStatePtr gs);
00136 
00137 XMLPUBFUN void XMLCALL xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
00138 
00139 XMLPUBFUN void XMLCALL xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);
00140 
00141 XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
00142 XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
00143 XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
00144 XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
00145 
00146 XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL 
00147     xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
00148 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL 
00149     xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func);
00150 
00152 /*
00153  * In general the memory allocation entry points are not kept
00154  * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
00155  *    - xmlMalloc
00156  *    - xmlMallocAtomic
00157  *    - xmlRealloc
00158  *    - xmlMemStrdup
00159  *    - xmlFree
00160  */
00161 
00162 #ifdef LIBXML_THREAD_ALLOC_ENABLED
00163 #ifdef LIBXML_THREAD_ENABLED
00164 XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMalloc(void);
00165 #define xmlMalloc \
00166 (*(__xmlMalloc()))
00167 #else
00168 XMLPUBVAR xmlMallocFunc xmlMalloc;
00169 #endif
00170 
00171 #ifdef LIBXML_THREAD_ENABLED
00172 XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMallocAtomic(void);
00173 #define xmlMallocAtomic \
00174 (*(__xmlMallocAtomic()))
00175 #else
00176 XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
00177 #endif
00178 
00179 #ifdef LIBXML_THREAD_ENABLED
00180 XMLPUBFUN  xmlReallocFunc * XMLCALL __xmlRealloc(void);
00181 #define xmlRealloc \
00182 (*(__xmlRealloc()))
00183 #else
00184 XMLPUBVAR xmlReallocFunc xmlRealloc;
00185 #endif
00186 
00187 #ifdef LIBXML_THREAD_ENABLED
00188 XMLPUBFUN  xmlFreeFunc * XMLCALL __xmlFree(void);
00189 #define xmlFree \
00190 (*(__xmlFree()))
00191 #else
00192 XMLPUBVAR xmlFreeFunc xmlFree;
00193 #endif
00194 
00195 #ifdef LIBXML_THREAD_ENABLED
00196 XMLPUBFUN  xmlStrdupFunc * XMLCALL __xmlMemStrdup(void);
00197 #define xmlMemStrdup \
00198 (*(__xmlMemStrdup()))
00199 #else
00200 XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
00201 #endif
00202 
00203 #else /* !LIBXML_THREAD_ALLOC_ENABLED */
00204 XMLPUBVAR xmlMallocFunc xmlMalloc;
00205 XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
00206 XMLPUBVAR xmlReallocFunc xmlRealloc;
00207 XMLPUBVAR xmlFreeFunc xmlFree;
00208 XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
00209 #endif /* LIBXML_THREAD_ALLOC_ENABLED */
00210 
00211 #ifdef LIBXML_DOCB_ENABLED
00212 XMLPUBFUN  xmlSAXHandlerV1 * XMLCALL __docbDefaultSAXHandler(void);
00213 #ifdef LIBXML_THREAD_ENABLED
00214 #define docbDefaultSAXHandler \
00215 (*(__docbDefaultSAXHandler()))
00216 #else
00217 XMLPUBVAR xmlSAXHandlerV1 docbDefaultSAXHandler;
00218 #endif
00219 #endif
00220 
00221 #ifdef LIBXML_HTML_ENABLED
00222 XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __htmlDefaultSAXHandler(void);
00223 #ifdef LIBXML_THREAD_ENABLED
00224 #define htmlDefaultSAXHandler \
00225 (*(__htmlDefaultSAXHandler()))
00226 #else
00227 XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler;
00228 #endif
00229 #endif
00230 
00231 XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
00232 #ifdef LIBXML_THREAD_ENABLED
00233 #define xmlLastError \
00234 (*(__xmlLastError()))
00235 #else
00236 XMLPUBVAR xmlError xmlLastError;
00237 #endif
00238 
00239 /*
00240  * Everything starting from the line below is
00241  * Automatically generated by build_glob.py.
00242  * Do not modify the previous line.
00243  */
00244 
00245 
00246 XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
00247 #ifdef LIBXML_THREAD_ENABLED
00248 #define oldXMLWDcompatibility \
00249 (*(__oldXMLWDcompatibility()))
00250 #else
00251 XMLPUBVAR int oldXMLWDcompatibility;
00252 #endif
00253 
00254 XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
00255 #ifdef LIBXML_THREAD_ENABLED
00256 #define xmlBufferAllocScheme \
00257 (*(__xmlBufferAllocScheme()))
00258 #else
00259 XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
00260 #endif
00261 XMLPUBFUN xmlBufferAllocationScheme XMLCALL xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
00262 
00263 XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
00264 #ifdef LIBXML_THREAD_ENABLED
00265 #define xmlDefaultBufferSize \
00266 (*(__xmlDefaultBufferSize()))
00267 #else
00268 XMLPUBVAR int xmlDefaultBufferSize;
00269 #endif
00270 XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);
00271 
00272 XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
00273 #ifdef LIBXML_THREAD_ENABLED
00274 #define xmlDefaultSAXHandler \
00275 (*(__xmlDefaultSAXHandler()))
00276 #else
00277 XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
00278 #endif
00279 
00280 XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
00281 #ifdef LIBXML_THREAD_ENABLED
00282 #define xmlDefaultSAXLocator \
00283 (*(__xmlDefaultSAXLocator()))
00284 #else
00285 XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
00286 #endif
00287 
00288 XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
00289 #ifdef LIBXML_THREAD_ENABLED
00290 #define xmlDoValidityCheckingDefaultValue \
00291 (*(__xmlDoValidityCheckingDefaultValue()))
00292 #else
00293 XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
00294 #endif
00295 XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);
00296 
00297 XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
00298 #ifdef LIBXML_THREAD_ENABLED
00299 #define xmlGenericError \
00300 (*(__xmlGenericError()))
00301 #else
00302 XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
00303 #endif
00304 
00305 XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
00306 #ifdef LIBXML_THREAD_ENABLED
00307 #define xmlStructuredError \
00308 (*(__xmlStructuredError()))
00309 #else
00310 XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
00311 #endif
00312 
00313 XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
00314 #ifdef LIBXML_THREAD_ENABLED
00315 #define xmlGenericErrorContext \
00316 (*(__xmlGenericErrorContext()))
00317 #else
00318 XMLPUBVAR void * xmlGenericErrorContext;
00319 #endif
00320 
00321 XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
00322 #ifdef LIBXML_THREAD_ENABLED
00323 #define xmlGetWarningsDefaultValue \
00324 (*(__xmlGetWarningsDefaultValue()))
00325 #else
00326 XMLPUBVAR int xmlGetWarningsDefaultValue;
00327 #endif
00328 XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);
00329 
00330 XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
00331 #ifdef LIBXML_THREAD_ENABLED
00332 #define xmlIndentTreeOutput \
00333 (*(__xmlIndentTreeOutput()))
00334 #else
00335 XMLPUBVAR int xmlIndentTreeOutput;
00336 #endif
00337 XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);
00338 
00339 XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
00340 #ifdef LIBXML_THREAD_ENABLED
00341 #define xmlTreeIndentString \
00342 (*(__xmlTreeIndentString()))
00343 #else
00344 XMLPUBVAR const char * xmlTreeIndentString;
00345 #endif
00346 XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);
00347 
00348 XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
00349 #ifdef LIBXML_THREAD_ENABLED
00350 #define xmlKeepBlanksDefaultValue \
00351 (*(__xmlKeepBlanksDefaultValue()))
00352 #else
00353 XMLPUBVAR int xmlKeepBlanksDefaultValue;
00354 #endif
00355 XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);
00356 
00357 XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
00358 #ifdef LIBXML_THREAD_ENABLED
00359 #define xmlLineNumbersDefaultValue \
00360 (*(__xmlLineNumbersDefaultValue()))
00361 #else
00362 XMLPUBVAR int xmlLineNumbersDefaultValue;
00363 #endif
00364 XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);
00365 
00366 XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
00367 #ifdef LIBXML_THREAD_ENABLED
00368 #define xmlLoadExtDtdDefaultValue \
00369 (*(__xmlLoadExtDtdDefaultValue()))
00370 #else
00371 XMLPUBVAR int xmlLoadExtDtdDefaultValue;
00372 #endif
00373 XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);
00374 
00375 XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
00376 #ifdef LIBXML_THREAD_ENABLED
00377 #define xmlParserDebugEntities \
00378 (*(__xmlParserDebugEntities()))
00379 #else
00380 XMLPUBVAR int xmlParserDebugEntities;
00381 #endif
00382 XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);
00383 
00384 XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
00385 #ifdef LIBXML_THREAD_ENABLED
00386 #define xmlParserVersion \
00387 (*(__xmlParserVersion()))
00388 #else
00389 XMLPUBVAR const char * xmlParserVersion;
00390 #endif
00391 
00392 XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
00393 #ifdef LIBXML_THREAD_ENABLED
00394 #define xmlPedanticParserDefaultValue \
00395 (*(__xmlPedanticParserDefaultValue()))
00396 #else
00397 XMLPUBVAR int xmlPedanticParserDefaultValue;
00398 #endif
00399 XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);
00400 
00401 XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
00402 #ifdef LIBXML_THREAD_ENABLED
00403 #define xmlSaveNoEmptyTags \
00404 (*(__xmlSaveNoEmptyTags()))
00405 #else
00406 XMLPUBVAR int xmlSaveNoEmptyTags;
00407 #endif
00408 XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);
00409 
00410 XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
00411 #ifdef LIBXML_THREAD_ENABLED
00412 #define xmlSubstituteEntitiesDefaultValue \
00413 (*(__xmlSubstituteEntitiesDefaultValue()))
00414 #else
00415 XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
00416 #endif
00417 XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);
00418 
00419 XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
00420 #ifdef LIBXML_THREAD_ENABLED
00421 #define xmlRegisterNodeDefaultValue \
00422 (*(__xmlRegisterNodeDefaultValue()))
00423 #else
00424 XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
00425 #endif
00426 
00427 XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
00428 #ifdef LIBXML_THREAD_ENABLED
00429 #define xmlDeregisterNodeDefaultValue \
00430 (*(__xmlDeregisterNodeDefaultValue()))
00431 #else
00432 XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
00433 #endif
00434 
00435 XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL __xmlParserInputBufferCreateFilenameValue(void);
00436 #ifdef LIBXML_THREAD_ENABLED
00437 #define xmlParserInputBufferCreateFilenameValue \
00438 (*(__xmlParserInputBufferCreateFilenameValue()))
00439 #else
00440 XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
00441 #endif
00442 
00443 XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
00444 #ifdef LIBXML_THREAD_ENABLED
00445 #define xmlOutputBufferCreateFilenameValue \
00446 (*(__xmlOutputBufferCreateFilenameValue()))
00447 #else
00448 XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
00449 #endif
00450 
00451 #ifdef __cplusplus
00452 }
00453 #endif
00454 
00455 #endif /* __XML_GLOBALS_H */
footer
 SourceForge.net Logo