xmlmodule

xmlmodule - dynamic module loading

basic API for dynamic module loading, used by libexslt added in 2.6.17

Author(s): Joel W. Reed

Synopsis

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);

Description

Details

Structure xmlModule

struct _xmlModule {
The content of this structure is not made public by the API.
} xmlModule;


Enum xmlModuleOption

enum xmlModuleOption {
    XML_MODULE_LAZY = 1 /* lazy binding */
    XML_MODULE_LOCAL = 2 /*  local binding */
};


Typedef xmlModulePtr

xmlModule * xmlModulePtr;

A handle to a dynamically loaded module


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.

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

xmlModuleOpen ()

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

xmlModuleSymbol ()

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