Create fileutils.c/.h

 * _Py_fopen() and _Py_stat() come from Python/import.c
 * (_Py)_wrealpath() comes from Python/sysmodule.c
 * _Py_char2wchar(), _Py_wchar2char() and _Py_wfopen() come from Modules/main.c
 * (_Py)_wstat(), (_Py)_wgetcwd(), _Py_wreadlink() come from Modules/getpath.c
diff --git a/Include/Python.h b/Include/Python.h
index 5afde02..6ca7a58 100644
--- a/Include/Python.h
+++ b/Include/Python.h
@@ -122,6 +122,7 @@
 #include "pystrtod.h"
 #include "pystrcmp.h"
 #include "dtoa.h"
+#include "fileutils.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -130,17 +131,6 @@
 /* _Py_Mangle is defined in compile.c */
 PyAPI_FUNC(PyObject*) _Py_Mangle(PyObject *p, PyObject *name);
 
-/* These functions live in main.c */
-PyAPI_FUNC(wchar_t *) _Py_char2wchar(char *);
-PyAPI_FUNC(char*) _Py_wchar2char(const wchar_t *text);
-PyAPI_FUNC(FILE *) _Py_wfopen(const wchar_t *path, const wchar_t *mode);
-
-/* These functions live in import.c */
-PyAPI_FUNC(FILE*) _Py_fopen(PyObject *unicode, const char *mode);
-#ifdef HAVE_STAT
-int _Py_stat(PyObject *unicode, struct stat *statbuf);
-#endif
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/Include/fileutils.h b/Include/fileutils.h
new file mode 100644
index 0000000..2971d9d
--- /dev/null
+++ b/Include/fileutils.h
@@ -0,0 +1,55 @@
+#ifndef Py_FILEUTILS_H
+#define Py_FILEUTILS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+PyAPI_FUNC(wchar_t *) _Py_char2wchar(
+    char *arg);
+
+PyAPI_FUNC(char*) _Py_wchar2char(
+    const wchar_t *text);
+
+#if defined(MS_WINDOWS) || defined(HAVE_STAT)
+PyAPI_FUNC(int) _Py_wstat(
+    const wchar_t* path,
+    struct stat *buf);
+#endif
+
+#ifdef HAVE_STAT
+PyAPI_FUNC(int) _Py_stat(
+    PyObject *unicode,
+    struct stat *statbuf);
+#endif
+
+PyAPI_FUNC(FILE *) _Py_wfopen(
+    const wchar_t *path,
+    const wchar_t *mode);
+
+PyAPI_FUNC(FILE*) _Py_fopen(
+    PyObject *unicode,
+    const char *mode);
+
+#ifdef HAVE_READLINK
+PyAPI_FUNC(int) _Py_wreadlink(
+    const wchar_t *path,
+    wchar_t *buf,
+    size_t bufsiz);
+#endif
+
+#ifdef HAVE_REALPATH
+PyAPI_FUNC(wchar_t*) _Py_wrealpath(
+    const wchar_t *path,
+    wchar_t *resolved_path);
+#endif
+
+PyAPI_FUNC(wchar_t*) _Py_wgetcwd(
+    wchar_t *buf,
+    size_t size);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !Py_FILEUTILS_H */