#define FOXCONSOLE

#include <exec/types.h>

#define VAL_SPC  (char)32             /*   Space character               */
#define VAL_CR   (char)13             /*   Carriage return character     */
#define VAL_LF   (char)10             /*   Line feed character           */
#define VAL_BS   (char)8              /*   Back Space character          */
#define VAL_ESC  (char)27             /*   Escape character              */
#define VAL_DEL  (char)127            /*   Delete key (not del char)     */
#define VAL_CSI   (int)155            /*   Control sequence introducer   */

//define FOXLIB far __saveds
#define FOXLIB __far

#define ET_RAWKEY      1
#define ET_RAWMOUSE    2
#define ET_EVENT       3
#define ET_POINTPOS    4
#define ET_TIMER       6
#define ET_GADGPRESS   7
#define ET_GADGRELEASE 8
#define ET_REQACT      9
#define ET_MENUNUM    10
#define ET_GADGCLOSE  11
#define ET_WINDOWSIZE 12
#define ET_WINDOWREF  13
#define ET_PREFCHANGE 14
#define ET_DISKREMOVE 15
#define ET_DISKINSERT 16

struct Console
   {
   struct MsgPort  *RePort, *WrPort;
   struct IOStdReq *ConIn,  *ConOut;
   };

void ErrorConsole(struct Console*, int);
void CloseConsole(struct Console*);
int  OpenConsole(struct Console*, struct Window*, char*);
void ConPutChar(struct Console*, char);
void QueueRead(struct Console*, UBYTE*);
LONG ConMayGetChar(struct Console*, UBYTE*);
char ConGetChar(struct Console*, UBYTE*);
void FOXLIB ConPrint(struct Console*, char*);
void FOXLIB ConClear(struct Console*);
void FOXLIB ConHome(struct Console*);
void FOXLIB ConBlankToEOL(struct Console*);
void FOXLIB ConTab(struct Console*, int, int);
void FOXLIB ConPrintTab(struct Console*, int, int, char*);
int  ConGetNum(struct Console*, UBYTE*);
void ConSelectEvent(struct Console*, int);
void FOXLIB ConWrapOff(struct Console*);
void FOXLIB ConWrapOn(struct Console*);
void FOXLIB ConHideCursor(struct Console*);
void FOXLIB ConShowCursor(struct Console*);
void FOXLIB ConPrintHi(struct Console*, char*, int);
