diff --git a/mingw-w64-headers/include/iptypes.h b/mingw-w64-headers/include/iptypes.h
index 874e2a9..20fded3 100644
--- a/mingw-w64-headers/include/iptypes.h
+++ b/mingw-w64-headers/include/iptypes.h
@@ -221,16 +221,6 @@
 #define IP_ADAPTER_IPV6_ENABLED 0x100
 #define IP_ADAPTER_IPV6_MANAGE_ADDRESS_CONFIG 0x200
 
-  typedef enum {
-    ScopeLevelInterface = 1,
-    ScopeLevelLink      = 2,
-    ScopeLevelSubnet    = 3,
-    ScopeLevelAdmin     = 4,
-    ScopeLevelSite      = 5,
-    ScopeLevelOrganization = 8,
-    ScopeLevelGlobal   = 14
-  } SCOPE_LEVEL;
-
   typedef struct _IP_ADAPTER_ADDRESSES_LH {
     __MINGW_EXTENSION union {
       ULONGLONG   Alignment;
diff --git a/mingw-w64-headers/include/mprapi.h b/mingw-w64-headers/include/mprapi.h
index 8767c4a..be712c2 100644
--- a/mingw-w64-headers/include/mprapi.h
+++ b/mingw-w64-headers/include/mprapi.h
@@ -8,7 +8,6 @@
 
 #include <lmcons.h>
 #include <ras.h>
-#include <wincrypt.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -338,6 +337,7 @@
 #define IPADDRESSLEN 15
 #define IPXADDRESSLEN 22
 #define ATADDRESSLEN 32
+#define MAXIPADRESSLEN 64
 
   typedef struct _PPP_NBFCP_INFO {
     DWORD dwError;
@@ -700,14 +700,14 @@
 DWORD CALLBACK MprAdminGetIpv6AddressForUser(
   WCHAR *lpwszUserName,
   WCHAR *lpwszPortName,
-  struct in6_addr *lpdwIpv6Address,
+  IN6_ADDR *lpdwIpv6Address,
   WINBOOL *bNotifyRelease
 );
 
 DWORD CALLBACK MprAdminReleaseIpv6AddressForUser(
   WCHAR *lpwszUserName,
   WCHAR *lpwszPortName,
-  struct in6_addr *lpdwIpv6Address
+  IN6_ADDR *lpdwIpv6Address
 );
 
 DWORD WINAPI MprConfigFilterGetInfo(
@@ -818,9 +818,6 @@
   } 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;
diff --git a/mingw-w64-headers/include/napenforcementclient.h b/mingw-w64-headers/include/napenforcementclient.h
index 4c0f893..38c8c2b 100644
--- a/mingw-w64-headers/include/napenforcementclient.h
+++ b/mingw-w64-headers/include/napenforcementclient.h
@@ -20,6 +20,10 @@
 
 #ifndef NAPTypes
 #define NAPTypes
+  typedef struct tagCountedString {
+    UINT16 length;
+    WCHAR *string;
+  } CountedString;
   typedef FILETIME ProbationTime;
   typedef UINT32 ProtocolMaxSize;
   typedef UINT32 NapComponentId;
diff --git a/mingw-w64-headers/include/naptypes.h b/mingw-w64-headers/include/naptypes.h
index f077527..0e9082f 100644
--- a/mingw-w64-headers/include/naptypes.h
+++ b/mingw-w64-headers/include/naptypes.h
@@ -28,17 +28,16 @@
 #define maxCachedSoHCount             (maxSystemHealthEntityCount * maxEnforcerCount * maxConnectionCountPerEnforcer)
 #define freshSoHRequest               0x1
 #define shaFixup                      0x1
-#define failureCategoryCount 5
+#define failureCategoryCount          0x5
 #define ComponentTypeEnforcementClientSoH 0x1
 #define ComponentTypeEnforcementClientRp  0x2
 
+#ifndef NAPTypes
+#define NAPTypes
   typedef struct tagCountedString {
     UINT16 length;
     WCHAR *string;
   } CountedString;
-
-#ifndef NAPTypes
-#define NAPTypes
   typedef FILETIME ProbationTime;
   typedef UINT32 ProtocolMaxSize;
   typedef UINT32 NapComponentId;
diff --git a/mingw-w64-headers/include/netioapi.h b/mingw-w64-headers/include/netioapi.h
index 422135a..c1ab8d6 100644
--- a/mingw-w64-headers/include/netioapi.h
+++ b/mingw-w64-headers/include/netioapi.h
@@ -6,12 +6,9 @@
 #ifndef _INC_NETIOAPI
 #define _INC_NETIOAPI
 
-#include <winsock2.h>
+#include <ws2def.h>
 #include <iprtrmib.h>
 #include <ifdef.h>
-#include <ws2tcpip.h>
-#include <ws2ipdef.h>
-#include <ntddndis.h>
 
 #ifndef ANY_SIZE
 #define ANY_SIZE 1
@@ -107,10 +104,6 @@
   MIB_IPFORWARD_ROW2 Table[ANY_SIZE];
 } MIB_IPFORWARD_TABLE2, *PMIB_IPFORWARD_TABLE2;
 
-#ifndef ScopeLevelCount
-#define ScopeLevelCount 16
-#endif
-
 typedef struct _MIB_IPINTERFACE_ROW {
   ADDRESS_FAMILY                 Family;
   NET_LUID                       InterfaceLuid;
@@ -476,10 +469,15 @@
   PMIB_IFSTACK_TABLE *Table
 );
 
-/* TODO: Fixme.
-  MIB_IF_TABLE_LEVEL is unknown type
-  NETIOAPI_API GetIfTable2Ex(MIB_IF_TABLE_LEVEL Level,PMIB_IF_TABLE2 *Table);
-*/
+typedef enum _MIB_IF_TABLE_LEVEL {
+  MibIfTableNormal = 0,
+  MibIfTableRaw    = 1
+} MIB_IF_TABLE_LEVEL, *PMIB_IF_TABLE_LEVEL;
+
+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 88d4d69..cac6af6 100644
--- a/mingw-w64-headers/include/ras.h
+++ b/mingw-w64-headers/include/ras.h
@@ -7,6 +7,7 @@
 #define _RAS_H_
 
 #include <_mingw_unicode.h>
+
 #include <inaddr.h>
 #include <in6addr.h>
 
diff --git a/mingw-w64-headers/include/tcpmib.h b/mingw-w64-headers/include/tcpmib.h
index 9754649..a726d06 100644
--- a/mingw-w64-headers/include/tcpmib.h
+++ b/mingw-w64-headers/include/tcpmib.h
@@ -5,7 +5,13 @@
  */
 #ifndef _INC_TCPMIB
 #define _INC_TCPMIB
+
+#ifndef ANY_SIZE
+#define ANY_SIZE 1
+#endif
+
 #if (_WIN32_WINNT >= 0x0600)
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -67,5 +73,7 @@
 #ifdef __cplusplus
 }
 #endif
+
 #endif /*(_WIN32_WINNT >= 0x0600)*/
+
 #endif /*_INC_TCPMIB*/
diff --git a/mingw-w64-headers/include/udpmib.h b/mingw-w64-headers/include/udpmib.h
index 6213abd..9ab5dbc 100644
--- a/mingw-w64-headers/include/udpmib.h
+++ b/mingw-w64-headers/include/udpmib.h
@@ -5,6 +5,11 @@
  */
 #ifndef _INC_UDPMIB
 #define _INC_UDPMIB
+
+#ifndef ANY_SIZE
+#define ANY_SIZE 1
+#endif
+
 #if (_WIN32_WINNT >= 0x0600)
 
 #ifdef __cplusplus
@@ -17,10 +22,6 @@
   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];
