Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

Module xmlmodule from libxml2

API Menu
API Indexes
Related links

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 cannot 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 cannot 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