## globals

globals - interface for all global variables of the library

all the global variables and thread handling for those variables is handled by this module. The bottom of this file is automatically generated by build_glob.py based on the description file global.data

Author(s): Gary Pennington <Gary.Pennington@uk.sun.com>, Daniel Veillard

## Synopsis

    typedef xmlGlobalState * xmlGlobalStatePtr;
    typedef struct _xmlGlobalState xmlGlobalState;
    void	xmlThrDefSetStructuredErrorFunc	(void * ctx,
    					 xmlStructuredErrorFunc handler);
    void	xmlInitializeGlobalState	(xmlGlobalStatePtr gs);
    xmlBufferAllocationScheme	xmlThrDefBufferAllocScheme	(xmlBufferAllocationScheme v);
    int	xmlThrDefPedanticParserDefaultValue	(int v);
    xmlRegisterNodeFunc	xmlRegisterNodeDefault	(xmlRegisterNodeFunc func);
    typedef xmlParserInputBufferPtr xmlParserInputBufferCreateFilenameFunc	(const char * URI,
    							 xmlCharEncoding enc);
    xmlOutputBufferCreateFilenameFunc	xmlThrDefOutputBufferCreateFilenameDefault	(xmlOutputBufferCreateFilenameFunc func);
    xmlDeregisterNodeFunc	xmlDeregisterNodeDefault	(xmlDeregisterNodeFunc func);
    int	xmlThrDefDefaultBufferSize	(int v);
    xmlOutputBufferCreateFilenameFunc	xmlOutputBufferCreateFilenameDefault	(xmlOutputBufferCreateFilenameFunc func);
    int	xmlThrDefLoadExtDtdDefaultValue	(int v);
    xmlRegisterNodeFunc	xmlThrDefRegisterNodeDefault	(xmlRegisterNodeFunc func);
    int	xmlThrDefKeepBlanksDefaultValue	(int v);
    typedef void xmlDeregisterNodeFunc		(xmlNodePtr node);
    int	xmlThrDefParserDebugEntities	(int v);
    xmlParserInputBufferCreateFilenameFunc	xmlThrDefParserInputBufferCreateFilenameDefault	(xmlParserInputBufferCreateFilenameFunc func);
    void	xmlThrDefSetGenericErrorFunc	(void * ctx,
    					 xmlGenericErrorFunc handler);
    xmlParserInputBufferCreateFilenameFunc	xmlParserInputBufferCreateFilenameDefault	(xmlParserInputBufferCreateFilenameFunc func);
    int	xmlThrDefDoValidityCheckingDefaultValue	(int v);
    void	xmlCleanupGlobals		(void);
    int	xmlThrDefGetWarningsDefaultValue	(int v);
    xmlDeregisterNodeFunc	xmlThrDefDeregisterNodeDefault	(xmlDeregisterNodeFunc func);
    int	xmlThrDefSubstituteEntitiesDefaultValue	(int v);
    typedef void xmlRegisterNodeFunc		(xmlNodePtr node);
    int	xmlThrDefSaveNoEmptyTags	(int v);
    int	xmlThrDefIndentTreeOutput	(int v);
    typedef xmlOutputBufferPtr xmlOutputBufferCreateFilenameFunc	(const char * URI,
    							 xmlCharEncodingHandlerPtr encoder,
    							 int compression);
    void	xmlInitGlobals			(void);
    int	xmlThrDefLineNumbersDefaultValue	(int v);
    const char *	xmlThrDefTreeIndentString	(const char * v);

## Description

## Details

### Structure xmlGlobalState

    struct _xmlGlobalState {
        const char *	xmlParserVersion
        xmlSAXLocator	xmlDefaultSAXLocator
        xmlSAXHandlerV1	xmlDefaultSAXHandler
        xmlSAXHandlerV1	docbDefaultSAXHandler
        xmlSAXHandlerV1	htmlDefaultSAXHandler
        xmlFreeFunc	xmlFree
        xmlMallocFunc	xmlMalloc
        xmlStrdupFunc	xmlMemStrdup
        xmlReallocFunc	xmlRealloc
        xmlGenericErrorFunc	xmlGenericError
        xmlStructuredErrorFunc	xmlStructuredError
        void *	xmlGenericErrorContext
        int	oldXMLWDcompatibility
        xmlBufferAllocationScheme	xmlBufferAllocScheme
        int	xmlDefaultBufferSize
        int	xmlSubstituteEntitiesDefaultValue
        int	xmlDoValidityCheckingDefaultValue
        int	xmlGetWarningsDefaultValue
        int	xmlKeepBlanksDefaultValue
        int	xmlLineNumbersDefaultValue
        int	xmlLoadExtDtdDefaultValue
        int	xmlParserDebugEntities
        int	xmlPedanticParserDefaultValue
        int	xmlSaveNoEmptyTags
        int	xmlIndentTreeOutput
        const char *	xmlTreeIndentString
        xmlRegisterNodeFunc	xmlRegisterNodeDefaultValue
        xmlDeregisterNodeFunc	xmlDeregisterNodeDefaultValue
        xmlMallocFunc	xmlMallocAtomic
        xmlError	xmlLastError
        xmlParserInputBufferCreateFilenameFunc	xmlParserInputBufferCreateFilenameValue
        xmlOutputBufferCreateFilenameFunc	xmlOutputBufferCreateFilenameValue
    } xmlGlobalState;

