#include "config.h"
-#if defined(__MINGW32__) && !defined(__MINGW32CE__)
+#include <sys/stat.h>
+
+#if defined(_WIN32) && !defined(__MINGW32CE__)
# include <fcntl.h>
+# undef lseek
# define lseek(f,p,w) _lseeki64((f), (p), (w))
+# undef stat
# define stat _stati64
+# undef fstat
# define fstat(f,s) _fstati64((f), (s))
-#endif /* defined(__MINGW32__) && !defined(__MINGW32CE__) */
+#endif /* defined(_WIN32) && !defined(__MINGW32CE__) */
+
+#ifdef _WIN32
+#if HAVE_DIRECT_H
+#include <direct.h>
+#elif HAVE_IO_H
+#include <io.h>
+#endif
+#define mkdir(a, b) _mkdir(a)
+#else
+#include <sys/stat.h>
+#endif
static inline int is_dos_path(const char *path)
{
return 0;
}
-#if defined(__OS2__)
+#if defined(__OS2__) || defined(__Plan9__)
#define SHUT_RD 0
#define SHUT_WR 1
#define SHUT_RDWR 2
#define SHUT_RD SD_RECEIVE
#define SHUT_WR SD_SEND
#define SHUT_RDWR SD_BOTH
-#endif
-#if defined(_WIN32) && !defined(__MINGW32CE__)
-int ff_win32_open(const char *filename, int oflag, int pmode);
-#define open ff_win32_open
+#ifndef S_IRUSR
+#define S_IRUSR S_IREAD
+#endif
+#ifndef S_IWUSR
+#define S_IWUSR S_IWRITE
+#endif
#endif
#if CONFIG_NETWORK