* Summary: interface for all global variables of the library
      * Description: 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
      *
      * Copy: See Copyright for the status of this software.
      *
      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.

      /if not defined(XML_GLOBALS_H)
      /define XML_GLOBALS_H

      /include "libxmlrpg/xmlversion"
      /include "libxmlrpg/parser"
      /include "libxmlrpg/xmlerror"
      /include "libxmlrpg/SAX"
      /include "libxmlrpg/SAX2"
      /include "libxmlrpg/xmlmemory"

     d xmlInitGlobals  pr                  extproc('xmlInitGlobals')

     d xmlCleanupGlobals...
     d                 pr                  extproc('xmlCleanupGlobals')

      * xmlParserInputBufferCreateFilenameFunc:
      * @URI: the URI to read from
      * @enc: the requested source encoding
      *
      * Signature for the function doing the lookup for a suitable input method
      * corresponding to an URI.
      *
      * Returns the new xmlParserInputBufferPtr in case of success or NULL if no
      *         method was found.

     d xmlParserInputBufferCreateFilenameFunc...
     d                 s               *   based(######typedef######)
     d                                     procptr

      * xmlOutputBufferCreateFilenameFunc:
      * @URI: the URI to write to
      * @enc: the requested target encoding
      *
      * Signature for the function doing the lookup for a suitable output method
      * corresponding to an URI.
      *
      * Returns the new xmlOutputBufferPtr in case of success or NULL if no
      *         method was found.

     d xmlOutputBufferCreateFilenameFunc...
     d                 s               *   based(######typedef######)
     d                                     procptr

     d xmlParserInputBufferCreateFilenameDefault...
     d                 pr                  extproc('xmlParserInputBufferCreate+
     d                                     FilenameDefault')
     d                                     like(xmlParserInputBuffer...
     d                                     CreateFilenameFunc)
     d func                                value like(xmlParserInputBuffer...
     d                                     CreateFilenameFunc)

     d xmlOutputBufferCreateFilenameDefault...
     d                 pr                  extproc('xmlOutputBufferCreate+
     d                                     FilenameDefault')
     d                                     like(xmlOutputBuffer...
     d                                     CreateFilenameFunc)
     d func                                value like(xmlOutputBuffer...
     d                                     CreateFilenameFunc)

      * xmlRegisterNodeFunc:
      * @node: the current node
      *
      * Signature for the registration callback of a created node

     d xmlRegisterNodeFunc...
     d                 s               *   based(######typedef######)
     d                                     procptr

      * xmlDeregisterNodeFunc:
      * @node: the current node
      *
      * Signature for the deregistration callback of a discarded node

     d xmlDeregisterNodeFunc...
     d                 s               *   based(######typedef######)
     d                                     procptr

     d xmlGlobalStatePtr...
     d                 s               *   based(######typedef######)

     d xmlGlobalState  ds                  based(xmlGlobalStatePtr)
     d                                     align qualified
     d  xmlParserVersion...
     d                                 *                                        const char *
     d  xmlDefaultSAXLocator...
     d                                     like(xmlSAXLocator)
     d  xmlDefaultSAXHandler...
     d                                     like(xmlSAXHandlerV1)
     d  docbDefaultSAXHandler...
     d                                     like(xmlSAXHandlerV1)
     d  htmlDefaultSAXHandler...
     d                                     like(xmlSAXHandlerV1)
     d  xmlFree                            like(xmlFreeFunc)
     d  xmlMalloc                          like(xmlMallocFunc)
     d  xmlMemStrdup                       like(xmlStrdupFunc)
     d  xmlRealloc                         like(xmlReallocFunc)
     d  xmlGenericError...
     d                                     like(xmlGenericErrorFunc)
     d  xmlStructuredError...
     d                                     like(xmlStructuredErrorFunc)
     d  xmlGenericErrorContext...
     d                                 *                                        void *
     d  oldXMLWDcompatibility...
     d                               10i 0
     d  xmlBufferAllocScheme...
     d                                     like(xmlBufferAllocationScheme)
     d  xmlDefaultBufferSize...
     d                               10i 0
     d  xmlSubstituteEntitiesDefaultValue...
     d                               10i 0
     d  xmlDoValidityCheckingDefaultValue...
     d                               10i 0
     d  xmlGetWarningsDefaultValue...
     d                               10i 0
     d  xmlKeepBlanksDefaultValue...
     d                               10i 0
     d  xmlLineNumbersDefaultValue...
     d                               10i 0
     d  xmlLoadExtDtdDefaultValue...
     d                               10i 0
     d  xmlParserDebugEntities...
     d                               10i 0
     d  xmlPedanticParserDefaultValue...
     d                               10i 0
     d  xmlSaveNoEmptyTags...
     d                               10i 0
     d  xmlIndentTreeOutput...
     d                               10i 0
     d  xmlTreeIndentString...
     d                                 *                                        const char *
     d  xmlRegisterNodeDefaultValue...
     d                                     like(xmlRegisterNodeFunc)
     d  xmlDeregisterNodeDefaultValue...
     d                                     like(xmlDeregisterNodeFunc)
     d  xmlMallocAtomic...
     d                                     like(xmlMallocFunc)
     d  xmlLastError                       like(xmlError)
     d  xmlParserInputBufferCreateFilenameValue...
     d                                     like(xmlParserInputBuffer...
     d                                     CreateFilenameFunc)
     d  xmlOutputBufferCreateFilenameValue...
     d                                     like(xmlOutputBuffer...
     d                                     CreateFilenameFunc)
     d  xmlStructuredErrorContext...
     d                                 *                                        void *

      /include "libxmlrpg/threads"

     d xmlInitializeGlobalState...
     d                 pr                  extproc('xmlInitializeGlobalState')
     d qs                                  value like(xmlGlobalStatePtr)

     d xmlThrDefSetGenericErrorFunc...
     d                 pr                  extproc(
     d                                      'xmlThrDefSetGenericErrorFunc')
     d ctx                             *   value                                void *
     d handler                             value like(xmlGenericErrorFunc)

     d xmlThrDefSetStructuredErrorFunc...
     d                 pr                  extproc(
     d                                      'xmlThrDefSetStructuredErrorFunc')
     d ctx                             *   value                                void *
     d handler                             value like(xmlStructuredErrorFunc)

     d xmlRegisterNodeDefault...
     d                 pr                  extproc('xmlRegisterNodeDefault')
     d                                     like(xmlRegisterNodeFunc)
     d func                                value like(xmlRegisterNodeFunc)

     d xmlThrDefRegisterNodeDefault...
     d                 pr                  extproc(
     d                                      'xmlThrDefRegisterNodeDefault')
     d                                     like(xmlRegisterNodeFunc)
     d func                                value like(xmlRegisterNodeFunc)

     d xmlDeregisterNodeDefault...
     d                 pr                  extproc('xmlDeregisterNodeDefault')
     d                                     like(xmlDeregisterNodeFunc)
     d func                                value like(xmlDeregisterNodeFunc)

     d xmlThrDefDeregisterNodeDefault...
     d                 pr                  extproc(
     d                                      'xmlThrDefDeregisterNodeDefault')
     d                                     like(xmlDeregisterNodeFunc)
     d func                                value like(xmlDeregisterNodeFunc)

     d xmlThrDefOutputBufferCreateFilenameDefault...
     d                 pr                  extproc('xmlThrDefOutputBuffer+
     d                                     CreateFilenameDefault')
     d                                     like(xmlOutputBuffer...
     d                                     CreateFilenameFunc)
     d func                                value like(xmlOutputBuffer...
     d                                     CreateFilenameFunc)

     d xmlThrDefParserInputBufferCreateFilenameDefault...
     d                 pr                  extproc('xmlThrDefParserInputBuffer+
     d                                     CreateFilenameDefault')
     d                                     like(xmlParserInputBuffer...
     d                                     CreateFilenameFunc)
     d func                                value like(xmlParserInputBuffer...
     d                                     CreateFilenameFunc)

      /if defined(LIBXML_DOCB_ENABLED)
     d get_docbDefaultSAXHandler...
     d                 pr                  extproc(
     d                                       '__get_docbDefaultSAXHandler')
     d                                     like(xmlSAXHandlerV1)

     d set_docbDefaultSAXHandler...
     d                 pr                  extproc(
     d                                       '__set_docbDefaultSAXHandler')
     d  value                              value like(xmlSAXHandlerV1)
      /endif

      /if defined(LIBXML_HTML_ENABLED)
     d get_htmlDefaultSAXHandler...
     d                 pr                  extproc(
     d                                       '__get_htmlDefaultSAXHandler')
     d                                     like(xmlSAXHandlerV1)

     d set_htmlDefaultSAXHandler...
     d                 pr                  extproc(
     d                                       '__set_htmlDefaultSAXHandler')
     d  value                              value like(xmlSAXHandlerV1)
      /endif

     d get_xmlLastError...
     d                 pr                  extproc('__get_xmlLastError')
     d                                     like(xmlError)

     d set_xmlLastError...
     d                 pr                  extproc('__set_xmlLastError')
     d  value                              value like(xmlError)

     d get_oldXMLWDcompatibility...
     d                 pr            10i 0 extproc(
     d                                       '__get_oldXMLWDcompatibility')

     d set_oldXMLWDcompatibility...
     d                 pr                  extproc(
     d                                       '__set_oldXMLWDcompatibility')
     d  value                        10i 0 value

     d get_xmlBufferAllocScheme...
     d                 pr                  extproc('__get_xmlBufferAllocScheme')
     d                                     like(xmlBufferAllocationScheme)

     d set_xmlBufferAllocScheme...
     d                 pr                  extproc('__set_xmlBufferAllocScheme')
     d  value                              value like(xmlBufferAllocationScheme)

     d xmlThrDefBufferAllocScheme...
     d                 pr                  extproc('xmlThrDefBufferAllocScheme')
     d                                     like(xmlBufferAllocationScheme)
     d  v                                  value like(xmlBufferAllocationScheme)

     d get_xmlDefaultBufferSize...
     d                 pr            10i 0 extproc('__get_xmlDefaultBufferSize')

     d set_xmlDefaultBufferSize...
     d                 pr                  extproc('__set_xmlDefaultBufferSize')
     d  value                        10i 0 value

     d xmlThrDefDefaultBufferSize...
     d                 pr            10i 0 extproc('xmlThrDefDefaultBufferSize')
     d  v                            10i 0 value

     d get_xmlDefaultSAXHandler...
     d                 pr                  extproc('__get_xmlDefaultSAXHandler')
     d                                     like(xmlSAXHandlerV1)

     d set_xmlDefaultSAXHandler...
     d                 pr                  extproc('__set_xmlDefaultSAXHandler')
     d  value                              value like(xmlSAXHandlerV1)

     d get_xmlDefaultSAXLocator...
     d                 pr                  extproc('__get_xmlDefaultSAXLocator')
     d                                     like(xmlSAXLocator)

     d set_xmlDefaultSAXLocator...
     d                 pr                  extproc('__set_xmlDefaultSAXLocator')
     d  value                              value like(xmlSAXLocator)

     d get_xmlDoValidityCheckingDefaultValue...
     d                 pr            10i 0 extproc('__get_xmlDoValidity+
     d                                       CheckingDefaultValue')

     d set_xmlDoValidityCheckingDefaultValue...
     d                 pr                  extproc('__set_xmlDoValidity+
     d                                       CheckingDefaultValue')
     d  value                        10i 0 value
    
     d xmlThrDefDoValidityCheckingDefaultValue...
     d                 pr            10i 0 extproc('xmlThrDefDoValidity+
     d                                       CheckingDefaultValue')
     d  v                            10i 0 value

     d get_xmlGenericError...
     d                 pr                  extproc('__get_xmlGenericError')
     d                                     like(xmlGenericErrorFunc)

     d set_xmlGenericError...
     d                 pr                  extproc('__set_xmlGenericError')
     d  func                               value like(xmlGenericErrorFunc)

     d get_xmlStructuredError...
     d                 pr                  extproc('__get_xmlStructuredError')
     d                                     like(xmlStructuredErrorFunc)

     d set_xmlStructuredError...
     d                 pr                  extproc('__set_xmlStructuredError')
     d  func                               value like(xmlStructuredErrorFunc)

     d xmlStructuredError...
     d                 pr                  extproc('__call_xmlStructuredError')
     d  userData                       *   value options(*string)               void *
     d  error                              value like(xmlErrorPtr) 

     d get_xmlGenericErrorContext...
     d                 pr                  extproc(
     d                                       '__get_xmlGenericErrorContext')
     d                                 *                                        void *

     d set_xmlGenericErrorContext...
     d                 pr                  extproc(
     d                                       '__set_xmlGenericErrorContext')
     d  value                          *   value options(*string)               void *

     d get_xmlStructuredErrorContext...
     d                 pr                  extproc(
     d                                       '__get_xmlStructuredErrorContext')
     d                                 *                                        void *

     d set_xmlStructuredErrorContext...
     d                 pr                  extproc(
     d                                       '__set_xmlStructuredErrorContext')
     d  value                          *   value options(*string)               void *

     d get_xmlGetWarningsDefaultValue...
     d                 pr            10i 0 extproc(
     d                                       '__get_xmlGetWarningsDefaultValue')

     d set_xmlGetWarningsDefaultValue...
     d                 pr                  extproc(
     d                                       '__set_xmlGetWarningsDefaultValue')
     d  value                        10i 0 value

     d xmlThrDefGetWarningsDefaultValue...
     d                 pr            10i 0 extproc(
     d                                       'xmlThrDefGetWarningsDefaultValue')
     d  v                            10i 0 value

     d get_xmlIndentTreeOutput...
     d                 pr            10i 0 extproc('__get_xmlIndentTreeOutput')

     d set_xmlIndentTreeOutput...
     d                 pr                   extproc('__set_xmlIndentTreeOutput')
     d  value                        10i 0 value

     d xmlThrDefIndentTreeOutput...
     d                 pr            10i 0 extproc('xmlThrDefIndentTreeOutput')
     d  v                            10i 0 value

     d get_xmlTreeIndentString...
     d                 pr              *   extproc('__get_xmlTreeIndentString') const char *

     d set_xmlTreeIndentString...
     d                 pr                  extproc('__set_xmlTreeIndentString')
     d  value                          *   value options(*string)               const char *
 
     d xmlThrDefTreeIndentString...
     d                 pr              *   extproc('xmlThrDefTreeIndentString') const char *
     d  v                              *   value options(*string)               const char *

     d get_xmlKeepBlanksDefaultValue...
     d                 pr            10i 0 extproc(
     d                                       '__get_xmlKeepBlanksDefaultValue') 

     d set_xmlKeepBlanksDefaultValue...
     d                 pr                  extproc(
     d                                       '__set_xmlKeepBlanksDefaultValue') 
     d  value                        10i 0 value

     d xmlThrDefKeepBlanksDefaultValue...
     d                 pr            10i 0 extproc(
     d                                       'xmlThrDefKeepBlanksDefaultValue')
     d  v                            10i 0 value

     d get_xmlLineNumbersDefaultValue...
     d                 pr            10i 0 extproc(
     d                                       '__get_xmlLineNumbersDefaultValue')

     d set_xmlLineNumbersDefaultValue...
     d                 pr                  extproc(
     d                                       '__set_xmlLineNumbersDefaultValue')
     d  value                        10i 0 value

     d xmlThrDefLineNumbersDefaultValue...
     d                 pr            10i 0 extproc(
     d                                       'xmlThrDefLineNumbersDefaultValue')
     d  v                            10i 0 value

     d get_xmlLoadExtDtdDefaultValue...
     d                 pr            10i 0 extproc(
     d                                       '__get_xmlLoadExtDtdDefaultValue')

     d set_xmlLoadExtDtdDefaultValue...
     d                 pr                  extproc(
     d                                       '__set_xmlLoadExtDtdDefaultValue')
     d  value                        10i 0 value

     d xmlThrDefLoadExtDtdDefaultValue...
     d                 pr            10i 0 extproc(
     d                                       'xmlThrDefLoadExtDtdDefaultValue')
     d  v                            10i 0 value

     d get_xmlParserDebugEntities...
     d                 pr            10i 0 extproc(
     d                                       '__get_xmlParserDebugEntities')

     d set_xmlParserDebugEntities...
     d                 pr                  extproc(
     d                                       '__set_xmlParserDebugEntities')
     d  value                        10i 0 value

     d xmlThrDefParserDebugEntities...
     d                 pr            10i 0 extproc(
     d                                       'xmlThrDefParserDebugEntities')
     d  v                            10i 0 value

     d get_xmlParserVersion...
     d                 pr              *   extproc('__get_xmlParserVersion')    const char *

     d set_xmlParserVersion...
     d                 pr                  extproc('__set_xmlParserVersion')
     d  value                          *   value options(*string)               const char *

     d get_xmlPedanticParserDefaultValue...
     d                 pr            10i 0 extproc('__get_xmlPedantic+
     d                                       ParserDefaultValue')

     d set_xmlPedanticParserDefaultValue...
     d                 pr                  extproc('__set_xmlPedantic+
     d                                       ParserDefaultValue')
     d  value                        10i 0 value

     d xmlThrDefPedanticParserDefaultValue...
     d                 pr            10i 0 extproc('xmlThrDefPedantic+
     d                                       ParserDefaultValue')
     d  v                            10i 0 value

     d get_xmlSaveNoEmptyTags...
     d                 pr            10i 0 extproc('__get_xmlSaveNoEmptyTags')

     d set_xmlSaveNoEmptyTags...
     d                 pr                  extproc('__set_xmlSaveNoEmptyTags')
     d  value                        10i 0 value

     d xmlThrDefSaveNoEmptyTags...
     d                 pr            10i 0 extproc('xmlThrDefSaveNoEmptyTags')
     d  v                            10i 0 value

     d get_xmlSubstituteEntitiesDefaultValue...
     d                 pr            10i 0 extproc('__get_xmlSubstitute+
     d                                       EntitiesDefaultValue')

     d set_xmlSubstituteEntitiesDefaultValue...
     d                 pr                  extproc('__set_xmlSubstitute+
     d                                       EntitiesDefaultValue')
     d  value                        10i 0 value

     d xmlThrDefSubstituteEntitiesDefaultValue...
     d                 pr            10i 0 extproc('xmlThrDefSubstitute+
     d                                       EntitiesDefaultValue')
     d  v                            10i 0 value

     d get_xmlRegisterNodeDefaultValue...
     d                 pr                  extproc('__get_xmlRegisterNode+
     d                                       DefaultValue')
     d                                     like(xmlRegisterNodeFunc)

     d set_xmlRegisterNodeDefaultValue...
     d                 pr                  extproc('__set_xmlRegisterNode+
     d                                       DefaultValue')
     d  value                              value like(xmlRegisterNodeFunc)

     d xmlRegisterNodeDefaultValue...
     d                 pr                  extproc('__call_xmlRegisterNode+
     d                                       DefaultValue')
     d  node                               value like(xmlNodePtr)

     d get_xmlDeregisterNodeDefaultValue...
     d                 pr                  extproc('__get_xmlDeregisterNode+
     d                                       DefaultValue')
     d                                     like(xmlDeregisterNodeFunc)

     d set_xmlDeregisterNodeDefaultValue...
     d                 pr                  extproc('__set_xmlDeregisterNode+
     d                                       DefaultValue')
     d  value                              value like(xmlDeregisterNodeFunc)

     d xmlDeregisterNodeDefaultValue...
     d                 pr                  extproc('__call_xmlDeregisterNode+
     d                                       DefaultValue')
     d  node                               value like(xmlNodePtr)

     d get_xmlParserInputBufferCreateFilenameValue...
     d                 pr                  extproc('__get_xmlParserInputBuffer+
     d                                       CreateFilenameValue')
     d                                     like(xmlParserInputBuffer...
     d                                       CreateFilenameFunc)

     d set_xmlParserInputBufferCreateFilenameValue...
     d                 pr                  extproc('__set_xmlParserInputBuffer+
     d                                       CreateFilenameValue')
     d  value                              value like(xmlParserInputBuffer...
     d                                       CreateFilenameFunc)

     d xmlParserInputBufferCreateFilenameValue...
     d                 pr                  extproc('__call_xmlParserInputBuffer+
     d                                       CreateFilenameValue')
     d                                     like(xmlParserInputBufferPtr)
     d  URI                            *   value options(*string)               const char *
     d  enc                                value like(xmlCharEncoding)

     d get_xmlOutputBufferCreateFilenameValue...
     d                 pr                  extproc('__get_xmlOutputBuffer+
     d                                       CreateFilenameValue')
     d                                     like(
     d                                       xmlOutputBufferCreateFilenameFunc)

     d set_xmlOutputBufferCreateFilenameValue...
     d                 pr                  extproc('__set_xmlOutputBuffer+
     d                                       CreateFilenameValue')
     d  value                              value like(
     d                                       xmlOutputBufferCreateFilenameFunc)

     d xmlOutputBufferCreateFilenameValue...
     d                 pr                  extproc('__call_xmlOutputBuffer+
     d                                       CreateFilenameValue')
     d                                     like(xmlOutputBufferPtr)
     d  URI                            *   value options(*string)               const char *
     d  encoder                            value like(xmlCharEncodingHandlerPtr)
     d  compression                  10i 0 value

      /endif                                                                    XML_GLOBALS_H