/* #define HAVE_NFSSUPPORT */
#define HAVE_XYMODEM
#define HAVE_TERMEMU

#define VERSION 434		/* 4.3d */

#define FLAGS_JUMPSCROLL	0x01
#define FLAGS_SHOW_STATS	0x02
#define FLAGS_SMALL_STATWIN	0x04
#define FLAGS_BIG_STATWIN	0x08
#define FLAGS_NFSD_OLD		0x10		/* Old protocol / nfsd */
#define FLAGS_NFSD_NEW		0x20		/* New protocol / prefix+old */
#define FLAGS_NOCHARCONV	0x40		/* No IS8859-1 -> CP850 conv. */
#define FLAGS_MAX_LINES_24	0x80		/* Allow no more than 24 lines*/

#define PRT_OLD			1		/* Old protocol */
#define PREFIX			0x80		/* additional for the new prot*/

#define XY_XMODEM		1
#define XY_XMODEMCRC		2
#define XY_XMODEMCRC1K		3
#define XY_YMODEM		4
#define XY_YMODEM1K		5
#define XY_YMODEMG		6
#define XY_YMODEMG1K		7

#define ON 			1
#define OFF			0

#if 0
#define P_WRITE(_h, _p, _n) { p_write (_h, _p, (_n)); stats_write += (_n); }
#else
#define P_WRITE(_h, _p, _n) serial_write (_p, _n)
#endif
#define P_READ(_h, _p, _n)  { p_read  (_h, _p, (_n)); stats_read  += (_n); }

struct settings {
    P_SRCHAR  tty;
    UBYTE     pctrl[3];
    UBYTE     devices[5];
    UBYTE     flags;
    UBYTE     font;
    UBYTE     xymodem;
};

struct fkey	/* Function key */
{
  UWORD key;
  UBYTE modifier;
  struct fkey *next;
};

extern UBYTE  charwidth,charheight, ascent, rows, cols;   
extern WORD   t_w, t_h;
extern UINT   main_win;
extern INT    hgc;
extern BYTE   debug;
extern VOID   *serial;
extern char   cur_appl;
extern struct settings set;

extern void   serial_write(char *buf, int len);
extern void   AddToHistory (char ch);
extern void   DoXYmodem (char ch);
extern void   Check (INT val,TEXT *msg);
extern void   Sw_Serial (char);
GLREF_C VOID  TtyEmu(unsigned char *buf, INT len);
GLREF_C VOID  Reset(void);
extern unsigned char iso2cp(unsigned char ch);

extern void   AddFnKey(int, int, char *);
extern void   SendFnKey(struct fkey *);
extern void   SaveFnKey(char *fname);
extern void   LoadFnKey(char *fname, int warn);
