]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/libwrap/sys/write.c
Recreate the RISC-V-Qemu demo using Vanilla Eclipse in place of Freedom Studio as...
[freertos] / FreeRTOS / Demo / RISC-V-Qemu-sifive_e-FreedomStudio / freedom-e-sdk / libwrap / sys / write.c
1 /* See LICENSE of license details. */\r
2 \r
3 #include <stdint.h>\r
4 #include <errno.h>\r
5 #include <unistd.h>\r
6 #include <sys/types.h>\r
7 \r
8 #include "platform.h"\r
9 #include "stub.h"\r
10 #include "weak_under_alias.h"\r
11 \r
12 ssize_t __wrap_write(int fd, const void* ptr, size_t len)\r
13 {\r
14   const uint8_t * current = (const uint8_t *)ptr;\r
15 \r
16   if (isatty(fd)) {\r
17     for (size_t jj = 0; jj < len; jj++) {\r
18       while (UART0_REG(UART_REG_TXFIFO) & 0x80000000) ;\r
19       UART0_REG(UART_REG_TXFIFO) = current[jj];\r
20 \r
21       if (current[jj] == '\n') {\r
22         while (UART0_REG(UART_REG_TXFIFO) & 0x80000000) ;\r
23         UART0_REG(UART_REG_TXFIFO) = '\r';\r
24       }\r
25     }\r
26     return len;\r
27   }\r
28 \r
29   return _stub(EBADF);\r
30 }\r
31 weak_under_alias(write);\r