Explicit disable c++ sections from c++ headers. Correct some typos and
add includes to solve dependencies.



git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@264 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/include/adsprop.h b/mingw-w64-headers/include/adsprop.h
index f83d2f6..8e30c17 100644
--- a/mingw-w64-headers/include/adsprop.h
+++ b/mingw-w64-headers/include/adsprop.h
@@ -6,6 +6,8 @@
 #ifndef _ADSPROP_H_
 #define _ADSPROP_H_
 
+#include <iads.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/mingw-w64-headers/include/clusapi.h b/mingw-w64-headers/include/clusapi.h
index f3fca15..3a71f6a 100644
--- a/mingw-w64-headers/include/clusapi.h
+++ b/mingw-w64-headers/include/clusapi.h
@@ -649,7 +649,7 @@
 #ifndef __cplusplus
     CLUSPROP_VALUE;
 #endif
-    BYTE rgb[];
+    BYTE rgb[1];
   } CLUSPROP_BINARY,*PCLUSPROP_BINARY;
 
   typedef struct CLUSPROP_WORD
@@ -693,7 +693,7 @@
 #ifndef __cplusplus
     CLUSPROP_VALUE;
 #endif
-    WCHAR sz[];
+    WCHAR sz[1];
   } CLUSPROP_SZ,*PCLUSPROP_SZ;
 
   typedef CLUSPROP_SZ CLUSPROP_MULTI_SZ,*PCLUSPROP_MULTI_SZ;
@@ -731,7 +731,7 @@
 #endif
     union {
       SECURITY_DESCRIPTOR_RELATIVE sd;
-      BYTE rgbSecurityDescriptor[];
+      BYTE rgbSecurityDescriptor[1];
     };
   } CLUSPROP_SECURITY_DESCRIPTOR,*PCLUSPROP_SECURITY_DESCRIPTOR;
 
diff --git a/mingw-w64-headers/include/dsclient.h b/mingw-w64-headers/include/dsclient.h
index 7cd534b..f01f426 100644
--- a/mingw-w64-headers/include/dsclient.h
+++ b/mingw-w64-headers/include/dsclient.h
@@ -6,6 +6,8 @@
 #ifndef __dsclient_h
 #define __dsclient_h
 
+#include <shlobj.h>
+
 DEFINE_GUID(CLSID_MicrosoftDS,0xfe1290f0,0xcfbd,0x11cf,0xa3,0x30,0x0,0xaa,0x0,0xc1,0x6e,0x65);
 #define CLSID_DsFolder CLSID_MicrosoftDS
 DEFINE_GUID(CLSID_DsPropertyPages,0xd45d530,0x764b,0x11d0,0xa1,0xca,0x0,0xaa,0x0,0xc1,0x6e,0x65);
diff --git a/mingw-w64-headers/include/hostinfo.h b/mingw-w64-headers/include/hostinfo.h
index ec1ebb8..e8a795f 100644
--- a/mingw-w64-headers/include/hostinfo.h
+++ b/mingw-w64-headers/include/hostinfo.h
@@ -12,6 +12,7 @@
   hostinfoLocale = 0,hostinfoCodePage = 1,hostinfoErrorLocale = 2
 };
 
+#ifdef __cplusplus
 class IHostInfoUpdate : public IUnknown {
 public:
   STDMETHOD(QueryInterface)(REFIID riid,void **ppvObj) = 0;
@@ -19,9 +20,11 @@
   STDMETHOD_(ULONG,Release)(void) = 0;
   STDMETHOD(UpdateInfo)(hostinfo hostinfoNew) = 0;
 };
+#endif /* __cplusplus */
 
 const GUID IID_IHostInfoProvider = { 0xf8418ae0,0x9a5d,0x11d0,{ 0xab,0xd4,0x0,0xa0,0xc9,0x11,0xe8,0xb2 } };
 
+#ifdef __cplusplus
 class IHostInfoProvider : public IUnknown {
 public:
   STDMETHOD(QueryInterface)(REFIID riid,void **ppvObj) = 0;
@@ -29,5 +32,6 @@
   STDMETHOD_(ULONG,Release)(void) = 0;
   STDMETHOD(GetHostInfo)(hostinfo hostinfoRequest,void **ppvInfo) = 0;
 };
+#endif /* __cplusplus */
 
 #endif
diff --git a/mingw-w64-headers/include/iads.h b/mingw-w64-headers/include/iads.h
index 08a54ee..73cc4d3 100644
--- a/mingw-w64-headers/include/iads.h
+++ b/mingw-w64-headers/include/iads.h
@@ -3,6 +3,10 @@
  * This file is part of the w64 mingw-runtime package.
  * No warranty is given; refer to the file DISCLAIMER within this package.
  */
+
+#ifndef _IADS_H_
+#define _IADS_H_
+
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
 #define __REQUIRED_RPCNDR_H_VERSION__ 475
 #endif
@@ -7065,3 +7069,5 @@
 }
 #endif
 #endif
+
+#endif /* _IADS_H_ */
\ No newline at end of file
diff --git a/mingw-w64-headers/include/lmaudit.h b/mingw-w64-headers/include/lmaudit.h
index e1d0a47..b286ccc 100644
--- a/mingw-w64-headers/include/lmaudit.h
+++ b/mingw-w64-headers/include/lmaudit.h
@@ -25,9 +25,9 @@
 #define LOGFLAGS_SEEK 0x2
 #endif
 
