# ## Module xmlmodule from libxml2

API Menu
Main Menu Developer Menu Code Examples API Menu Parser API Tree API Reader API XML Guidelines ChangeLog
API Indexes
Alphabetic Constructors Functions/Types Modules Symbols
Related links
Mail archive XSLT libxslt DOM gdome2 XML-DSig xmlsec FTP Windows binaries Solaris binaries MacOsX binaries lxml Python bindings Perl bindings C++ bindings PHP bindings Pascal bindings Ruby bindings Tcl bindings Bug Tracker
basic API for dynamic module loading, used by libexslt added in 2.6.17 ## Table of Contents
    Structure xmlModule
    struct _xmlModule
    The content of this structure is not made public by the API.
    Enum xmlModuleOption
    Typedef xmlModule * xmlModulePtr
    int	xmlModuleClose			(xmlModulePtr module)
    int	xmlModuleFree			(xmlModulePtr module)
    xmlModulePtr	xmlModuleOpen		(const char * name,
    					 int options)
    int	xmlModuleSymbol			(xmlModulePtr module,
    					 const char * name,
    					 void ** symbol)
## Description ### Structure xmlModule
    Structure xmlModule
    struct _xmlModule {
    The content of this structure is not made public by the API.
    }
### Enum xmlModuleOption
    Enum xmlModuleOption {
        XML_MODULE_LAZY = 1 : lazy binding
        XML_MODULE_LOCAL = 2 : local binding
    }
A handle to a dynamically loaded module ### Function: xmlModuleClose
    int	xmlModuleClose			(xmlModulePtr module)
The close operations unload the associated module and free the data associated to the module.
`module`: | the module handle
`Returns`: | 0 in case of success, -1 in case of argument error and -2 if the module could not be closed/unloaded.
### Function: xmlModuleFree
    int	xmlModuleFree			(xmlModulePtr module)
The free operations free the data associated to the module but does not unload the associated shared library which may still be in use.
`module`: | the module handle
`Returns`: | 0 in case of success, -1 in case of argument error
### Function: xmlModuleOpen
    xmlModulePtr	xmlModuleOpen		(const char * name,
    					 int options)
Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We canot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const xmlChar * . TODO: options are not yet implemented.
`name`: | the module name
`options`: | a set of xmlModuleOption
`Returns`: | a handle for the module or NULL in case of error
### Function: xmlModuleSymbol
    int	xmlModuleSymbol			(xmlModulePtr module,
    					 const char * name,
    					 void ** symbol)
Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We canot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const xmlChar * .
`module`: | the module
`name`: | the name of the symbol
`symbol`: | the resulting symbol address
`Returns`: | 0 if the symbol was found, or -1 in case of error
Daniel Veillard