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__ */ |
58 | |