Blame gnulib-local/lib/libxml/globals.c

Packit 5b56b6
/*
Packit 5b56b6
 * globals.c: definition and handling of the set of global variables
Packit 5b56b6
 *            of the library
Packit 5b56b6
 *
Packit 5b56b6
 * The bottom of this file is automatically generated by build_glob.py
Packit 5b56b6
 * based on the description file global.data
Packit 5b56b6
 *
Packit 5b56b6
 * See Copyright for the status of this software.
Packit 5b56b6
 *
Packit 5b56b6
 * Gary Pennington <Gary.Pennington@uk.sun.com>
Packit 5b56b6
 * daniel@veillard.com
Packit 5b56b6
 */
Packit 5b56b6
Packit 5b56b6
#define IN_LIBXML
Packit 5b56b6
#include "libxml.h"
Packit 5b56b6
Packit 5b56b6
#ifdef HAVE_STDLIB_H
Packit 5b56b6
#include <stdlib.h>
Packit 5b56b6
#endif
Packit 5b56b6
#include <string.h>
Packit 5b56b6
Packit 5b56b6
#include <libxml/globals.h>
Packit 5b56b6
#include <libxml/xmlmemory.h>
Packit 5b56b6
#include <libxml/threads.h>
Packit 5b56b6
Packit 5b56b6
/* #define DEBUG_GLOBALS */
Packit 5b56b6
Packit 5b56b6
/*
Packit 5b56b6
 * Helpful Macro
Packit 5b56b6
 */
Packit 5b56b6
#ifdef LIBXML_THREAD_ENABLED
Packit 5b56b6
#define IS_MAIN_THREAD (xmlIsMainThread())
Packit 5b56b6
#else
Packit 5b56b6
#define IS_MAIN_THREAD 1
Packit 5b56b6
#endif
Packit 5b56b6
Packit 5b56b6
/*
Packit 5b56b6
 * Mutex to protect "ForNewThreads" variables
Packit 5b56b6
 */
Packit 5b56b6
static xmlMutexPtr xmlThrDefMutex = NULL;
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * xmlInitGlobals:
Packit 5b56b6
 *
Packit 5b56b6
 * Additional initialisation for multi-threading
Packit 5b56b6
 */
