Imported Upstream version 0.19.7
[platform/upstream/gettext.git] / gettext-tools / gnulib-lib / libxml / xmlmodule.in.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 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__ */