Hallski complained it could not be included by itself. Daniel

* include/libxml/xmlIO.h: Hallski complained it could not be
  included by itself.
Daniel
diff --git a/include/libxml/xmlIO.h b/include/libxml/xmlIO.h
index ee47b8a..a633c5c 100644
--- a/include/libxml/xmlIO.h
+++ b/include/libxml/xmlIO.h
@@ -17,9 +17,6 @@
 #else
 #include <libxml/xmlversion.h>
 #endif
-#include <libxml/tree.h>
-#include <libxml/parser.h>
-#include <libxml/encoding.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -70,18 +67,6 @@
  */
 typedef int (*xmlInputCloseCallback) (void * context);
 
-struct _xmlParserInputBuffer {
-    void*                  context;
-    xmlInputReadCallback   readcallback;
-    xmlInputCloseCallback  closecallback;
-    
-    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
-    
-    xmlBufferPtr buffer;    /* Local buffer encoded in UTF-8 */
-    xmlBufferPtr raw;       /* if encoder != NULL buffer for raw input */
-};
-
-
 /*
  * Those are the functions and datatypes for the library output
  * I/O structures.
@@ -128,6 +113,30 @@
  */
 typedef int (*xmlOutputCloseCallback) (void * context);
 
+#ifdef __cplusplus
+}
+#endif
+
+#include <libxml/globals.h>
+#include <libxml/tree.h>
+#include <libxml/parser.h>
+#include <libxml/encoding.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+struct _xmlParserInputBuffer {
+    void*                  context;
+    xmlInputReadCallback   readcallback;
+    xmlInputCloseCallback  closecallback;
+    
+    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
+    
+    xmlBufferPtr buffer;    /* Local buffer encoded in UTF-8 */
+    xmlBufferPtr raw;       /* if encoder != NULL buffer for raw input */
+};
+
+
 struct _xmlOutputBuffer {
     void*                   context;
     xmlOutputWriteCallback  writecallback;