[libc][syscall]移除libc_stdio_read/write函数,优化syscall

This commit is contained in:
Meco Man
2021-09-21 12:51:26 -04:00
parent 13b0b60b14
commit c8c632512a
8 changed files with 30 additions and 60 deletions

View File

@@ -11,17 +11,14 @@
#ifndef __RTT_LIBC_H__
#define __RTT_LIBC_H__
#include <stddef.h>
#ifdef __cplusplus
extern "C" {
#endif
int libc_system_init(void);
int libc_stdio_set_console(const char* device_name, int mode);
int libc_system_init(void);
int libc_stdio_get_console(void);
int libc_stdio_read(void* buffer, size_t size);
int libc_stdio_write(const void* buffer, size_t size);
int libc_stdio_set_console(const char* device_name, int mode);
#ifdef __cplusplus
}
#endif

View File

@@ -46,13 +46,4 @@ int libc_stdio_get_console(void) {
return std_fd;
}
int libc_stdio_read(void *buffer, size_t size)
{
return read(std_fd, buffer, size);
}
int libc_stdio_write(const void *buffer, size_t size)
{
return write(std_fd, buffer, size);
}
#endif

View File

@@ -25,14 +25,15 @@ size_t __read(int handle, unsigned char *buf, size_t len)
if (handle == _LLIO_STDIN)
{
#ifdef RT_USING_POSIX
return libc_stdio_read(buf, len);
return read(STDIN_FILENO, buf, len);
#else
return _LLIO_ERROR;
#endif
}
if ((handle == _LLIO_STDOUT) || (handle == _LLIO_STDERR))
else if ((handle == _LLIO_STDOUT) || (handle == _LLIO_STDERR))
{
return _LLIO_ERROR;
}
#ifndef RT_USING_DFS
return _LLIO_ERROR;

View File

@@ -30,19 +30,24 @@ size_t __write(int handle, const unsigned char *buf, size_t len)
#else
#ifdef RT_USING_POSIX
return libc_stdio_write((void*)buf, len);
return write(STDOUT_FILENO, (void*)buf, len);
#else
rt_device_t console_device;
console_device = rt_console_get_device();
if (console_device != 0) rt_device_write(console_device, 0, buf, len);
if (console_device != 0)
{
rt_device_write(console_device, 0, buf, len);
}
return len;
#endif
#endif
}
if (handle == _LLIO_STDIN) return _LLIO_ERROR;
else if (handle == _LLIO_STDIN)
{
return _LLIO_ERROR;
}
#ifndef RT_USING_DFS
return _LLIO_ERROR;