#define mkdir(dir,perm) _mkdir((dir))
#define random rand
#define srandom srand
+#ifndef S_IRUSR
#define S_IRUSR _S_IREAD
#define S_IWUSR _S_IWRITE
-#define S_IXUSR _S_IREAD
-#define S_IRGRP _S_IREAD
-#define S_IWGRP _S_IWRITE
-#define S_IXGRP _S_IREAD
-#define S_IROTH _S_IREAD
-#define S_IWOTH _S_IWRITE
-#define S_IXOTH _S_IREAD
+#define S_IXUSR _S_IEXEC
#define S_IRWXU S_IRUSR | S_IWUSR | S_IXUSR
+#endif
+#ifndef S_IRGRP
+#define S_IRGRP 0
+#define S_IWGRP 0
+#define S_IXGRP 0
#define S_IRWXG S_IRGRP | S_IWGRP | S_IXGRP
+#endif
+#ifndef S_IROTH
+#define S_IROTH 0
+#define S_IWOTH 0
+#define S_IXOTH 0
#define S_IRWXO S_IROTH | S_IWOTH | S_IXOTH
+#endif
#endif /* _WIN32 */
#ifndef S_IRWUG