Packit 5b56b6
void xmlInitGlobals(void)
Packit 5b56b6
{
Packit 5b56b6
    if (xmlThrDefMutex == NULL)
Packit 5b56b6
        xmlThrDefMutex = xmlNewMutex();
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * xmlCleanupGlobals:
Packit 5b56b6
 *
Packit 5b56b6
 * Additional cleanup for multi-threading
Packit 5b56b6
 */
Packit 5b56b6
void xmlCleanupGlobals(void)
Packit 5b56b6
{
Packit 5b56b6
    if (xmlThrDefMutex != NULL) {
Packit 5b56b6
	xmlFreeMutex(xmlThrDefMutex);
Packit 5b56b6
	xmlThrDefMutex = NULL;
Packit 5b56b6
    }
Packit 5b56b6
    __xmlGlobalInitMutexDestroy();
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
/************************************************************************
Packit 5b56b6
 *									*
Packit 5b56b6
 *	All the user accessible global variables of the library		*
Packit 5b56b6
 *									*
Packit 5b56b6
 ************************************************************************/
Packit 5b56b6
Packit 5b56b6
/*
Packit 5b56b6
 * Memory allocation routines
Packit 5b56b6
 */
Packit 5b56b6
#undef	xmlFree
Packit 5b56b6
#undef	xmlMalloc
Packit 5b56b6
#undef	xmlMallocAtomic
Packit 5b56b6
#undef	xmlMemStrdup
Packit 5b56b6
#undef	xmlRealloc
Packit 5b56b6
Packit 5b56b6
#if defined(DEBUG_MEMORY_LOCATION) || defined(DEBUG_MEMORY)
Packit 5b56b6
xmlFreeFunc xmlFree = (xmlFreeFunc) xmlMemFree;
Packit 5b56b6
xmlMallocFunc xmlMalloc = (xmlMallocFunc) xmlMemMalloc;
Packit 5b56b6
xmlMallocFunc xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc;
Packit 5b56b6
xmlReallocFunc xmlRealloc = (xmlReallocFunc) xmlMemRealloc;
Packit 5b56b6
xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup;
Packit 5b56b6
#else
Packit 5b56b6
/**
Packit 5b56b6
 * xmlFree:
Packit 5b56b6
 * @mem: an already allocated block of memory
Packit 5b56b6
 *
Packit 5b56b6
 * The variable holding the libxml free() implementation
Packit 5b56b6
 */
Packit 5b56b6
xmlFreeFunc xmlFree = (xmlFreeFunc) free;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlMalloc:
Packit 5b56b6
 * @size:  the size requested in bytes
Packit 5b56b6
 *
Packit 5b56b6
 * The variable holding the libxml malloc() implementation
Packit 5b56b6
 *
Packit 5b56b6
 * Returns a pointer to the newly allocated block or NULL in case of error
Packit 5b56b6
 */
Packit 5b56b6
xmlMallocFunc xmlMalloc = (xmlMallocFunc) malloc;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlMallocAtomic:
Packit 5b56b6
 * @size:  the size requested in bytes
Packit 5b56b6
 *
Packit 5b56b6
 * The variable holding the libxml malloc() implementation for atomic
Packit 5b56b6
 * data (i.e. blocks not containings pointers), useful when using a
Packit 5b56b6
 * garbage collecting allocator.
Packit 5b56b6
 *
Packit 5b56b6
 * Returns a pointer to the newly allocated block or NULL in case of error
Packit 5b56b6
 */
Packit 5b56b6
xmlMallocFunc xmlMallocAtomic = (xmlMallocFunc) malloc;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlRealloc:
Packit 5b56b6
 * @mem: an already allocated block of memory
Packit 5b56b6
 * @size:  the new size requested in bytes
Packit 5b56b6
 *
Packit 5b56b6
 * The variable holding the libxml realloc() implementation
Packit 5b56b6
 *
Packit 5b56b6
 * Returns a pointer to the newly reallocated block or NULL in case of error
Packit 5b56b6
 */
Packit 5b56b6
xmlReallocFunc xmlRealloc = (xmlReallocFunc) realloc;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlMemStrdup:
Packit 5b56b6
 * @str: a zero terminated string
Packit 5b56b6
 *
Packit 5b56b6
 * The variable holding the libxml strdup() implementation
Packit 5b56b6
 *
Packit 5b56b6
 * Returns the copy of the string or NULL in case of error
Packit 5b56b6
 */
Packit 5b56b6
xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlStrdup;
Packit 5b56b6
#endif /* DEBUG_MEMORY_LOCATION || DEBUG_MEMORY */
Packit 5b56b6
Packit 5b56b6
#include <libxml/threads.h>
Packit 5b56b6
#include <libxml/globals.h>
Packit 5b56b6
#include <libxml/SAX.h>
Packit 5b56b6
Packit 5b56b6
#undef	docbDefaultSAXHandler
Packit 5b56b6
#undef	htmlDefaultSAXHandler
Packit 5b56b6
#undef	oldXMLWDcompatibility
Packit 5b56b6
#undef	xmlBufferAllocScheme
Packit 5b56b6
#undef	xmlDefaultBufferSize
Packit 5b56b6
#undef	xmlDefaultSAXHandler
Packit 5b56b6
#undef	xmlDefaultSAXLocator
Packit 5b56b6
#undef	xmlDoValidityCheckingDefaultValue
Packit 5b56b6
#undef	xmlGenericError
Packit 5b56b6
#undef	xmlStructuredError
Packit 5b56b6
#undef	xmlGenericErrorContext
Packit 5b56b6
#undef	xmlStructuredErrorContext
Packit 5b56b6
#undef	xmlGetWarningsDefaultValue
Packit 5b56b6
#undef	xmlIndentTreeOutput
Packit 5b56b6
#undef  xmlTreeIndentString
Packit 5b56b6
#undef	xmlKeepBlanksDefaultValue
Packit 5b56b6
#undef	xmlLineNumbersDefaultValue
Packit 5b56b6
#undef	xmlLoadExtDtdDefaultValue
Packit 5b56b6
#undef	xmlParserDebugEntities
Packit 5b56b6
#undef	xmlParserVersion
Packit 5b56b6
#undef	xmlPedanticParserDefaultValue
Packit 5b56b6
#undef	xmlSaveNoEmptyTags
Packit 5b56b6
#undef	xmlSubstituteEntitiesDefaultValue
Packit 5b56b6
#undef	xmlRegisterNodeDefaultValue
Packit 5b56b6
#undef	xmlDeregisterNodeDefaultValue
Packit 5b56b6
#undef	xmlLastError
Packit 5b56b6
Packit 5b56b6
#undef  xmlParserInputBufferCreateFilenameValue
Packit 5b56b6
#undef  xmlOutputBufferCreateFilenameValue
Packit 5b56b6
/**
Packit 5b56b6
 * xmlParserVersion:
Packit 5b56b6
 *
Packit 5b56b6
 * Constant string describing the internal version of the library
Packit 5b56b6
 */
Packit 5b56b6
const char *xmlParserVersion = LIBXML_VERSION_STRING LIBXML_VERSION_EXTRA;
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * xmlBufferAllocScheme:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, default allocation policy for buffers, default is
Packit 5b56b6
 * XML_BUFFER_ALLOC_EXACT
Packit 5b56b6
 */
Packit 5b56b6
xmlBufferAllocationScheme xmlBufferAllocScheme = XML_BUFFER_ALLOC_EXACT;
Packit 5b56b6
static xmlBufferAllocationScheme xmlBufferAllocSchemeThrDef = XML_BUFFER_ALLOC_EXACT;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlDefaultBufferSize:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, default buffer size. Default value is BASE_BUFFER_SIZE
Packit 5b56b6
 */
Packit 5b56b6
int xmlDefaultBufferSize = BASE_BUFFER_SIZE;
Packit 5b56b6
static int xmlDefaultBufferSizeThrDef = BASE_BUFFER_SIZE;
Packit 5b56b6
Packit 5b56b6
/*
Packit 5b56b6
 * Parser defaults
Packit 5b56b6
 */
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * oldXMLWDcompatibility:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, DEPRECATED.
Packit 5b56b6
 */
Packit 5b56b6
int oldXMLWDcompatibility = 0; /* DEPRECATED */
Packit 5b56b6
/**
Packit 5b56b6
 * xmlParserDebugEntities:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, asking the parser to print out debugging informations.
Packit 5b56b6
 * while handling entities.
Packit 5b56b6
 * Disabled by default
Packit 5b56b6
 */
Packit 5b56b6
int xmlParserDebugEntities = 0;
Packit 5b56b6
static int xmlParserDebugEntitiesThrDef = 0;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlDoValidityCheckingDefaultValue:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, indicate that the parser should work in validating mode.
Packit 5b56b6
 * Disabled by default.
Packit 5b56b6
 */
Packit 5b56b6
int xmlDoValidityCheckingDefaultValue = 0;
Packit 5b56b6
static int xmlDoValidityCheckingDefaultValueThrDef = 0;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlGetWarningsDefaultValue:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, indicate that the parser should provide warnings.
Packit 5b56b6
 * Activated by default.
Packit 5b56b6
 */
Packit 5b56b6
int xmlGetWarningsDefaultValue = 1;
Packit 5b56b6
static int xmlGetWarningsDefaultValueThrDef = 1;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlLoadExtDtdDefaultValue:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, indicate that the parser should load DTD while not
Packit 5b56b6
 * validating.
Packit 5b56b6
 * Disabled by default.
Packit 5b56b6
 */
Packit 5b56b6
int xmlLoadExtDtdDefaultValue = 0;
Packit 5b56b6
static int xmlLoadExtDtdDefaultValueThrDef = 0;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlPedanticParserDefaultValue:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, indicate that the parser be pedantic
Packit 5b56b6
 * Disabled by default.
Packit 5b56b6
 */
Packit 5b56b6
int xmlPedanticParserDefaultValue = 0;
Packit 5b56b6
static int xmlPedanticParserDefaultValueThrDef = 0;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlLineNumbersDefaultValue:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, indicate that the parser should store the line number
Packit 5b56b6
 * in the content field of elements in the DOM tree.
Packit 5b56b6
 * Disabled by default since this may not be safe for old classes of
Packit 5b56b6
 * applicaton.
Packit 5b56b6
 */
Packit 5b56b6
int xmlLineNumbersDefaultValue = 0;
Packit 5b56b6
static int xmlLineNumbersDefaultValueThrDef = 0;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlKeepBlanksDefaultValue:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, indicate that the parser should keep all blanks
Packit 5b56b6
 * nodes found in the content
Packit 5b56b6
 * Activated by default, this is actually needed to have the parser
Packit 5b56b6
 * conformant to the XML Recommendation, however the option is kept
Packit 5b56b6
 * for some applications since this was libxml1 default behaviour.
Packit 5b56b6
 */
Packit 5b56b6
int xmlKeepBlanksDefaultValue = 1;
Packit 5b56b6
static int xmlKeepBlanksDefaultValueThrDef = 1;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlSubstituteEntitiesDefaultValue:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, indicate that the parser should not generate entity
Packit 5b56b6
 * references but replace them with the actual content of the entity
Packit 5b56b6
 * Disabled by default, this should be activated when using XPath since
Packit 5b56b6
 * the XPath data model requires entities replacement and the XPath
Packit 5b56b6
 * engine does not handle entities references transparently.
Packit 5b56b6
 */
Packit 5b56b6
int xmlSubstituteEntitiesDefaultValue = 0;
Packit 5b56b6
static int xmlSubstituteEntitiesDefaultValueThrDef = 0;
Packit 5b56b6
Packit 5b56b6
xmlRegisterNodeFunc xmlRegisterNodeDefaultValue = NULL;
Packit 5b56b6
static xmlRegisterNodeFunc xmlRegisterNodeDefaultValueThrDef = NULL;
Packit 5b56b6
xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue = NULL;
Packit 5b56b6
static xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValueThrDef = NULL;
Packit 5b56b6
Packit 5b56b6
xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue = NULL;
Packit 5b56b6
static xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValueThrDef = NULL;
Packit 5b56b6
Packit 5b56b6
xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue = NULL;
Packit 5b56b6
static xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValueThrDef = NULL;
Packit 5b56b6
Packit 5b56b6
/*
Packit 5b56b6
 * Error handling
Packit 5b56b6
 */
Packit 5b56b6
Packit 5b56b6
/* xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc; */
Packit 5b56b6
/* Must initialize xmlGenericError in xmlInitParser */
Packit 5b56b6
void XMLCDECL xmlGenericErrorDefaultFunc	(void *ctx ATTRIBUTE_UNUSED,
Packit 5b56b6
				 const char *msg,
Packit 5b56b6
				 ...);
Packit 5b56b6
/**
Packit 5b56b6
 * xmlGenericError:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting: function used for generic error callbacks
Packit 5b56b6
 */
Packit 5b56b6
xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc;
Packit 5b56b6
static xmlGenericErrorFunc xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlStructuredError:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting: function used for structured error callbacks
Packit 5b56b6
 */
Packit 5b56b6
xmlStructuredErrorFunc xmlStructuredError = NULL;
Packit 5b56b6
static xmlStructuredErrorFunc xmlStructuredErrorThrDef = NULL;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlGenericErrorContext:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting passed to generic error callbacks
Packit 5b56b6
 */
Packit 5b56b6
void *xmlGenericErrorContext = NULL;
Packit 5b56b6
static void *xmlGenericErrorContextThrDef = NULL;
Packit 5b56b6
/**
Packit 5b56b6
 * xmlStructuredErrorContext:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting passed to structured error callbacks
Packit 5b56b6
 */
Packit 5b56b6
void *xmlStructuredErrorContext = NULL;
Packit 5b56b6
static void *xmlStructuredErrorContextThrDef = NULL;
Packit 5b56b6
xmlError xmlLastError;
Packit 5b56b6
Packit 5b56b6
/*
Packit 5b56b6
 * output defaults
Packit 5b56b6
 */
Packit 5b56b6
/**
Packit 5b56b6
 * xmlIndentTreeOutput:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, asking the serializer to indent the output tree by default
Packit 5b56b6
 * Enabled by default
Packit 5b56b6
 */
Packit 5b56b6
int xmlIndentTreeOutput = 1;
Packit 5b56b6
static int xmlIndentTreeOutputThrDef = 1;
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * xmlTreeIndentString:
Packit 5b56b6
 *
Packit 5b56b6
 * The string used to do one-level indent. By default is equal to "  " (two spaces)
Packit 5b56b6
 */
Packit 5b56b6
const char *xmlTreeIndentString = "  ";
Packit 5b56b6
static const char *xmlTreeIndentStringThrDef = "  ";
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * xmlSaveNoEmptyTags:
Packit 5b56b6
 *
Packit 5b56b6
 * Global setting, asking the serializer to not output empty tags
Packit 5b56b6
 * as <empty/> but <empty></empty>. those two forms are undistinguishable
Packit 5b56b6
 * once parsed.
Packit 5b56b6
 * Disabled by default
Packit 5b56b6
 */
Packit 5b56b6
int xmlSaveNoEmptyTags = 0;
Packit 5b56b6
static int xmlSaveNoEmptyTagsThrDef = 0;
Packit 5b56b6
Packit 5b56b6
#ifdef LIBXML_SAX1_ENABLED
Packit 5b56b6
/**
Packit 5b56b6
 * xmlDefaultSAXHandler:
Packit 5b56b6
 *
Packit 5b56b6
 * Default SAX version1 handler for XML, builds the DOM tree
Packit 5b56b6
 */
Packit 5b56b6
xmlSAXHandlerV1 xmlDefaultSAXHandler = {
Packit 5b56b6
    xmlSAX2InternalSubset,
Packit 5b56b6
    xmlSAX2IsStandalone,
Packit 5b56b6
    xmlSAX2HasInternalSubset,
Packit 5b56b6
    xmlSAX2HasExternalSubset,
Packit 5b56b6
    xmlSAX2ResolveEntity,
Packit 5b56b6
    xmlSAX2GetEntity,
Packit 5b56b6
    xmlSAX2EntityDecl,
Packit 5b56b6
    xmlSAX2NotationDecl,
Packit 5b56b6
    xmlSAX2AttributeDecl,
Packit 5b56b6
    xmlSAX2ElementDecl,
Packit 5b56b6
    xmlSAX2UnparsedEntityDecl,
Packit 5b56b6
    xmlSAX2SetDocumentLocator,
Packit 5b56b6
    xmlSAX2StartDocument,
Packit 5b56b6
    xmlSAX2EndDocument,
Packit 5b56b6
    xmlSAX2StartElement,
Packit 5b56b6
    xmlSAX2EndElement,
Packit 5b56b6
    xmlSAX2Reference,
Packit 5b56b6
    xmlSAX2Characters,
Packit 5b56b6
    xmlSAX2Characters,
Packit 5b56b6
    xmlSAX2ProcessingInstruction,
Packit 5b56b6
    xmlSAX2Comment,
Packit 5b56b6
    xmlParserWarning,
Packit 5b56b6
    xmlParserError,
Packit 5b56b6
    xmlParserError,
Packit 5b56b6
    xmlSAX2GetParameterEntity,
Packit 5b56b6
    xmlSAX2CDataBlock,
Packit 5b56b6
    xmlSAX2ExternalSubset,
Packit 5b56b6
    0,
Packit 5b56b6
};
Packit 5b56b6
#endif /* LIBXML_SAX1_ENABLED */
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * xmlDefaultSAXLocator:
Packit 5b56b6
 *
Packit 5b56b6
 * The default SAX Locator
Packit 5b56b6
 * { getPublicId, getSystemId, getLineNumber, getColumnNumber}
Packit 5b56b6
 */
Packit 5b56b6
xmlSAXLocator xmlDefaultSAXLocator = {
Packit 5b56b6
    xmlSAX2GetPublicId,
Packit 5b56b6
    xmlSAX2GetSystemId,
Packit 5b56b6
    xmlSAX2GetLineNumber,
Packit 5b56b6
    xmlSAX2GetColumnNumber
Packit 5b56b6
};
Packit 5b56b6
Packit 5b56b6
#ifdef LIBXML_HTML_ENABLED
Packit 5b56b6
/**
Packit 5b56b6
 * htmlDefaultSAXHandler:
Packit 5b56b6
 *
Packit 5b56b6
 * Default old SAX v1 handler for HTML, builds the DOM tree
Packit 5b56b6
 */
Packit 5b56b6
xmlSAXHandlerV1 htmlDefaultSAXHandler = {
Packit 5b56b6
    xmlSAX2InternalSubset,
Packit 5b56b6
    NULL,
Packit 5b56b6
    NULL,
Packit 5b56b6
    NULL,
Packit 5b56b6
    NULL,
Packit 5b56b6
    xmlSAX2GetEntity,
Packit 5b56b6
    NULL,
Packit 5b56b6
    NULL,
Packit 5b56b6
    NULL,
Packit 5b56b6
    NULL,
Packit 5b56b6
    NULL,
Packit 5b56b6
    xmlSAX2SetDocumentLocator,
Packit 5b56b6
    xmlSAX2StartDocument,
Packit 5b56b6
    xmlSAX2EndDocument,
Packit 5b56b6
    xmlSAX2StartElement,
Packit 5b56b6
    xmlSAX2EndElement,
Packit 5b56b6
    NULL,
Packit 5b56b6
    xmlSAX2Characters,
Packit 5b56b6
    xmlSAX2IgnorableWhitespace,
Packit 5b56b6
    xmlSAX2ProcessingInstruction,
Packit 5b56b6
    xmlSAX2Comment,
Packit 5b56b6
    xmlParserWarning,
Packit 5b56b6
    xmlParserError,
Packit 5b56b6
    xmlParserError,
Packit 5b56b6
    xmlSAX2GetParameterEntity,
Packit 5b56b6
    xmlSAX2CDataBlock,
Packit 5b56b6
    NULL,
Packit 5b56b6
    0,
Packit 5b56b6
};
Packit 5b56b6
#endif /* LIBXML_HTML_ENABLED */
Packit 5b56b6
Packit 5b56b6
#ifdef LIBXML_DOCB_ENABLED
Packit 5b56b6
/**
Packit 5b56b6
 * docbDefaultSAXHandler:
Packit 5b56b6
 *
Packit 5b56b6
 * Default old SAX v1 handler for SGML DocBook, builds the DOM tree
Packit 5b56b6
 */
Packit 5b56b6
xmlSAXHandlerV1 docbDefaultSAXHandler = {
Packit 5b56b6
    xmlSAX2InternalSubset,
Packit 5b56b6
    xmlSAX2IsStandalone,
Packit 5b56b6
    xmlSAX2HasInternalSubset,
Packit 5b56b6
    xmlSAX2HasExternalSubset,
Packit 5b56b6
    xmlSAX2ResolveEntity,
Packit 5b56b6
    xmlSAX2GetEntity,
Packit 5b56b6
    xmlSAX2EntityDecl,
Packit 5b56b6
    NULL,
Packit 5b56b6
    NULL,
Packit 5b56b6
    NULL,
Packit 5b56b6
    NULL,
Packit 5b56b6
    xmlSAX2SetDocumentLocator,
Packit 5b56b6
    xmlSAX2StartDocument,
Packit 5b56b6
    xmlSAX2EndDocument,
Packit 5b56b6
    xmlSAX2StartElement,
Packit 5b56b6
    xmlSAX2EndElement,
Packit 5b56b6
    xmlSAX2Reference,
Packit 5b56b6
    xmlSAX2Characters,
Packit 5b56b6
    xmlSAX2IgnorableWhitespace,
Packit 5b56b6
    NULL,
Packit 5b56b6
    xmlSAX2Comment,
Packit 5b56b6
    xmlParserWarning,
Packit 5b56b6
    xmlParserError,
Packit 5b56b6
    xmlParserError,
Packit 5b56b6
    xmlSAX2GetParameterEntity,
Packit 5b56b6
    NULL,
Packit 5b56b6
    NULL,
Packit 5b56b6
    0,
Packit 5b56b6
};
Packit 5b56b6
#endif /* LIBXML_DOCB_ENABLED */
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * xmlInitializeGlobalState:
Packit 5b56b6
 * @gs: a pointer to a newly allocated global state
Packit 5b56b6
 *
Packit 5b56b6
 * xmlInitializeGlobalState() initialize a global state with all the
Packit 5b56b6
 * default values of the library.
Packit 5b56b6
 */
Packit 5b56b6
void
Packit 5b56b6
xmlInitializeGlobalState(xmlGlobalStatePtr gs)
Packit 5b56b6
{
Packit 5b56b6
#ifdef DEBUG_GLOBALS
Packit 5b56b6
    fprintf(stderr, "Initializing globals at %lu for thread %d\n",
Packit 5b56b6
	    (unsigned long) gs, xmlGetThreadId());
Packit 5b56b6
#endif
Packit 5b56b6
Packit 5b56b6
    /*
Packit 5b56b6
     * Perform initialization as required by libxml
Packit 5b56b6
     */
Packit 5b56b6
    if (xmlThrDefMutex == NULL)
Packit 5b56b6
        xmlInitGlobals();
Packit 5b56b6
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
Packit 5b56b6
#if defined(LIBXML_DOCB_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED)
Packit 5b56b6
    initdocbDefaultSAXHandler(&gs->docbDefaultSAXHandler);
Packit 5b56b6
#endif
Packit 5b56b6
#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED)
Packit 5b56b6
    inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler);
Packit 5b56b6
#endif
Packit 5b56b6
Packit 5b56b6
    gs->oldXMLWDcompatibility = 0;
Packit 5b56b6
    gs->xmlBufferAllocScheme = xmlBufferAllocSchemeThrDef;
Packit 5b56b6
    gs->xmlDefaultBufferSize = xmlDefaultBufferSizeThrDef;
Packit 5b56b6
#if defined(LIBXML_SAX1_ENABLED) && defined(LIBXML_LEGACY_ENABLED)
Packit 5b56b6
    initxmlDefaultSAXHandler(&gs->xmlDefaultSAXHandler, 1);
Packit 5b56b6
#endif /* LIBXML_SAX1_ENABLED */
Packit 5b56b6
    gs->xmlDefaultSAXLocator.getPublicId = xmlSAX2GetPublicId;
Packit 5b56b6
    gs->xmlDefaultSAXLocator.getSystemId = xmlSAX2GetSystemId;
Packit 5b56b6
    gs->xmlDefaultSAXLocator.getLineNumber = xmlSAX2GetLineNumber;
Packit 5b56b6
    gs->xmlDefaultSAXLocator.getColumnNumber = xmlSAX2GetColumnNumber;
Packit 5b56b6
    gs->xmlDoValidityCheckingDefaultValue =
Packit 5b56b6
         xmlDoValidityCheckingDefaultValueThrDef;
Packit 5b56b6
#if defined(DEBUG_MEMORY_LOCATION) | defined(DEBUG_MEMORY)
Packit 5b56b6
    gs->xmlFree = (xmlFreeFunc) xmlMemFree;
Packit 5b56b6
    gs->xmlMalloc = (xmlMallocFunc) xmlMemMalloc;
Packit 5b56b6
    gs->xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc;
Packit 5b56b6
    gs->xmlRealloc = (xmlReallocFunc) xmlMemRealloc;
Packit 5b56b6
    gs->xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup;
Packit 5b56b6
#else
Packit 5b56b6
    gs->xmlFree = (xmlFreeFunc) free;
Packit 5b56b6
    gs->xmlMalloc = (xmlMallocFunc) malloc;
Packit 5b56b6
    gs->xmlMallocAtomic = (xmlMallocFunc) malloc;
Packit 5b56b6
    gs->xmlRealloc = (xmlReallocFunc) realloc;
Packit 5b56b6
    gs->xmlMemStrdup = (xmlStrdupFunc) xmlStrdup;
Packit 5b56b6
#endif
Packit 5b56b6
    gs->xmlGetWarningsDefaultValue = xmlGetWarningsDefaultValueThrDef;
Packit 5b56b6
    gs->xmlIndentTreeOutput = xmlIndentTreeOutputThrDef;
Packit 5b56b6
    gs->xmlTreeIndentString = xmlTreeIndentStringThrDef;
Packit 5b56b6
    gs->xmlKeepBlanksDefaultValue = xmlKeepBlanksDefaultValueThrDef;
Packit 5b56b6
    gs->xmlLineNumbersDefaultValue = xmlLineNumbersDefaultValueThrDef;
Packit 5b56b6
    gs->xmlLoadExtDtdDefaultValue = xmlLoadExtDtdDefaultValueThrDef;
Packit 5b56b6
    gs->xmlParserDebugEntities = xmlParserDebugEntitiesThrDef;
Packit 5b56b6
    gs->xmlParserVersion = LIBXML_VERSION_STRING;
Packit 5b56b6
    gs->xmlPedanticParserDefaultValue = xmlPedanticParserDefaultValueThrDef;
Packit 5b56b6
    gs->xmlSaveNoEmptyTags = xmlSaveNoEmptyTagsThrDef;
Packit 5b56b6
    gs->xmlSubstituteEntitiesDefaultValue =
Packit 5b56b6
        xmlSubstituteEntitiesDefaultValueThrDef;
Packit 5b56b6
Packit 5b56b6
    gs->xmlGenericError = xmlGenericErrorThrDef;
Packit 5b56b6
    gs->xmlStructuredError = xmlStructuredErrorThrDef;
Packit 5b56b6
    gs->xmlGenericErrorContext = xmlGenericErrorContextThrDef;
Packit 5b56b6
    gs->xmlStructuredErrorContext = xmlStructuredErrorContextThrDef;
Packit 5b56b6
    gs->xmlRegisterNodeDefaultValue = xmlRegisterNodeDefaultValueThrDef;
Packit 5b56b6
    gs->xmlDeregisterNodeDefaultValue = xmlDeregisterNodeDefaultValueThrDef;
Packit 5b56b6
Packit 5b56b6
	gs->xmlParserInputBufferCreateFilenameValue = xmlParserInputBufferCreateFilenameValueThrDef;
Packit 5b56b6
	gs->xmlOutputBufferCreateFilenameValue = xmlOutputBufferCreateFilenameValueThrDef;
Packit 5b56b6
    memset(&gs->xmlLastError, 0, sizeof(xmlError));
Packit 5b56b6
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * DOC_DISABLE : we ignore missing doc for the xmlThrDef functions,
Packit 5b56b6
 *               those are really internal work
Packit 5b56b6
 */
Packit 5b56b6
void
Packit 5b56b6
xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) {
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    xmlGenericErrorContextThrDef = ctx;
Packit 5b56b6
    if (handler != NULL)
Packit 5b56b6
	xmlGenericErrorThrDef = handler;
Packit 5b56b6
    else
Packit 5b56b6
	xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
void
Packit 5b56b6
xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) {
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    xmlStructuredErrorContextThrDef = ctx;
Packit 5b56b6
    xmlStructuredErrorThrDef = handler;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * xmlRegisterNodeDefault:
Packit 5b56b6
 * @func: function pointer to the new RegisterNodeFunc
Packit 5b56b6
 *
Packit 5b56b6
 * Registers a callback for node creation
Packit 5b56b6
 *
Packit 5b56b6
 * Returns the old value of the registration function
Packit 5b56b6
 */
Packit 5b56b6
xmlRegisterNodeFunc
Packit 5b56b6
xmlRegisterNodeDefault(xmlRegisterNodeFunc func)
Packit 5b56b6
{
Packit 5b56b6
    xmlRegisterNodeFunc old = xmlRegisterNodeDefaultValue;
Packit 5b56b6
Packit 5b56b6
    __xmlRegisterCallbacks = 1;
Packit 5b56b6
    xmlRegisterNodeDefaultValue = func;
Packit 5b56b6
    return(old);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
xmlRegisterNodeFunc
Packit 5b56b6
xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func)
Packit 5b56b6
{
Packit 5b56b6
    xmlRegisterNodeFunc old;
Packit 5b56b6
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    old = xmlRegisterNodeDefaultValueThrDef;
Packit 5b56b6
Packit 5b56b6
    __xmlRegisterCallbacks = 1;
Packit 5b56b6
    xmlRegisterNodeDefaultValueThrDef = func;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
Packit 5b56b6
    return(old);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * xmlDeregisterNodeDefault:
Packit 5b56b6
 * @func: function pointer to the new DeregisterNodeFunc
Packit 5b56b6
 *
Packit 5b56b6
 * Registers a callback for node destruction
Packit 5b56b6
 *
Packit 5b56b6
 * Returns the previous value of the deregistration function
Packit 5b56b6
 */
Packit 5b56b6
xmlDeregisterNodeFunc
Packit 5b56b6
xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func)
Packit 5b56b6
{
Packit 5b56b6
    xmlDeregisterNodeFunc old = xmlDeregisterNodeDefaultValue;
Packit 5b56b6
Packit 5b56b6
    __xmlRegisterCallbacks = 1;
Packit 5b56b6
    xmlDeregisterNodeDefaultValue = func;
Packit 5b56b6
    return(old);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
xmlDeregisterNodeFunc
Packit 5b56b6
xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func)
Packit 5b56b6
{
Packit 5b56b6
    xmlDeregisterNodeFunc old;
Packit 5b56b6
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    old = xmlDeregisterNodeDefaultValueThrDef;
Packit 5b56b6
Packit 5b56b6
    __xmlRegisterCallbacks = 1;
Packit 5b56b6
    xmlDeregisterNodeDefaultValueThrDef = func;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
Packit 5b56b6
    return(old);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
xmlParserInputBufferCreateFilenameFunc
Packit 5b56b6
xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func)
Packit 5b56b6
{
Packit 5b56b6
    xmlParserInputBufferCreateFilenameFunc old;
Packit 5b56b6
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    old = xmlParserInputBufferCreateFilenameValueThrDef;
Packit 5b56b6
    if (old == NULL) {
Packit 5b56b6
		old = __xmlParserInputBufferCreateFilename;
Packit 5b56b6
	}
Packit 5b56b6
Packit 5b56b6
    xmlParserInputBufferCreateFilenameValueThrDef = func;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
Packit 5b56b6
    return(old);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
xmlOutputBufferCreateFilenameFunc
Packit 5b56b6
xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func)
Packit 5b56b6
{
Packit 5b56b6
    xmlOutputBufferCreateFilenameFunc old;
Packit 5b56b6
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    old = xmlOutputBufferCreateFilenameValueThrDef;
Packit 5b56b6
#ifdef LIBXML_OUTPUT_ENABLED
Packit 5b56b6
    if (old == NULL) {
Packit 5b56b6
		old = __xmlOutputBufferCreateFilename;
Packit 5b56b6
	}
Packit 5b56b6
#endif
Packit 5b56b6
    xmlOutputBufferCreateFilenameValueThrDef = func;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
Packit 5b56b6
    return(old);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#ifdef LIBXML_DOCB_ENABLED
Packit 5b56b6
#undef	docbDefaultSAXHandler
Packit 5b56b6
xmlSAXHandlerV1 *
Packit 5b56b6
__docbDefaultSAXHandler(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&docbDefaultSAXHandler);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->docbDefaultSAXHandler);
Packit 5b56b6
}
Packit 5b56b6
#endif
Packit 5b56b6
Packit 5b56b6
#ifdef LIBXML_HTML_ENABLED
Packit 5b56b6
#undef	htmlDefaultSAXHandler
Packit 5b56b6
xmlSAXHandlerV1 *
Packit 5b56b6
__htmlDefaultSAXHandler(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&htmlDefaultSAXHandler);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->htmlDefaultSAXHandler);
Packit 5b56b6
}
Packit 5b56b6
#endif
Packit 5b56b6
Packit 5b56b6
#undef xmlLastError
Packit 5b56b6
xmlError *
Packit 5b56b6
__xmlLastError(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlLastError);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlLastError);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
/*
Packit 5b56b6
 * The following memory routines were apparently lost at some point,
Packit 5b56b6
 * and were re-inserted at this point on June 10, 2004.  Hope it's
Packit 5b56b6
 * the right place for them :-)
Packit 5b56b6
 */
