Merge branch 'master' of github.com:sahlberg/libnfs
[deb_libnfs.git] / win32 / win32_compat.h
index 9972e5da6e19a06903f5279ba38b975ab7aa5239..f15a606ef0a7b77c2d773d47068fc17ce41cc309 100644 (file)
@@ -53,12 +53,34 @@ typedef int socklen_t;
 #define F_GETFL  3
 #define F_SETFL  4
 
+#ifndef S_IFIFO
+#define S_IFIFO        0x1000  /* FIFO */
+#endif
+
+#ifndef S_IFBLK
+#define S_IFBLK        0x3000  /* Block: Is this ever set under w32? */
+#endif
+
+#ifndef S_IFSOCK
+#define S_IFSOCK 0x0           /* not defined in mingw either */
+#endif
+
+#ifndef major
+#define major(a) 0
+#endif
+
+#ifndef minor
+#define minor(a) 0
+#endif
+
 #define O_NONBLOCK 0x40000000
 #define O_SYNC 0
 
 #define MSG_DONTWAIT 0
 #define ssize_t SSIZE_T
 
+#if(_WIN32_WINNT < 0x0600)
+
 #define POLLIN      0x0001    /* There is data to read */
 #define POLLPRI     0x0002    /* There is urgent data to read */
 #define POLLOUT     0x0004    /* Writing now will not block */
@@ -71,6 +93,7 @@ struct pollfd {
     short events;     /* requested events */
     short revents;    /* returned events */
 };
+#endif
 
 /* Wrapper macros to call misc. functions win32 is missing */
 #define poll(x, y, z)        win32_poll(x, y, z)