aboutsummaryrefslogtreecommitdiffstats
path: root/wsutil/file_util.h
diff options
context:
space:
mode:
Diffstat (limited to 'wsutil/file_util.h')
-rw-r--r--wsutil/file_util.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/wsutil/file_util.h b/wsutil/file_util.h
index 9bdbc34e9f..833518a9bc 100644
--- a/wsutil/file_util.h
+++ b/wsutil/file_util.h
@@ -40,6 +40,24 @@ extern "C" {
#include <sys/stat.h>
#endif
+/*
+ * Visual C++ on Win32 systems doesn't define these. (Old UNIX systems don't
+ * define them either.)
+ *
+ * Visual C++ on Win32 systems doesn't define S_IFIFO, it defines _S_IFIFO.
+ */
+#ifndef S_ISREG
+#define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG)
+#endif
+#ifndef S_IFIFO
+#define S_IFIFO _S_IFIFO
+#endif
+#ifndef S_ISFIFO
+#define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFIFO)
+#endif
+#ifndef S_ISDIR
+#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
+#endif
#ifdef _WIN32