added calling convention to the public function prototypes
diff --git a/include/libxml/xmlmemory.h b/include/libxml/xmlmemory.h
index 130036c..0e6a767 100644
--- a/include/libxml/xmlmemory.h
+++ b/include/libxml/xmlmemory.h
@@ -54,7 +54,7 @@
  *
  * Signature for a free() implementation.
  */
-typedef void (*xmlFreeFunc)(void *mem);
+typedef void (XMLCALL *xmlFreeFunc)(void *mem);
 /**
  * xmlMallocFunc:
  * @size:  the size requested in bytes
@@ -63,7 +63,7 @@
  *
  * Returns a pointer to the newly allocated block or NULL in case of error.
  */
-typedef void *(*xmlMallocFunc)(size_t size);
+typedef void *(XMLCALL *xmlMallocFunc)(size_t size);
 
 /**
  * xmlReallocFunc:
@@ -74,7 +74,7 @@
  *
  * Returns a pointer to the newly reallocated block or NULL in case of error.
  */
-typedef void *(*xmlReallocFunc)(void *mem, size_t size);
+typedef void *(XMLCALL *xmlReallocFunc)(void *mem, size_t size);
 
 /**
  * xmlStrdupFunc:
@@ -84,7 +84,7 @@
  *
  * Returns the copy of the string or NULL in case of error.
  */
-typedef char *(*xmlStrdupFunc)(const char *str);
+typedef char *(XMLCALL *xmlStrdupFunc)(const char *str);
 
 /*
  * The 4 interfaces used for all memory handling within libxml.
diff --git a/include/libxml/xmlreader.h b/include/libxml/xmlreader.h
index 76499b8..4e45201 100644
--- a/include/libxml/xmlreader.h
+++ b/include/libxml/xmlreader.h
@@ -291,7 +291,7 @@
  * Error handling extensions
  */
 typedef void *  xmlTextReaderLocatorPtr;
-typedef void   (*xmlTextReaderErrorFunc)        (void *arg, 
+typedef void   (XMLCALL *xmlTextReaderErrorFunc)        (void *arg, 
 						 const char *msg,
 						 xmlParserSeverities severity,
 						 xmlTextReaderLocatorPtr locator);