@@ -29,5 +30,7 @@
 #ifdef __cplusplus
 }
 #endif
+
 #endif /*(_WIN32_WINNT >= 0x0600)*/
+
 #endif /*_INC_UDPMIB*/
diff --git a/mingw-w64-headers/include/winbase.h b/mingw-w64-headers/include/winbase.h
index 68f7b84..88223ac 100644
--- a/mingw-w64-headers/include/winbase.h
+++ b/mingw-w64-headers/include/winbase.h
@@ -2834,14 +2834,6 @@
 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 16bdf15..6265197 100644
--- a/mingw-w64-headers/include/winnt.h
+++ b/mingw-w64-headers/include/winnt.h
@@ -6394,13 +6394,10 @@
     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/winsock2.h b/mingw-w64-headers/include/winsock2.h
index bc8a575..ae5679e 100644
--- a/mingw-w64-headers/include/winsock2.h
+++ b/mingw-w64-headers/include/winsock2.h
@@ -50,6 +50,7 @@
 #include <mingw_inc/_fd_types.h>
 #include <mingw_inc/_ip_types.h>
 #include <mingw_inc/_wsadata.h>
+#include <ws2def.h> /* FIXME: include order */
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/mingw-w64-headers/include/ws2def.h b/mingw-w64-headers/include/ws2def.h
new file mode 100644
index 0000000..4169d25
--- /dev/null
+++ b/mingw-w64-headers/include/ws2def.h
@@ -0,0 +1,39 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#ifndef _WS2DEF_
+#define _WS2DEF_
+
+#include <_mingw.h>
+
+/* FIXME FIXME FIXME FIXME FIXME: Much more date need moving here.
+ * This holds only SCOPE_LEVEL and SCOPE_ID so that compilations
+ * do not fail.
+ */
+
+typedef enum _SCOPE_LEVEL {
+  ScopeLevelInterface = 1,
+  ScopeLevelLink      = 2,
+  ScopeLevelSubnet    = 3,
+  ScopeLevelAdmin     = 4,
+  ScopeLevelSite      = 5,
+  ScopeLevelOrganization = 8,
+  ScopeLevelGlobal   = 14,
+  ScopeLevelCount    = 16
+} SCOPE_LEVEL;
+
+typedef struct _SCOPE_ID {
+  __MINGW_EXTENSION union {
+    __MINGW_EXTENSION struct {
+	ULONG	Zone : 28;
+	ULONG	Level : 4;
+    };
+    ULONG Value;
+  };
+} SCOPE_ID, *PSCOPE_ID;
+
+#endif /* _WS2DEF_ */
+
diff --git a/mingw-w64-headers/include/ws2ipdef.h b/mingw-w64-headers/include/ws2ipdef.h
index c892b4d..a71bbb6 100644
--- a/mingw-w64-headers/include/ws2ipdef.h
+++ b/mingw-w64-headers/include/ws2ipdef.h
@@ -15,16 +15,6 @@
   MCAST_EXCLUDE
 } MULTICAST_MODE_TYPE;
 
-typedef struct _SCOPE_ID {
-  __MINGW_EXTENSION union {
-    __MINGW_EXTENSION struct {
-	ULONG	Zone : 28;
-	ULONG	Level : 4;
-    };
-    ULONG Value;
-  };
-} SCOPE_ID, *PSCOPE_ID;
-
 typedef struct _sockaddr_in6_pair {
   PSOCKADDR_IN6 SourceAddress;
   PSOCKADDR_IN6 DestinationAddress;
