#

## Module xmlmodule from libxml2

API Menu

- Main Menu
- Developer Menu
- Code Examples
- API Menu
- Parser API
- Tree API
- Reader API
- XML Guidelines
- ChangeLog

API Indexes

- Alphabetic
- Constructors
- Functions/Types
- Modules
- Symbols

Related links

- Mail archive
- XSLT libxslt
- DOM gdome2
- XML-DSig xmlsec
- FTP
- Windows binaries
- Solaris binaries
- MacOsX binaries
- lxml Python bindings
- Perl bindings
- C++ bindings
- PHP bindings
- Pascal bindings
- Ruby bindings
- Tcl bindings
- Bug Tracker

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