altos/stmf0: Add 'ao_serial_shutdown'
[fw/altos] / src / kernel / ao_serial.h
index baf213c01ad510eee2d278439ef546df2d04b321..3500a0933d80b268898656fb123b212d5c6ff65c 100644 (file)
@@ -3,7 +3,8 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -25,8 +26,8 @@
 #define AO_SERIAL_SPEED_115200 4
 
 #if HAS_SERIAL_0
-extern volatile __xdata struct ao_fifo ao_serial0_rx_fifo;
-extern volatile __xdata struct ao_fifo ao_serial0_tx_fifo;
+extern volatile struct ao_fifo ao_serial0_rx_fifo;
+extern volatile struct ao_fifo ao_serial0_tx_fifo;
 
 char
 ao_serial0_getchar(void);
@@ -34,6 +35,9 @@ ao_serial0_getchar(void);
 int
 _ao_serial0_pollchar(void);
 
+uint8_t
+_ao_serial0_sleep_for(uint16_t timeout);
+
 void
 ao_serial0_putchar(char c);
 
@@ -45,8 +49,8 @@ ao_serial0_set_speed(uint8_t speed);
 #endif
 
 #if HAS_SERIAL_1
-extern volatile __xdata struct ao_fifo ao_serial1_rx_fifo;
-extern volatile __xdata struct ao_fifo ao_serial1_tx_fifo;
+extern volatile struct ao_fifo ao_serial1_rx_fifo;
+extern volatile struct ao_fifo ao_serial1_tx_fifo;
 
 char
 ao_serial1_getchar(void);
@@ -54,6 +58,9 @@ ao_serial1_getchar(void);
 int
 _ao_serial1_pollchar(void);
 
+uint8_t
+_ao_serial1_sleep_for(uint16_t timeout);
+
 void
 ao_serial1_putchar(char c);
 
@@ -65,8 +72,8 @@ ao_serial1_set_speed(uint8_t speed);
 #endif
 
 #if HAS_SERIAL_2
-extern volatile __xdata struct ao_fifo ao_serial2_rx_fifo;
-extern volatile __xdata struct ao_fifo ao_serial2_tx_fifo;
+extern volatile struct ao_fifo ao_serial2_rx_fifo;
+extern volatile struct ao_fifo ao_serial2_tx_fifo;
 
 char
 ao_serial2_getchar(void);
@@ -74,6 +81,9 @@ ao_serial2_getchar(void);
 int
 _ao_serial2_pollchar(void);
 
+uint8_t
+_ao_serial2_sleep_for(uint16_t timeout);
+
 void
 ao_serial2_putchar(char c);
 
@@ -85,8 +95,8 @@ ao_serial2_set_speed(uint8_t speed);
 #endif
 
 #if HAS_SERIAL_3
-extern volatile __xdata struct ao_fifo ao_serial3_rx_fifo;
-extern volatile __xdata struct ao_fifo ao_serial3_tx_fifo;
+extern volatile struct ao_fifo ao_serial3_rx_fifo;
+extern volatile struct ao_fifo ao_serial3_tx_fifo;
 
 char
 ao_serial3_getchar(void);
@@ -94,6 +104,9 @@ ao_serial3_getchar(void);
 int
 _ao_serial3_pollchar(void);
 
+uint8_t
+_ao_serial3_sleep_for(uint16_t timeout);
+
 void
 ao_serial3_putchar(char c);
 
@@ -104,6 +117,9 @@ void
 ao_serial3_set_speed(uint8_t speed);
 #endif
 
+void
+ao_serial_shutdown(void);
+
 void
 ao_serial_init(void);