diff --git a/components/libc/compilers/common/fcntl.h b/components/libc/compilers/common/nogcc/fcntl.h similarity index 84% rename from components/libc/compilers/common/fcntl.h rename to 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 -#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 + +#ifndef O_DIRECTORY +#define O_DIRECTORY 0x200000 +#endif + +#ifndef O_BINARY +#define O_BINARY 0x10000 +#endif + +#endif