own patch [#27752] Python Callback (Scriptlink functionality)
[blender.git] / source / blender / blenlib / BLI_winstuff.h
index 957fdb2b01780b8cbabf4c77bf4f5919d886f9e7..d0eb3c7d67d3d6a4713cf87c146cc9ac80ab4ec4 100644 (file)
@@ -1,6 +1,4 @@
-/**
- * Compatibility-like things for windows.
- *
+/*
  * $Id$ 
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
 #ifndef __WINSTUFF_H__
 #define __WINSTUFF_H__
 
+/** \file BLI_winstuff.h
+ *  \ingroup bli
+ *  \brief Compatibility-like things for windows.
+ */
+
 #ifdef _WIN32
 
 #ifndef FREE_WINDOWS
 #pragma warning(once: 4761 4305 4244 4018)
+#else
+#ifdef WINVER
+#undef WINVER
+#endif
+
+/* Some stuff requires WINVER 0x500, but mingw's default is 0x400 */
+#define WINVER 0x0501
 #endif
 
 #define WIN32_LEAN_AND_MEAN
 
 #ifndef WIN32_SKIP_HKEY_PROTECTION
+#undef HKEY
 #define HKEY WIN32_HKEY                                // prevent competing definitions
 #include <windows.h>
 #undef HKEY
@@ -64,7 +75,7 @@
 
 #undef small
 
-// These definitions are also in arithb for simplicity
+// These definitions are also in BLI_math for simplicity
 
 #ifdef __cplusplus
 extern "C" {
@@ -74,22 +85,13 @@ extern "C" {
 #define MAXPATHLEN MAX_PATH
 
 #ifndef S_ISREG
-#define S_ISREG(x) ((x&S_IFMT) == S_IFREG)
+#define S_ISREG(x) (((x)&_S_IFREG) == _S_IFREG)
 #endif
 #ifndef S_ISDIR
-#define S_ISDIR(x) ((x&S_IFMT) == S_IFDIR)
+#define S_ISDIR(x) (((x)&_S_IFDIR) == _S_IFDIR)
 #endif
 
 /* defines for using ISO C++ conformant names */
-#define open _open
-#define close _close
-#define write _write
-#define read _read
-#define getcwd _getcwd
-#define chdir _chdir
-#define strdup _strdup
-#define lseek _lseek
-#define getpid _getpid
 #define snprintf _snprintf
 
 #ifndef FREE_WINDOWS
@@ -125,7 +127,7 @@ typedef struct _DIR {
        struct dirent direntry;
 } DIR;
 
-void RegisterBlendExtension(char * str);
+void RegisterBlendExtension(void);
 DIR *opendir (const char *path);
 struct dirent *readdir(DIR *dp);
 int closedir (DIR *dp);
@@ -133,15 +135,13 @@ void get_default_root(char *root);
 int check_file_chars(char *filename);
 char *dirname(char *path);
 
-#ifdef WIN32
 int BLI_getInstallationDir(char *str);
-#endif
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif
+#endif /* _WIN32 */
 
 #endif /* __WINSTUFF_H__ */