summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2017-12-14 10:46:54 +0800
committerGitHub <[email protected]>2017-12-14 10:46:54 +0800
commitd50e963125ea2da55d1636c567f5c253c35c8d82 (patch)
treeb3218f5700f33e75b5eabce06e9ebc955a7c2de4 /include
parentb0f4ae246a7a0d958777e11ad2392f22f20a99e6 (diff)
parentc4b6fa797890add7fe41be72f869e9ff2a0e3a76 (diff)
Merge pull request #1105 from BernardXiong/master
[BSP] fix the issues in simulator for WIN32.
Diffstat (limited to 'include')
-rw-r--r--include/libc/libc_stat.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/include/libc/libc_stat.h b/include/libc/libc_stat.h
index 36ccd322d5..69871dd101 100644
--- a/include/libc/libc_stat.h
+++ b/include/libc/libc_stat.h
@@ -3,9 +3,38 @@
#include <rtconfig.h>
-#ifdef RT_USING_NEWLIB
+#if defined(RT_USING_NEWLIB)
/* use header file of newlib */
#include <sys/stat.h>
+
+#elif defined(_WIN32)
+#include <sys/stat.h>
+
+#define S_IRWXU 00700
+#define S_IRUSR 00400
+#define S_IWUSR 00200
+#define S_IXUSR 00100
+
+#define S_IRWXG 00070
+#define S_IRGRP 00040
+#define S_IWGRP 00020
+#define S_IXGRP 00010
+
+#define S_IRWXO 00007
+#define S_IROTH 00004
+#define S_IWOTH 00002
+#define S_IXOTH 00001
+
+#define S_IFSOCK 0140000
+#define S_IFLNK 0120000
+#define S_IFBLK 0060000
+#define S_IFIFO 0010000
+#define S_ISUID 0004000
+#define S_ISGID 0002000
+#define S_ISVTX 0001000
+
+#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+
#else
#define S_IFMT 00170000
#define S_IFSOCK 0140000