Back to Turicreate

xmlmodule: dynamic module loading

deps/src/libxml2-2.9.1/doc/devhelp/libxml2-xmlmodule.html

6.4.13.2 KB
Original Source

| | | | | libxml2 Reference Manual |

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](#xmlModule);
typedef[xmlModule](libxml2-xmlmodule.html#xmlModule)*[xmlModulePtr](#xmlModulePtr);
typedef enum[xmlModuleOption](#xmlModuleOption);
int[xmlModuleFree](#xmlModuleFree)([xmlModulePtr](libxml2-xmlmodule.html#xmlModulePtr)module);
int[xmlModuleSymbol](#xmlModuleSymbol)([xmlModulePtr](libxml2-xmlmodule.html#xmlModulePtr)module,
const char * name,
void ** symbol);[xmlModulePtr](libxml2-xmlmodule.html#xmlModulePtr)[xmlModuleOpen](#xmlModuleOpen)(const char * name,
int options);
int[xmlModuleClose](#xmlModuleClose)([xmlModulePtr](libxml2-xmlmodule.html#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](#xmlModuleOption){XML\_MODULE\_LAZY= 1 /* lazy binding */XML\_MODULE\_LOCAL= 2 /* local binding */
};

Typedef xmlModulePtr

[xmlModule](libxml2-xmlmodule.html#xmlModule)* xmlModulePtr;

A handle to a dynamically loaded module


xmlModuleClose ()

int	xmlModuleClose ([xmlModulePtr](libxml2-xmlmodule.html#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](libxml2-xmlmodule.html#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](libxml2-xmlmodule.html#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 |


xmlModuleSymbol ()

int	xmlModuleSymbol ([xmlModulePtr](libxml2-xmlmodule.html#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 |