-  NET_API_STATUS WINAPI NetAuditClear(LPCWSTR server,LPCWSTR backupfile,LPCWSTR service);
-  NET_API_STATUS WINAPI NetAuditRead(LPCWSTR server,LPCWSTR service,LPHLOG auditloghandle,DWORD offset,LPDWORD reserved1,DWORD reserved2,DWORD offsetflag,LPBYTE *bufptr,DWORD prefmaxlen,LPDWORD bytesread,LPDWORD totalavailable);
-  NET_API_STATUS WINAPI NetAuditWrite(DWORD type,LPBYTE buf,DWORD numbytes,LPCWSTR service,LPBYTE reserved);
+  DWORD WINAPI NetAuditClear(LPCWSTR server,LPCWSTR backupfile,LPCWSTR service);
+  DWORD WINAPI NetAuditRead(LPCWSTR server,LPCWSTR service,LPHLOG auditloghandle,DWORD offset,LPDWORD reserved1,DWORD reserved2,DWORD offsetflag,LPBYTE *bufptr,DWORD prefmaxlen,LPDWORD bytesread,LPDWORD totalavailable);
+  DWORD WINAPI NetAuditWrite(DWORD type,LPBYTE buf,DWORD numbytes,LPCWSTR service,LPBYTE reserved);
 
   typedef struct _AUDIT_ENTRY {
     DWORD ae_len;
diff --git a/mingw-w64-headers/include/msclus.h b/mingw-w64-headers/include/msclus.h
index efa6bed..58e2eea 100644
--- a/mingw-w64-headers/include/msclus.h
+++ b/mingw-w64-headers/include/msclus.h
@@ -717,7 +717,7 @@
     CLUSPROP_SYNTAX_PARTITION_INFO = (DWORD)(CLUSPROP_TYPE_PARTITION_INFO << 16 | CLUSPROP_FORMAT_BINARY),
     CLUSPROP_SYNTAX_FTSET_INFO = (DWORD)(CLUSPROP_TYPE_FTSET_INFO << 16 | CLUSPROP_FORMAT_BINARY),
     CLUSPROP_SYNTAX_DISK_SERIALNUMBER = (DWORD)(CLUSPROP_TYPE_DISK_SERIALNUMBER << 16 | CLUSPROP_FORMAT_SZ)
-  };
+  } CLUSTER_PROPERTY_SYNTAX;
 
   typedef enum CLUSTER_CONTROL_OBJECT {
     CLUS_OBJECT_INVALID = 0,CLUS_OBJECT_RESOURCE = CLUS_OBJECT_INVALID + 1,CLUS_OBJECT_RESOURCE_TYPE = CLUS_OBJECT_RESOURCE + 1,
diff --git a/mingw-w64-headers/include/msptrmac.h b/mingw-w64-headers/include/msptrmac.h
index 8ee612c..04a83f0 100644
--- a/mingw-w64-headers/include/msptrmac.h
+++ b/mingw-w64-headers/include/msptrmac.h
@@ -3,6 +3,8 @@
 
 #define WAVEIN_NAME L"WaveIn Terminal"
 
+#ifdef __cplusplus
+
 class CAudioCaptureTerminal : public IDispatchImpl<ITBasicAudioTerminal,&IID_ITBasicAudioTerminal,&LIBID_TAPI3Lib>,public IDispatchImpl<ITStaticAudioTerminal,&IID_ITStaticAudioTerminal,&LIBID_TAPI3Lib>,public CSingleFilterStaticTerminal,public CMSPObjectSafetyImpl
 {
   BEGIN_COM_MAP(CAudioCaptureTerminal)
@@ -41,4 +43,6 @@
   return S_OK;
 }
 
+#endif /* __cplusplus */
+
 #endif
diff --git a/mingw-w64-headers/include/wmistr.h b/mingw-w64-headers/include/wmistr.h
index aaf0f8e..46cfacf 100644
--- a/mingw-w64-headers/include/wmistr.h
+++ b/mingw-w64-headers/include/wmistr.h
@@ -60,7 +60,7 @@
   ULONG OffsetInstanceNameOffsets;
   union {
     ULONG FixedInstanceSize;
-    OFFSETINSTANCEDATAANDLENGTH OffsetInstanceDataAndLength[];
+    OFFSETINSTANCEDATAANDLENGTH OffsetInstanceDataAndLength[1];
   };
 } WNODE_ALL_DATA,*PWNODE_ALL_DATA;
 
@@ -103,7 +103,7 @@
   ULONG TargetDataBlockSize;
   union {
     ULONG TargetInstanceIndex;
-    WCHAR TargetInstanceName[];
+    WCHAR TargetInstanceName[1];
   };
 } WNODE_EVENT_REFERENCE,*PWNODE_EVENT_REFERENCE;
 
diff --git a/mingw-w64-headers/include/xcmcext.h b/mingw-w64-headers/include/xcmcext.h
index 2c1f8d9..64da29a 100644
--- a/mingw-w64-headers/include/xcmcext.h
+++ b/mingw-w64-headers/include/xcmcext.h
@@ -6,6 +6,8 @@
 #ifndef _XCMCEXT_H
 #define _XCMCEXT_H
 
+#include <xcmc.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif