basic API for dynamic module loading, used by libexslt added in 2.6.17 Table of ContentsStructure 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 struct _xmlModule {
The content of this structure is not made public by the API.
} Enum xmlModuleOption {
XML_MODULE_LAZY = 1 : lazy binding
XML_MODULE_LOCAL = 2 : local binding
}
A handle to a dynamically loaded module
Function: xmlModuleCloseint 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: xmlModuleFreeint 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: xmlModuleOpenxmlModulePtr 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: xmlModuleSymbolint 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 |