diff --git a/mingw-w64-headers/include/ws2ipdef.h b/mingw-w64-headers/include/ws2ipdef.h
index 6b10db3..d440bbc 100644
--- a/mingw-w64-headers/include/ws2ipdef.h
+++ b/mingw-w64-headers/include/ws2ipdef.h
@@ -238,9 +238,9 @@
   SOCKADDR_STORAGE gsr_source;
 } GROUP_SOURCE_REQ, *PGROUP_SOURCE_REQ;
 
-#define WS2TCPIP_INLINE __mingw_ovr
+#define WS2TCPIP_INLINE __CRT_INLINE
 
-static int IN6_ADDR_EQUAL(const struct in6_addr *,const struct in6_addr *);
+int IN6_ADDR_EQUAL(const struct in6_addr *,const struct in6_addr *);
 WS2TCPIP_INLINE int IN6_ADDR_EQUAL(const struct in6_addr *a, const struct in6_addr *b) {
     return !memcmp(a, b, sizeof(struct in6_addr));
 }
diff --git a/mingw-w64-headers/include/ws2tcpip.h b/mingw-w64-headers/include/ws2tcpip.h
index cf7d28b..0a7890b 100644
--- a/mingw-w64-headers/include/ws2tcpip.h
+++ b/mingw-w64-headers/include/ws2tcpip.h
@@ -46,24 +46,24 @@
   extern const struct in6_addr in6addr_any;
   extern const struct in6_addr in6addr_loopback;
 
-static int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *);
-static int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *);
-static int IN6_IS_ADDR_MULTICAST(const struct in6_addr *);
-static int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *);
-static int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *);
-static int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *);
-static int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *);
-static int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
-static int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
-static int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
-static int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *);
-static int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *);
-static int IN6ADDR_ISANY(const struct sockaddr_in6 *);
-static int IN6ADDR_ISLOOPBACK(const struct sockaddr_in6 *);
-static void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *);
-static void IN6_SET_ADDR_LOOPBACK(struct in6_addr *);
-static void IN6ADDR_SETANY(struct sockaddr_in6 *);
-static void IN6ADDR_SETLOOPBACK(struct sockaddr_in6 *);
+int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *);
+int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *);
+int IN6_IS_ADDR_MULTICAST(const struct in6_addr *);
+int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *);
+int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *);
+int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *);
+int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *);
+int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
+int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
+int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
+int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *);
+int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *);
+int IN6ADDR_ISANY(const struct sockaddr_in6 *);
+int IN6ADDR_ISLOOPBACK(const struct sockaddr_in6 *);
+void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *);
+void IN6_SET_ADDR_LOOPBACK(struct in6_addr *);
+void IN6ADDR_SETANY(struct sockaddr_in6 *);
+void IN6ADDR_SETLOOPBACK(struct sockaddr_in6 *);
 
 WS2TCPIP_INLINE int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0)); }
 WS2TCPIP_INLINE int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0x0100)); }
