1b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard/* 2b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * globals.c: definition and handling of the set of global variables 3b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * of the library 4b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * 5b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * The bottom of this file is automatically generated by build_glob.py 6b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * based on the description file global.data 7b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * 8b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * See Copyright for the status of this software. 9b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * 10b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * Gary Pennington <Gary.Pennington@uk.sun.com> 11b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * daniel@veillard.com 12b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 13b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 1434ce8bece2f22cc99d25221b77315cd008f4866bDaniel Veillard#define IN_LIBXML 15b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#include "libxml.h" 16b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 17e70906192ca48073ac57cb6f0c32202aa2d93822Daniel Veillard#ifdef HAVE_STDLIB_H 1877d19aea03551c578132eb11c27963fc4a53c30aJaka Mocnik#include <stdlib.h> 19e70906192ca48073ac57cb6f0c32202aa2d93822Daniel Veillard#endif 2077d19aea03551c578132eb11c27963fc4a53c30aJaka Mocnik#include <string.h> 2177d19aea03551c578132eb11c27963fc4a53c30aJaka Mocnik 223c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard#include <libxml/globals.h> 23e70906192ca48073ac57cb6f0c32202aa2d93822Daniel Veillard#include <libxml/xmlmemory.h> 24781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard#include <libxml/threads.h> 25e70906192ca48073ac57cb6f0c32202aa2d93822Daniel Veillard 263c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard/* #define DEBUG_GLOBALS */ 273c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard 28b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard/* 29b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * Helpful Macro 30b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 313c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard#ifdef LIBXML_THREAD_ENABLED 323c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard#define IS_MAIN_THREAD (xmlIsMainThread()) 33b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#else 34b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#define IS_MAIN_THREAD 1 35b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#endif 36b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 37781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard/* 38781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard * Mutex to protect "ForNewThreads" variables 39781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard */ 40781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic xmlMutexPtr xmlThrDefMutex = NULL; 41781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard 42966668a703de347886cf1110537b6954a903fb68William M. Brack/** 43966668a703de347886cf1110537b6954a903fb68William M. Brack * xmlInitGlobals: 44966668a703de347886cf1110537b6954a903fb68William M. Brack * 45966668a703de347886cf1110537b6954a903fb68William M. Brack * Additional initialisation for multi-threading 46966668a703de347886cf1110537b6954a903fb68William M. Brack */ 4775e389d4e0ccd998d288387051e66a8f0b2af1b0Daniel Veillardvoid xmlInitGlobals(void) 48781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard{ 492c2128387d7b5670f7f4a54cedc45b3b29552630Kai Henning if (xmlThrDefMutex == NULL) 5044d1eff028ad103a3f33699d0d62b0468664c103MOD xmlThrDefMutex = xmlNewMutex(); 51781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 52781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard 53966668a703de347886cf1110537b6954a903fb68William M. Brack/** 54966668a703de347886cf1110537b6954a903fb68William M. Brack * xmlCleanupGlobals: 55966668a703de347886cf1110537b6954a903fb68William M. Brack * 56966668a703de347886cf1110537b6954a903fb68William M. Brack * Additional cleanup for multi-threading 57966668a703de347886cf1110537b6954a903fb68William M. Brack */ 5875e389d4e0ccd998d288387051e66a8f0b2af1b0Daniel Veillardvoid xmlCleanupGlobals(void) 59781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard{ 602009c4ed4d2069b0727827a0d47133e24a6146fcDaniel Veillard if (xmlThrDefMutex != NULL) { 61df101d832da9db9efd59ab194b18ccc5a7274bd1Daniel Veillard xmlFreeMutex(xmlThrDefMutex); 622009c4ed4d2069b0727827a0d47133e24a6146fcDaniel Veillard xmlThrDefMutex = NULL; 632009c4ed4d2069b0727827a0d47133e24a6146fcDaniel Veillard } 64ccc476f177312548342c0a8cc921445024ebc7d2Daniel Veillard __xmlGlobalInitMutexDestroy(); 65781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 66781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard 67b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard/************************************************************************ 68f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard * * 69b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * All the user accessible global variables of the library * 70f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard * * 71b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard ************************************************************************/ 72b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 73b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard/* 74b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * Memory allocation routines 75b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 765ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack#undef xmlFree 775ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack#undef xmlMalloc 785ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack#undef xmlMallocAtomic 795ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack#undef xmlMemStrdup 805ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack#undef xmlRealloc 815ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack 827216cfd6622d947695c67b7b430edef8cc0af967Daniel Veillard#if defined(DEBUG_MEMORY_LOCATION) || defined(DEBUG_MEMORY) 83b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlFreeFunc xmlFree = (xmlFreeFunc) xmlMemFree; 84b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlMallocFunc xmlMalloc = (xmlMallocFunc) xmlMemMalloc; 853c908dca479ed50dca24b8593bca90e40dbde6b8Daniel VeillardxmlMallocFunc xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc; 86b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlReallocFunc xmlRealloc = (xmlReallocFunc) xmlMemRealloc; 87b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup; 88b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#else 899d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 909d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlFree: 919d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * @mem: an already allocated block of memory 929d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 939d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * The variable holding the libxml free() implementation 949d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 95b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlFreeFunc xmlFree = (xmlFreeFunc) free; 969d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 979d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlMalloc: 989d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * @size: the size requested in bytes 999d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 1009d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * The variable holding the libxml malloc() implementation 1019d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 1029d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Returns a pointer to the newly allocated block or NULL in case of error 1039d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 104b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlMallocFunc xmlMalloc = (xmlMallocFunc) malloc; 1059d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 1063c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard * xmlMallocAtomic: 1073c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard * @size: the size requested in bytes 1083c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard * 1093c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard * The variable holding the libxml malloc() implementation for atomic 1103c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard * data (i.e. blocks not containings pointers), useful when using a 1113c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard * garbage collecting allocator. 1123c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard * 1133c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard * Returns a pointer to the newly allocated block or NULL in case of error 1143c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard */ 1153c908dca479ed50dca24b8593bca90e40dbde6b8Daniel VeillardxmlMallocFunc xmlMallocAtomic = (xmlMallocFunc) malloc; 1163c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard/** 1179d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlRealloc: 1189d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * @mem: an already allocated block of memory 1199d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * @size: the new size requested in bytes 1209d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 1219d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * The variable holding the libxml realloc() implementation 1229d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 1239d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Returns a pointer to the newly reallocated block or NULL in case of error 1249d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 125b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlReallocFunc xmlRealloc = (xmlReallocFunc) realloc; 1269d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 1279d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlMemStrdup: 1289d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * @str: a zero terminated string 1299d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 1309d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * The variable holding the libxml strdup() implementation 1319d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 1329d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Returns the copy of the string or NULL in case of error 1339d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 134b82c16694d1225a8b7a306394366246f0b56c2f3Daniel VeillardxmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlStrdup; 1352b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel Veillard#endif /* DEBUG_MEMORY_LOCATION || DEBUG_MEMORY */ 136b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 137d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#include <libxml/threads.h> 138d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#include <libxml/globals.h> 139d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#include <libxml/SAX.h> 140d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard 141d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef docbDefaultSAXHandler 142d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef htmlDefaultSAXHandler 143d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef oldXMLWDcompatibility 144d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlBufferAllocScheme 145d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlDefaultBufferSize 146d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlDefaultSAXHandler 147d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlDefaultSAXLocator 148d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlDoValidityCheckingDefaultValue 149d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlGenericError 150659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard#undef xmlStructuredError 151d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlGenericErrorContext 1521de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam#undef xmlStructuredErrorContext 153d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlGetWarningsDefaultValue 154d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlIndentTreeOutput 15523002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin#undef xmlTreeIndentString 156d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlKeepBlanksDefaultValue 157d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlLineNumbersDefaultValue 158d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlLoadExtDtdDefaultValue 159d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlParserDebugEntities 160d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlParserVersion 161d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlPedanticParserDefaultValue 162d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlSaveNoEmptyTags 163d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard#undef xmlSubstituteEntitiesDefaultValue 1648326e73bc163e15fd7b5264c0cc6cf2480723869Daniel Veillard#undef xmlRegisterNodeDefaultValue 1658326e73bc163e15fd7b5264c0cc6cf2480723869Daniel Veillard#undef xmlDeregisterNodeDefaultValue 1662b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel Veillard#undef xmlLastError 167d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard 1680335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard#undef xmlParserInputBufferCreateFilenameValue 1690335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard#undef xmlOutputBufferCreateFilenameValue 1709d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 1719d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlParserVersion: 1729d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 1739d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Constant string describing the internal version of the library 1749d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 175f4025492f51c976edecd92deba5581dab2687773William M. Brackconst char *xmlParserVersion = LIBXML_VERSION_STRING LIBXML_VERSION_EXTRA; 1763c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard 1779d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 1789d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlBufferAllocScheme: 1799d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 1809d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, default allocation policy for buffers, default is 1819d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * XML_BUFFER_ALLOC_EXACT 182b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 183b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlBufferAllocationScheme xmlBufferAllocScheme = XML_BUFFER_ALLOC_EXACT; 184781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic xmlBufferAllocationScheme xmlBufferAllocSchemeThrDef = XML_BUFFER_ALLOC_EXACT; 1859d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 1869d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlDefaultBufferSize: 1879d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 1889d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, default buffer size. Default value is BASE_BUFFER_SIZE 1899d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 190b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint xmlDefaultBufferSize = BASE_BUFFER_SIZE; 191781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic int xmlDefaultBufferSizeThrDef = BASE_BUFFER_SIZE; 192b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 193b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard/* 194b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * Parser defaults 195b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 196d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard 1979d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 1989d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * oldXMLWDcompatibility: 1999d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 2009d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, DEPRECATED. 2019d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 202b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint oldXMLWDcompatibility = 0; /* DEPRECATED */ 2039d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 2049d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlParserDebugEntities: 2059d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 2069d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, asking the parser to print out debugging informations. 2079d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * while handling entities. 2089d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Disabled by default 2099d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 210b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint xmlParserDebugEntities = 0; 211781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic int xmlParserDebugEntitiesThrDef = 0; 2129d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 2139d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlDoValidityCheckingDefaultValue: 2149d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 2159d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, indicate that the parser should work in validating mode. 2169d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Disabled by default. 2179d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 218b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint xmlDoValidityCheckingDefaultValue = 0; 219781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic int xmlDoValidityCheckingDefaultValueThrDef = 0; 2209d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 2219d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlGetWarningsDefaultValue: 2229d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 2239d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, indicate that the parser should provide warnings. 2249d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Activated by default. 2259d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 226b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint xmlGetWarningsDefaultValue = 1; 227781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic int xmlGetWarningsDefaultValueThrDef = 1; 2289d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 2299d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlLoadExtDtdDefaultValue: 2309d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 2319d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, indicate that the parser should load DTD while not 2329d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * validating. 2339d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Disabled by default. 2349d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 235b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint xmlLoadExtDtdDefaultValue = 0; 236781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic int xmlLoadExtDtdDefaultValueThrDef = 0; 2379d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 2389d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlPedanticParserDefaultValue: 2399d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 2409d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, indicate that the parser be pedantic 2419d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Disabled by default. 2429d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 243b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint xmlPedanticParserDefaultValue = 0; 244781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic int xmlPedanticParserDefaultValueThrDef = 0; 2459d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 2469d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlLineNumbersDefaultValue: 2479d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 2489d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, indicate that the parser should store the line number 249f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard * in the content field of elements in the DOM tree. 2509d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Disabled by default since this may not be safe for old classes of 2519d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * applicaton. 2529d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 253b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint xmlLineNumbersDefaultValue = 0; 254781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic int xmlLineNumbersDefaultValueThrDef = 0; 2559d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 2569d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlKeepBlanksDefaultValue: 2579d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 2589d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, indicate that the parser should keep all blanks 2599d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * nodes found in the content 2609d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Activated by default, this is actually needed to have the parser 2619d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * conformant to the XML Recommendation, however the option is kept 2629d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * for some applications since this was libxml1 default behaviour. 2639d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 264b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint xmlKeepBlanksDefaultValue = 1; 265781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic int xmlKeepBlanksDefaultValueThrDef = 1; 2669d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 2679d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlSubstituteEntitiesDefaultValue: 2689d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 2699d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, indicate that the parser should not generate entity 2709d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * references but replace them with the actual content of the entity 2719d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Disabled by default, this should be activated when using XPath since 2729d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * the XPath data model requires entities replacement and the XPath 2739d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * engine does not handle entities references transparently. 2749d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 275b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint xmlSubstituteEntitiesDefaultValue = 0; 276781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic int xmlSubstituteEntitiesDefaultValueThrDef = 0; 277b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 2785335dc52afb3400b469264d758be01af84e4cfb0Daniel VeillardxmlRegisterNodeFunc xmlRegisterNodeDefaultValue = NULL; 279781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic xmlRegisterNodeFunc xmlRegisterNodeDefaultValueThrDef = NULL; 2805335dc52afb3400b469264d758be01af84e4cfb0Daniel VeillardxmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue = NULL; 281781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValueThrDef = NULL; 2825335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard 2830335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel VeillardxmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue = NULL; 2840335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillardstatic xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValueThrDef = NULL; 2850335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard 2860335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel VeillardxmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue = NULL; 2870335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillardstatic xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValueThrDef = NULL; 2880335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard 289b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard/* 290b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * Error handling 291b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 292b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 293b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard/* xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc; */ 294b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard/* Must initialize xmlGenericError in xmlInitParser */ 295ffa3c74933baa45bef5e0d7f15473c38a4c3f9e8Daniel Veillardvoid XMLCDECL xmlGenericErrorDefaultFunc (void *ctx ATTRIBUTE_UNUSED, 296635ef72a94db9f647dcff11d33f50115564ce091Daniel Veillard const char *msg, 297635ef72a94db9f647dcff11d33f50115564ce091Daniel Veillard ...); 2989d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 2999d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlGenericError: 3009d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 3019d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting: function used for generic error callbacks 3029d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 303635ef72a94db9f647dcff11d33f50115564ce091Daniel VeillardxmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc; 304781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic xmlGenericErrorFunc xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc; 3059d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 306659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard * xmlStructuredError: 307659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard * 308659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard * Global setting: function used for structured error callbacks 309659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard */ 310659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel VeillardxmlStructuredErrorFunc xmlStructuredError = NULL; 311659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillardstatic xmlStructuredErrorFunc xmlStructuredErrorThrDef = NULL; 312659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard/** 3139d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlGenericErrorContext: 3149d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 3159d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting passed to generic error callbacks 3169d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 317b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardvoid *xmlGenericErrorContext = NULL; 318781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic void *xmlGenericErrorContextThrDef = NULL; 3191de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam/** 3201de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam * xmlStructuredErrorContext: 3211de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam * 3221de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam * Global setting passed to structured error callbacks 3231de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam */ 3241de382eb061b70b07040b3932c4b6082eb3ded79Wang Lamvoid *xmlStructuredErrorContext = NULL; 3251de382eb061b70b07040b3932c4b6082eb3ded79Wang Lamstatic void *xmlStructuredErrorContextThrDef = NULL; 3262b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel VeillardxmlError xmlLastError; 327b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 328b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard/* 329b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * output defaults 330b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 3319d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 3329d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlIndentTreeOutput: 3339d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 3349d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, asking the serializer to indent the output tree by default 33523002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin * Enabled by default 33623002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin */ 33723002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Saninint xmlIndentTreeOutput = 1; 338781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic int xmlIndentTreeOutputThrDef = 1; 33923002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin 34023002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin/** 34123002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin * xmlTreeIndentString: 34223002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin * 34323002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin * The string used to do one-level indent. By default is equal to " " (two spaces) 3449d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 34523002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Saninconst char *xmlTreeIndentString = " "; 346781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardstatic const char *xmlTreeIndentStringThrDef = " "; 34723002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin 3489d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 3499d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlSaveNoEmptyTags: 3509d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 3519d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Global setting, asking the serializer to not output empty tags 3529d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * as <empty/> but <empty></empty>. those two forms are undistinguishable 3539d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * once parsed. 3549d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * Disabled by default 3559d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 356b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint xmlSaveNoEmptyTags = 0; 35724505b0f5c872c5afb6da5093565e5a6e09ca541Daniel Veillardstatic int xmlSaveNoEmptyTagsThrDef = 0; 358b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 3598127390f0332ddf545fe59e406996deaedfee964Daniel Veillard#ifdef LIBXML_SAX1_ENABLED 3609d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 3619d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlDefaultSAXHandler: 3629d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 363092643b52d29e6b721c257c4c88efa8259eebfe9Daniel Veillard * Default SAX version1 handler for XML, builds the DOM tree 364b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 365092643b52d29e6b721c257c4c88efa8259eebfe9Daniel VeillardxmlSAXHandlerV1 xmlDefaultSAXHandler = { 3661af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2InternalSubset, 3671af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2IsStandalone, 3681af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2HasInternalSubset, 3691af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2HasExternalSubset, 3701af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2ResolveEntity, 3711af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2GetEntity, 3721af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2EntityDecl, 3731af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2NotationDecl, 3741af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2AttributeDecl, 3751af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2ElementDecl, 3761af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2UnparsedEntityDecl, 3771af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2SetDocumentLocator, 3781af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2StartDocument, 3791af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2EndDocument, 3801af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2StartElement, 3811af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2EndElement, 3821af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2Reference, 3831af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2Characters, 3841af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2Characters, 3851af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2ProcessingInstruction, 3861af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2Comment, 387b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard xmlParserWarning, 388b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard xmlParserError, 389b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard xmlParserError, 3901af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2GetParameterEntity, 3911af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2CDataBlock, 3921af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2ExternalSubset, 3931af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard 0, 394b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard}; 3958127390f0332ddf545fe59e406996deaedfee964Daniel Veillard#endif /* LIBXML_SAX1_ENABLED */ 396b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 3979d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 3989d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * xmlDefaultSAXLocator: 3999d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 4009d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * The default SAX Locator 4019d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * { getPublicId, getSystemId, getLineNumber, getColumnNumber} 402b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 403b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlSAXLocator xmlDefaultSAXLocator = { 4041af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2GetPublicId, 4051af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2GetSystemId, 4061af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2GetLineNumber, 4071af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2GetColumnNumber 408b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard}; 409b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 410b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#ifdef LIBXML_HTML_ENABLED 4119d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 4129d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * htmlDefaultSAXHandler: 4139d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 414092643b52d29e6b721c257c4c88efa8259eebfe9Daniel Veillard * Default old SAX v1 handler for HTML, builds the DOM tree 415b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 416092643b52d29e6b721c257c4c88efa8259eebfe9Daniel VeillardxmlSAXHandlerV1 htmlDefaultSAXHandler = { 4171af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2InternalSubset, 418b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 419b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 420b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 421b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 4221af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2GetEntity, 423b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 424b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 425b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 426b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 427b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 4281af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2SetDocumentLocator, 4291af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2StartDocument, 4301af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2EndDocument, 4311af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2StartElement, 4321af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2EndElement, 433b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 4341af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2Characters, 4351af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2IgnorableWhitespace, 436fc484dd0a01b5f8f2187dd8a6791d5f8677fa816Daniel Veillard xmlSAX2ProcessingInstruction, 4371af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2Comment, 438b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard xmlParserWarning, 439b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard xmlParserError, 440b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard xmlParserError, 4411af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2GetParameterEntity, 4421af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2CDataBlock, 4431af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard NULL, 4441af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard 0, 445b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard}; 446b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#endif /* LIBXML_HTML_ENABLED */ 447b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 448b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#ifdef LIBXML_DOCB_ENABLED 4499d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 4509d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * docbDefaultSAXHandler: 4519d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 452092643b52d29e6b721c257c4c88efa8259eebfe9Daniel Veillard * Default old SAX v1 handler for SGML DocBook, builds the DOM tree 453b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 454092643b52d29e6b721c257c4c88efa8259eebfe9Daniel VeillardxmlSAXHandlerV1 docbDefaultSAXHandler = { 4551af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2InternalSubset, 4561af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2IsStandalone, 4571af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2HasInternalSubset, 4581af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2HasExternalSubset, 4591af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2ResolveEntity, 4601af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2GetEntity, 4611af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2EntityDecl, 462b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 463b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 464b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 465b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 4661af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2SetDocumentLocator, 4671af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2StartDocument, 4681af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2EndDocument, 4691af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2StartElement, 4701af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2EndElement, 4711af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2Reference, 4721af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2Characters, 4731af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2IgnorableWhitespace, 474b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard NULL, 4751af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2Comment, 476b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard xmlParserWarning, 477b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard xmlParserError, 478b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard xmlParserError, 4791af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard xmlSAX2GetParameterEntity, 4801af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard NULL, 4811af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard NULL, 4821af9a41f24deb04ababc4075de0005bd75f320f6Daniel Veillard 0, 483b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard}; 484b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#endif /* LIBXML_DOCB_ENABLED */ 485b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 486b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard/** 487b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * xmlInitializeGlobalState: 488b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * @gs: a pointer to a newly allocated global state 489b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * 490b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * xmlInitializeGlobalState() initialize a global state with all the 491b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard * default values of the library. 492b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 493b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardvoid 494b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlInitializeGlobalState(xmlGlobalStatePtr gs) 495b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard{ 4963c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard#ifdef DEBUG_GLOBALS 4973c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard fprintf(stderr, "Initializing globals at %lu for thread %d\n", 4983c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard (unsigned long) gs, xmlGetThreadId()); 4993c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard#endif 5003c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard 501b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard /* 502cbaf399537a1fb69ef97b079e4cb553869aaa4d9Daniel Veillard * Perform initialization as required by libxml 503b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard */ 5045805be2921d68e7728797b2f4d43a0b57a476507Daniel Veillard if (xmlThrDefMutex == NULL) 5055805be2921d68e7728797b2f4d43a0b57a476507Daniel Veillard xmlInitGlobals(); 5065805be2921d68e7728797b2f4d43a0b57a476507Daniel Veillard 507781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 5088b2c7f10f16dbf1366c7beb89e8c5ab1c4062a1fWilliam M. Brack 509bca3ad25f93b7895c4c89ea38551a2873cbbd3e1Daniel Veillard#if defined(LIBXML_DOCB_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED) 510092643b52d29e6b721c257c4c88efa8259eebfe9Daniel Veillard initdocbDefaultSAXHandler(&gs->docbDefaultSAXHandler); 511a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard#endif 512961b535c10c7d07d7919c58c1d0c6762b35503a1Akira TAGOH#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED) 513092643b52d29e6b721c257c4c88efa8259eebfe9Daniel Veillard inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler); 514a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard#endif 5153c01b1d81b696fe8624b6d7e26ec0ebffcc7c06bDaniel Veillard 516b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard gs->oldXMLWDcompatibility = 0; 517781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlBufferAllocScheme = xmlBufferAllocSchemeThrDef; 518781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlDefaultBufferSize = xmlDefaultBufferSizeThrDef; 51921e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_SAX1_ENABLED) && defined(LIBXML_LEGACY_ENABLED) 520092643b52d29e6b721c257c4c88efa8259eebfe9Daniel Veillard initxmlDefaultSAXHandler(&gs->xmlDefaultSAXHandler, 1); 5218127390f0332ddf545fe59e406996deaedfee964Daniel Veillard#endif /* LIBXML_SAX1_ENABLED */ 5224432df239b7aba6bff86c838e0be11d08f283b76Daniel Veillard gs->xmlDefaultSAXLocator.getPublicId = xmlSAX2GetPublicId; 5234432df239b7aba6bff86c838e0be11d08f283b76Daniel Veillard gs->xmlDefaultSAXLocator.getSystemId = xmlSAX2GetSystemId; 5244432df239b7aba6bff86c838e0be11d08f283b76Daniel Veillard gs->xmlDefaultSAXLocator.getLineNumber = xmlSAX2GetLineNumber; 5254432df239b7aba6bff86c838e0be11d08f283b76Daniel Veillard gs->xmlDefaultSAXLocator.getColumnNumber = xmlSAX2GetColumnNumber; 526f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard gs->xmlDoValidityCheckingDefaultValue = 527781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlDoValidityCheckingDefaultValueThrDef; 528b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#if defined(DEBUG_MEMORY_LOCATION) | defined(DEBUG_MEMORY) 529b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard gs->xmlFree = (xmlFreeFunc) xmlMemFree; 530b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard gs->xmlMalloc = (xmlMallocFunc) xmlMemMalloc; 5313c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard gs->xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc; 532b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard gs->xmlRealloc = (xmlReallocFunc) xmlMemRealloc; 533b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard gs->xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup; 534b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#else 535b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard gs->xmlFree = (xmlFreeFunc) free; 536b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard gs->xmlMalloc = (xmlMallocFunc) malloc; 5373c908dca479ed50dca24b8593bca90e40dbde6b8Daniel Veillard gs->xmlMallocAtomic = (xmlMallocFunc) malloc; 538b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard gs->xmlRealloc = (xmlReallocFunc) realloc; 539572577e094bd436b2124aa0ef44df3d57f97d793Daniel Veillard gs->xmlMemStrdup = (xmlStrdupFunc) xmlStrdup; 540b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#endif 541781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlGetWarningsDefaultValue = xmlGetWarningsDefaultValueThrDef; 542781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlIndentTreeOutput = xmlIndentTreeOutputThrDef; 543781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlTreeIndentString = xmlTreeIndentStringThrDef; 544781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlKeepBlanksDefaultValue = xmlKeepBlanksDefaultValueThrDef; 545781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlLineNumbersDefaultValue = xmlLineNumbersDefaultValueThrDef; 546781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlLoadExtDtdDefaultValue = xmlLoadExtDtdDefaultValueThrDef; 547781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlParserDebugEntities = xmlParserDebugEntitiesThrDef; 548b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard gs->xmlParserVersion = LIBXML_VERSION_STRING; 549781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlPedanticParserDefaultValue = xmlPedanticParserDefaultValueThrDef; 550781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlSaveNoEmptyTags = xmlSaveNoEmptyTagsThrDef; 551f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard gs->xmlSubstituteEntitiesDefaultValue = 552781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlSubstituteEntitiesDefaultValueThrDef; 553781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard 554781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlGenericError = xmlGenericErrorThrDef; 555659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard gs->xmlStructuredError = xmlStructuredErrorThrDef; 556781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlGenericErrorContext = xmlGenericErrorContextThrDef; 5571de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam gs->xmlStructuredErrorContext = xmlStructuredErrorContextThrDef; 558781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlRegisterNodeDefaultValue = xmlRegisterNodeDefaultValueThrDef; 559781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard gs->xmlDeregisterNodeDefaultValue = xmlDeregisterNodeDefaultValueThrDef; 5600335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard 5610335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard gs->xmlParserInputBufferCreateFilenameValue = xmlParserInputBufferCreateFilenameValueThrDef; 5620335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard gs->xmlOutputBufferCreateFilenameValue = xmlOutputBufferCreateFilenameValueThrDef; 5632b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel Veillard memset(&gs->xmlLastError, 0, sizeof(xmlError)); 5645335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard 565781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 566781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 567781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard 5681e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard/** 5691e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard * DOC_DISABLE : we ignore missing doc for the xmlThrDef functions, 5701e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard * those are really internal work 5711e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard */ 572781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardvoid 573781ac8b19bfc10635a8bb83158f874116fd7559eDaniel VeillardxmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) { 574781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 575781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlGenericErrorContextThrDef = ctx; 576781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard if (handler != NULL) 577781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlGenericErrorThrDef = handler; 578781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard else 579781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc; 580781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 5815335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard} 5825335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard 583659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillardvoid 584659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel VeillardxmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) { 585659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard xmlMutexLock(xmlThrDefMutex); 5861de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam xmlStructuredErrorContextThrDef = ctx; 587659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard xmlStructuredErrorThrDef = handler; 588659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard xmlMutexUnlock(xmlThrDefMutex); 589659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard} 590659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard 5915335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard/** 5927b4b2f9d8fc712c49beaf75985161a130c77d13aDaniel Veillard * xmlRegisterNodeDefault: 5935335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard * @func: function pointer to the new RegisterNodeFunc 5945335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard * 5951703c5fc238e76532f654747259a20a29c769942Daniel Veillard * Registers a callback for node creation 5961703c5fc238e76532f654747259a20a29c769942Daniel Veillard * 5971703c5fc238e76532f654747259a20a29c769942Daniel Veillard * Returns the old value of the registration function 5985335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard */ 5995335dc52afb3400b469264d758be01af84e4cfb0Daniel VeillardxmlRegisterNodeFunc 6005335dc52afb3400b469264d758be01af84e4cfb0Daniel VeillardxmlRegisterNodeDefault(xmlRegisterNodeFunc func) 6015335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard{ 6025335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard xmlRegisterNodeFunc old = xmlRegisterNodeDefaultValue; 603f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard 604a880b124750afcce94ea3d947125d0f8a034e766Daniel Veillard __xmlRegisterCallbacks = 1; 6055335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard xmlRegisterNodeDefaultValue = func; 6065335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard return(old); 607b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 608b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 609781ac8b19bfc10635a8bb83158f874116fd7559eDaniel VeillardxmlRegisterNodeFunc 610781ac8b19bfc10635a8bb83158f874116fd7559eDaniel VeillardxmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func) 611781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard{ 612781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlRegisterNodeFunc old; 613f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard 614781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 615781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard old = xmlRegisterNodeDefaultValueThrDef; 616f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard 617781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard __xmlRegisterCallbacks = 1; 618781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlRegisterNodeDefaultValueThrDef = func; 619781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 620781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard 621781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return(old); 622781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 623781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard 6245335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard/** 6257b4b2f9d8fc712c49beaf75985161a130c77d13aDaniel Veillard * xmlDeregisterNodeDefault: 6265335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard * @func: function pointer to the new DeregisterNodeFunc 6275335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard * 6281703c5fc238e76532f654747259a20a29c769942Daniel Veillard * Registers a callback for node destruction 6291703c5fc238e76532f654747259a20a29c769942Daniel Veillard * 6307b4b2f9d8fc712c49beaf75985161a130c77d13aDaniel Veillard * Returns the previous value of the deregistration function 6315335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard */ 6325335dc52afb3400b469264d758be01af84e4cfb0Daniel VeillardxmlDeregisterNodeFunc 6335335dc52afb3400b469264d758be01af84e4cfb0Daniel VeillardxmlDeregisterNodeDefault(xmlDeregisterNodeFunc func) 6345335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard{ 6355335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard xmlDeregisterNodeFunc old = xmlDeregisterNodeDefaultValue; 636f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard 637a880b124750afcce94ea3d947125d0f8a034e766Daniel Veillard __xmlRegisterCallbacks = 1; 6385335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard xmlDeregisterNodeDefaultValue = func; 6395335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard return(old); 6405335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard} 6415335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard 642781ac8b19bfc10635a8bb83158f874116fd7559eDaniel VeillardxmlDeregisterNodeFunc 643781ac8b19bfc10635a8bb83158f874116fd7559eDaniel VeillardxmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func) 644781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard{ 645781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlDeregisterNodeFunc old; 646781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard 647781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 648781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard old = xmlDeregisterNodeDefaultValueThrDef; 649f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard 650781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard __xmlRegisterCallbacks = 1; 651781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlDeregisterNodeDefaultValueThrDef = func; 652781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 653781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard 654781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return(old); 655781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 656781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard 6570335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel VeillardxmlParserInputBufferCreateFilenameFunc 6580335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel VeillardxmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func) 6590335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard{ 6600335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard xmlParserInputBufferCreateFilenameFunc old; 661f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard 6620335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard xmlMutexLock(xmlThrDefMutex); 6630335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard old = xmlParserInputBufferCreateFilenameValueThrDef; 6641b243b4fc9638312287fb5b4dd3ea209bf42bf6aDaniel Veillard if (old == NULL) { 6651b243b4fc9638312287fb5b4dd3ea209bf42bf6aDaniel Veillard old = __xmlParserInputBufferCreateFilename; 6661b243b4fc9638312287fb5b4dd3ea209bf42bf6aDaniel Veillard } 6671b243b4fc9638312287fb5b4dd3ea209bf42bf6aDaniel Veillard 6680335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard xmlParserInputBufferCreateFilenameValueThrDef = func; 6690335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard xmlMutexUnlock(xmlThrDefMutex); 6700335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard 6710335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard return(old); 6720335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard} 6730335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard 6740335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel VeillardxmlOutputBufferCreateFilenameFunc 6750335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel VeillardxmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func) 6760335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard{ 6770335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard xmlOutputBufferCreateFilenameFunc old; 678f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard 6790335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard xmlMutexLock(xmlThrDefMutex); 6800335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard old = xmlOutputBufferCreateFilenameValueThrDef; 6811b243b4fc9638312287fb5b4dd3ea209bf42bf6aDaniel Veillard#ifdef LIBXML_OUTPUT_ENABLED 6821b243b4fc9638312287fb5b4dd3ea209bf42bf6aDaniel Veillard if (old == NULL) { 6831b243b4fc9638312287fb5b4dd3ea209bf42bf6aDaniel Veillard old = __xmlOutputBufferCreateFilename; 6841b243b4fc9638312287fb5b4dd3ea209bf42bf6aDaniel Veillard } 6851b243b4fc9638312287fb5b4dd3ea209bf42bf6aDaniel Veillard#endif 6860335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard xmlOutputBufferCreateFilenameValueThrDef = func; 6870335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard xmlMutexUnlock(xmlThrDefMutex); 6880335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard 6890335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard return(old); 6900335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard} 6915335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard 692a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard#ifdef LIBXML_DOCB_ENABLED 693b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef docbDefaultSAXHandler 694092643b52d29e6b721c257c4c88efa8259eebfe9Daniel VeillardxmlSAXHandlerV1 * 695b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__docbDefaultSAXHandler(void) { 696b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 697b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&docbDefaultSAXHandler); 698b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 699d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->docbDefaultSAXHandler); 700b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 701a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard#endif 702b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 703a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard#ifdef LIBXML_HTML_ENABLED 704b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef htmlDefaultSAXHandler 705092643b52d29e6b721c257c4c88efa8259eebfe9Daniel VeillardxmlSAXHandlerV1 * 706b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__htmlDefaultSAXHandler(void) { 707b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 708b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&htmlDefaultSAXHandler); 709b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 710d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->htmlDefaultSAXHandler); 711b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 712a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard#endif 713a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard 7142b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel Veillard#undef xmlLastError 7152b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel VeillardxmlError * 7162b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel Veillard__xmlLastError(void) { 7172b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel Veillard if (IS_MAIN_THREAD) 7182b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel Veillard return (&xmlLastError); 7192b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel Veillard else 7202b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel Veillard return (&xmlGetGlobalState()->xmlLastError); 7212b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel Veillard} 7222b8c4a151bb6bf91c10541b0593218bca5b3d5ceDaniel Veillard 723a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard/* 7245ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack * The following memory routines were apparently lost at some point, 7255ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack * and were re-inserted at this point on June 10, 2004. Hope it's 7265ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack * the right place for them :-) 7275ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack */ 7285ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack#if defined(LIBXML_THREAD_ALLOC_ENABLED) && defined(LIBXML_THREAD_ENABLED) 7295ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack#undef xmlMalloc 7305ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. BrackxmlMallocFunc * 7315ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack__xmlMalloc(void){ 7325ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack if (IS_MAIN_THREAD) 7335ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack return (&xmlMalloc); 7345ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack else 735f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard return (&xmlGetGlobalState()->xmlMalloc); 7365ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack} 7375ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack 7385ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack#undef xmlMallocAtomic 7395ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. BrackxmlMallocFunc * 7405ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack__xmlMallocAtomic(void){ 7415ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack if (IS_MAIN_THREAD) 7425ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack return (&xmlMallocAtomic); 7435ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack else 7445ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack return (&xmlGetGlobalState()->xmlMallocAtomic); 7455ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack} 7465ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack 7475ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack#undef xmlRealloc 7485ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. BrackxmlReallocFunc * 7495ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack__xmlRealloc(void){ 7505ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack if (IS_MAIN_THREAD) 7515ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack return (&xmlRealloc); 7525ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack else 7535ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack return (&xmlGetGlobalState()->xmlRealloc); 7545ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack} 7555ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack 7565ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack#undef xmlFree 7575ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. BrackxmlFreeFunc * 7585ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack__xmlFree(void){ 7595ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack if (IS_MAIN_THREAD) 7605ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack return (&xmlFree); 7615ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack else 7625ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack return (&xmlGetGlobalState()->xmlFree); 7635ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack} 7645ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack 7655ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. BrackxmlStrdupFunc * 7665ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack__xmlMemStrdup(void){ 7675ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack if (IS_MAIN_THREAD) 7685ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack return (&xmlMemStrdup); 7695ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack else 7705ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack return (&xmlGetGlobalState()->xmlMemStrdup); 7715ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack} 7725ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack 7735ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack#endif 7745ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack 7755ab479b0e4e1ea8dd2be3f9fe4e5c4eac8fa7773William M. Brack/* 776a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard * Everything starting from the line below is 777a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard * Automatically generated by build_glob.py. 778a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard * Do not modify the previous line. 779a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard */ 780a4617b8aba43d2ce8e033cb04de599b4273cb94bDaniel Veillard 781b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 782b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef oldXMLWDcompatibility 783b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 784b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__oldXMLWDcompatibility(void) { 785b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 786b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&oldXMLWDcompatibility); 787b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 788d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->oldXMLWDcompatibility); 789b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 790b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 791b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlBufferAllocScheme 792b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlBufferAllocationScheme * 793b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlBufferAllocScheme(void) { 794b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 795b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlBufferAllocScheme); 796b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 797d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlBufferAllocScheme); 798b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 799781ac8b19bfc10635a8bb83158f874116fd7559eDaniel VeillardxmlBufferAllocationScheme xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v) { 800781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlBufferAllocationScheme ret; 801781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 802781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlBufferAllocSchemeThrDef; 803781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlBufferAllocSchemeThrDef = v; 804781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 805781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 806781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 807b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 808b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlDefaultBufferSize 809b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 810b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlDefaultBufferSize(void) { 811b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 812b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlDefaultBufferSize); 813b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 814d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlDefaultBufferSize); 815b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 816781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardint xmlThrDefDefaultBufferSize(int v) { 817781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard int ret; 818781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 819781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlDefaultBufferSizeThrDef; 820781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlDefaultBufferSizeThrDef = v; 821781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 822781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 823781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 824b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 8258127390f0332ddf545fe59e406996deaedfee964Daniel Veillard#ifdef LIBXML_SAX1_ENABLED 826b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlDefaultSAXHandler 827092643b52d29e6b721c257c4c88efa8259eebfe9Daniel VeillardxmlSAXHandlerV1 * 828b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlDefaultSAXHandler(void) { 829b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 830b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlDefaultSAXHandler); 831b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 832d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlDefaultSAXHandler); 833b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 8348127390f0332ddf545fe59e406996deaedfee964Daniel Veillard#endif /* LIBXML_SAX1_ENABLED */ 835b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 836b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlDefaultSAXLocator 837b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlSAXLocator * 838b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlDefaultSAXLocator(void) { 839b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 840b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlDefaultSAXLocator); 841b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 842d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlDefaultSAXLocator); 843b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 844b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 845b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlDoValidityCheckingDefaultValue 846b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 847b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlDoValidityCheckingDefaultValue(void) { 848b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 849b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlDoValidityCheckingDefaultValue); 850b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 851d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlDoValidityCheckingDefaultValue); 852b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 853781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardint xmlThrDefDoValidityCheckingDefaultValue(int v) { 854781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard int ret; 855781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 856781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlDoValidityCheckingDefaultValueThrDef; 857781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlDoValidityCheckingDefaultValueThrDef = v; 858781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 859781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 860781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 861b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 862b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlGenericError 863b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel VeillardxmlGenericErrorFunc * 864b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlGenericError(void) { 865b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 866b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlGenericError); 867b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 868d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlGenericError); 869b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 870b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 871659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard#undef xmlStructuredError 872659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel VeillardxmlStructuredErrorFunc * 873659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard__xmlStructuredError(void) { 874659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard if (IS_MAIN_THREAD) 875659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard return (&xmlStructuredError); 876659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard else 877659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard return (&xmlGetGlobalState()->xmlStructuredError); 878659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard} 879659e71ec2476d24bfca0d6432a69ef9a49a62be4Daniel Veillard 880b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlGenericErrorContext 881b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardvoid * * 882b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlGenericErrorContext(void) { 883b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 884b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlGenericErrorContext); 885b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 886d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlGenericErrorContext); 887b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 888b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 8891de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam#undef xmlStructuredErrorContext 8901de382eb061b70b07040b3932c4b6082eb3ded79Wang Lamvoid * * 8911de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam__xmlStructuredErrorContext(void) { 8921de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam if (IS_MAIN_THREAD) 8931de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam return (&xmlStructuredErrorContext); 8941de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam else 8951de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam return (&xmlGetGlobalState()->xmlStructuredErrorContext); 8961de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam} 8971de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam 898b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlGetWarningsDefaultValue 899b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 900b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlGetWarningsDefaultValue(void) { 901b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 902b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlGetWarningsDefaultValue); 903b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 904d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlGetWarningsDefaultValue); 905b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 906781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardint xmlThrDefGetWarningsDefaultValue(int v) { 907781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard int ret; 908781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 909781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlGetWarningsDefaultValueThrDef; 910781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlGetWarningsDefaultValueThrDef = v; 911781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 912781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 913781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 914b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 915b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlIndentTreeOutput 916b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 917b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlIndentTreeOutput(void) { 918b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 919b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlIndentTreeOutput); 920b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 921d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlIndentTreeOutput); 922b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 923781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardint xmlThrDefIndentTreeOutput(int v) { 924781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard int ret; 925781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 926781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlIndentTreeOutputThrDef; 927781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlIndentTreeOutputThrDef = v; 928781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 929781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 930781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 931b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 9321de382eb061b70b07040b3932c4b6082eb3ded79Wang Lam#undef xmlTreeIndentString 93323002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Saninconst char * * 93423002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin__xmlTreeIndentString(void) { 93523002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin if (IS_MAIN_THREAD) 93623002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin return (&xmlTreeIndentString); 93723002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin else 93823002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin return (&xmlGetGlobalState()->xmlTreeIndentString); 93923002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin} 940781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardconst char * xmlThrDefTreeIndentString(const char * v) { 941781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard const char * ret; 942781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 943781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlTreeIndentStringThrDef; 944781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlTreeIndentStringThrDef = v; 945781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 946781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 947781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 94823002568a6f407dfeb8ced515af28bdd6f74a4f1Aleksey Sanin 949b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlKeepBlanksDefaultValue 950b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 951b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlKeepBlanksDefaultValue(void) { 952b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 953b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlKeepBlanksDefaultValue); 954b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 955d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlKeepBlanksDefaultValue); 956b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 957781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardint xmlThrDefKeepBlanksDefaultValue(int v) { 958781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard int ret; 959781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 960781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlKeepBlanksDefaultValueThrDef; 961781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlKeepBlanksDefaultValueThrDef = v; 962781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 963781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 964781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 965b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 966b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlLineNumbersDefaultValue 967b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 968b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlLineNumbersDefaultValue(void) { 969b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 970b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlLineNumbersDefaultValue); 971b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 972d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlLineNumbersDefaultValue); 973b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 974781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardint xmlThrDefLineNumbersDefaultValue(int v) { 975781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard int ret; 976781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 977781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlLineNumbersDefaultValueThrDef; 978781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlLineNumbersDefaultValueThrDef = v; 979781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 980781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 981781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 982b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 983b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlLoadExtDtdDefaultValue 984b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 985b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlLoadExtDtdDefaultValue(void) { 986b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 987b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlLoadExtDtdDefaultValue); 988b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 989d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlLoadExtDtdDefaultValue); 990b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 991781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardint xmlThrDefLoadExtDtdDefaultValue(int v) { 992781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard int ret; 993781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 994781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlLoadExtDtdDefaultValueThrDef; 995781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlLoadExtDtdDefaultValueThrDef = v; 996781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 997781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 998781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 999b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 1000b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlParserDebugEntities 1001b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 1002b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlParserDebugEntities(void) { 1003b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 1004b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlParserDebugEntities); 1005b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 1006d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlParserDebugEntities); 1007b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 1008781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardint xmlThrDefParserDebugEntities(int v) { 1009781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard int ret; 1010781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 1011781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlParserDebugEntitiesThrDef; 1012781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlParserDebugEntitiesThrDef = v; 1013781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 1014781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 1015781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 1016b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 1017b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlParserVersion 1018b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardconst char * * 1019b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlParserVersion(void) { 1020b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 1021b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlParserVersion); 1022b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 1023d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlParserVersion); 1024b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 1025b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 1026b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlPedanticParserDefaultValue 1027b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 1028b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlPedanticParserDefaultValue(void) { 1029b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 1030b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlPedanticParserDefaultValue); 1031b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 1032d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlPedanticParserDefaultValue); 1033b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 1034781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardint xmlThrDefPedanticParserDefaultValue(int v) { 1035781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard int ret; 1036781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 1037781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlPedanticParserDefaultValueThrDef; 1038781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlPedanticParserDefaultValueThrDef = v; 1039781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 1040781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 1041781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 1042b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 1043b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlSaveNoEmptyTags 1044b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 1045b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlSaveNoEmptyTags(void) { 1046b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 1047b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlSaveNoEmptyTags); 1048b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 1049d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlSaveNoEmptyTags); 1050b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 1051781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardint xmlThrDefSaveNoEmptyTags(int v) { 1052781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard int ret; 1053781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 1054781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlSaveNoEmptyTagsThrDef; 1055781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlSaveNoEmptyTagsThrDef = v; 1056781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 1057781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 1058781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 1059b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard 1060b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard#undef xmlSubstituteEntitiesDefaultValue 1061b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillardint * 1062b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard__xmlSubstituteEntitiesDefaultValue(void) { 1063b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard if (IS_MAIN_THREAD) 1064b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard return (&xmlSubstituteEntitiesDefaultValue); 1065b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard else 1066d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard return (&xmlGetGlobalState()->xmlSubstituteEntitiesDefaultValue); 1067b847864fc2f7151c81e57d02ca3b523dc5d8cf72Daniel Veillard} 1068781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillardint xmlThrDefSubstituteEntitiesDefaultValue(int v) { 1069781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard int ret; 1070781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexLock(xmlThrDefMutex); 1071781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard ret = xmlSubstituteEntitiesDefaultValueThrDef; 1072781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlSubstituteEntitiesDefaultValueThrDef = v; 1073781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard xmlMutexUnlock(xmlThrDefMutex); 1074781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard return ret; 1075781ac8b19bfc10635a8bb83158f874116fd7559eDaniel Veillard} 10765335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard 10775335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard#undef xmlRegisterNodeDefaultValue 10785335dc52afb3400b469264d758be01af84e4cfb0Daniel VeillardxmlRegisterNodeFunc * 10795335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard__xmlRegisterNodeDefaultValue(void) { 10805335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard if (IS_MAIN_THREAD) 10815335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard return (&xmlRegisterNodeDefaultValue); 10825335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard else 10835335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard return (&xmlGetGlobalState()->xmlRegisterNodeDefaultValue); 10845335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard} 10855335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard 10865335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard#undef xmlDeregisterNodeDefaultValue 10875335dc52afb3400b469264d758be01af84e4cfb0Daniel VeillardxmlDeregisterNodeFunc * 10885335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard__xmlDeregisterNodeDefaultValue(void) { 10895335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard if (IS_MAIN_THREAD) 10905335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard return (&xmlDeregisterNodeDefaultValue); 10915335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard else 10925335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard return (&xmlGetGlobalState()->xmlDeregisterNodeDefaultValue); 10935335dc52afb3400b469264d758be01af84e4cfb0Daniel Veillard} 10940335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard 10950335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard#undef xmlParserInputBufferCreateFilenameValue 10960335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel VeillardxmlParserInputBufferCreateFilenameFunc * 10970335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard__xmlParserInputBufferCreateFilenameValue(void) { 10980335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard if (IS_MAIN_THREAD) 10990335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard return (&xmlParserInputBufferCreateFilenameValue); 11000335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard else 11010335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard return (&xmlGetGlobalState()->xmlParserInputBufferCreateFilenameValue); 11020335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard} 11030335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard 11040335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard#undef xmlOutputBufferCreateFilenameValue 11050335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel VeillardxmlOutputBufferCreateFilenameFunc * 11060335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard__xmlOutputBufferCreateFilenameValue(void) { 11070335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard if (IS_MAIN_THREAD) 11080335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard return (&xmlOutputBufferCreateFilenameValue); 11090335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard else 11100335a846ad62ce5b2394ea9c429c271391bd9ca7Daniel Veillard return (&xmlGetGlobalState()->xmlOutputBufferCreateFilenameValue); 1111803812b9fe6946e0c59f6e275e03c1b8632a6eddWilliam M. Brack} 11125d4644ef6e38479a648615eca758c5e962a141d5Daniel Veillard 11135d4644ef6e38479a648615eca758c5e962a141d5Daniel Veillard#define bottom_globals 11145d4644ef6e38479a648615eca758c5e962a141d5Daniel Veillard#include "elfgcchack.h" 1115