Cleanup the mess a bit


git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@3325 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/include/iprtrmib.h b/mingw-w64-headers/include/iprtrmib.h
index 3d21bef..0f917bf 100644
--- a/mingw-w64-headers/include/iprtrmib.h
+++ b/mingw-w64-headers/include/iprtrmib.h
@@ -690,7 +690,22 @@
 #ifdef __cplusplus
   MIB_IPFORWARDROW ForwardRow;
 #else
-  MIB_IPFORWARDROW;
+  __MINGW_EXTENSION union {
+    DWORD dwForwardDest;
+    DWORD dwForwardMask;
+    DWORD dwForwardPolicy;
+    DWORD dwForwardNextHop;
+    DWORD dwForwardIfIndex;
+    DWORD dwForwardType;
+    DWORD dwForwardProto;
+    DWORD dwForwardAge;
+    DWORD dwForwardNextHopAS;
+    DWORD dwForwardMetric1;
+    DWORD dwForwardMetric2;
+    DWORD dwForwardMetric3;
+    DWORD dwForwardMetric4;
+    DWORD dwForwardMetric5;
+  }; /* see MIB_IPFORWARDROW */
 #endif
   DWORD dwForwardPreference;
   DWORD dwForwardViewSet;
diff --git a/mingw-w64-headers/include/mprapi.h b/mingw-w64-headers/include/mprapi.h
index 49ac3fd..8767c4a 100644
--- a/mingw-w64-headers/include/mprapi.h
+++ b/mingw-w64-headers/include/mprapi.h
@@ -8,6 +8,7 @@
 
 #include <lmcons.h>
 #include <ras.h>
+#include <wincrypt.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -699,14 +700,14 @@
 DWORD CALLBACK MprAdminGetIpv6AddressForUser(
   WCHAR *lpwszUserName,
   WCHAR *lpwszPortName,
-  in6_addr *lpdwIpv6Address,
+  struct in6_addr *lpdwIpv6Address,
   WINBOOL *bNotifyRelease
 );
 
 DWORD CALLBACK MprAdminReleaseIpv6AddressForUser(
   WCHAR *lpwszUserName,
   WCHAR *lpwszPortName,
-  in6_addr *lpdwIpv6Address
+  struct in6_addr *lpdwIpv6Address
 );
 
 DWORD WINAPI MprConfigFilterGetInfo(
@@ -789,7 +790,7 @@
   DWORD   dwCcpOptions;
   DWORD   dwRemoteCompressionAlgorithm;
   DWORD   dwCcpRemoteOptions;
-} PPP_PROJECTION_INFO, *PPP_PROJECTION_INFO;
+} PPP_PROJECTION_INFO, *PPPP_PROJECTION_INFO;
 
 typedef struct _IKEV2_PROJECTION_INFO {
   DWORD   dwIPv4NegotiationError;
@@ -817,6 +818,9 @@
   } DUMMYUNIONNAME;
 } PROJECTION_INFO, *PPROJECTION_INFO;
 
+/* TODO: Fixme: This constant needs verification */
+#define MAXIPADRESSLEN (4*4) /* Format a.b.c.d */
+
 typedef struct _RAS_CONNECTION_EX {
   MPRAPI_OBJECT_HEADER  Header;
   DWORD                 dwConnectDuration;
@@ -883,12 +887,12 @@
 typedef struct _L2TP_CONFIG_PARAMS {
   DWORD dwNumPorts;
   DWORD dwPortFlags;
-} L2TP_CONFIG_PARAMS, *L2TP_CONFIG_PARAMS;
+} L2TP_CONFIG_PARAMS, *PL2TP_CONFIG_PARAMS;
 
 typedef struct _SSTP_CERT_INFO {
   BOOL            isDefault;
   CRYPT_HASH_BLOB certBlob;
-} SSTP_CERT_INFO, *SSTP_CERT_INFO;
+} SSTP_CERT_INFO, *PSSTP_CERT_INFO;
 
 typedef struct _SSTP_CONFIG_PARAMS {
   DWORD          dwNumPorts;
@@ -896,7 +900,7 @@
   BOOL           isUseHttps;
   DWORD          certAlgorithm;
   SSTP_CERT_INFO sstpCertDetails;
-} SSTP_CONFIG_PARAMS, *SSTP_CONFIG_PARAMS;
+} SSTP_CONFIG_PARAMS, *PSSTP_CONFIG_PARAMS;
 
 typedef struct _MPRAPI_TUNNEL_CONFIG_PARAMS {
   IKEV2_CONFIG_PARAMS IkeConfigParams;
@@ -911,15 +915,8 @@
   MPRAPI_TUNNEL_CONFIG_PARAMS ConfigParams;
 } MPR_SERVER_SET_CONFIG_EX, *PMPR_SERVER_SET_CONFIG_EX;
 