### Typedef xmlGlobalStatePtr

    xmlGlobalState * xmlGlobalStatePtr;

### Function type xmlDeregisterNodeFunc

    void	xmlDeregisterNodeFunc		(xmlNodePtr node)

Signature for the deregistration callback of a discarded node

`node`: | the current node

### Function type xmlOutputBufferCreateFilenameFunc

    xmlOutputBufferPtr	xmlOutputBufferCreateFilenameFunc	(const char * URI,
    							 xmlCharEncodingHandlerPtr encoder,
    							 int compression)

Signature for the function doing the lookup for a suitable output method corresponding to an URI.

`URI`: | the URI to write to
`encoder`: |
`compression`: |
`Returns`: | the new xmlOutputBufferPtr in case of success or NULL if no method was found.

### Function type xmlParserInputBufferCreateFilenameFunc

    xmlParserInputBufferPtr	xmlParserInputBufferCreateFilenameFunc	(const char * URI,
    							 xmlCharEncoding enc)

Signature for the function doing the lookup for a suitable input method corresponding to an URI.

`URI`: | the URI to read from
`enc`: | the requested source encoding
`Returns`: | the new xmlParserInputBufferPtr in case of success or NULL if no method was found.

### Function type xmlRegisterNodeFunc

    void	xmlRegisterNodeFunc		(xmlNodePtr node)

Signature for the registration callback of a created node

`node`: | the current node

### Variable docbDefaultSAXHandler

    xmlSAXHandlerV1 docbDefaultSAXHandler;

### Variable htmlDefaultSAXHandler

    xmlSAXHandlerV1 htmlDefaultSAXHandler;

### Variable oldXMLWDcompatibility

    int oldXMLWDcompatibility;

### Variable xmlBufferAllocScheme

    xmlBufferAllocationScheme xmlBufferAllocScheme;

### Variable xmlDefaultBufferSize

    int xmlDefaultBufferSize;

### Variable xmlDefaultSAXHandler

    xmlSAXHandlerV1 xmlDefaultSAXHandler;

### Variable xmlDefaultSAXLocator

    xmlSAXLocator xmlDefaultSAXLocator;

### Variable xmlDeregisterNodeDefaultValue

    xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;

### Variable xmlDoValidityCheckingDefaultValue

    int xmlDoValidityCheckingDefaultValue;

### Variable xmlFree

    xmlFreeFunc xmlFree;

### Variable xmlGenericError

    xmlGenericErrorFunc xmlGenericError;

### Variable xmlGenericErrorContext

    void * xmlGenericErrorContext;

### Variable xmlGetWarningsDefaultValue

    int xmlGetWarningsDefaultValue;

### Variable xmlIndentTreeOutput

    int xmlIndentTreeOutput;

### Variable xmlKeepBlanksDefaultValue

    int xmlKeepBlanksDefaultValue;

### Variable xmlLastError

    xmlError xmlLastError;

### Variable xmlLineNumbersDefaultValue

    int xmlLineNumbersDefaultValue;

### Variable xmlLoadExtDtdDefaultValue

    int xmlLoadExtDtdDefaultValue;

### Variable xmlMalloc

    xmlMallocFunc xmlMalloc;

### Variable xmlMallocAtomic

    xmlMallocFunc xmlMallocAtomic;

### Variable xmlMemStrdup

    xmlStrdupFunc xmlMemStrdup;

### Variable xmlOutputBufferCreateFilenameValue

    xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;

### Variable xmlParserDebugEntities

    int xmlParserDebugEntities;

### Variable xmlParserInputBufferCreateFilenameValue

    xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;

### Variable xmlParserVersion

    const char * xmlParserVersion;

### Variable xmlPedanticParserDefaultValue

    int xmlPedanticParserDefaultValue;

### Variable xmlRealloc

    xmlReallocFunc xmlRealloc;

### Variable xmlRegisterNodeDefaultValue

    xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;

### Variable xmlSaveNoEmptyTags

    int xmlSaveNoEmptyTags;

### Variable xmlStructuredError

    xmlStructuredErrorFunc xmlStructuredError;

### Variable xmlSubstituteEntitiesDefaultValue

    int xmlSubstituteEntitiesDefaultValue;

### Variable xmlTreeIndentString

    const char * xmlTreeIndentString;

### xmlCleanupGlobals ()

    void	xmlCleanupGlobals		(void)

Additional cleanup for multi-threading

### xmlDeregisterNodeDefault ()

    xmlDeregisterNodeFunc	xmlDeregisterNodeDefault	(xmlDeregisterNodeFunc func)

Registers a callback for node destruction

`func`: | function pointer to the new DeregisterNodeFunc
`Returns`: | the previous value of the deregistration function

### xmlInitGlobals ()

    void	xmlInitGlobals			(void)

Additional initialisation for multi-threading

### xmlInitializeGlobalState ()

    void	xmlInitializeGlobalState	(xmlGlobalStatePtr gs)

xmlInitializeGlobalState() initialize a global state with all the default values of the library.

`gs`: | a pointer to a newly allocated global state

### xmlOutputBufferCreateFilenameDefault ()

    xmlOutputBufferCreateFilenameFunc	xmlOutputBufferCreateFilenameDefault	(xmlOutputBufferCreateFilenameFunc func)

Registers a callback for URI output file handling

`func`: | function pointer to the new OutputBufferCreateFilenameFunc
`Returns`: | the old value of the registration function

### xmlParserInputBufferCreateFilenameDefault ()

    xmlParserInputBufferCreateFilenameFunc	xmlParserInputBufferCreateFilenameDefault	(xmlParserInputBufferCreateFilenameFunc func)

Registers a callback for URI input file handling

`func`: | function pointer to the new ParserInputBufferCreateFilenameFunc
`Returns`: | the old value of the registration function

### xmlRegisterNodeDefault ()

    xmlRegisterNodeFunc	xmlRegisterNodeDefault	(xmlRegisterNodeFunc func)

Registers a callback for node creation

`func`: | function pointer to the new RegisterNodeFunc
`Returns`: | the old value of the registration function

### xmlThrDefBufferAllocScheme ()

    xmlBufferAllocationScheme	xmlThrDefBufferAllocScheme	(xmlBufferAllocationScheme v)

`v`: |
`Returns`: |

### xmlThrDefDefaultBufferSize ()

    int	xmlThrDefDefaultBufferSize	(int v)

`v`: |
`Returns`: |

### xmlThrDefDeregisterNodeDefault ()

    xmlDeregisterNodeFunc	xmlThrDefDeregisterNodeDefault	(xmlDeregisterNodeFunc func)

`func`: |
`Returns`: |

### xmlThrDefDoValidityCheckingDefaultValue ()

    int	xmlThrDefDoValidityCheckingDefaultValue	(int v)

`v`: |
`Returns`: |

### xmlThrDefGetWarningsDefaultValue ()

    int	xmlThrDefGetWarningsDefaultValue	(int v)

`v`: |
`Returns`: |

### xmlThrDefIndentTreeOutput ()

    int	xmlThrDefIndentTreeOutput	(int v)

`v`: |
`Returns`: |

### xmlThrDefKeepBlanksDefaultValue ()

    int	xmlThrDefKeepBlanksDefaultValue	(int v)

`v`: |
`Returns`: |

### xmlThrDefLineNumbersDefaultValue ()

    int	xmlThrDefLineNumbersDefaultValue	(int v)

`v`: |
`Returns`: |

### xmlThrDefLoadExtDtdDefaultValue ()

    int	xmlThrDefLoadExtDtdDefaultValue	(int v)

`v`: |
`Returns`: |

### xmlThrDefOutputBufferCreateFilenameDefault ()

    xmlOutputBufferCreateFilenameFunc	xmlThrDefOutputBufferCreateFilenameDefault	(xmlOutputBufferCreateFilenameFunc func)

`func`: |
`Returns`: |

### xmlThrDefParserDebugEntities ()

    int	xmlThrDefParserDebugEntities	(int v)

`v`: |
`Returns`: |

### xmlThrDefParserInputBufferCreateFilenameDefault ()

    xmlParserInputBufferCreateFilenameFunc	xmlThrDefParserInputBufferCreateFilenameDefault	(xmlParserInputBufferCreateFilenameFunc func)

`func`: |
`Returns`: |

### xmlThrDefPedanticParserDefaultValue ()

    int	xmlThrDefPedanticParserDefaultValue	(int v)

`v`: |
`Returns`: |

### xmlThrDefRegisterNodeDefault ()

    xmlRegisterNodeFunc	xmlThrDefRegisterNodeDefault	(xmlRegisterNodeFunc func)

`func`: |
`Returns`: |

### xmlThrDefSaveNoEmptyTags ()

    int	xmlThrDefSaveNoEmptyTags	(int v)

`v`: |
`Returns`: |

### xmlThrDefSetGenericErrorFunc ()

    void	xmlThrDefSetGenericErrorFunc	(void * ctx,
    					 xmlGenericErrorFunc handler)

`ctx`: |
`handler`: |

### xmlThrDefSetStructuredErrorFunc ()

    void	xmlThrDefSetStructuredErrorFunc	(void * ctx,
    					 xmlStructuredErrorFunc handler)

`ctx`: |
`handler`: |

### xmlThrDefSubstituteEntitiesDefaultValue ()

    int	xmlThrDefSubstituteEntitiesDefaultValue	(int v)

`v`: |
`Returns`: |

### xmlThrDefTreeIndentString ()

    const char *	xmlThrDefTreeIndentString	(const char * v)

`v`: |
`Returns`: |