#ifndef SYSTEM_H
#define SYSTEM_H

#ifdef AMIGA
int AmigaRequestString(char *, int, int);
extern char *requesterdesc;
#ifdef getenv
#undef getenv
#endif
#define getenv(name) amiga_getenv(name)
#endif /* AMIGA */

#ifdef UNIX
#if !defined(HAVE_UNISTD_H) && !defined(MACH) && !defined(_BSD)
#define HAVE_UNISTD_H
#endif

#ifdef HAVE_UNISTD_H
#include <unistd.h>
#else
#include <stdio.h>
#include <sys/types.h>
#endif


extern int kbhit(void);

/* replacement function for obsolete clock(), just provides random data */
extern long Clock(void);

#endif /* UNIX */

#ifdef MACTC5
extern int 	getch(void);
extern int 	kbhit(void);
#endif

#ifdef WIN32
#include <stdio.h>
#include <sys/types.h>
#include <conio.h>
#ifdef min /* These are re-defined in stdlib.h */
#undef min
#endif
#ifdef max
#undef max
#endif
#include <stdlib.h>
#define sleep _sleep
#include <memory.h>
#include <io.h>
#endif

#if defined(UNIX) || defined(AMIGA) || defined(VMS)
extern void ttycbreak(void);
extern void ttynorm(void);
#else
#define ttycbreak()	/* nothing */
#define ttynorm()	/* nothing */
#endif

#if !defined(MSDOS) && !defined(ATARI)
extern char *strlwr(char *);
#endif

extern void breakHandler(int);

#endif /* SYSTEM_H */
