libxml2 Reference Manual |
---|
xmlmodule - dynamic module loading
basic API for dynamic module loading, used by libexslt added in 2.6.17
Author(s): Joel W. Reed
typedef struct _xmlModule xmlModule; typedef xmlModule * xmlModulePtr; typedef enum xmlModuleOption; int xmlModuleFree (xmlModulePtr module); int xmlModuleSymbol (xmlModulePtr module,
const char * name,
void ** symbol); xmlModulePtr xmlModuleOpen (const char * name,
int options); int xmlModuleClose (xmlModulePtr module);
struct _xmlModule { The content of this structure is not made public by the API. } xmlModule;
enum xmlModuleOption { XML_MODULE_LAZY = 1 /* lazy binding */ XML_MODULE_LOCAL = 2 /* local binding */ };
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. |
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 |
xmlModulePtr xmlModuleOpen (const char * name,
int options)
Opens a module/shared library given its name or path 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 |
int xmlModuleSymbol (xmlModulePtr module,
const char * name,
void ** symbol)
Lookup for a symbol address in the given module
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 |