Issue #28768: Fix implicit declaration of function _setmode. Patch by Masayuki Yamamoto
diff --git a/Misc/NEWS b/Misc/NEWS
index 8ce7778..9aebdb5 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -103,6 +103,9 @@
 Build
 -----
 
+- Issue #28768: Fix implicit declaration of function _setmode. Patch by
+  Masayuki Yamamoto
+
 - Issue #29080: Removes hard dependency on hg.exe from PC/build.bat
 
 - Issue #23903: Added missed names to PC/python3.def.
diff --git a/Modules/_io/fileio.c b/Modules/_io/fileio.c
index 54cfb7f..6854a44 100644
--- a/Modules/_io/fileio.c
+++ b/Modules/_io/fileio.c
@@ -9,6 +9,9 @@
 #ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
 #endif
+#ifdef HAVE_IO_H
+#include <io.h>
+#endif
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
diff --git a/Modules/main.c b/Modules/main.c
index d75f64a..4cbe376 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -7,6 +7,9 @@
 
 #if defined(MS_WINDOWS) || defined(__CYGWIN__)
 #include <windows.h>
+#ifdef HAVE_IO_H
+#include <io.h>
+#endif
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif