未验证 提交 b516cbd2 编写于 作者: G guo 提交者: GitHub

Merge pull request #4790 from mysterywolf/errno

[master][rtlibc] remove libc_errno.h & libc_limits.h
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#ifdef RT_USING_LIBC #ifdef RT_USING_LIBC
#include <sys/types.h> #include <sys/types.h>
#endif #endif
#include <sys/errno.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <rtdevice.h> #include <rtdevice.h>
#include <rtthread.h> #include <rtthread.h>
#include <sys/errno.h>
static const struct rt_clock_cputime_ops *_cputime_ops = RT_NULL; static const struct rt_clock_cputime_ops *_cputime_ops = RT_NULL;
...@@ -24,7 +25,7 @@ float clock_cpu_getres(void) ...@@ -24,7 +25,7 @@ float clock_cpu_getres(void)
if (_cputime_ops) if (_cputime_ops)
return _cputime_ops->cputime_getres(); return _cputime_ops->cputime_getres();
rt_set_errno(-ENOSYS); rt_set_errno(ENOSYS);
return 0; return 0;
} }
...@@ -38,7 +39,7 @@ uint32_t clock_cpu_gettime(void) ...@@ -38,7 +39,7 @@ uint32_t clock_cpu_gettime(void)
if (_cputime_ops) if (_cputime_ops)
return _cputime_ops->cputime_gettime(); return _cputime_ops->cputime_gettime();
rt_set_errno(-ENOSYS); rt_set_errno(ENOSYS);
return 0; return 0;
} }
......
...@@ -11,8 +11,9 @@ ...@@ -11,8 +11,9 @@
#include <rthw.h> #include <rthw.h>
#include <rtdevice.h> #include <rtdevice.h>
#include <stdint.h> #include <stdint.h>
#include <sys/errno.h>
#if defined(RT_USING_POSIX) #ifdef RT_USING_POSIX
#include <dfs_file.h> #include <dfs_file.h>
#include <dfs_posix.h> #include <dfs_posix.h>
#include <dfs_poll.h> #include <dfs_poll.h>
...@@ -374,7 +375,7 @@ rt_size_t rt_pipe_read(rt_device_t device, rt_off_t pos, void *buffer, rt_size_t ...@@ -374,7 +375,7 @@ rt_size_t rt_pipe_read(rt_device_t device, rt_off_t pos, void *buffer, rt_size_t
if (device == RT_NULL) if (device == RT_NULL)
{ {
rt_set_errno(-EINVAL); rt_set_errno(EINVAL);
return 0; return 0;
} }
if (count == 0) return 0; if (count == 0) return 0;
...@@ -402,7 +403,7 @@ rt_size_t rt_pipe_write(rt_device_t device, rt_off_t pos, const void *buffer, rt ...@@ -402,7 +403,7 @@ rt_size_t rt_pipe_write(rt_device_t device, rt_off_t pos, const void *buffer, rt
if (device == RT_NULL) if (device == RT_NULL)
{ {
rt_set_errno(-EINVAL); rt_set_errno(EINVAL);
return 0; return 0;
} }
if (count == 0) return 0; if (count == 0) return 0;
...@@ -516,12 +517,12 @@ int rt_pipe_delete(const char *name) ...@@ -516,12 +517,12 @@ int rt_pipe_delete(const char *name)
} }
else else
{ {
result = -ENODEV; result = -RT_EINVAL;
} }
} }
else else
{ {
result = -ENODEV; result = -RT_EINVAL;
} }
return result; return result;
......
...@@ -97,7 +97,7 @@ int finsh_set_prompt(const char * prompt) ...@@ -97,7 +97,7 @@ int finsh_set_prompt(const char * prompt)
} }
#endif /* RT_USING_HEAP */ #endif /* RT_USING_HEAP */
#if defined(RT_USING_DFS) #ifdef RT_USING_DFS
#include <dfs_posix.h> #include <dfs_posix.h>
#endif /* RT_USING_DFS */ #endif /* RT_USING_DFS */
......
...@@ -9,20 +9,17 @@ CPPPATH = [cwd] ...@@ -9,20 +9,17 @@ CPPPATH = [cwd]
if GetDepend('RT_USING_LIBC'): if GetDepend('RT_USING_LIBC'):
src += Glob('*.c') src += Glob('*.c')
else: if GetDepend('RT_USING_POSIX') == False:
if GetDepend('RT_LIBC_USING_TIME'): SrcRemove(src, ['unistd.c'])
src += ['time.c'] elif GetDepend('RT_LIBC_USING_TIME'):
src += ['time.c']
if GetDepend('RT_USING_POSIX') == False:
SrcRemove(src, ['unistd.c'])
if rtconfig.CROSS_TOOL == 'keil': if rtconfig.CROSS_TOOL == 'keil':
CPPDEFINES = ['__CLK_TCK=RT_TICK_PER_SECOND'] CPPDEFINES = ['__CLK_TCK=RT_TICK_PER_SECOND']
else: else:
CPPDEFINES = [] CPPDEFINES = []
if GetDepend('RT_USING_LIBC') or GetDepend('RT_LIBC_USING_TIME'): group = DefineGroup('libc', src, depend = [], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
group = DefineGroup('libc', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
list = os.listdir(cwd) list = os.listdir(cwd)
for d in list: for d in list:
......
...@@ -6,8 +6,10 @@ src = [] ...@@ -6,8 +6,10 @@ src = []
cwd = GetCurrentDir() cwd = GetCurrentDir()
CPPPATH = [cwd] CPPPATH = [cwd]
group = [] group = []
src += Glob('*.c')
if GetDepend('RT_USING_LIBC'):
src += Glob('*.c')
if rtconfig.PLATFORM != 'gcc' or rtconfig.ARCH == 'sim': if rtconfig.PLATFORM != 'gcc' or rtconfig.ARCH == 'sim':
group = DefineGroup('libc', src, depend = ['RT_USING_LIBC'], CPPPATH = CPPPATH) group = DefineGroup('libc', src, depend = [], CPPPATH = CPPPATH)
Return('group') Return('group')
...@@ -5,18 +5,10 @@ ...@@ -5,18 +5,10 @@
* *
* Change Logs: * Change Logs:
* Date Author Notes * Date Author Notes
* 2016-11-12 Bernard The first version * 2021-05-22 Meco Man The first version.
*/ */
#ifndef _SYS_ERRNO_H
#ifndef LIBC_ERRNO_H__ #define _SYS_ERRNO_H
#define LIBC_ERRNO_H__
#include <rtconfig.h>
#if defined(RT_USING_NEWLIB) || defined(_WIN32) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
/* use errno.h file in toolchains */
#include <errno.h>
#endif
#if defined(__CC_ARM) #if defined(__CC_ARM)
/* /*
...@@ -29,6 +21,7 @@ defined in armcc/errno.h ...@@ -29,6 +21,7 @@ defined in armcc/errno.h
#define EINVAL 5 #define EINVAL 5
#define ENOMEM 6 #define ENOMEM 6
*/ */
#define ERROR_BASE_NO 7 #define ERROR_BASE_NO 7
#elif defined(__IAR_SYSTEMS_ICC__) #elif defined(__IAR_SYSTEMS_ICC__)
...@@ -41,12 +34,11 @@ defined in armcc/errno.h ...@@ -41,12 +34,11 @@ defined in armcc/errno.h
#define ERROR_BASE_NO 36 #define ERROR_BASE_NO 36
#else #else
#define ERROR_BASE_NO 0 #define ERROR_BASE_NO 0
#endif #endif
#if !defined(RT_USING_NEWLIB) && !defined(_WIN32) && !(defined( __GNUC__ ) && !defined(__ARMCC_VERSION)) #if defined(__CC_ARM) || defined(__IAR_SYSTEMS_ICC__)
#include <errno.h>
#define EPERM (ERROR_BASE_NO + 1) #define EPERM (ERROR_BASE_NO + 1)
#define ENOENT (ERROR_BASE_NO + 2) #define ENOENT (ERROR_BASE_NO + 2)
#define ESRCH (ERROR_BASE_NO + 3) #define ESRCH (ERROR_BASE_NO + 3)
...@@ -200,7 +192,6 @@ defined in armcc/errno.h ...@@ -200,7 +192,6 @@ defined in armcc/errno.h
#define ENOTRECOVERABLE (ERROR_BASE_NO + 131) #define ENOTRECOVERABLE (ERROR_BASE_NO + 131)
#define ERFKILL (ERROR_BASE_NO + 132) #define ERFKILL (ERROR_BASE_NO + 132)
#define EHWPOISON (ERROR_BASE_NO + 133) #define EHWPOISON (ERROR_BASE_NO + 133)
#endif #endif
#endif #endif
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
*/ */
#include "sys/time.h" #include "sys/time.h"
#include <sys/errno.h>
#include <rtthread.h> #include <rtthread.h>
#ifdef RT_USING_DEVICE #ifdef RT_USING_DEVICE
......
...@@ -12,8 +12,9 @@ ...@@ -12,8 +12,9 @@
#include <rtthread.h> #include <rtthread.h>
#ifdef RT_USING_HEAP /* Memory routine */ #ifdef RT_USING_HEAP /* Memory routine */
void * #include <sys/errno.h>
_malloc_r (struct _reent *ptr, size_t size)
void * _malloc_r (struct _reent *ptr, size_t size)
{ {
void* result; void* result;
...@@ -26,8 +27,7 @@ _malloc_r (struct _reent *ptr, size_t size) ...@@ -26,8 +27,7 @@ _malloc_r (struct _reent *ptr, size_t size)
return result; return result;
} }
void * void * _realloc_r (struct _reent *ptr, void *old, size_t newlen)
_realloc_r (struct _reent *ptr, void *old, size_t newlen)
{ {
void* result; void* result;
...@@ -53,15 +53,13 @@ void *_calloc_r (struct _reent *ptr, size_t size, size_t len) ...@@ -53,15 +53,13 @@ void *_calloc_r (struct _reent *ptr, size_t size, size_t len)
return result; return result;
} }
void void _free_r (struct _reent *ptr, void *addr)
_free_r (struct _reent *ptr, void *addr)
{ {
rt_free (addr); rt_free (addr);
} }
#else #else
void * void * _sbrk_r(struct _reent *ptr, ptrdiff_t incr)
_sbrk_r(struct _reent *ptr, ptrdiff_t incr)
{ {
return RT_NULL; return RT_NULL;
} }
......
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
#include "posix_getline.h" #include "posix_getline.h"
#include <stdlib.h> #include <stdlib.h>
#include <errno.h> #include <limits.h>
#include <rtlibc.h> #include <sys/errno.h>
ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream) { ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream) {
char *cur_pos, *new_lineptr; char *cur_pos, *new_lineptr;
...@@ -43,7 +43,7 @@ ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream) { ...@@ -43,7 +43,7 @@ ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream) {
break; break;
if ((*lineptr + *n - cur_pos) < 2) { if ((*lineptr + *n - cur_pos) < 2) {
if (SSIZE_MAX / 2 < *n) { if (LONG_MAX / 2 < *n) {
#ifdef EOVERFLOW #ifdef EOVERFLOW
errno = EOVERFLOW; errno = EOVERFLOW;
#else #else
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <sys/time.h> #include <sys/time.h>
#include <unistd.h> #include <unistd.h>
#include <errno.h> #include <sys/errno.h>
#include <fcntl.h> #include <fcntl.h>
#endif #endif
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
#include <rthw.h> #include <rthw.h>
#include <rtthread.h> #include <rtthread.h>
#include <time.h> #include <sys/time.h>
#include <sys/errno.h>
#include "posix_signal.h" #include "posix_signal.h"
#define sig_valid(sig_no) (sig_no >= 0 && sig_no < RT_SIG_MAX) #define sig_valid(sig_no) (sig_no >= 0 && sig_no < RT_SIG_MAX)
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#include <string.h> #include <string.h>
#include <rtthread.h> #include <rtthread.h>
#include <dfs_posix.h> #include <dfs_posix.h>
#include <sys/errno.h>
#include <termios.h> #include <termios.h>
int tcgetattr(int fd, struct termios *tio) int tcgetattr(int fd, struct termios *tio)
......
...@@ -54,24 +54,18 @@ typedef uintptr_t mem_ptr_t; ...@@ -54,24 +54,18 @@ typedef uintptr_t mem_ptr_t;
#define S32_F "ld" #define S32_F "ld"
#define X32_F "lx" #define X32_F "lx"
#ifdef RT_USING_LIBC #include <sys/errno.h>
#if !defined(__CC_ARM) && !defined(__IAR_SYSTEMS_ICC__)
/* some errno not defined in newlib */ /* some errno not defined in newlib */
#ifndef ENSRNOTFOUND
#define ENSRNOTFOUND 163 /* Domain name not found */ #define ENSRNOTFOUND 163 /* Domain name not found */
/* WARNING: ESHUTDOWN also not defined in newlib. We chose /* WARNING: ESHUTDOWN also not defined in newlib. We chose
180 here because the number "108" which is used 180 here because the number "108" which is used
in arch.h has been assigned to another error code. */ in arch.h has been assigned to another error code. */
#define ESHUTDOWN 180
#endif /* __CC_ARM/__IAR_SYSTEMS_ICC__ */
#endif #endif
#if defined(RT_USING_LIBC) || defined(RT_LIBC_USING_TIME) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION)) /* LWIP_TIMEVAL_PRIVATE: provided by <sys/time.h> */
#include <sys/time.h> #include <sys/time.h>
#define LWIP_TIMEVAL_PRIVATE 0 #define LWIP_TIMEVAL_PRIVATE 0
#else
#define LWIP_TIMEVAL_PRIVATE 1
#endif
#if defined(__CC_ARM) /* ARMCC compiler */ #if defined(__CC_ARM) /* ARMCC compiler */
#define PACK_STRUCT_FIELD(x) x #define PACK_STRUCT_FIELD(x) x
...@@ -105,7 +99,7 @@ void sys_arch_assert(const char* file, int line); ...@@ -105,7 +99,7 @@ void sys_arch_assert(const char* file, int line);
#define LWIP_PLATFORM_DIAG(x) do {rt_kprintf x;} while(0) #define LWIP_PLATFORM_DIAG(x) do {rt_kprintf x;} while(0)
#define LWIP_PLATFORM_ASSERT(x) do {rt_kprintf(x); sys_arch_assert(__FILE__, __LINE__);}while(0) #define LWIP_PLATFORM_ASSERT(x) do {rt_kprintf(x); sys_arch_assert(__FILE__, __LINE__);}while(0)
#include "string.h" #include <string.h>
#define SYS_ARCH_DECL_PROTECT(level) #define SYS_ARCH_DECL_PROTECT(level)
#define SYS_ARCH_PROTECT(level) rt_enter_critical() #define SYS_ARCH_PROTECT(level) rt_enter_critical()
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include <rtconfig.h> #include <rtconfig.h>
#define ERRNO 1 #define ERRNO
#define NO_SYS 0 #define NO_SYS 0
#define LWIP_SOCKET 1 #define LWIP_SOCKET 1
......
...@@ -45,12 +45,18 @@ ...@@ -45,12 +45,18 @@
#define S32_F "ld" #define S32_F "ld"
#define X32_F "lx" #define X32_F "lx"
#if defined(RT_USING_LIBC) || defined(RT_LIBC_USING_TIME) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION)) #include <sys/errno.h>
/* some errno not defined in newlib */
#ifndef ENSRNOTFOUND
#define ENSRNOTFOUND 163 /* Domain name not found */
/* WARNING: ESHUTDOWN also not defined in newlib. We chose
180 here because the number "108" which is used
in arch.h has been assigned to another error code. */
#endif
/* LWIP_TIMEVAL_PRIVATE: provided by <sys/time.h> */
#include <sys/time.h> #include <sys/time.h>
#define LWIP_TIMEVAL_PRIVATE 0 #define LWIP_TIMEVAL_PRIVATE 0
#else
#define LWIP_TIMEVAL_PRIVATE 1
#endif
#if defined(__CC_ARM) /* ARMCC compiler */ #if defined(__CC_ARM) /* ARMCC compiler */
#define PACK_STRUCT_FIELD(x) x #define PACK_STRUCT_FIELD(x) x
...@@ -84,7 +90,7 @@ void sys_arch_assert(const char* file, int line); ...@@ -84,7 +90,7 @@ void sys_arch_assert(const char* file, int line);
#define LWIP_PLATFORM_DIAG(x) do {rt_kprintf x;} while(0) #define LWIP_PLATFORM_DIAG(x) do {rt_kprintf x;} while(0)
#define LWIP_PLATFORM_ASSERT(x) do {rt_kprintf(x); sys_arch_assert(__FILE__, __LINE__);}while(0) #define LWIP_PLATFORM_ASSERT(x) do {rt_kprintf(x); sys_arch_assert(__FILE__, __LINE__);}while(0)
#include "string.h" #include <string.h>
#define SYS_ARCH_DECL_PROTECT(level) #define SYS_ARCH_DECL_PROTECT(level)
#define SYS_ARCH_PROTECT(level) rt_enter_critical() #define SYS_ARCH_PROTECT(level) rt_enter_critical()
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include <rtconfig.h> #include <rtconfig.h>
#define ERRNO 1 #define LWIP_ERRNO_STDINCLUDE
#define LWIP_IPV4 1 #define LWIP_IPV4 1
......
...@@ -45,25 +45,18 @@ ...@@ -45,25 +45,18 @@
#define S32_F "ld" #define S32_F "ld"
#define X32_F "lx" #define X32_F "lx"
#ifdef RT_USING_LIBC #include <sys/errno.h>
#include <errno.h> /* some errno not defined in newlib */
#ifndef ENSRNOTFOUND #ifndef ENSRNOTFOUND
#define ENSRNOTFOUND 163 /* Domain name not found */ #define ENSRNOTFOUND 163 /* Domain name not found */
#endif
#ifndef ESHUTDOWN
/* WARNING: ESHUTDOWN also not defined in newlib. We chose /* WARNING: ESHUTDOWN also not defined in newlib. We chose
180 here because the number "108" which is used 180 here because the number "108" which is used
in arch.h has been assigned to another error code. */ in arch.h has been assigned to another error code. */
#define ESHUTDOWN 180
#endif #endif
#endif /* RT_USING_LIBC */
#if defined(RT_USING_LIBC) || defined(RT_LIBC_USING_TIME) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION)) /* LWIP_TIMEVAL_PRIVATE: provided by <sys/time.h> */
#include <sys/time.h> #include <sys/time.h>
#define LWIP_TIMEVAL_PRIVATE 0 #define LWIP_TIMEVAL_PRIVATE 0
#else
#define LWIP_TIMEVAL_PRIVATE 1
#endif
#if defined(__CC_ARM) /* ARMCC compiler */ #if defined(__CC_ARM) /* ARMCC compiler */
#define PACK_STRUCT_FIELD(x) x #define PACK_STRUCT_FIELD(x) x
......
...@@ -181,7 +181,7 @@ extern int errno; ...@@ -181,7 +181,7 @@ extern int errno;
/* Define LWIP_ERRNO_STDINCLUDE if you want to include <errno.h> here */ /* Define LWIP_ERRNO_STDINCLUDE if you want to include <errno.h> here */
#ifdef LWIP_ERRNO_STDINCLUDE #ifdef LWIP_ERRNO_STDINCLUDE
#include <errno.h> #include <sys/errno.h>
#else /* LWIP_ERRNO_STDINCLUDE */ #else /* LWIP_ERRNO_STDINCLUDE */
/* Define LWIP_ERRNO_INCLUDE to an equivalent of <errno.h> to include the error defines here */ /* Define LWIP_ERRNO_INCLUDE to an equivalent of <errno.h> to include the error defines here */
#ifdef LWIP_ERRNO_INCLUDE #ifdef LWIP_ERRNO_INCLUDE
......
...@@ -3,8 +3,7 @@ ...@@ -3,8 +3,7 @@
#include <rtconfig.h> #include <rtconfig.h>
#define ERRNO 1 #define LWIP_ERRNO_STDINCLUDE
#define LWIP_SOCKET_SELECT 1 #define LWIP_SOCKET_SELECT 1
#define LWIP_SOCKET_POLL 1 #define LWIP_SOCKET_POLL 1
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#include <dfs_file.h> #include <dfs_file.h>
#include <dfs_poll.h> #include <dfs_poll.h>
#include <dfs_net.h> #include <dfs_net.h>
#include <sys/errno.h>
#include <sys/socket.h> #include <sys/socket.h>
int accept(int s, struct sockaddr *addr, socklen_t *addrlen) int accept(int s, struct sockaddr *addr, socklen_t *addrlen)
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
/* Multi-thread searching. /* Multi-thread searching.
Illustrates: thread cancellation, cleanup handlers. */ Illustrates: thread cancellation, cleanup handlers. */
#include <errno.h> #include <sys/errno.h>
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
#include <stdlib.h> #include <stdlib.h>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Change Logs: * Change Logs:
* Date Author Notes * Date Author Notes
*/ */
#include <errno.h> #include <sys/errno.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <pthread.h> #include <pthread.h>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
* Test case that illustrates a timed wait on a condition variable. * Test case that illustrates a timed wait on a condition variable.
*/ */
#include <errno.h> #include <sys/errno.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <pthread.h> #include <pthread.h>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <finsh.h> #include <finsh.h>
#include <errno.h> #include <sys/errno.h>
#include <sys/fcntl.h> #include <sys/fcntl.h>
#include <sys/stat.h> #include <sys/stat.h>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <finsh.h> #include <finsh.h>
#include <errno.h> #include <sys/errno.h>
static int errors = 0; static int errors = 0;
static void merror(const char *msg) static void merror(const char *msg)
......
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2020-09-05 Meco Man the first version
*/
#ifndef LIBC_LIMITS_H__
#define LIBC_LIMITS_H__
#include <limits.h>
#include <rtconfig.h>
#ifdef RT_USING_POSIX
#ifndef SSIZE_MAX
# define SSIZE_MAX LONG_MAX
#endif
#endif
#endif
...@@ -13,14 +13,12 @@ ...@@ -13,14 +13,12 @@
/* definitions for libc if toolchain has no these definitions */ /* definitions for libc if toolchain has no these definitions */
#include "libc/libc_stat.h" #include "libc/libc_stat.h"
#include "libc/libc_errno.h"
#include "libc/libc_fcntl.h" #include "libc/libc_fcntl.h"
#include "libc/libc_ioctl.h" #include "libc/libc_ioctl.h"
#include "libc/libc_dirent.h" #include "libc/libc_dirent.h"
#include "libc/libc_signal.h" #include "libc/libc_signal.h"
#include "libc/libc_fdset.h" #include "libc/libc_fdset.h"
#include "libc/libc_limits.h"
#include "libc/libc_stdio.h" #include "libc/libc_stdio.h"
#ifndef RT_USING_LIBC #ifndef RT_USING_LIBC
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册