diff --git a/bsp/qemu-riscv-virt64/driver/plic.c b/bsp/qemu-riscv-virt64/driver/plic.c index f502bc9da0..6e2ec5e84e 100644 --- a/bsp/qemu-riscv-virt64/driver/plic.c +++ b/bsp/qemu-riscv-virt64/driver/plic.c @@ -7,7 +7,8 @@ * Date Author Notes * 2021-05-20 bigmagic first version */ -#include "rtthread.h" +#include +#include #include "plic.h" #include #include "encoding.h" diff --git a/bsp/qemu-riscv-virt64/driver/sbi.c b/bsp/qemu-riscv-virt64/driver/sbi.c index f848ec7810..129e8fcb0e 100644 --- a/bsp/qemu-riscv-virt64/driver/sbi.c +++ b/bsp/qemu-riscv-virt64/driver/sbi.c @@ -72,8 +72,8 @@ sbi_get_impl_version(void) void sbi_print_version(void) { - u_int major; - u_int minor; + int major; + int minor; /* For legacy SBI implementations. */ if (sbi_spec_version == 0) diff --git a/bsp/qemu-riscv-virt64/driver/sbi.h b/bsp/qemu-riscv-virt64/driver/sbi.h index b42d558f53..1e7ad6b4b8 100644 --- a/bsp/qemu-riscv-virt64/driver/sbi.h +++ b/bsp/qemu-riscv-virt64/driver/sbi.h @@ -48,6 +48,7 @@ #ifndef _MACHINE_SBI_H_ #define _MACHINE_SBI_H_ +#include #include /* SBI Specification Version */ diff --git a/components/dfs/include/dfs.h b/components/dfs/include/dfs.h index 0fd8c2dccc..9f112f9656 100644 --- a/components/dfs/include/dfs.h +++ b/components/dfs/include/dfs.h @@ -16,6 +16,8 @@ #include #include #include +#include +#include #include #include diff --git a/components/dfs/include/dfs_posix.h b/components/dfs/include/dfs_posix.h index ec7cdc9de4..98da0f854f 100644 --- a/components/dfs/include/dfs_posix.h +++ b/components/dfs/include/dfs_posix.h @@ -16,22 +16,15 @@ #define __DFS_POSIX_H__ #include +#include #ifdef __cplusplus extern "C" { #endif -/* directory api*/ -int mkdir(const char *path, mode_t mode); -DIR *opendir(const char *name); -struct dirent *readdir(DIR *d); -long telldir(DIR *d); -void seekdir(DIR *d, off_t offset); -void rewinddir(DIR *d); -int closedir(DIR *d); /* file api*/ -int open(const char *file, int flags, ...); + int close(int d); #if defined(RT_USING_NEWLIB) && defined(_EXFUN) @@ -45,11 +38,7 @@ int write(int fd, const void *buf, size_t len); off_t lseek(int fd, off_t offset, int whence); int rename(const char *from, const char *to); int unlink(const char *pathname); -int stat(const char *file, struct stat *buf); -int fstat(int fildes, struct stat *buf); int fsync(int fildes); -int fcntl(int fildes, int cmd, ...); -int ioctl(int fildes, int cmd, ...); int ftruncate(int fd, off_t length); /* directory api*/ @@ -62,7 +51,6 @@ int statfs(const char *path, struct statfs *buf); int access(const char *path, int amode); int pipe(int fildes[2]); -int mkfifo(const char *path, mode_t mode); #ifdef __cplusplus } diff --git a/components/drivers/rtc/rtc.c b/components/drivers/rtc/rtc.c index 35e7ddc3c4..bc75c83e7d 100644 --- a/components/drivers/rtc/rtc.c +++ b/components/drivers/rtc/rtc.c @@ -223,7 +223,7 @@ rt_err_t set_time(rt_uint32_t hour, rt_uint32_t minute, rt_uint32_t second) /** * get date and time or set (local timezone) [year month day hour min sec] */ -static void date(uint8_t argc, char **argv) +static void date(int argc, char **argv) { if (argc == 1) { @@ -235,8 +235,9 @@ static void date(uint8_t argc, char **argv) else if (argc >= 7) { /* set time and date */ - uint16_t year; - uint8_t month, day, hour, min, sec; + rt_uint16_t year; + rt_uint8_t month, day, hour, min, sec; + year = atoi(argv[1]); month = atoi(argv[2]); day = atoi(argv[3]); diff --git a/include/libc/libc_fcntl.h b/components/libc/compilers/common/fcntl.h similarity index 67% rename from include/libc/libc_fcntl.h rename to components/libc/compilers/common/fcntl.h index 945e674d35..b98f540627 100644 --- a/include/libc/libc_fcntl.h +++ b/components/libc/compilers/common/fcntl.h @@ -5,44 +5,17 @@ * * Change Logs: * Date Author Notes - * 2018-02-07 Bernard Add O_DIRECTORY definition in NEWLIB mode. - * 2018-02-09 Bernard Add O_BINARY definition + * 2021-09-02 Meco Man First version */ +#ifndef __FCNTL_H__ +#define __FCNTL_H__ -#ifndef LIBC_FCNTL_H__ -#define LIBC_FCNTL_H__ - -#if defined(RT_USING_NEWLIB) || defined(_WIN32) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION)) -#include - -#ifndef O_NONBLOCK -#define O_NONBLOCK 0x4000 -#endif +#include #if defined(_WIN32) #define O_ACCMODE (_O_RDONLY | _O_WRONLY | _O_RDWR) #endif -#ifndef F_GETFL -#define F_GETFL 3 -#endif -#ifndef F_SETFL -#define F_SETFL 4 -#endif - -#ifndef O_DIRECTORY -#define O_DIRECTORY 0x200000 -#endif - -#ifndef O_BINARY -#ifdef _O_BINARY -#define O_BINARY _O_BINARY -#else -#define O_BINARY 0 -#endif -#endif - -#else #define O_RDONLY 00 #define O_WRONLY 01 #define O_RDWR 02 @@ -60,7 +33,6 @@ #define O_DIRECTORY 0200000 #define O_NOFOLLOW 0400000 #define O_CLOEXEC 02000000 - #define O_ASYNC 020000 #define O_DIRECT 040000 #define O_LARGEFILE 0100000 @@ -68,7 +40,6 @@ #define O_PATH 010000000 #define O_TMPFILE 020200000 #define O_NDELAY O_NONBLOCK - #define O_SEARCH O_PATH #define O_EXEC O_PATH @@ -93,6 +64,9 @@ #define F_GETOWN_EX 16 #define F_GETOWNER_UIDS 17 -#endif + +int open(const char *file, int flags, ...); +int fcntl(int fildes, int cmd, ...); +int creat(const char *, mode_t); #endif diff --git a/components/libc/compilers/common/none-gcc/fcntl.h b/components/libc/compilers/common/none-gcc/fcntl.h deleted file mode 100644 index f247b926e9..0000000000 --- a/components/libc/compilers/common/none-gcc/fcntl.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - */ -#ifndef FCNTL_H__ -#define FCNTL_H__ - -#include - -#ifdef RT_USING_DFS -#include -#endif - -#endif diff --git a/components/libc/compilers/common/none-gcc/sys/stat.h b/components/libc/compilers/common/none-gcc/sys/stat.h index c8f65df435..107c15decf 100644 --- a/components/libc/compilers/common/none-gcc/sys/stat.h +++ b/components/libc/compilers/common/none-gcc/sys/stat.h @@ -5,9 +5,79 @@ * * Change Logs: * Date Author Notes + * 2021-09-02 Meco Man First version */ - #ifndef __SYS_STAT_H__ - #define __SYS_STAT_H__ +#ifndef __SYS_STAT_H__ +#define __SYS_STAT_H__ - #endif +#include +#include + +#define S_IFMT 00170000 +#define S_IFSOCK 0140000 +#define S_IFLNK 0120000 +#define S_IFREG 0100000 +#define S_IFBLK 0060000 +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFIFO 0010000 +#define S_ISUID 0004000 +#define S_ISGID 0002000 +#define S_ISVTX 0001000 + +#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) +#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) + +#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 + +struct stat +{ + struct rt_device *st_dev; + uint16_t st_ino; + uint16_t st_mode; + uint16_t st_nlink; + uint16_t st_uid; + uint16_t st_gid; + struct rt_device *st_rdev; + uint32_t st_size; + time_t st_atime; + long st_spare1; + time_t st_mtime; + long st_spare2; + time_t st_ctime; + long st_spare3; + uint32_t st_blksize; + uint32_t st_blocks; + long st_spare4[2]; +}; + +int chmod(const char *, mode_t); +int fchmod(int, mode_t); +int fstat(int, struct stat *); +int lstat(const char *, struct stat *); +int mkdir(const char *, mode_t); +int mkfifo(const char *, mode_t); +int mknod(const char *, mode_t, dev_t); +int stat(const char *, struct stat *); +mode_t umask(mode_t); + +#endif diff --git a/components/libc/compilers/common/sys/ioctl.h b/components/libc/compilers/common/sys/ioctl.h index 51f51f2ea4..b926a71875 100644 --- a/components/libc/compilers/common/sys/ioctl.h +++ b/components/libc/compilers/common/sys/ioctl.h @@ -235,4 +235,6 @@ struct winsize { #define SIOCDEVPRIVATE 0x89F0 #define SIOCPROTOPRIVATE 0x89E0 +int ioctl(int fildes, int cmd, ...); + #endif diff --git a/components/libc/compilers/dlib/libc.c b/components/libc/compilers/dlib/libc.c index d0dca7c5f6..097d736bfe 100644 --- a/components/libc/compilers/dlib/libc.c +++ b/components/libc/compilers/dlib/libc.c @@ -9,7 +9,7 @@ */ #include #include - +#include #include #include "libc.h" diff --git a/components/libc/compilers/newlib/stdio.c b/components/libc/compilers/newlib/stdio.c index ce5bdb75cb..baccafad87 100644 --- a/components/libc/compilers/newlib/stdio.c +++ b/components/libc/compilers/newlib/stdio.c @@ -9,7 +9,7 @@ */ #include #include - +#include #include #include "libc.h" diff --git a/components/libc/libdl/dlelf.h b/components/libc/libdl/dlelf.h index 540fe2c8aa..ab6cc5565d 100644 --- a/components/libc/libdl/dlelf.h +++ b/components/libc/libdl/dlelf.h @@ -28,12 +28,7 @@ typedef rt_int32_t Elf64_Sword; typedef rt_uint32_t Elf64_Word; typedef rt_uint64_t Elf64_Xword; typedef rt_int64_t Elf64_Sxword; -typedef uint16_t Elf64_Section; - - - - - +typedef rt_uint16_t Elf64_Section; /* e_ident[] magic number */ #define ELFMAG0 0x7f /* e_ident[EI_MAG0] */ diff --git a/components/net/lwip-1.4.1/src/lwipopts.h b/components/net/lwip-1.4.1/src/lwipopts.h index 9148066d50..a5e035b53a 100644 --- a/components/net/lwip-1.4.1/src/lwipopts.h +++ b/components/net/lwip-1.4.1/src/lwipopts.h @@ -533,6 +533,7 @@ #ifndef LWIP_SOCKET #define LWIP_SOCKET 1 #endif +#include /* * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names. diff --git a/components/net/lwip-2.0.2/src/lwipopts.h b/components/net/lwip-2.0.2/src/lwipopts.h index fdfe1437b2..fe6e2fef6f 100644 --- a/components/net/lwip-2.0.2/src/lwipopts.h +++ b/components/net/lwip-2.0.2/src/lwipopts.h @@ -572,6 +572,7 @@ #ifndef LWIP_SOCKET #define LWIP_SOCKET 1 #endif +#include /* * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names. diff --git a/components/net/lwip-2.0.3/src/lwipopts.h b/components/net/lwip-2.0.3/src/lwipopts.h index fdfe1437b2..fe6e2fef6f 100644 --- a/components/net/lwip-2.0.3/src/lwipopts.h +++ b/components/net/lwip-2.0.3/src/lwipopts.h @@ -572,6 +572,7 @@ #ifndef LWIP_SOCKET #define LWIP_SOCKET 1 #endif +#include /* * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names. diff --git a/components/net/lwip-2.1.2/src/lwipopts.h b/components/net/lwip-2.1.2/src/lwipopts.h index a964ab13ac..81409a9d0a 100644 --- a/components/net/lwip-2.1.2/src/lwipopts.h +++ b/components/net/lwip-2.1.2/src/lwipopts.h @@ -579,6 +579,7 @@ #ifndef LWIP_SOCKET #define LWIP_SOCKET 1 #endif +#include /* * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names. diff --git a/components/net/netdev/src/netdev_ipaddr.c b/components/net/netdev/src/netdev_ipaddr.c index 9abb41bd14..afb6d1d962 100644 --- a/components/net/netdev/src/netdev_ipaddr.c +++ b/components/net/netdev/src/netdev_ipaddr.c @@ -7,7 +7,7 @@ * Date Author Notes * 2018-05-18 ChenYong First version */ - +#include #include #include diff --git a/components/net/sal_socket/socket/net_netdb.c b/components/net/sal_socket/socket/net_netdb.c index 03b995c68d..1eb84e1c32 100644 --- a/components/net/sal_socket/socket/net_netdb.c +++ b/components/net/sal_socket/socket/net_netdb.c @@ -9,6 +9,7 @@ * 2108-05-24 ChenYong Add socket abstraction layer */ +#include #include #include diff --git a/include/libc/libc_stat.h b/include/libc/libc_stat.h deleted file mode 100644 index f680de4e06..0000000000 --- a/include/libc/libc_stat.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - */ - -#ifndef LIBC_STAT_H__ -#define LIBC_STAT_H__ - -#include - -#if defined(RT_USING_NEWLIB) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION)) -/* 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 -#define S_IFLNK 0120000 -#define S_IFREG 0100000 -#define S_IFBLK 0060000 -#define S_IFDIR 0040000 -#define S_IFCHR 0020000 -#define S_IFIFO 0010000 -#define S_ISUID 0004000 -#define S_ISGID 0002000 -#define S_ISVTX 0001000 - -#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) -#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) -#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) -#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) -#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) -#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) -#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) - -#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 - -/* stat structure */ -#include -#include - -struct stat -{ - struct rt_device *st_dev; - uint16_t st_ino; - uint16_t st_mode; - uint16_t st_nlink; - uint16_t st_uid; - uint16_t st_gid; - struct rt_device *st_rdev; - uint32_t st_size; - time_t st_atime; - long st_spare1; - time_t st_mtime; - long st_spare2; - time_t st_ctime; - long st_spare3; - uint32_t st_blksize; - uint32_t st_blocks; - long st_spare4[2]; -}; - -#endif - -#endif diff --git a/include/rtdef.h b/include/rtdef.h index c0fcb8fce1..3f5f4c5ef9 100644 --- a/include/rtdef.h +++ b/include/rtdef.h @@ -1146,9 +1146,6 @@ struct rt_device_graphic_ops /**@}*/ #endif -/* definitions for libc */ -#include "rtlibc.h" - #ifdef __cplusplus } #endif diff --git a/include/rtlibc.h b/include/rtlibc.h deleted file mode 100644 index b59a29dadb..0000000000 --- a/include/rtlibc.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2017-01-21 Bernard the first version - */ - -#ifndef RTLIBC_H__ -#define RTLIBC_H__ - -/* definitions for libc if toolchain has no these definitions */ -#include "libc/libc_stat.h" -#include "libc/libc_fcntl.h" - -#ifndef RT_USING_LIBC -#if defined(__ARMCC_VERSION) || defined(__IAR_SYSTEMS_ICC__) -typedef signed long off_t; -typedef int mode_t; -#endif -#endif - -#if defined(__MINGW32__) || defined(_WIN32) -typedef signed long off_t; -typedef int mode_t; -#endif - -#endif - diff --git a/libcpu/mips/common/ptrace.h b/libcpu/mips/common/ptrace.h index 8b82cca5d6..da800e05dc 100644 --- a/libcpu/mips/common/ptrace.h +++ b/libcpu/mips/common/ptrace.h @@ -63,7 +63,7 @@ struct pt_regs { * so it should be a part of pt_regs */ struct mips_fpu_struct fpu; #endif -} __aligned(8); +} __attribute__((aligned(8))); #endif /* Note: For call stack o32 ABI has 0x8 shadowsoace Here */ diff --git a/libcpu/risc-v/virt64/cpuport.c b/libcpu/risc-v/virt64/cpuport.c index 33cab19488..9b0c2cce6b 100644 --- a/libcpu/risc-v/virt64/cpuport.c +++ b/libcpu/risc-v/virt64/cpuport.c @@ -9,13 +9,13 @@ * 2021-02-11 lizhirui add gp support */ +#include #include #include #include "cpuport.h" #include "stack.h" - /** * @brief from thread used interrupt context switch *