-DWORD APIENTRY MprConfigServerConnect(
-  LPWSTR lpwsServerName,
-  HANDLE *phMprConfig
-);
-
-DWORD APIENTRY MprConfigServerSetInfo(
-  HANDLE hMprConfig,
-  MPR_SERVER_SET_CONFIG_EX *pSetServerConfig
-);
+DWORD APIENTRY MprConfigServerConnectEx(LPWSTR lpwsServerName,HANDLE *phMprConfig);
+DWORD APIENTRY MprConfigServerSetInfoEx(HANDLE hMprConfig,MPR_SERVER_SET_CONFIG_EX *pSetServerConfig);
 
 #endif /*(_WIN32_WINNT >= 0x0601)*/
 
diff --git a/mingw-w64-headers/include/naptypes.h b/mingw-w64-headers/include/naptypes.h
index 961bf54..f077527 100644
--- a/mingw-w64-headers/include/naptypes.h
+++ b/mingw-w64-headers/include/naptypes.h
@@ -22,18 +22,21 @@
 #define maxStringLength               0x400
 #define maxStringLengthInBytes        ((maxStringLength + 1) * sizeof(WCHAR))
 #define maxSystemHealthEntityCount    0x14
-#define SystemHealthEntityCount       0x14 /*[range(0, maxSystemHealthEntityCount)]*/
 #define maxEnforcerCount              0x14
-#define EnforcementEntityCount        0x14 /*[range(0, maxEnforcerCount)]*/
 #define maxPrivateDataSize            0xC8
 #define maxConnectionCountPerEnforcer 0x14
 #define maxCachedSoHCount             (maxSystemHealthEntityCount * maxEnforcerCount * maxConnectionCountPerEnforcer)
 #define freshSoHRequest               0x1
 #define shaFixup                      0x1
-#define failureCategoryCount          0x5
+#define failureCategoryCount 5
 #define ComponentTypeEnforcementClientSoH 0x1
 #define ComponentTypeEnforcementClientRp  0x2
 
+  typedef struct tagCountedString {
+    UINT16 length;
+    WCHAR *string;
+  } CountedString;
+
 #ifndef NAPTypes
 #define NAPTypes
   typedef FILETIME ProbationTime;
@@ -104,11 +107,6 @@
     BYTE * value;
   } SoHAttribute;
 
-  typedef struct tagCountedString {
-    UINT16 length;
-    WCHAR *string;
-  } CountedString;
-
   typedef struct tagIpv4Address {
     BYTE addr[4];
   } Ipv4Address;
@@ -129,8 +127,6 @@
     MessageId   fixupMsgId;
   } FixupInfo;
 
-#define failureCategoryCount 5
-
   typedef struct tagFailureCategoryMapping {
     WINBOOL mappingCompliance[failureCategoryCount];
   } FailureCategoryMapping;
diff --git a/mingw-w64-headers/include/netioapi.h b/mingw-w64-headers/include/netioapi.h
index 58a5cbe..422135a 100644
--- a/mingw-w64-headers/include/netioapi.h
+++ b/mingw-w64-headers/include/netioapi.h
@@ -6,8 +6,16 @@
 #ifndef _INC_NETIOAPI
 #define _INC_NETIOAPI
 
+#include <winsock2.h>
 #include <iprtrmib.h>
 #include <ifdef.h>
+#include <ws2tcpip.h>
+#include <ws2ipdef.h>
+#include <ntddndis.h>
+
+#ifndef ANY_SIZE
+#define ANY_SIZE 1
+#endif
 
 #if (_WIN32_WINNT >= 0x0600)
 
@@ -46,6 +54,11 @@
   MIB_ANYCASTIPADDRESS_ROW Table[ANY_SIZE];
 } MIB_ANYCASTIPADDRESS_TABLE, *PMIB_ANYCASTIPADDRESS_TABLE;
 
+typedef struct _IP_ADDRESS_PREFIX {
+  SOCKADDR_INET Prefix;
+  UINT8         PrefixLength;
+} IP_ADDRESS_PREFIX, *PIP_ADDRESS_PREFIX;
+
 typedef struct _MIB_IPFORWARD_ROW2 {
   NET_LUID          InterfaceLuid;
   NET_IFINDEX       InterfaceIndex;
@@ -94,10 +107,9 @@
   MIB_IPFORWARD_ROW2 Table[ANY_SIZE];
 } MIB_IPFORWARD_TABLE2, *PMIB_IPFORWARD_TABLE2;
 
