[libc] remove rtlibc
This commit is contained in:
parent
45440d2456
commit
8da9f78d72
|
@ -7,7 +7,8 @@
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2021-05-20 bigmagic first version
|
* 2021-05-20 bigmagic first version
|
||||||
*/
|
*/
|
||||||
#include "rtthread.h"
|
#include <rtthread.h>
|
||||||
|
#include <stdint.h>
|
||||||
#include "plic.h"
|
#include "plic.h"
|
||||||
#include <riscv_io.h>
|
#include <riscv_io.h>
|
||||||
#include "encoding.h"
|
#include "encoding.h"
|
||||||
|
|
|
@ -72,8 +72,8 @@ sbi_get_impl_version(void)
|
||||||
void
|
void
|
||||||
sbi_print_version(void)
|
sbi_print_version(void)
|
||||||
{
|
{
|
||||||
u_int major;
|
int major;
|
||||||
u_int minor;
|
int minor;
|
||||||
|
|
||||||
/* For legacy SBI implementations. */
|
/* For legacy SBI implementations. */
|
||||||
if (sbi_spec_version == 0)
|
if (sbi_spec_version == 0)
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
#ifndef _MACHINE_SBI_H_
|
#ifndef _MACHINE_SBI_H_
|
||||||
#define _MACHINE_SBI_H_
|
#define _MACHINE_SBI_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
#include <rtdef.h>
|
#include <rtdef.h>
|
||||||
|
|
||||||
/* SBI Specification Version */
|
/* SBI Specification Version */
|
||||||
|
|
|
@ -16,6 +16,8 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <rtdevice.h>
|
#include <rtdevice.h>
|
||||||
|
|
||||||
|
|
|
@ -16,22 +16,15 @@
|
||||||
#define __DFS_POSIX_H__
|
#define __DFS_POSIX_H__
|
||||||
|
|
||||||
#include <dfs_file.h>
|
#include <dfs_file.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#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*/
|
/* file api*/
|
||||||
int open(const char *file, int flags, ...);
|
|
||||||
int close(int d);
|
int close(int d);
|
||||||
|
|
||||||
#if defined(RT_USING_NEWLIB) && defined(_EXFUN)
|
#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);
|
off_t lseek(int fd, off_t offset, int whence);
|
||||||
int rename(const char *from, const char *to);
|
int rename(const char *from, const char *to);
|
||||||
int unlink(const char *pathname);
|
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 fsync(int fildes);
|
||||||
int fcntl(int fildes, int cmd, ...);
|
|
||||||
int ioctl(int fildes, int cmd, ...);
|
|
||||||
int ftruncate(int fd, off_t length);
|
int ftruncate(int fd, off_t length);
|
||||||
|
|
||||||
/* directory api*/
|
/* directory api*/
|
||||||
|
@ -62,7 +51,6 @@ int statfs(const char *path, struct statfs *buf);
|
||||||
|
|
||||||
int access(const char *path, int amode);
|
int access(const char *path, int amode);
|
||||||
int pipe(int fildes[2]);
|
int pipe(int fildes[2]);
|
||||||
int mkfifo(const char *path, mode_t mode);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -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]
|
* 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)
|
if (argc == 1)
|
||||||
{
|
{
|
||||||
|
@ -235,8 +235,9 @@ static void date(uint8_t argc, char **argv)
|
||||||
else if (argc >= 7)
|
else if (argc >= 7)
|
||||||
{
|
{
|
||||||
/* set time and date */
|
/* set time and date */
|
||||||
uint16_t year;
|
rt_uint16_t year;
|
||||||
uint8_t month, day, hour, min, sec;
|
rt_uint8_t month, day, hour, min, sec;
|
||||||
|
|
||||||
year = atoi(argv[1]);
|
year = atoi(argv[1]);
|
||||||
month = atoi(argv[2]);
|
month = atoi(argv[2]);
|
||||||
day = atoi(argv[3]);
|
day = atoi(argv[3]);
|
||||||
|
|
|
@ -5,44 +5,17 @@
|
||||||
*
|
*
|
||||||
* Change Logs:
|
* Change Logs:
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2018-02-07 Bernard Add O_DIRECTORY definition in NEWLIB mode.
|
* 2021-09-02 Meco Man First version
|
||||||
* 2018-02-09 Bernard Add O_BINARY definition
|
|
||||||
*/
|
*/
|
||||||
|
#ifndef __FCNTL_H__
|
||||||
|
#define __FCNTL_H__
|
||||||
|
|
||||||
#ifndef LIBC_FCNTL_H__
|
#include <sys/types.h>
|
||||||
#define LIBC_FCNTL_H__
|
|
||||||
|
|
||||||
#if defined(RT_USING_NEWLIB) || defined(_WIN32) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
|
|
||||||
#include <fcntl.h>
|
|
||||||
|
|
||||||
#ifndef O_NONBLOCK
|
|
||||||
#define O_NONBLOCK 0x4000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
#define O_ACCMODE (_O_RDONLY | _O_WRONLY | _O_RDWR)
|
#define O_ACCMODE (_O_RDONLY | _O_WRONLY | _O_RDWR)
|
||||||
#endif
|
#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_RDONLY 00
|
||||||
#define O_WRONLY 01
|
#define O_WRONLY 01
|
||||||
#define O_RDWR 02
|
#define O_RDWR 02
|
||||||
|
@ -60,7 +33,6 @@
|
||||||
#define O_DIRECTORY 0200000
|
#define O_DIRECTORY 0200000
|
||||||
#define O_NOFOLLOW 0400000
|
#define O_NOFOLLOW 0400000
|
||||||
#define O_CLOEXEC 02000000
|
#define O_CLOEXEC 02000000
|
||||||
|
|
||||||
#define O_ASYNC 020000
|
#define O_ASYNC 020000
|
||||||
#define O_DIRECT 040000
|
#define O_DIRECT 040000
|
||||||
#define O_LARGEFILE 0100000
|
#define O_LARGEFILE 0100000
|
||||||
|
@ -68,7 +40,6 @@
|
||||||
#define O_PATH 010000000
|
#define O_PATH 010000000
|
||||||
#define O_TMPFILE 020200000
|
#define O_TMPFILE 020200000
|
||||||
#define O_NDELAY O_NONBLOCK
|
#define O_NDELAY O_NONBLOCK
|
||||||
|
|
||||||
#define O_SEARCH O_PATH
|
#define O_SEARCH O_PATH
|
||||||
#define O_EXEC O_PATH
|
#define O_EXEC O_PATH
|
||||||
|
|
||||||
|
@ -93,6 +64,9 @@
|
||||||
#define F_GETOWN_EX 16
|
#define F_GETOWN_EX 16
|
||||||
|
|
||||||
#define F_GETOWNER_UIDS 17
|
#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
|
#endif
|
|
@ -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 <rtconfig.h>
|
|
||||||
|
|
||||||
#ifdef RT_USING_DFS
|
|
||||||
#include <dfs_posix.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -5,9 +5,79 @@
|
||||||
*
|
*
|
||||||
* Change Logs:
|
* Change Logs:
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
|
* 2021-09-02 Meco Man First version
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __SYS_STAT_H__
|
#ifndef __SYS_STAT_H__
|
||||||
#define __SYS_STAT_H__
|
#define __SYS_STAT_H__
|
||||||
|
|
||||||
#endif
|
#include <sys/types.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
#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
|
||||||
|
|
|
@ -235,4 +235,6 @@ struct winsize {
|
||||||
#define SIOCDEVPRIVATE 0x89F0
|
#define SIOCDEVPRIVATE 0x89F0
|
||||||
#define SIOCPROTOPRIVATE 0x89E0
|
#define SIOCPROTOPRIVATE 0x89E0
|
||||||
|
|
||||||
|
int ioctl(int fildes, int cmd, ...);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <fcntl.h>
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
|
||||||
#include "libc.h"
|
#include "libc.h"
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <fcntl.h>
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#include "libc.h"
|
#include "libc.h"
|
||||||
|
|
||||||
|
|
|
@ -28,12 +28,7 @@ typedef rt_int32_t Elf64_Sword;
|
||||||
typedef rt_uint32_t Elf64_Word;
|
typedef rt_uint32_t Elf64_Word;
|
||||||
typedef rt_uint64_t Elf64_Xword;
|
typedef rt_uint64_t Elf64_Xword;
|
||||||
typedef rt_int64_t Elf64_Sxword;
|
typedef rt_int64_t Elf64_Sxword;
|
||||||
typedef uint16_t Elf64_Section;
|
typedef rt_uint16_t Elf64_Section;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* e_ident[] magic number */
|
/* e_ident[] magic number */
|
||||||
#define ELFMAG0 0x7f /* e_ident[EI_MAG0] */
|
#define ELFMAG0 0x7f /* e_ident[EI_MAG0] */
|
||||||
|
|
|
@ -533,6 +533,7 @@
|
||||||
#ifndef LWIP_SOCKET
|
#ifndef LWIP_SOCKET
|
||||||
#define LWIP_SOCKET 1
|
#define LWIP_SOCKET 1
|
||||||
#endif
|
#endif
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.
|
* LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.
|
||||||
|
|
|
@ -572,6 +572,7 @@
|
||||||
#ifndef LWIP_SOCKET
|
#ifndef LWIP_SOCKET
|
||||||
#define LWIP_SOCKET 1
|
#define LWIP_SOCKET 1
|
||||||
#endif
|
#endif
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.
|
* LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.
|
||||||
|
|
|
@ -572,6 +572,7 @@
|
||||||
#ifndef LWIP_SOCKET
|
#ifndef LWIP_SOCKET
|
||||||
#define LWIP_SOCKET 1
|
#define LWIP_SOCKET 1
|
||||||
#endif
|
#endif
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.
|
* LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.
|
||||||
|
|
|
@ -579,6 +579,7 @@
|
||||||
#ifndef LWIP_SOCKET
|
#ifndef LWIP_SOCKET
|
||||||
#define LWIP_SOCKET 1
|
#define LWIP_SOCKET 1
|
||||||
#endif
|
#endif
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.
|
* LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2018-05-18 ChenYong First version
|
* 2018-05-18 ChenYong First version
|
||||||
*/
|
*/
|
||||||
|
#include <stdlib.h>
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#include <netdev_ipaddr.h>
|
#include <netdev_ipaddr.h>
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
* 2108-05-24 ChenYong Add socket abstraction layer
|
* 2108-05-24 ChenYong Add socket abstraction layer
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
|
|
|
@ -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 <rtconfig.h>
|
|
||||||
|
|
||||||
#if defined(RT_USING_NEWLIB) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
|
|
||||||
/* 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
|
|
||||||
#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 <stdint.h>
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
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
|
|
|
@ -1146,9 +1146,6 @@ struct rt_device_graphic_ops
|
||||||
/**@}*/
|
/**@}*/
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* definitions for libc */
|
|
||||||
#include "rtlibc.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -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
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ struct pt_regs {
|
||||||
* so it should be a part of pt_regs */
|
* so it should be a part of pt_regs */
|
||||||
struct mips_fpu_struct fpu;
|
struct mips_fpu_struct fpu;
|
||||||
#endif
|
#endif
|
||||||
} __aligned(8);
|
} __attribute__((aligned(8)));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Note: For call stack o32 ABI has 0x8 shadowsoace Here */
|
/* Note: For call stack o32 ABI has 0x8 shadowsoace Here */
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
* 2021-02-11 lizhirui add gp support
|
* 2021-02-11 lizhirui add gp support
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
#include <rthw.h>
|
#include <rthw.h>
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
|
||||||
#include "cpuport.h"
|
#include "cpuport.h"
|
||||||
#include "stack.h"
|
#include "stack.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief from thread used interrupt context switch
|
* @brief from thread used interrupt context switch
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue