From c4b6fa797890add7fe41be72f869e9ff2a0e3a76 Mon Sep 17 00:00:00 2001 From: bernard Date: Thu, 14 Dec 2017 10:47:07 +0800 Subject: [PATCH] [libc] Add stat definitions for WIN32. --- include/libc/libc_stat.h | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) 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 -#ifdef RT_USING_NEWLIB +#if defined(RT_USING_NEWLIB) /* use header file of newlib */ #include + +#elif defined(_WIN32) +#include + +#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