xmlmodule.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. #ifndef __XML_MODULE_H__
  11. #define __XML_MODULE_H__
  12. #include <libxml/xmlversion.h>
  13. #ifdef LIBXML_MODULES_ENABLED
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. /**
  18. * xmlModulePtr:
  19. *
  20. * A handle to a dynamically loaded module
  21. */
  22. typedef struct _xmlModule xmlModule;
  23. typedef xmlModule *xmlModulePtr;
  24. /**
  25. * xmlModuleOption:
  26. *
  27. * enumeration of options that can be passed down to xmlModuleOpen()
  28. */
  29. typedef enum {
  30. XML_MODULE_LAZY = 1, /* lazy binding */
  31. XML_MODULE_LOCAL= 2 /* local binding */
  32. } xmlModuleOption;
  33. XMLPUBFUN xmlModulePtr XMLCALL xmlModuleOpen (const char *filename,
  34. int options);
  35. XMLPUBFUN int XMLCALL xmlModuleSymbol (xmlModulePtr module,
  36. const char* name,
  37. void **result);
  38. XMLPUBFUN int XMLCALL xmlModuleClose (xmlModulePtr module);
  39. XMLPUBFUN int XMLCALL xmlModuleFree (xmlModulePtr module);
  40. #ifdef __cplusplus
  41. }
  42. #endif
  43. #endif /* LIBXML_MODULES_ENABLED */
  44. #endif /*__XML_MODULE_H__ */