Packit 5b56b6
#if defined(LIBXML_THREAD_ALLOC_ENABLED) && defined(LIBXML_THREAD_ENABLED)
Packit 5b56b6
#undef xmlMalloc
Packit 5b56b6
xmlMallocFunc *
Packit 5b56b6
__xmlMalloc(void){
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
        return (&xmlMalloc);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlMalloc);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef xmlMallocAtomic
Packit 5b56b6
xmlMallocFunc *
Packit 5b56b6
__xmlMallocAtomic(void){
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
        return (&xmlMallocAtomic);
Packit 5b56b6
    else
Packit 5b56b6
        return (&xmlGetGlobalState()->xmlMallocAtomic);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef xmlRealloc
Packit 5b56b6
xmlReallocFunc *
Packit 5b56b6
__xmlRealloc(void){
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
        return (&xmlRealloc);
Packit 5b56b6
    else
Packit 5b56b6
        return (&xmlGetGlobalState()->xmlRealloc);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef xmlFree
Packit 5b56b6
xmlFreeFunc *
Packit 5b56b6
__xmlFree(void){
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
        return (&xmlFree);
Packit 5b56b6
    else
Packit 5b56b6
        return (&xmlGetGlobalState()->xmlFree);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
xmlStrdupFunc *
Packit 5b56b6
__xmlMemStrdup(void){
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
        return (&xmlMemStrdup);
Packit 5b56b6
    else
Packit 5b56b6
        return (&xmlGetGlobalState()->xmlMemStrdup);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#endif
Packit 5b56b6
Packit 5b56b6
/*
Packit 5b56b6
 * Everything starting from the line below is
Packit 5b56b6
 * Automatically generated by build_glob.py.
Packit 5b56b6
 * Do not modify the previous line.
Packit 5b56b6
 */
Packit 5b56b6
Packit 5b56b6
Packit 5b56b6
#undef	oldXMLWDcompatibility
Packit 5b56b6
int *
Packit 5b56b6
__oldXMLWDcompatibility(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&oldXMLWDcompatibility);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->oldXMLWDcompatibility);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlBufferAllocScheme
Packit 5b56b6
xmlBufferAllocationScheme *
Packit 5b56b6
__xmlBufferAllocScheme(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlBufferAllocScheme);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlBufferAllocScheme);
Packit 5b56b6
}
Packit 5b56b6
xmlBufferAllocationScheme xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v) {
Packit 5b56b6
    xmlBufferAllocationScheme ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlBufferAllocSchemeThrDef;
Packit 5b56b6
    xmlBufferAllocSchemeThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlDefaultBufferSize
Packit 5b56b6
int *
Packit 5b56b6
__xmlDefaultBufferSize(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlDefaultBufferSize);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlDefaultBufferSize);
Packit 5b56b6
}
Packit 5b56b6
int xmlThrDefDefaultBufferSize(int v) {
Packit 5b56b6
    int ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlDefaultBufferSizeThrDef;
Packit 5b56b6
    xmlDefaultBufferSizeThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#ifdef LIBXML_SAX1_ENABLED
Packit 5b56b6
#undef	xmlDefaultSAXHandler
Packit 5b56b6
xmlSAXHandlerV1 *
Packit 5b56b6
__xmlDefaultSAXHandler(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlDefaultSAXHandler);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlDefaultSAXHandler);
Packit 5b56b6
}
Packit 5b56b6
#endif /* LIBXML_SAX1_ENABLED */
Packit 5b56b6
Packit 5b56b6
#undef	xmlDefaultSAXLocator
Packit 5b56b6
xmlSAXLocator *
Packit 5b56b6
__xmlDefaultSAXLocator(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlDefaultSAXLocator);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlDefaultSAXLocator);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlDoValidityCheckingDefaultValue
Packit 5b56b6
int *
Packit 5b56b6
__xmlDoValidityCheckingDefaultValue(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlDoValidityCheckingDefaultValue);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlDoValidityCheckingDefaultValue);
Packit 5b56b6
}
Packit 5b56b6
int xmlThrDefDoValidityCheckingDefaultValue(int v) {
Packit 5b56b6
    int ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlDoValidityCheckingDefaultValueThrDef;
Packit 5b56b6
    xmlDoValidityCheckingDefaultValueThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlGenericError
Packit 5b56b6
xmlGenericErrorFunc *
Packit 5b56b6
__xmlGenericError(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlGenericError);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlGenericError);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlStructuredError
Packit 5b56b6
xmlStructuredErrorFunc *
Packit 5b56b6
__xmlStructuredError(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlStructuredError);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlStructuredError);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlGenericErrorContext
Packit 5b56b6
void * *
Packit 5b56b6
__xmlGenericErrorContext(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlGenericErrorContext);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlGenericErrorContext);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlStructuredErrorContext
Packit 5b56b6
void * *
Packit 5b56b6
__xmlStructuredErrorContext(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlStructuredErrorContext);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlStructuredErrorContext);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlGetWarningsDefaultValue
Packit 5b56b6
int *
Packit 5b56b6
__xmlGetWarningsDefaultValue(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlGetWarningsDefaultValue);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlGetWarningsDefaultValue);
Packit 5b56b6
}
Packit 5b56b6
int xmlThrDefGetWarningsDefaultValue(int v) {
Packit 5b56b6
    int ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlGetWarningsDefaultValueThrDef;
Packit 5b56b6
    xmlGetWarningsDefaultValueThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlIndentTreeOutput
Packit 5b56b6
int *
Packit 5b56b6
__xmlIndentTreeOutput(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlIndentTreeOutput);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlIndentTreeOutput);
Packit 5b56b6
}
Packit 5b56b6
int xmlThrDefIndentTreeOutput(int v) {
Packit 5b56b6
    int ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlIndentTreeOutputThrDef;
Packit 5b56b6
    xmlIndentTreeOutputThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlTreeIndentString
Packit 5b56b6
const char * *
Packit 5b56b6
__xmlTreeIndentString(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlTreeIndentString);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlTreeIndentString);
Packit 5b56b6
}
Packit 5b56b6
const char * xmlThrDefTreeIndentString(const char * v) {
Packit 5b56b6
    const char * ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlTreeIndentStringThrDef;
Packit 5b56b6
    xmlTreeIndentStringThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlKeepBlanksDefaultValue
Packit 5b56b6
int *
Packit 5b56b6
__xmlKeepBlanksDefaultValue(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlKeepBlanksDefaultValue);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlKeepBlanksDefaultValue);
Packit 5b56b6
}
Packit 5b56b6
int xmlThrDefKeepBlanksDefaultValue(int v) {
Packit 5b56b6
    int ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlKeepBlanksDefaultValueThrDef;
Packit 5b56b6
    xmlKeepBlanksDefaultValueThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlLineNumbersDefaultValue
Packit 5b56b6
int *
Packit 5b56b6
__xmlLineNumbersDefaultValue(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlLineNumbersDefaultValue);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlLineNumbersDefaultValue);
Packit 5b56b6
}
Packit 5b56b6
int xmlThrDefLineNumbersDefaultValue(int v) {
Packit 5b56b6
    int ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlLineNumbersDefaultValueThrDef;
Packit 5b56b6
    xmlLineNumbersDefaultValueThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlLoadExtDtdDefaultValue
Packit 5b56b6
int *
Packit 5b56b6
__xmlLoadExtDtdDefaultValue(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlLoadExtDtdDefaultValue);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlLoadExtDtdDefaultValue);
Packit 5b56b6
}
Packit 5b56b6
int xmlThrDefLoadExtDtdDefaultValue(int v) {
Packit 5b56b6
    int ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlLoadExtDtdDefaultValueThrDef;
Packit 5b56b6
    xmlLoadExtDtdDefaultValueThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlParserDebugEntities
Packit 5b56b6
int *
Packit 5b56b6
__xmlParserDebugEntities(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlParserDebugEntities);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlParserDebugEntities);
Packit 5b56b6
}
Packit 5b56b6
int xmlThrDefParserDebugEntities(int v) {
Packit 5b56b6
    int ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlParserDebugEntitiesThrDef;
Packit 5b56b6
    xmlParserDebugEntitiesThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlParserVersion
Packit 5b56b6
const char * *
Packit 5b56b6
__xmlParserVersion(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlParserVersion);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlParserVersion);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlPedanticParserDefaultValue
Packit 5b56b6
int *
Packit 5b56b6
__xmlPedanticParserDefaultValue(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlPedanticParserDefaultValue);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlPedanticParserDefaultValue);
Packit 5b56b6
}
Packit 5b56b6
int xmlThrDefPedanticParserDefaultValue(int v) {
Packit 5b56b6
    int ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlPedanticParserDefaultValueThrDef;
Packit 5b56b6
    xmlPedanticParserDefaultValueThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlSaveNoEmptyTags
Packit 5b56b6
int *
Packit 5b56b6
__xmlSaveNoEmptyTags(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlSaveNoEmptyTags);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlSaveNoEmptyTags);
Packit 5b56b6
}
Packit 5b56b6
int xmlThrDefSaveNoEmptyTags(int v) {
Packit 5b56b6
    int ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlSaveNoEmptyTagsThrDef;
Packit 5b56b6
    xmlSaveNoEmptyTagsThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlSubstituteEntitiesDefaultValue
Packit 5b56b6
int *
Packit 5b56b6
__xmlSubstituteEntitiesDefaultValue(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlSubstituteEntitiesDefaultValue);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlSubstituteEntitiesDefaultValue);
Packit 5b56b6
}
Packit 5b56b6
int xmlThrDefSubstituteEntitiesDefaultValue(int v) {
Packit 5b56b6
    int ret;
Packit 5b56b6
    xmlMutexLock(xmlThrDefMutex);
Packit 5b56b6
    ret = xmlSubstituteEntitiesDefaultValueThrDef;
Packit 5b56b6
    xmlSubstituteEntitiesDefaultValueThrDef = v;
Packit 5b56b6
    xmlMutexUnlock(xmlThrDefMutex);
Packit 5b56b6
    return ret;
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlRegisterNodeDefaultValue
Packit 5b56b6
xmlRegisterNodeFunc *
Packit 5b56b6
__xmlRegisterNodeDefaultValue(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlRegisterNodeDefaultValue);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlRegisterNodeDefaultValue);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlDeregisterNodeDefaultValue
Packit 5b56b6
xmlDeregisterNodeFunc *
Packit 5b56b6
__xmlDeregisterNodeDefaultValue(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlDeregisterNodeDefaultValue);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlDeregisterNodeDefaultValue);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlParserInputBufferCreateFilenameValue
Packit 5b56b6
xmlParserInputBufferCreateFilenameFunc *
Packit 5b56b6
__xmlParserInputBufferCreateFilenameValue(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlParserInputBufferCreateFilenameValue);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlParserInputBufferCreateFilenameValue);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#undef	xmlOutputBufferCreateFilenameValue
Packit 5b56b6
xmlOutputBufferCreateFilenameFunc *
Packit 5b56b6
__xmlOutputBufferCreateFilenameValue(void) {
Packit 5b56b6
    if (IS_MAIN_THREAD)
Packit 5b56b6
	return (&xmlOutputBufferCreateFilenameValue);
Packit 5b56b6
    else
Packit 5b56b6
	return (&xmlGetGlobalState()->xmlOutputBufferCreateFilenameValue);
Packit 5b56b6
}
Packit 5b56b6
Packit 5b56b6
#define bottom_globals
Packit 5b56b6
#include "elfgcchack.h"