Paul Cercueil / libxml2

Dependents:   libiio

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers xmlmodule.h Source File

xmlmodule.h

00001 /*
00002  * Summary: dynamic module loading
00003  * Description: basic API for dynamic module loading, used by
00004  *              libexslt added in 2.6.17
00005  *
00006  * Copy: See Copyright for the status of this software.
00007  *
00008  * Author: Joel W. Reed
00009  */
00010 
00011 #ifndef __XML_MODULE_H__
00012 #define __XML_MODULE_H__
00013 
00014 #include <libxml/xmlversion.h>
00015 
00016 #ifdef LIBXML_MODULES_ENABLED
00017 
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021 
00022 /**
00023  * xmlModulePtr:
00024  *
00025  * A handle to a dynamically loaded module
00026  */
00027 typedef struct _xmlModule xmlModule;
00028 typedef xmlModule *xmlModulePtr;
00029 
00030 /**
00031  * xmlModuleOption:
00032  *
00033  * enumeration of options that can be passed down to xmlModuleOpen()
00034  */
00035 typedef enum {
00036     XML_MODULE_LAZY = 1,    /* lazy binding */
00037     XML_MODULE_LOCAL= 2     /* local binding */
00038 } xmlModuleOption;
00039 
00040 XMLPUBFUN xmlModulePtr XMLCALL xmlModuleOpen    (const char *filename,
00041                          int options);
00042 
00043 XMLPUBFUN int XMLCALL xmlModuleSymbol       (xmlModulePtr module,
00044                          const char* name,
00045                          void **result);
00046 
00047 XMLPUBFUN int XMLCALL xmlModuleClose        (xmlModulePtr module);
00048 
00049 XMLPUBFUN int XMLCALL xmlModuleFree     (xmlModulePtr module);
00050 
00051 #ifdef __cplusplus
00052 }
00053 #endif
00054 
00055 #endif /* LIBXML_MODULES_ENABLED */
00056 
00057 #endif /*__XML_MODULE_H__ */
00058