Blame doc/devhelp/libxml2-xmlmodule.html

Packit 423ecb
Packit 423ecb
<html>
Packit 423ecb
  <head>
Packit 423ecb
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
Packit 423ecb
    <title>xmlmodule: dynamic module loading</title>
Packit 423ecb
    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
Packit 423ecb
    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
Packit 423ecb
    <link rel="up" href="general.html" title="API"/>
Packit 423ecb
    <link rel="stylesheet" href="style.css" type="text/css"/>
Packit 423ecb
    <link rel="chapter" href="general.html" title="API"/>
Packit 423ecb
  </head>
Packit 423ecb
  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit 423ecb
    
Packit 423ecb
      
Packit 423ecb
        
Packit 423ecb
          
Packit 423ecb
            Prev
Packit 423ecb
          
Packit 423ecb
        
Packit 423ecb
        
Packit 423ecb
          
Packit 423ecb
            Up
Packit 423ecb
          
Packit 423ecb
        
Packit 423ecb
        
Packit 423ecb
          
Packit 423ecb
            Home
Packit 423ecb
          
Packit 423ecb
        
Packit 423ecb
        
Packit 423ecb
          
Packit 423ecb
            Next
Packit 423ecb
          
Packit 423ecb
        
Packit 423ecb
        libxml2 Reference Manual
Packit 423ecb
      
Packit 423ecb
    
Packit 423ecb
    

Packit 423ecb
      xmlmodule
Packit 423ecb
    
Packit 423ecb
    

xmlmodule - dynamic module loading

Packit 423ecb
    

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

Packit 423ecb
    

Author(s): Joel W. Reed

Packit 423ecb
    
Packit 423ecb
      

Synopsis

Packit 423ecb
      
typedef struct _xmlModule xmlModule;
Packit 423ecb
typedef xmlModule * xmlModulePtr;
Packit 423ecb
typedef enum xmlModuleOption;
Packit 423ecb
int	xmlModuleFree			(xmlModulePtr module);
Packit 423ecb
int	xmlModuleSymbol			(xmlModulePtr module, 
const char * name,
void ** symbol);
Packit 423ecb
xmlModulePtr	xmlModuleOpen		(const char * name, 
int options);
Packit 423ecb
int	xmlModuleClose			(xmlModulePtr module);
Packit 423ecb
Packit 423ecb
    
Packit 423ecb
    
Packit 423ecb
      

Description

Packit 423ecb
    
Packit 423ecb
    
Packit 423ecb
      

Details

Packit 423ecb
      
Packit 423ecb
        

Structure xmlModule

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

Packit 423ecb
Packit 423ecb
        
Packit 423ecb
        

Enum xmlModuleOption

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

Packit 423ecb
Packit 423ecb
        
Packit 423ecb
        

Typedef xmlModulePtr

xmlModule * xmlModulePtr;
Packit 423ecb

A handle to a dynamically loaded module

Packit 423ecb
Packit 423ecb
        
Packit 423ecb
        
Packit 423ecb

The close operations unload the associated module and free the data associated to the module.

Packit 423ecb
<tt>module</tt>:the module handle
<tt>Returns</tt>:0 in case of success, -1 in case of argument error and -2 if the module could not be closed/unloaded.
Packit 423ecb
        
Packit 423ecb
        
Packit 423ecb

The free operations free the data associated to the module but does not unload the associated shared library which may still be in use.

Packit 423ecb
<tt>module</tt>:the module handle
<tt>Returns</tt>:0 in case of success, -1 in case of argument error
Packit 423ecb
        
Packit 423ecb
        

xmlModuleOpen ()

xmlModulePtr	xmlModuleOpen		(const char * name, 
int options)
Packit 423ecb

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.

Packit 423ecb
<tt>name</tt>:the module name
<tt>options</tt>:a set of xmlModuleOption
<tt>Returns</tt>:a handle for the module or NULL in case of error
Packit 423ecb
        
Packit 423ecb
        

xmlModuleSymbol ()

int	xmlModuleSymbol			(xmlModulePtr module, 
const char * name,
void ** symbol)
Packit 423ecb

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 * .

Packit 423ecb
<tt>module</tt>:the module
<tt>name</tt>:the name of the symbol
<tt>symbol</tt>:the resulting symbol address
<tt>Returns</tt>:0 if the symbol was found, or -1 in case of error
Packit 423ecb
        
Packit 423ecb
      
Packit 423ecb
    
Packit 423ecb
  </body>
Packit 423ecb
</html>