xref: /aosp_15_r20/external/libxml2/include/libxml/xmlmodule.h (revision 7c5688314b92172186c154356a6374bf7684c3ca)
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