Cleanup: remove redundant doxygen \file argument
[blender.git] / source / blender / blenlib / BLI_winstuff.h
index d939882..ebb4991 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
  */
+
 #ifndef __BLI_WINSTUFF_H__
 #define __BLI_WINSTUFF_H__
 
-/** \file BLI_winstuff.h
- *  \ingroup bli
+/** \file \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
+#ifndef _WIN32
+#  error "This include is for Windows only!"
 #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
+#  undef HKEY
+#  define HKEY WIN32_HKEY  /* prevent competing definitions */
+#  include <windows.h>
+#  undef HKEY
 #else
-#include <windows.h>
+#  include <windows.h>
 #endif
 
 #undef near
@@ -83,36 +65,42 @@ extern "C" {
 #define MAXPATHLEN MAX_PATH
 
 #ifndef S_ISREG
-#define S_ISREG(x) (((x)&_S_IFREG) == _S_IFREG)
+#  define S_ISREG(x) (((x) & _S_IFREG) == _S_IFREG)
 #endif
 #ifndef S_ISDIR
-#define S_ISDIR(x) (((x)&_S_IFDIR) == _S_IFDIR)
+#  define S_ISDIR(x) (((x) & _S_IFDIR) == _S_IFDIR)
 #endif
 
 /* defines for using ISO C++ conformant names */
-#define snprintf _snprintf
+#if !defined(_MSC_VER) || _MSC_VER < 1900
+#  define snprintf _snprintf
+#endif
 
-#ifndef FREE_WINDOWS
-typedef unsigned int mode_t;
+#if defined(_MSC_VER)
+#  define      R_OK    4
+#  define      W_OK    2
+// not accepted by access() on windows
+//#  define    X_OK    1
+#  define      F_OK    0
 #endif
 
+typedef unsigned int mode_t;
+
 /* use functions that take a 64 bit offset for files larger than 4GB */
-#ifndef FREE_WINDOWS
 #include <stdio.h>
 #define fseek(stream, offset, origin) _fseeki64(stream, offset, origin)
 #define ftell(stream) _ftelli64(stream)
 #define lseek(fd, offset, origin) _lseeki64(fd, offset, origin)
 #define tell(fd) _telli64(fd)
-#endif
 
-/* mingw using _SSIZE_T_ to declare ssize_t type */
+
 #ifndef _SSIZE_T_
-#define _SSIZE_T_
+#  define _SSIZE_T_
 /* python uses HAVE_SSIZE_T */
-#ifndef HAVE_SSIZE_T
-#define HAVE_SSIZE_T 1
+#  ifndef HAVE_SSIZE_T
+#    define HAVE_SSIZE_T 1
 typedef long ssize_t;
-#endif
+#  endif
 #endif
 
 struct dirent {
@@ -122,25 +110,17 @@ struct dirent {
        char *d_name;
 };
 
-typedef struct _DIR {
-       HANDLE handle;
-       WIN32_FIND_DATA data;
-       char path[MAX_PATH];
-       long dd_loc;
-       long dd_size;
-       char dd_buf[4096];
-       void *dd_direct;
-       
-       struct dirent direntry;
-} DIR;
+/* intentionally opaque to users */
+typedef struct __dirstream DIR;
 
-void RegisterBlendExtension(void);
-DIR *opendir (const char *path);
+DIR *opendir(const char *path);
 struct dirent *readdir(DIR *dp);
-int closedir (DIR *dp);
+int closedir(DIR *dp);
+
+void RegisterBlendExtension(void);
 void get_default_root(char *root);
 int check_file_chars(char *filename);
-char *dirname(char *path);
+const char *dirname(char *path);
 
 int BLI_getInstallationDir(char *str);
 
@@ -148,7 +128,4 @@ int BLI_getInstallationDir(char *str);
 }
 #endif
 
-#endif /* _WIN32 */
-
 #endif /* __BLI_WINSTUFF_H__ */
-