*
* 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
#ifndef PACKET_HAS_SLAVE
#define PACKET_HAS_SLAVE 0
#endif
+#ifndef CONSOLE_STDIN
+#define CONSOLE_STDIN 0
+#endif
#define USE_SERIAL_STDIN (USE_SERIAL_0_STDIN + \
USE_SERIAL_1_STDIN + \
USE_SERIAL_8_STDIN + \
USE_SERIAL_9_STDIN)
-#define AO_NUM_STDIOS (HAS_USB + PACKET_HAS_SLAVE + USE_SERIAL_STDIN)
+#define AO_NUM_STDIOS (HAS_USB + PACKET_HAS_SLAVE + USE_SERIAL_STDIN + CONSOLE_STDIN)
__xdata struct ao_stdio ao_stdios[AO_NUM_STDIOS];
void (*putchar)(char),
void (*flush)(void)) __reentrant
{
-#if AO_NUM_STDIOS > 1
if (ao_num_stdios == AO_NUM_STDIOS)
ao_panic(AO_PANIC_STDIO);
-#endif
ao_stdios[ao_num_stdios]._pollchar = _pollchar;
ao_stdios[ao_num_stdios].putchar = putchar;
ao_stdios[ao_num_stdios].flush = flush;