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 XML_DEPRECATED 41 XMLPUBFUN xmlModulePtr xmlModuleOpen (const char *filename, 42 int options); 43 44 XML_DEPRECATED 45 XMLPUBFUN int xmlModuleSymbol (xmlModulePtr module, 46 const char* name, 47 void **result); 48 49 XML_DEPRECATED 50 XMLPUBFUN int xmlModuleClose (xmlModulePtr module); 51 52 XML_DEPRECATED 53 XMLPUBFUN int xmlModuleFree (xmlModulePtr module); 54 55 #ifdef __cplusplus 56 } 57 #endif 58 59 #endif /* LIBXML_MODULES_ENABLED */ 60 61 #endif /*__XML_MODULE_H__ */ 62