summaryrefslogtreecommitdiff
path: root/components/libc/compilers
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2021-11-15 23:18:28 +0800
committerGitHub <[email protected]>2021-11-15 23:18:28 +0800
commit6f297bd2aa70bca5ec9759b4273751bf9ef2d62b (patch)
treea9ee1d13cdff99dd00cc5c3eb2fdd0923a3e8b6f /components/libc/compilers
parent5711b0a76b8d80ab2dc4cdbf925a7b48f4140a5d (diff)
parent09666e6b995821d655c0e3a4f7532352f8fef1d0 (diff)
Merge pull request #5267 from mysterywolf/libc-fcntl.h
[libc] 修复在fcntl.h中两种不同的宏编码方式导致的bug
Diffstat (limited to 'components/libc/compilers')
-rw-r--r--components/libc/compilers/common/nogcc/fcntl.h (renamed from components/libc/compilers/common/fcntl.h)11
-rw-r--r--components/libc/compilers/common/nogcc/unistd.h1
-rw-r--r--components/libc/compilers/gcc/newlib/fcntl.h23
3 files changed, 30 insertions, 5 deletions
diff --git a/components/libc/compilers/common/fcntl.h b/components/libc/compilers/common/nogcc/fcntl.h
index 3460926708..51ee1024a8 100644
--- a/components/libc/compilers/common/fcntl.h
+++ b/components/libc/compilers/common/nogcc/fcntl.h
@@ -12,10 +12,9 @@
#include <sys/types.h>
-#define O_RDONLY 0x0000 /* open for reading only */
-#define O_WRONLY 0x0001 /* open for writing only */
-#define O_RDWR 0x0002 /* open for reading and writing */
-#define O_ACCMODE 0x0003 /* mask for above modes */
+#define O_RDONLY 00
+#define O_WRONLY 01
+#define O_RDWR 02
#define O_CREAT 0100
#define O_EXCL 0200
@@ -30,6 +29,7 @@
#define O_DIRECTORY 0200000
#define O_NOFOLLOW 0400000
#define O_CLOEXEC 02000000
+
#define O_ASYNC 020000
#define O_DIRECT 040000
#define O_LARGEFILE 0100000
@@ -37,9 +37,12 @@
#define O_PATH 010000000
#define O_TMPFILE 020200000
#define O_NDELAY O_NONBLOCK
+
#define O_SEARCH O_PATH
#define O_EXEC O_PATH
+#define O_ACCMODE (03|O_SEARCH)
+
#define F_DUPFD 0
#define F_GETFD 1
#define F_SETFD 2
diff --git a/components/libc/compilers/common/nogcc/unistd.h b/components/libc/compilers/common/nogcc/unistd.h
index cd77a12e3b..9b96d45adb 100644
--- a/components/libc/compilers/common/nogcc/unistd.h
+++ b/components/libc/compilers/common/nogcc/unistd.h
@@ -7,4 +7,3 @@
* Date Author Notes
*/
#include "sys/unistd.h"
-
diff --git a/components/libc/compilers/gcc/newlib/fcntl.h b/components/libc/compilers/gcc/newlib/fcntl.h
new file mode 100644
index 0000000000..239eaaef0d
--- /dev/null
+++ b/components/libc/compilers/gcc/newlib/fcntl.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2021-09-02 Meco Man First version
+ */
+#ifndef __FCNTL_H__
+#define __FCNTL_H__
+
+#include <sys/_default_fcntl.h>
+
+#ifndef O_DIRECTORY
+#define O_DIRECTORY 0x200000
+#endif
+
+#ifndef O_BINARY
+#define O_BINARY 0x10000
+#endif
+
+#endif