#include <ao_pins.h>
#include <ao_arch.h>
+/* replace stdio macros with direct calls to our functions */
+#undef putchar
+#undef getchar
+#define putchar(c) ao_putchar(c)
+#define getchar ao_getchar
+
+extern int ao_putchar(char c);
+extern char ao_getchar(void);
+
#define TRUE 1
#define FALSE 0
-/* Convert a __data pointer into an __xdata pointer */
-#ifndef DATA_TO_XDATA
-#define DATA_TO_XDATA(a) (a)
-#endif
-#ifndef PDATA_TO_XDATA
-#define PDATA_TO_XDATA(a) (a)
-#endif
-#ifndef CODE_TO_XDATA
-#define CODE_TO_XDATA(a) (a)
-#endif
-
#ifndef HAS_TASK
#define HAS_TASK 1
#endif
void
ao_cmd_init(void);
+void
+ao_cmd(void);
+
#if HAS_CMD_FILTER
/*
* Provided by an external module to filter raw command lines
#if HAS_MONITOR
-extern const char const * const ao_state_names[];
+extern const char * const ao_state_names[];
#define AO_MONITOR_RING 8