#define AO_NUM_STDIOS (HAS_USB + PACKET_HAS_SLAVE + USE_SERIAL_STDIN)
__xdata struct ao_stdio ao_stdios[AO_NUM_STDIOS];
-__data int8_t ao_cur_stdio;
-__data int8_t ao_num_stdios;
+__pdata int8_t ao_cur_stdio;
+__pdata int8_t ao_num_stdios;
void
putchar(char c)
return ao_stdios[ao_cur_stdio].echo;
}
-void
+int8_t
ao_add_stdio(char (*pollchar)(void),
void (*putchar)(char),
void (*flush)(void)) __reentrant
ao_stdios[ao_num_stdios].putchar = putchar;
ao_stdios[ao_num_stdios].flush = flush;
ao_stdios[ao_num_stdios].echo = 1;
- ao_num_stdios++;
+ return ao_num_stdios++;
}