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