xref: /aosp_15_r20/external/libxml2/include/libxml/xmlmodule.h (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker /*
2*7c568831SAndroid Build Coastguard Worker  * Summary: dynamic module loading
3*7c568831SAndroid Build Coastguard Worker  * Description: basic API for dynamic module loading, used by
4*7c568831SAndroid Build Coastguard Worker  *              libexslt added in 2.6.17
5*7c568831SAndroid Build Coastguard Worker  *
6*7c568831SAndroid Build Coastguard Worker  * Copy: See Copyright for the status of this software.
7*7c568831SAndroid Build Coastguard Worker  *
8*7c568831SAndroid Build Coastguard Worker  * Author: Joel W. Reed
9*7c568831SAndroid Build Coastguard Worker  */
10*7c568831SAndroid Build Coastguard Worker 
11*7c568831SAndroid Build Coastguard Worker #ifndef __XML_MODULE_H__
12*7c568831SAndroid Build Coastguard Worker #define __XML_MODULE_H__
13*7c568831SAndroid Build Coastguard Worker 
14*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlversion.h>
15*7c568831SAndroid Build Coastguard Worker 
16*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_MODULES_ENABLED
17*7c568831SAndroid Build Coastguard Worker 
18*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus
19*7c568831SAndroid Build Coastguard Worker extern "C" {
20*7c568831SAndroid Build Coastguard Worker #endif
21*7c568831SAndroid Build Coastguard Worker 
22*7c568831SAndroid Build Coastguard Worker /**
23*7c568831SAndroid Build Coastguard Worker  * xmlModulePtr:
24*7c568831SAndroid Build Coastguard Worker  *
25*7c568831SAndroid Build Coastguard Worker  * A handle to a dynamically loaded module
26*7c568831SAndroid Build Coastguard Worker  */
27*7c568831SAndroid Build Coastguard Worker typedef struct _xmlModule xmlModule;
28*7c568831SAndroid Build Coastguard Worker typedef xmlModule *xmlModulePtr;
29*7c568831SAndroid Build Coastguard Worker 
30*7c568831SAndroid Build Coastguard Worker /**
31*7c568831SAndroid Build Coastguard Worker  * xmlModuleOption:
32*7c568831SAndroid Build Coastguard Worker  *
33*7c568831SAndroid Build Coastguard Worker  * enumeration of options that can be passed down to xmlModuleOpen()
34*7c568831SAndroid Build Coastguard Worker  */
35*7c568831SAndroid Build Coastguard Worker typedef enum {
36*7c568831SAndroid Build Coastguard Worker     XML_MODULE_LAZY = 1,	/* lazy binding */
37*7c568831SAndroid Build Coastguard Worker     XML_MODULE_LOCAL= 2		/* local binding */
38*7c568831SAndroid Build Coastguard Worker } xmlModuleOption;
39*7c568831SAndroid Build Coastguard Worker 
40*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
41*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlModulePtr xmlModuleOpen	(const char *filename,
42*7c568831SAndroid Build Coastguard Worker 						 int options);
43*7c568831SAndroid Build Coastguard Worker 
44*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
45*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int xmlModuleSymbol		(xmlModulePtr module,
46*7c568831SAndroid Build Coastguard Worker 						 const char* name,
47*7c568831SAndroid Build Coastguard Worker 						 void **result);
48*7c568831SAndroid Build Coastguard Worker 
49*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
50*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int xmlModuleClose		(xmlModulePtr module);
51*7c568831SAndroid Build Coastguard Worker 
52*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
53*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int xmlModuleFree		(xmlModulePtr module);
54*7c568831SAndroid Build Coastguard Worker 
55*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus
56*7c568831SAndroid Build Coastguard Worker }
57*7c568831SAndroid Build Coastguard Worker #endif
58*7c568831SAndroid Build Coastguard Worker 
59*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_MODULES_ENABLED */
60*7c568831SAndroid Build Coastguard Worker 
61*7c568831SAndroid Build Coastguard Worker #endif /*__XML_MODULE_H__ */
62