#include <uart.h>
#include <uart_private.h>
+#include <fcntl.h>
/* this file os a stub for host */
event *rx_event[UART_HW_NUM];
event *tx_event[UART_HW_NUM];
+void uart_host_rx_event(char c)
+{
+ /* only one uart */
+ if (rx_event[0])
+ rx_event[0](c);
+}
+
+void uart_host_tx_event(char c)
+{
+ /* only one uart */
+ if (tx_event[0])
+ tx_event[0](c);
+}
+
int8_t uart_setconf(uint8_t num, struct uart_config *u)
{
+ /* XXX todo */
return 0;
}
void uart_getconf(uint8_t num, struct uart_config *u)
{
+ return;
}
int uart_recv(uint8_t num)
{
+ fcntl(0, F_SETFL, 0);
return getchar();
}
-int uart_send_nowait(uint8_t num, char c)
+int uart_recv_nowait(uint8_t num)
{
- return putchar(c);
+ fcntl(0, F_SETFL, O_NONBLOCK);
+ return getchar();
}
-int uart_send(uint8_t num, char c)
+int uart_send_nowait(uint8_t num, char c)
{
- return put_char(c);
-}
-
-void uart_register_tx_event(uint8_t num, void (*f)(char))
-{
- tx_event = f;
+ return putchar(c);
}
-void uart_register_rx_event(uint8_t num, void (*f)(char))
+int uart_send(uint8_t num, char c)
{
- rx_event = f;
+ return putchar(c);
}