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 19extern "C" { 20#endif 21 22/** 23 * xmlModulePtr: 24 * 25 * A handle to a dynamically loaded module 26 */ 27typedef struct _xmlModule xmlModule; 28typedef xmlModule *xmlModulePtr; 29 30/** 31 * xmlModuleOption: 32 * 33 * enumeration of options that can be passed down to xmlModuleOpen() 34 */ 35typedef enum { 36 XML_MODULE_LAZY = 1, /* lazy binding */ 37 XML_MODULE_LOCAL= 2 /* local binding */ 38} xmlModuleOption; 39 40XMLPUBFUN xmlModulePtr XMLCALL xmlModuleOpen (const char *filename, 41 int options); 42 43XMLPUBFUN int XMLCALL xmlModuleSymbol (xmlModulePtr module, 44 const char* name, 45 void **result); 46 47XMLPUBFUN int XMLCALL xmlModuleClose (xmlModulePtr module); 48 49XMLPUBFUN int XMLCALL xmlModuleFree (xmlModulePtr module); 50 51#ifdef __cplusplus 52} 53#endif 54 55#endif /* LIBXML_MODULES_ENABLED */ 56 57#endif /*__XML_MODULE_H__ */ 58