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 XMLCALL xmlModuleOpen (const char *filename,
41: int options);
42:
43: XMLPUBFUN int XMLCALL xmlModuleSymbol (xmlModulePtr module,
44: const char* name,
45: void **result);
46:
47: XMLPUBFUN int XMLCALL xmlModuleClose (xmlModulePtr module);
48:
49: XMLPUBFUN int XMLCALL xmlModuleFree (xmlModulePtr module);
50:
51: #ifdef __cplusplus
52: }
53: #endif
54:
55: #endif /* LIBXML_MODULES_ENABLED */
56:
57: #endif /*__XML_MODULE_H__ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>