-typedef struct _IP_ADDRESS_PREFIX {
-  SOCKADDR_INET Prefix;
-  UINT8         PrefixLength;
-} IP_ADDRESS_PREFIX, *PIP_ADDRESS_PREFIX;
+#ifndef ScopeLevelCount
+#define ScopeLevelCount 16
+#endif
 
 typedef struct _MIB_IPINTERFACE_ROW {
   ADDRESS_FAMILY                 Family;
@@ -464,10 +476,10 @@
   PMIB_IFSTACK_TABLE *Table
 );
 
-NETIOAPI_API GetIfTable2Ex(
-  MIB_IF_TABLE_LEVEL Level,
-  PMIB_IF_TABLE2 *Table
-);
+/* TODO: Fixme.
+  MIB_IF_TABLE_LEVEL is unknown type
+  NETIOAPI_API GetIfTable2Ex(MIB_IF_TABLE_LEVEL Level,PMIB_IF_TABLE2 *Table);
+*/
 
 NETIOAPI_API  GetInvertedIfStackTable(
   PMIB_INVERTEDIFSTACK_TABLE *Table
diff --git a/mingw-w64-headers/include/ras.h b/mingw-w64-headers/include/ras.h
index c53f8b5..88d4d69 100644
--- a/mingw-w64-headers/include/ras.h
+++ b/mingw-w64-headers/include/ras.h
@@ -7,6 +7,8 @@
 #define _RAS_H_
 
 #include <_mingw_unicode.h>
+#include <inaddr.h>
+#include <in6addr.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/mingw-w64-headers/include/udpmib.h b/mingw-w64-headers/include/udpmib.h
index de8d2d5..6213abd 100644
--- a/mingw-w64-headers/include/udpmib.h
+++ b/mingw-w64-headers/include/udpmib.h
@@ -17,6 +17,10 @@
   DWORD    dwLocalPort;
 } MIB_UDP6ROW, *PMIB_UDP6ROW;
 
+#ifndef ANY_SIZE
+#define ANY_SIZE 1
+#endif
+
 typedef struct _MIB_UDP6TABLE {
   DWORD       dwNumEntries;
   MIB_UDP6ROW table[ANY_SIZE];
diff --git a/mingw-w64-headers/include/winbase.h b/mingw-w64-headers/include/winbase.h
index 88223ac..68f7b84 100644
--- a/mingw-w64-headers/include/winbase.h
+++ b/mingw-w64-headers/include/winbase.h
@@ -2834,6 +2834,14 @@
 typedef struct _TP_WORK *PTP_WORK;
 typedef struct _TP_POOL *PTP_POOL;
 
+#ifndef _PTP_CLEANUP_GROUP_CANCEL_CALLBACK_DEFINED
+#define _PTP_CLEANUP_GROUP_CANCEL_CALLBACK_DEFINED
+  typedef VOID (CALLBACK *PTP_CLEANUP_GROUP_CANCEL_CALLBACK)(
+    PVOID ObjectContext,
+    PVOID CleanupContext
+  );
+#endif
+
 typedef DWORD TP_WAIT_RESULT;
 
 typedef VOID (CALLBACK *PTP_WAIT_CALLBACK)(PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_WAIT Wait, TP_WAIT_RESULT WaitResult);
diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h
index 6265197..16bdf15 100644
--- a/mingw-w64-headers/include/winnt.h
+++ b/mingw-w64-headers/include/winnt.h
@@ -6394,10 +6394,13 @@
     ULONG UiAccess;
   } ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION, *PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION;
 
+#ifndef _PTP_CLEANUP_GROUP_CANCEL_CALLBACK_DEFINED
+#define _PTP_CLEANUP_GROUP_CANCEL_CALLBACK_DEFINED
   typedef VOID (CALLBACK *PTP_CLEANUP_GROUP_CANCEL_CALLBACK)(
     PVOID ObjectContext,
     PVOID CleanupContext
   );
+#endif
 
 DEFINE_GUID(NO_SUBGROUP_GUID,0xfea3413e,0x7e05,0x4911,0x9a,0x71,0x70,0x03,0x31,0xf1,0xc2,0x94);
 DEFINE_GUID(GUID_DISK_SUBGROUP,0x0012ee47,0x9041,0x4b5d,0x9b,0x77,0x53,0x5f,0xba,0x8b,0x14,0x42);
diff --git a/mingw-w64-headers/include/ws2ipdef.h b/mingw-w64-headers/include/ws2ipdef.h
index 9a784ca..c892b4d 100644
--- a/mingw-w64-headers/include/ws2ipdef.h
+++ b/mingw-w64-headers/include/ws2ipdef.h
@@ -15,7 +15,7 @@
   MCAST_EXCLUDE
 } MULTICAST_MODE_TYPE;
 
-typedef struct {
+typedef struct _SCOPE_ID {
   __MINGW_EXTENSION union {
     __MINGW_EXTENSION struct {
 	ULONG	Zone : 28;