(root)/
libxml2-2.12.3/
include/
libxml/
xmlmodule.h
       1  /*
       2   * Summary: dynamic module loading
       3   * Description: basic API for dynamic module loading, used by
       4   *              libexslt added in 2.6.17
       5   *
       6   * Copy: See Copyright for the status of this software.
       7   *
       8   * Author: Joel W. Reed
       9   */
      10  
      11  #ifndef __XML_MODULE_H__
      12  #define __XML_MODULE_H__
      13  
      14  #include <libxml/xmlversion.h>
      15  
      16  #ifdef LIBXML_MODULES_ENABLED
      17  
      18  #ifdef __cplusplus
      19  extern "C" {
      20  #endif
      21  
      22  /**
      23   * xmlModulePtr:
      24   *
      25   * A handle to a dynamically loaded module
      26   */
      27  typedef struct _xmlModule xmlModule;
      28  typedef xmlModule *xmlModulePtr;
      29  
      30  /**
      31   * xmlModuleOption:
      32   *
      33   * enumeration of options that can be passed down to xmlModuleOpen()
      34   */
      35  typedef enum {
      36      XML_MODULE_LAZY = 1,	/* lazy binding */
      37      XML_MODULE_LOCAL= 2		/* local binding */
      38  } xmlModuleOption;
      39  
      40  XMLPUBFUN xmlModulePtr xmlModuleOpen	(const char *filename,
      41  						 int options);
      42  
      43  XMLPUBFUN int xmlModuleSymbol		(xmlModulePtr module,
      44  						 const char* name,
      45  						 void **result);
      46  
      47  XMLPUBFUN int xmlModuleClose		(xmlModulePtr module);
      48  
      49  XMLPUBFUN int xmlModuleFree		(xmlModulePtr module);
      50  
      51  #ifdef __cplusplus
      52  }
      53  #endif
      54  
      55  #endif /* LIBXML_MODULES_ENABLED */
      56  
      57  #endif /*__XML_MODULE_H__ */