Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 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 | |
| 20 | #ifdef __cplusplus |
| 21 | extern "C" { |
| 22 | #endif |
| 23 | |
| 24 | /* |
| 25 | * Externally global symbols which need to be protected for backwards |
| 26 | * compatibility support. |
| 27 | */ |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 28 | |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 29 | #undef docbDefaultSAXHandler |
| 30 | #undef htmlDefaultSAXHandler |
| 31 | #undef oldXMLWDcompatibility |
| 32 | #undef xmlBufferAllocScheme |
| 33 | #undef xmlDefaultBufferSize |
| 34 | #undef xmlDefaultSAXHandler |
| 35 | #undef xmlDefaultSAXLocator |
| 36 | #undef xmlDoValidityCheckingDefaultValue |
| 37 | #undef xmlFree |
| 38 | #undef xmlGenericError |
| 39 | #undef xmlGenericErrorContext |
| 40 | #undef xmlGetWarningsDefaultValue |
| 41 | #undef xmlIndentTreeOutput |
| 42 | #undef xmlKeepBlanksDefaultValue |
| 43 | #undef xmlLineNumbersDefaultValue |
| 44 | #undef xmlLoadExtDtdDefaultValue |
| 45 | #undef xmlMalloc |
| 46 | #undef xmlMemStrdup |
| 47 | #undef xmlParserDebugEntities |
| 48 | #undef xmlParserVersion |
| 49 | #undef xmlPedanticParserDefaultValue |
| 50 | #undef xmlRealloc |
| 51 | #undef xmlSaveNoEmptyTags |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 52 | #undef xmlSubstituteEntitiesDefaultValue |
| 53 | |
| 54 | typedef struct _xmlGlobalState xmlGlobalState; |
| 55 | typedef xmlGlobalState *xmlGlobalStatePtr; |
| 56 | struct _xmlGlobalState |
| 57 | { |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 58 | const char *xmlParserVersion; |
| 59 | |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 60 | xmlFreeFunc xmlFree; |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 61 | xmlMallocFunc xmlMalloc; |
| 62 | xmlStrdupFunc xmlMemStrdup; |
| 63 | xmlReallocFunc xmlRealloc; |
| 64 | |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 65 | xmlGenericErrorFunc xmlGenericError; |
| 66 | void *xmlGenericErrorContext; |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 67 | |
| 68 | xmlSAXLocator xmlDefaultSAXLocator; |
| 69 | xmlSAXHandler xmlDefaultSAXHandler; |
| 70 | xmlSAXHandler docbDefaultSAXHandler; |
| 71 | xmlSAXHandler htmlDefaultSAXHandler; |
| 72 | |
| 73 | int oldXMLWDcompatibility; |
| 74 | |
| 75 | xmlBufferAllocationScheme xmlBufferAllocScheme; |
| 76 | int xmlDefaultBufferSize; |
| 77 | |
| 78 | int xmlSubstituteEntitiesDefaultValue; |
| 79 | int xmlDoValidityCheckingDefaultValue; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 80 | int xmlGetWarningsDefaultValue; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 81 | int xmlKeepBlanksDefaultValue; |
| 82 | int xmlLineNumbersDefaultValue; |
| 83 | int xmlLoadExtDtdDefaultValue; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 84 | int xmlParserDebugEntities; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 85 | int xmlPedanticParserDefaultValue; |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 86 | |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 87 | int xmlSaveNoEmptyTags; |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 88 | int xmlIndentTreeOutput; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 89 | }; |
| 90 | |
| 91 | void xmlInitializeGlobalState(xmlGlobalStatePtr gs); |
| 92 | |
| 93 | /* |
Daniel Veillard | 64a411c | 2001-10-15 12:32:07 +0000 | [diff] [blame^] | 94 | * In general the memory allocation entry points are not kept |
| 95 | * thread specific but this can be overriden by LIBXML_THREAD_ALLOC_ENABLED |
| 96 | * - xmlMalloc |
| 97 | * - xmlRealloc |
| 98 | * - xmlMemStrdup |
| 99 | * - xmlFree |
| 100 | */ |
| 101 | |
| 102 | #ifdef LIBXML_THREAD_ALLOC_ENABLED |
| 103 | #ifdef LIBXML_THREAD_ENABLED |
| 104 | extern xmlMallocFunc *__xmlMalloc(void); |
| 105 | #define xmlMalloc \ |
| 106 | (*(__xmlMalloc())) |
| 107 | #else |
| 108 | LIBXML_DLL_IMPORT extern xmlMallocFunc xmlMalloc; |
| 109 | #endif |
| 110 | |
| 111 | #ifdef LIBXML_THREAD_ENABLED |
| 112 | extern xmlReallocFunc *__xmlRealloc(void); |
| 113 | #define xmlRealloc \ |
| 114 | (*(__xmlRealloc())) |
| 115 | #else |
| 116 | LIBXML_DLL_IMPORT extern xmlReallocFunc xmlRealloc; |
| 117 | #endif |
| 118 | |
| 119 | #ifdef LIBXML_THREAD_ENABLED |
| 120 | extern xmlFreeFunc *__xmlFree(void); |
| 121 | #define xmlFree \ |
| 122 | (*(__xmlFree())) |
| 123 | #else |
| 124 | LIBXML_DLL_IMPORT extern xmlFreeFunc xmlFree; |
| 125 | #endif |
| 126 | |
| 127 | #ifdef LIBXML_THREAD_ENABLED |
| 128 | extern xmlStrdupFunc *__xmlMemStrdup(void); |
| 129 | #define xmlMemStrdup \ |
| 130 | (*(__xmlMemStrdup())) |
| 131 | #else |
| 132 | LIBXML_DLL_IMPORT extern xmlStrdupFunc xmlMemStrdup; |
| 133 | #endif |
| 134 | #else /* !LIBXML_THREAD_ALLOC_ENABLED */ |
| 135 | LIBXML_DLL_IMPORT extern xmlMallocFunc xmlMalloc; |
| 136 | LIBXML_DLL_IMPORT extern xmlReallocFunc xmlRealloc; |
| 137 | LIBXML_DLL_IMPORT extern xmlFreeFunc xmlFree; |
| 138 | LIBXML_DLL_IMPORT extern xmlStrdupFunc xmlMemStrdup; |
| 139 | #endif /* LIBXML_THREAD_ALLOC_ENABLED */ |
| 140 | |
| 141 | /* |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 142 | * Everything starting from the line below is |
| 143 | * Automatically generated by build_glob.py. |
| 144 | * Do not modify the previous line. |
| 145 | */ |
| 146 | |
| 147 | |
| 148 | #ifdef LIBXML_THREAD_ENABLED |
| 149 | extern xmlSAXHandler *__docbDefaultSAXHandler(void); |
| 150 | #define docbDefaultSAXHandler \ |
| 151 | (*(__docbDefaultSAXHandler())) |
| 152 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 153 | LIBXML_DLL_IMPORT extern xmlSAXHandler docbDefaultSAXHandler; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 154 | #endif |
| 155 | |
| 156 | #ifdef LIBXML_THREAD_ENABLED |
| 157 | extern xmlSAXHandler *__htmlDefaultSAXHandler(void); |
| 158 | #define htmlDefaultSAXHandler \ |
| 159 | (*(__htmlDefaultSAXHandler())) |
| 160 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 161 | LIBXML_DLL_IMPORT extern xmlSAXHandler htmlDefaultSAXHandler; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 162 | #endif |
| 163 | |
| 164 | #ifdef LIBXML_THREAD_ENABLED |
| 165 | extern int *__oldXMLWDcompatibility(void); |
| 166 | #define oldXMLWDcompatibility \ |
| 167 | (*(__oldXMLWDcompatibility())) |
| 168 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 169 | LIBXML_DLL_IMPORT extern int oldXMLWDcompatibility; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 170 | #endif |
| 171 | |
| 172 | #ifdef LIBXML_THREAD_ENABLED |
| 173 | extern xmlBufferAllocationScheme *__xmlBufferAllocScheme(void); |
| 174 | #define xmlBufferAllocScheme \ |
| 175 | (*(__xmlBufferAllocScheme())) |
| 176 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 177 | LIBXML_DLL_IMPORT extern xmlBufferAllocationScheme xmlBufferAllocScheme; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 178 | #endif |
| 179 | |
| 180 | #ifdef LIBXML_THREAD_ENABLED |
| 181 | extern int *__xmlDefaultBufferSize(void); |
| 182 | #define xmlDefaultBufferSize \ |
| 183 | (*(__xmlDefaultBufferSize())) |
| 184 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 185 | LIBXML_DLL_IMPORT extern int xmlDefaultBufferSize; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 186 | #endif |
| 187 | |
| 188 | #ifdef LIBXML_THREAD_ENABLED |
| 189 | extern xmlSAXHandler *__xmlDefaultSAXHandler(void); |
| 190 | #define xmlDefaultSAXHandler \ |
| 191 | (*(__xmlDefaultSAXHandler())) |
| 192 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 193 | LIBXML_DLL_IMPORT extern xmlSAXHandler xmlDefaultSAXHandler; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 194 | #endif |
| 195 | |
| 196 | #ifdef LIBXML_THREAD_ENABLED |
| 197 | extern xmlSAXLocator *__xmlDefaultSAXLocator(void); |
| 198 | #define xmlDefaultSAXLocator \ |
| 199 | (*(__xmlDefaultSAXLocator())) |
| 200 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 201 | LIBXML_DLL_IMPORT extern xmlSAXLocator xmlDefaultSAXLocator; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 202 | #endif |
| 203 | |
| 204 | #ifdef LIBXML_THREAD_ENABLED |
| 205 | extern int *__xmlDoValidityCheckingDefaultValue(void); |
| 206 | #define xmlDoValidityCheckingDefaultValue \ |
| 207 | (*(__xmlDoValidityCheckingDefaultValue())) |
| 208 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 209 | LIBXML_DLL_IMPORT extern int xmlDoValidityCheckingDefaultValue; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 210 | #endif |
| 211 | |
| 212 | #ifdef LIBXML_THREAD_ENABLED |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 213 | extern xmlGenericErrorFunc *__xmlGenericError(void); |
| 214 | #define xmlGenericError \ |
| 215 | (*(__xmlGenericError())) |
| 216 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 217 | LIBXML_DLL_IMPORT extern xmlGenericErrorFunc xmlGenericError; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 218 | #endif |
| 219 | |
| 220 | #ifdef LIBXML_THREAD_ENABLED |
| 221 | extern void * *__xmlGenericErrorContext(void); |
| 222 | #define xmlGenericErrorContext \ |
| 223 | (*(__xmlGenericErrorContext())) |
| 224 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 225 | LIBXML_DLL_IMPORT extern void * xmlGenericErrorContext; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 226 | #endif |
| 227 | |
| 228 | #ifdef LIBXML_THREAD_ENABLED |
| 229 | extern int *__xmlGetWarningsDefaultValue(void); |
| 230 | #define xmlGetWarningsDefaultValue \ |
| 231 | (*(__xmlGetWarningsDefaultValue())) |
| 232 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 233 | LIBXML_DLL_IMPORT extern int xmlGetWarningsDefaultValue; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 234 | #endif |
| 235 | |
| 236 | #ifdef LIBXML_THREAD_ENABLED |
| 237 | extern int *__xmlIndentTreeOutput(void); |
| 238 | #define xmlIndentTreeOutput \ |
| 239 | (*(__xmlIndentTreeOutput())) |
| 240 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 241 | LIBXML_DLL_IMPORT extern int xmlIndentTreeOutput; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 242 | #endif |
| 243 | |
| 244 | #ifdef LIBXML_THREAD_ENABLED |
| 245 | extern int *__xmlKeepBlanksDefaultValue(void); |
| 246 | #define xmlKeepBlanksDefaultValue \ |
| 247 | (*(__xmlKeepBlanksDefaultValue())) |
| 248 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 249 | LIBXML_DLL_IMPORT extern int xmlKeepBlanksDefaultValue; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 250 | #endif |
| 251 | |
| 252 | #ifdef LIBXML_THREAD_ENABLED |
| 253 | extern int *__xmlLineNumbersDefaultValue(void); |
| 254 | #define xmlLineNumbersDefaultValue \ |
| 255 | (*(__xmlLineNumbersDefaultValue())) |
| 256 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 257 | LIBXML_DLL_IMPORT extern int xmlLineNumbersDefaultValue; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 258 | #endif |
| 259 | |
| 260 | #ifdef LIBXML_THREAD_ENABLED |
| 261 | extern int *__xmlLoadExtDtdDefaultValue(void); |
| 262 | #define xmlLoadExtDtdDefaultValue \ |
| 263 | (*(__xmlLoadExtDtdDefaultValue())) |
| 264 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 265 | LIBXML_DLL_IMPORT extern int xmlLoadExtDtdDefaultValue; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 266 | #endif |
| 267 | |
| 268 | #ifdef LIBXML_THREAD_ENABLED |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 269 | extern int *__xmlParserDebugEntities(void); |
| 270 | #define xmlParserDebugEntities \ |
| 271 | (*(__xmlParserDebugEntities())) |
| 272 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 273 | LIBXML_DLL_IMPORT extern int xmlParserDebugEntities; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 274 | #endif |
| 275 | |
| 276 | #ifdef LIBXML_THREAD_ENABLED |
| 277 | extern const char * *__xmlParserVersion(void); |
| 278 | #define xmlParserVersion \ |
| 279 | (*(__xmlParserVersion())) |
| 280 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 281 | LIBXML_DLL_IMPORT extern const char * xmlParserVersion; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 282 | #endif |
| 283 | |
| 284 | #ifdef LIBXML_THREAD_ENABLED |
| 285 | extern int *__xmlPedanticParserDefaultValue(void); |
| 286 | #define xmlPedanticParserDefaultValue \ |
| 287 | (*(__xmlPedanticParserDefaultValue())) |
| 288 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 289 | LIBXML_DLL_IMPORT extern int xmlPedanticParserDefaultValue; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 290 | #endif |
| 291 | |
| 292 | #ifdef LIBXML_THREAD_ENABLED |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 293 | extern int *__xmlSaveNoEmptyTags(void); |
| 294 | #define xmlSaveNoEmptyTags \ |
| 295 | (*(__xmlSaveNoEmptyTags())) |
| 296 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 297 | LIBXML_DLL_IMPORT extern int xmlSaveNoEmptyTags; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 298 | #endif |
| 299 | |
| 300 | #ifdef LIBXML_THREAD_ENABLED |
| 301 | extern int *__xmlSubstituteEntitiesDefaultValue(void); |
| 302 | #define xmlSubstituteEntitiesDefaultValue \ |
| 303 | (*(__xmlSubstituteEntitiesDefaultValue())) |
| 304 | #else |
Daniel Veillard | d046356 | 2001-10-13 09:15:48 +0000 | [diff] [blame] | 305 | LIBXML_DLL_IMPORT extern int xmlSubstituteEntitiesDefaultValue; |
Daniel Veillard | b847864 | 2001-10-12 17:29:10 +0000 | [diff] [blame] | 306 | #endif |
| 307 | |
| 308 | #ifdef __cplusplus |
| 309 | } |
| 310 | #endif |
| 311 | |
| 312 | #endif /* __XML_GLOBALS_H */ |