diff options
author | Daniel Veillard <veillard@src.gnome.org> | 2001-10-12 17:29:10 +0000 |
---|---|---|
committer | Daniel Veillard <veillard@src.gnome.org> | 2001-10-12 17:29:10 +0000 |
commit | b847864fc2f7151c81e57d02ca3b523dc5d8cf72 (patch) | |
tree | 952b35d54d60dca532e75a840dff82592201b193 /globals.c | |
parent | b44025c72b7472971a061b022cfe422adc42715d (diff) | |
download | android_external_libxml2-b847864fc2f7151c81e57d02ca3b523dc5d8cf72.tar.gz android_external_libxml2-b847864fc2f7151c81e57d02ca3b523dc5d8cf72.tar.bz2 android_external_libxml2-b847864fc2f7151c81e57d02ca3b523dc5d8cf72.zip |
started integrating the core of the thread support not activated yet but
* Makefile.am include/libxml/Makefile.am
include/libxml/globals.h globals.c include/libxml/threads.h
threads.c build_glob.py global.data xmlcatalog.c acconfig.h
configure.in: started integrating the core of the thread support
not activated yet but half integrated. The code should still
compile and work anyway.
Daniel
Diffstat (limited to 'globals.c')
-rw-r--r-- | globals.c | 498 |
1 files changed, 498 insertions, 0 deletions
diff --git a/globals.c b/globals.c new file mode 100644 index 00000000..c509287b --- /dev/null +++ b/globals.c @@ -0,0 +1,498 @@ +/* + * globals.c: definition and handling of the set of global variables + * of the library + * + * The bottom of this file is automatically generated by build_glob.py + * based on the description file global.data + * + * See Copyright for the status of this software. + * + * Gary Pennington <Gary.Pennington@uk.sun.com> + * daniel@veillard.com + */ + +#include "libxml.h" + +#include <libxml/threads.h> +#include <libxml/globals.h> + +/* + * Helpful Macro + */ +#ifdef WITH_PTHREAD_H +#if defined(SOLARIS) +#define THR_MAIN(tid) (-1 == thr_main() || tid == thr_main()) +#else +#define THR_MAIN(tid) (tid == 0 || tid == 1024) +#endif + +#define IS_MAIN_THREAD (THR_MAIN(pthread_self())) +#else +#define IS_MAIN_THREAD 1 +#endif + +/************************************************************************ + * * + * All the user accessible global variables of the library * + * * + ************************************************************************/ + +const char *xmlParserVersion = LIBXML_VERSION_STRING; +/* + * Memory allocation routines + */ +#if defined(DEBUG_MEMORY_LOCATION) | defined(DEBUG_MEMORY) +xmlFreeFunc xmlFree = (xmlFreeFunc) xmlMemFree; +xmlMallocFunc xmlMalloc = (xmlMallocFunc) xmlMemMalloc; +xmlReallocFunc xmlRealloc = (xmlReallocFunc) xmlMemRealloc; +xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup; +#else +xmlFreeFunc xmlFree = (xmlFreeFunc) free; +xmlMallocFunc xmlMalloc = (xmlMallocFunc) malloc; +xmlReallocFunc xmlRealloc = (xmlReallocFunc) realloc; +xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) strdup; +#endif + +/* + * Buffers stuff + */ +xmlBufferAllocationScheme xmlBufferAllocScheme = XML_BUFFER_ALLOC_EXACT; +int xmlDefaultBufferSize = BASE_BUFFER_SIZE; + +/* + * Parser defaults + */ +int oldXMLWDcompatibility = 0; /* DEPRECATED */ +int xmlParserDebugEntities = 0; +int xmlDoValidityCheckingDefaultValue = 0; +int xmlGetWarningsDefaultValue = 1; +int xmlLoadExtDtdDefaultValue = 0; +int xmlPedanticParserDefaultValue = 0; +int xmlLineNumbersDefaultValue = 0; +int xmlKeepBlanksDefaultValue = 1; +int xmlSubstituteEntitiesDefaultValue = 0; + +/* + * Error handling + */ + +/* xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc; */ +/* Must initialize xmlGenericError in xmlInitParser */ +xmlGenericErrorFunc xmlGenericError; +void *xmlGenericErrorContext = NULL; + +/* + * output defaults + */ +int xmlIndentTreeOutput = 0; +int xmlSaveNoEmptyTags = 0; + +/* + * Default handler for XML, builds the DOM tree + */ +xmlSAXHandler xmlDefaultSAXHandler = { + internalSubset, + isStandalone, + hasInternalSubset, + hasExternalSubset, + resolveEntity, + getEntity, + entityDecl, + notationDecl, + attributeDecl, + elementDecl, + unparsedEntityDecl, + setDocumentLocator, + startDocument, + endDocument, + startElement, + endElement, + reference, + characters, + characters, + processingInstruction, + comment, + xmlParserWarning, + xmlParserError, + xmlParserError, + getParameterEntity, + cdataBlock, + externalSubset, + 0 +}; + +/* + * The default SAX Locator. + */ + +xmlSAXLocator xmlDefaultSAXLocator = { + getPublicId, getSystemId, getLineNumber, getColumnNumber +}; + +#ifdef LIBXML_HTML_ENABLED +/* + * Default handler for HTML, builds the DOM tree + */ +xmlSAXHandler htmlDefaultSAXHandler = { + internalSubset, + NULL, + NULL, + NULL, + NULL, + getEntity, + NULL, + NULL, + NULL, + NULL, + NULL, + setDocumentLocator, + startDocument, + endDocument, + startElement, + endElement, + NULL, + characters, + ignorableWhitespace, + NULL, + comment, + xmlParserWarning, + xmlParserError, + xmlParserError, + getParameterEntity, + cdataBlock, + NULL, + 0 +}; +#endif /* LIBXML_HTML_ENABLED */ + +#ifdef LIBXML_DOCB_ENABLED +/* + * Default handler for SGML DocBook, builds the DOM tree + */ +xmlSAXHandler docbDefaultSAXHandler = { + internalSubset, + isStandalone, + hasInternalSubset, + hasExternalSubset, + resolveEntity, + getEntity, + entityDecl, + NULL, + NULL, + NULL, + NULL, + setDocumentLocator, + startDocument, + endDocument, + startElement, + endElement, + reference, + characters, + ignorableWhitespace, + NULL, + comment, + xmlParserWarning, + xmlParserError, + xmlParserError, + getParameterEntity, + NULL, + NULL, + 0 +}; +#endif /* LIBXML_DOCB_ENABLED */ + +/** + * xmlInitializeGlobalState: + * @gs: a pointer to a newly allocated global state + * + * xmlInitializeGlobalState() initialize a global state with all the + * default values of the library. + */ +void +xmlInitializeGlobalState(xmlGlobalStatePtr gs) +{ + /* + * Perform initialisation as required by libxml + */ + initdocbDefaultSAXHandler(&gs->docbDefaultSAXHandler); + inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler); + gs->oldXMLWDcompatibility = 0; + gs->xmlBufferAllocScheme = XML_BUFFER_ALLOC_EXACT; + gs->xmlDefaultBufferSize = BASE_BUFFER_SIZE; + initxmlDefaultSAXHandler(&gs->xmlDefaultSAXHandler, 1); + gs->xmlDefaultSAXLocator.getPublicId = getPublicId; + gs->xmlDefaultSAXLocator.getSystemId = getSystemId; + gs->xmlDefaultSAXLocator.getLineNumber = getLineNumber; + gs->xmlDefaultSAXLocator.getColumnNumber = getColumnNumber; + gs->xmlDoValidityCheckingDefaultValue = 0; +#if defined(DEBUG_MEMORY_LOCATION) | defined(DEBUG_MEMORY) + gs->xmlFree = (xmlFreeFunc) xmlMemFree; + gs->xmlMalloc = (xmlMallocFunc) xmlMemMalloc; + gs->xmlRealloc = (xmlReallocFunc) xmlMemRealloc; + gs->xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup; +#else + gs->xmlFree = (xmlFreeFunc) free; + gs->xmlMalloc = (xmlMallocFunc) malloc; + gs->xmlRealloc = (xmlReallocFunc) realloc; + gs->xmlMemStrdup = (xmlStrdupFunc) strdup; +#endif + initGenericErrorDefaultFunc(&gs->xmlGenericError); + gs->xmlGenericErrorContext = NULL; + gs->xmlGetWarningsDefaultValue = 1; + gs->xmlIndentTreeOutput = 0; + gs->xmlKeepBlanksDefaultValue = 1; + gs->xmlLineNumbersDefaultValue = 0; + gs->xmlLoadExtDtdDefaultValue = 0; + gs->xmlParserDebugEntities = 0; + gs->xmlParserVersion = LIBXML_VERSION_STRING; + gs->xmlPedanticParserDefaultValue = 0; + gs->xmlSaveNoEmptyTags = 0; + gs->xmlSubstituteEntitiesDefaultValue = 0; +} + +/* + * Everything starting from the line below is + * Automatically generated by build_glob.py. + * Do not modify the previous line. + */ + + +extern xmlSAXHandler docbDefaultSAXHandler; +#undef docbDefaultSAXHandler +xmlSAXHandler * +__docbDefaultSAXHandler(void) { + if (IS_MAIN_THREAD) + return (&docbDefaultSAXHandler); + else + return (&get_glob_struct()->docbDefaultSAXHandler); +} + +extern xmlSAXHandler htmlDefaultSAXHandler; +#undef htmlDefaultSAXHandler +xmlSAXHandler * +__htmlDefaultSAXHandler(void) { + if (IS_MAIN_THREAD) + return (&htmlDefaultSAXHandler); + else + return (&get_glob_struct()->htmlDefaultSAXHandler); +} + +extern int oldXMLWDcompatibility; +#undef oldXMLWDcompatibility +int * +__oldXMLWDcompatibility(void) { + if (IS_MAIN_THREAD) + return (&oldXMLWDcompatibility); + else + return (&get_glob_struct()->oldXMLWDcompatibility); +} + +extern xmlBufferAllocationScheme xmlBufferAllocScheme; +#undef xmlBufferAllocScheme +xmlBufferAllocationScheme * +__xmlBufferAllocScheme(void) { + if (IS_MAIN_THREAD) + return (&xmlBufferAllocScheme); + else + return (&get_glob_struct()->xmlBufferAllocScheme); +} + +extern int xmlDefaultBufferSize; +#undef xmlDefaultBufferSize +int * +__xmlDefaultBufferSize(void) { + if (IS_MAIN_THREAD) + return (&xmlDefaultBufferSize); + else + return (&get_glob_struct()->xmlDefaultBufferSize); +} + +extern xmlSAXHandler xmlDefaultSAXHandler; +#undef xmlDefaultSAXHandler +xmlSAXHandler * +__xmlDefaultSAXHandler(void) { + if (IS_MAIN_THREAD) + return (&xmlDefaultSAXHandler); + else + return (&get_glob_struct()->xmlDefaultSAXHandler); +} + +extern xmlSAXLocator xmlDefaultSAXLocator; +#undef xmlDefaultSAXLocator +xmlSAXLocator * +__xmlDefaultSAXLocator(void) { + if (IS_MAIN_THREAD) + return (&xmlDefaultSAXLocator); + else + return (&get_glob_struct()->xmlDefaultSAXLocator); +} + +extern int xmlDoValidityCheckingDefaultValue; +#undef xmlDoValidityCheckingDefaultValue +int * +__xmlDoValidityCheckingDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlDoValidityCheckingDefaultValue); + else + return (&get_glob_struct()->xmlDoValidityCheckingDefaultValue); +} + +extern xmlFreeFunc xmlFree; +#undef xmlFree +xmlFreeFunc * +__xmlFree(void) { + if (IS_MAIN_THREAD) + return (&xmlFree); + else + return (&get_glob_struct()->xmlFree); +} + +extern xmlGenericErrorFunc xmlGenericError; +#undef xmlGenericError +xmlGenericErrorFunc * +__xmlGenericError(void) { + if (IS_MAIN_THREAD) + return (&xmlGenericError); + else + return (&get_glob_struct()->xmlGenericError); +} + +extern void * xmlGenericErrorContext; +#undef xmlGenericErrorContext +void * * +__xmlGenericErrorContext(void) { + if (IS_MAIN_THREAD) + return (&xmlGenericErrorContext); + else + return (&get_glob_struct()->xmlGenericErrorContext); +} + +extern int xmlGetWarningsDefaultValue; +#undef xmlGetWarningsDefaultValue +int * +__xmlGetWarningsDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlGetWarningsDefaultValue); + else + return (&get_glob_struct()->xmlGetWarningsDefaultValue); +} + +extern int xmlIndentTreeOutput; +#undef xmlIndentTreeOutput +int * +__xmlIndentTreeOutput(void) { + if (IS_MAIN_THREAD) + return (&xmlIndentTreeOutput); + else + return (&get_glob_struct()->xmlIndentTreeOutput); +} + +extern int xmlKeepBlanksDefaultValue; +#undef xmlKeepBlanksDefaultValue +int * +__xmlKeepBlanksDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlKeepBlanksDefaultValue); + else + return (&get_glob_struct()->xmlKeepBlanksDefaultValue); +} + +extern int xmlLineNumbersDefaultValue; +#undef xmlLineNumbersDefaultValue +int * +__xmlLineNumbersDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlLineNumbersDefaultValue); + else + return (&get_glob_struct()->xmlLineNumbersDefaultValue); +} + +extern int xmlLoadExtDtdDefaultValue; +#undef xmlLoadExtDtdDefaultValue +int * +__xmlLoadExtDtdDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlLoadExtDtdDefaultValue); + else + return (&get_glob_struct()->xmlLoadExtDtdDefaultValue); +} + +extern xmlMallocFunc xmlMalloc; +#undef xmlMalloc +xmlMallocFunc * +__xmlMalloc(void) { + if (IS_MAIN_THREAD) + return (&xmlMalloc); + else + return (&get_glob_struct()->xmlMalloc); +} + +extern xmlStrdupFunc xmlMemStrdup; +#undef xmlMemStrdup +xmlStrdupFunc * +__xmlMemStrdup(void) { + if (IS_MAIN_THREAD) + return (&xmlMemStrdup); + else + return (&get_glob_struct()->xmlMemStrdup); +} + +extern int xmlParserDebugEntities; +#undef xmlParserDebugEntities +int * +__xmlParserDebugEntities(void) { + if (IS_MAIN_THREAD) + return (&xmlParserDebugEntities); + else + return (&get_glob_struct()->xmlParserDebugEntities); +} + +extern const char * xmlParserVersion; +#undef xmlParserVersion +const char * * +__xmlParserVersion(void) { + if (IS_MAIN_THREAD) + return (&xmlParserVersion); + else + return (&get_glob_struct()->xmlParserVersion); +} + +extern int xmlPedanticParserDefaultValue; +#undef xmlPedanticParserDefaultValue +int * +__xmlPedanticParserDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlPedanticParserDefaultValue); + else + return (&get_glob_struct()->xmlPedanticParserDefaultValue); +} + +extern xmlReallocFunc xmlRealloc; +#undef xmlRealloc +xmlReallocFunc * +__xmlRealloc(void) { + if (IS_MAIN_THREAD) + return (&xmlRealloc); + else + return (&get_glob_struct()->xmlRealloc); +} + +extern int xmlSaveNoEmptyTags; +#undef xmlSaveNoEmptyTags +int * +__xmlSaveNoEmptyTags(void) { + if (IS_MAIN_THREAD) + return (&xmlSaveNoEmptyTags); + else + return (&get_glob_struct()->xmlSaveNoEmptyTags); +} + +extern int xmlSubstituteEntitiesDefaultValue; +#undef xmlSubstituteEntitiesDefaultValue +int * +__xmlSubstituteEntitiesDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlSubstituteEntitiesDefaultValue); + else + return (&get_glob_struct()->xmlSubstituteEntitiesDefaultValue); +} |