diff options
| author | bernard <[email protected]> | 2017-10-17 22:27:06 +0800 |
|---|---|---|
| committer | bernard <[email protected]> | 2017-10-17 22:27:06 +0800 |
| commit | 8a38307e2cce628017e9eb7153ae7a2430a3d9ef (patch) | |
| tree | 1eb4cfdceddb9c542806acf226d463de62271abb /components/libc | |
| parent | 947d8aa4d2d0742eb5ac1968406893f4e58a279b (diff) | |
[libc] Add RT_USING_POSIX macro.
1. Add macro check in rtdebug.h;
2. Use RT_USING_POSIX for poll/select, stdin etc.
3. Split dfs_posix.h to dfs_posix.h, dfs_poll.h and dfs_select.h;
Diffstat (limited to 'components/libc')
| -rw-r--r-- | components/libc/KConfig | 8 | ||||
| -rw-r--r-- | components/libc/compilers/armlibc/stubs.c | 6 | ||||
| -rw-r--r-- | components/libc/compilers/dlib/syscall_read.c | 2 | ||||
| -rw-r--r-- | components/libc/compilers/dlib/syscall_write.c | 2 | ||||
| -rw-r--r-- | components/libc/compilers/newlib/libc.c | 2 |
5 files changed, 11 insertions, 9 deletions
diff --git a/components/libc/KConfig b/components/libc/KConfig index c245069e30..79bc78d205 100644 --- a/components/libc/KConfig +++ b/components/libc/KConfig @@ -1,4 +1,4 @@ -menu "libc" +menu "POSIX layer and C standard library" config RT_USING_LIBC bool "Enable libc APIs from toolchain" @@ -9,12 +9,13 @@ config RT_USING_PTHREADS default n if RT_USING_LIBC - config RT_USING_POSIX_STDIN - bool "Enable stdin" + config RT_USING_POSIX + bool "Enable POSIX layer for poll/select, stdin etc" select RT_USING_DFS select RT_USING_DFS_DEVFS default y + if RT_USING_POSIX config RT_USING_POSIX_MMAP bool "Enable mmap() api" default n @@ -22,6 +23,7 @@ if RT_USING_LIBC config RT_USING_POSIX_TERMIOS bool "Enable termios feature" default n + endif endif endmenu diff --git a/components/libc/compilers/armlibc/stubs.c b/components/libc/compilers/armlibc/stubs.c index 719665b78e..74ca5fd1f6 100644 --- a/components/libc/compilers/armlibc/stubs.c +++ b/components/libc/compilers/armlibc/stubs.c @@ -153,7 +153,7 @@ int _sys_read(FILEHANDLE fh, unsigned char *buf, unsigned len, int mode) if (fh == STDIN) { -#ifdef RT_USING_POSIX_STDIN +#ifdef RT_USING_POSIX size = libc_stdio_read(buf, len); return len - size; #else @@ -192,7 +192,7 @@ int _sys_write(FILEHANDLE fh, const unsigned char *buf, unsigned len, int mode) #ifndef RT_USING_CONSOLE return 0; #else -#ifdef RT_USING_POSIX_STDIN +#ifdef RT_USING_POSIX size = libc_stdio_write(buf, len); return len - size; #else @@ -319,7 +319,7 @@ int fgetc(FILE *f) { char ch; -#ifdef RT_USING_POSIX_STDIN +#ifdef RT_USING_POSIX if (libc_stdio_read(&ch, 1) == 1) return ch; #endif diff --git a/components/libc/compilers/dlib/syscall_read.c b/components/libc/compilers/dlib/syscall_read.c index 9dcaa9df65..e7e99629d7 100644 --- a/components/libc/compilers/dlib/syscall_read.c +++ b/components/libc/compilers/dlib/syscall_read.c @@ -38,7 +38,7 @@ size_t __read(int handle, unsigned char *buf, size_t len) if (handle == _LLIO_STDIN) { -#ifdef RT_USING_POSIX_STDIN +#ifdef RT_USING_POSIX return libc_stdio_read(buf, len); #else return _LLIO_ERROR; diff --git a/components/libc/compilers/dlib/syscall_write.c b/components/libc/compilers/dlib/syscall_write.c index e2cb04000b..79d702339a 100644 --- a/components/libc/compilers/dlib/syscall_write.c +++ b/components/libc/compilers/dlib/syscall_write.c @@ -43,7 +43,7 @@ size_t __write(int handle, const unsigned char *buf, size_t len) return _LLIO_ERROR; #else -#ifdef RT_USING_POSIX_STDIN +#ifdef RT_USING_POSIX return libc_stdio_write((void*)buf, len); #else rt_device_t console_device; diff --git a/components/libc/compilers/newlib/libc.c b/components/libc/compilers/newlib/libc.c index c06ded705e..f8fbbb5e8f 100644 --- a/components/libc/compilers/newlib/libc.c +++ b/components/libc/compilers/newlib/libc.c @@ -43,7 +43,7 @@ int libc_system_init(void) dev_console = rt_console_get_device(); if (dev_console) { - #if defined(RT_USING_DFS_DEVFS) && defined(RT_USING_POSIX_STDIN) + #if defined(RT_USING_POSIX) libc_stdio_set_console(dev_console->parent.name, O_RDWR); #else libc_stdio_set_console(dev_console->parent.name, O_WRONLY); |
