Exportability taint of the headers
diff --git a/include/libxml/xpath.h b/include/libxml/xpath.h
index 6a1f76c..d53e2eb 100644
--- a/include/libxml/xpath.h
+++ b/include/libxml/xpath.h
@@ -12,6 +12,7 @@
#ifndef __XML_XPATH_H__
#define __XML_XPATH_H__
+#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/hash.h>
@@ -306,12 +307,12 @@
* Objects and Nodesets handling
*/
-LIBXML_DLL_IMPORT extern double xmlXPathNAN;
-LIBXML_DLL_IMPORT extern double xmlXPathPINF;
-LIBXML_DLL_IMPORT extern double xmlXPathNINF;
+XMLPUBVAR double xmlXPathNAN;
+XMLPUBVAR double xmlXPathPINF;
+XMLPUBVAR double xmlXPathNINF;
-int xmlXPathIsNaN (double val);
-int xmlXPathIsInf (double val);
+XMLPUBFUN int XMLCALL xmlXPathIsNaN (double val);
+XMLPUBFUN int XMLCALL xmlXPathIsInf (double val);
/* These macros may later turn into functions */
/**
@@ -350,61 +351,61 @@
(((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL))
-void xmlXPathFreeObject (xmlXPathObjectPtr obj);
-xmlNodeSetPtr xmlXPathNodeSetCreate (xmlNodePtr val);
-void xmlXPathFreeNodeSetList (xmlXPathObjectPtr obj);
-void xmlXPathFreeNodeSet (xmlNodeSetPtr obj);
-xmlXPathObjectPtr xmlXPathObjectCopy (xmlXPathObjectPtr val);
-int xmlXPathCmpNodes (xmlNodePtr node1,
+XMLPUBFUN void XMLCALL xmlXPathFreeObject (xmlXPathObjectPtr obj);
+XMLPUBFUN xmlNodeSetPtr XMLCALL xmlXPathNodeSetCreate (xmlNodePtr val);
+XMLPUBFUN void XMLCALL xmlXPathFreeNodeSetList (xmlXPathObjectPtr obj);
+XMLPUBFUN void XMLCALL xmlXPathFreeNodeSet (xmlNodeSetPtr obj);
+XMLPUBFUN xmlXPathObjectPtr XMLCALL xmlXPathObjectCopy (xmlXPathObjectPtr val);
+XMLPUBFUN int XMLCALL xmlXPathCmpNodes (xmlNodePtr node1,
xmlNodePtr node2);
/**
* Conversion functions to basic types.
*/
-int xmlXPathCastNumberToBoolean (double val);
-int xmlXPathCastStringToBoolean (const xmlChar * val);
-int xmlXPathCastNodeSetToBoolean (xmlNodeSetPtr ns);
-int xmlXPathCastToBoolean (xmlXPathObjectPtr val);
+XMLPUBFUN int XMLCALL xmlXPathCastNumberToBoolean (double val);
+XMLPUBFUN int XMLCALL xmlXPathCastStringToBoolean (const xmlChar * val);
+XMLPUBFUN int XMLCALL xmlXPathCastNodeSetToBoolean (xmlNodeSetPtr ns);
+XMLPUBFUN int XMLCALL xmlXPathCastToBoolean (xmlXPathObjectPtr val);
-double xmlXPathCastBooleanToNumber (int val);
-double xmlXPathCastStringToNumber (const xmlChar * val);
-double xmlXPathCastNodeToNumber (xmlNodePtr node);
-double xmlXPathCastNodeSetToNumber (xmlNodeSetPtr ns);
-double xmlXPathCastToNumber (xmlXPathObjectPtr val);
+XMLPUBFUN double XMLCALL xmlXPathCastBooleanToNumber (int val);
+XMLPUBFUN double XMLCALL xmlXPathCastStringToNumber (const xmlChar * val);
+XMLPUBFUN double XMLCALL xmlXPathCastNodeToNumber (xmlNodePtr node);
+XMLPUBFUN double XMLCALL xmlXPathCastNodeSetToNumber (xmlNodeSetPtr ns);
+XMLPUBFUN double XMLCALL xmlXPathCastToNumber (xmlXPathObjectPtr val);
-xmlChar * xmlXPathCastBooleanToString (int val);
-xmlChar * xmlXPathCastNumberToString (double val);
-xmlChar * xmlXPathCastNodeToString (xmlNodePtr node);
-xmlChar * xmlXPathCastNodeSetToString (xmlNodeSetPtr ns);
-xmlChar * xmlXPathCastToString (xmlXPathObjectPtr val);
+XMLPUBFUN xmlChar * XMLCALL xmlXPathCastBooleanToString (int val);
+XMLPUBFUN xmlChar * XMLCALL xmlXPathCastNumberToString (double val);
+XMLPUBFUN xmlChar * XMLCALL xmlXPathCastNodeToString (xmlNodePtr node);
+XMLPUBFUN xmlChar * XMLCALL xmlXPathCastNodeSetToString (xmlNodeSetPtr ns);
+XMLPUBFUN xmlChar * XMLCALL xmlXPathCastToString (xmlXPathObjectPtr val);
-xmlXPathObjectPtr xmlXPathConvertBoolean (xmlXPathObjectPtr val);
-xmlXPathObjectPtr xmlXPathConvertNumber (xmlXPathObjectPtr val);
-xmlXPathObjectPtr xmlXPathConvertString (xmlXPathObjectPtr val);
+XMLPUBFUN xmlXPathObjectPtr XMLCALL xmlXPathConvertBoolean (xmlXPathObjectPtr val);
+XMLPUBFUN xmlXPathObjectPtr XMLCALL xmlXPathConvertNumber (xmlXPathObjectPtr val);
+XMLPUBFUN xmlXPathObjectPtr XMLCALL xmlXPathConvertString (xmlXPathObjectPtr val);
/**
* Context handling.
*/
-void xmlXPathInit (void);
-xmlXPathContextPtr xmlXPathNewContext (xmlDocPtr doc);
-void xmlXPathFreeContext (xmlXPathContextPtr ctxt);
+XMLPUBFUN void XMLCALL xmlXPathInit (void);
+XMLPUBFUN xmlXPathContextPtr XMLCALL xmlXPathNewContext (xmlDocPtr doc);
+XMLPUBFUN void XMLCALL xmlXPathFreeContext (xmlXPathContextPtr ctxt);
/**
* Evaluation functions.
*/
-long xmlXPathOrderDocElems (xmlDocPtr doc);
-xmlXPathObjectPtr xmlXPathEval (const xmlChar *str,
+XMLPUBFUN long XMLCALL xmlXPathOrderDocElems (xmlDocPtr doc);
+XMLPUBFUN xmlXPathObjectPtr XMLCALL xmlXPathEval (const xmlChar *str,
xmlXPathContextPtr ctx);
-xmlXPathObjectPtr xmlXPathEvalExpression (const xmlChar *str,
+XMLPUBFUN xmlXPathObjectPtr XMLCALL xmlXPathEvalExpression (const xmlChar *str,
xmlXPathContextPtr ctxt);
-int xmlXPathEvalPredicate (xmlXPathContextPtr ctxt,
+XMLPUBFUN int XMLCALL xmlXPathEvalPredicate (xmlXPathContextPtr ctxt,
xmlXPathObjectPtr res);
/**
* Separate compilation/evaluation entry points.
*/
-xmlXPathCompExprPtr xmlXPathCompile (const xmlChar *str);
-xmlXPathObjectPtr xmlXPathCompiledEval (xmlXPathCompExprPtr comp,
+XMLPUBFUN xmlXPathCompExprPtr XMLCALL xmlXPathCompile (const xmlChar *str);
+XMLPUBFUN xmlXPathObjectPtr XMLCALL xmlXPathCompiledEval (xmlXPathCompExprPtr comp,
xmlXPathContextPtr ctx);
-void xmlXPathFreeCompExpr (xmlXPathCompExprPtr comp);
+XMLPUBFUN void XMLCALL xmlXPathFreeCompExpr (xmlXPathCompExprPtr comp);
#ifdef __cplusplus
}
#endif