#ifndef TSCOPE_TIMER_H
#define TSCOPE_TIMER_H
#ifndef ALLEGRO_WINDOWS
#define __int64 unsigned long long
#endif
#ifdef __cplusplus
extern "C" {
#endif
void ts_timercfg(char *file);
int ts_priority(int prio);
__int64 ts_time();
void ts_wait(__int64 time);
int ts_waitmode(int mode);
int ts_defkey(int key);
int ts_hidekey(int key);
void ts_clrkeys();
int ts_resp(__int64 * time, __int64 * error, __int64 maxtime);
int ts_release(__int64 * time, __int64 * error, __int64 maxtime);
int ts_respstatus();
void ts_flushresp();
void ts_vsync(__int64 * time, __int64 * error);
void ts_vsyncs(__int64 * time, __int64 * error, int nsync);
int ts_vsyncresp(__int64 * time, __int64 * error, int maxsync);
int ts_vsyncstatus();
int ts_vsyncmode(int mode);
int ts_vsynclimit(int limit);
int ts_setserialport(int port);
void ts_settrigger(int port, __int64 time);
void ts_trigger(char val);
__int64 tts(__int64 time);
__int64 ttm(__int64 time);
__int64 ttmu(__int64 time);
__int64 stt(__int64 time);
__int64 mtt(__int64 time);
__int64 mutt(__int64 time);
#ifdef __cplusplus
}
#endif
#ifdef ALLEGRO_WINDOWS
#define REALTIME 5
#define HIGH 4
#define ABOVE_NORMAL 3
#define NORMAL 2
#define BELOW_NORMAL 1
#define IDLE 0
#endif
#ifdef ALLEGRO_LINUX
#define REALTIME -20
#define HIGH -15
#define ABOVE_NORMAL -10
#define NORMAL 0
#define BELOW_NORMAL 10
#define IDLE 19
#endif
#ifdef ALLEGRO_MACOSX
#define REALTIME 5
#define HIGH 4
#define ABOVE_NORMAL 3
#define NORMAL 2
#define BELOW_NORMAL 1
#define IDLE 0
#endif
#define NOSYNC 0
#define WHATEVER 1
#define REALSYNC 2
#define SIMSYNC_ACTUAL 3
#define SIMSYNC_REQ 4
#define BUSYLOOP 0
#define SLEEP_WAIT 1
#define SLEEP_RESP 2
#define SLEEP_VSYNC 3
#define KEY_NULL 0
#define P1 (KEY_MAX + 0)
#define P2 (KEY_MAX + 1)
#define P3 (KEY_MAX + 2)
#define P4 (KEY_MAX + 3)
#define P5 (KEY_MAX + 4)
#define IP1 (KEY_MAX + 5)
#define IP2 (KEY_MAX + 6)
#define IP3 (KEY_MAX + 7)
#define IP4 (KEY_MAX + 8)
#define IP5 (KEY_MAX + 9)
#define PP1 (KEY_MAX + 10)
#define PP2 (KEY_MAX + 11)
#define PP3 (KEY_MAX + 12)
#define PP4 (KEY_MAX + 13)
#define PP5 (KEY_MAX + 14)
#define IPP1 (KEY_MAX + 15)
#define IPP2 (KEY_MAX + 16)
#define IPP3 (KEY_MAX + 17)
#define IPP4 (KEY_MAX + 18)
#define IPP5 (KEY_MAX + 19)
#define PPP1 (KEY_MAX + 20)
#define PPP2 (KEY_MAX + 21)
#define PPP3 (KEY_MAX + 22)
#define PPP4 (KEY_MAX + 23)
#define PPP5 (KEY_MAX + 24)
#define IPPP1 (KEY_MAX + 25)
#define IPPP2 (KEY_MAX + 26)
#define IPPP3 (KEY_MAX + 27)
#define IPPP4 (KEY_MAX + 28)
#define IPPP5 (KEY_MAX + 29)
#define G1 (KEY_MAX + 30)
#define G2 (KEY_MAX + 31)
#define G3 (KEY_MAX + 32)
#define G4 (KEY_MAX + 33)
#define IG1 (KEY_MAX + 34)
#define IG2 (KEY_MAX + 35)
#define IG3 (KEY_MAX + 36)
#define IG4 (KEY_MAX + 37)
#define S1 (KEY_MAX + 38)
#define S2 (KEY_MAX + 39)
#define S3 (KEY_MAX + 40)
#define S4 (KEY_MAX + 41)
#define S5 (KEY_MAX + 42)
#define S6 (KEY_MAX + 43)
#define S7 (KEY_MAX + 44)
#define J1 (KEY_MAX + 45)
#define J2 (KEY_MAX + 46)
#define J3 (KEY_MAX + 47)
#define J4 (KEY_MAX + 48)
#define J5 (KEY_MAX + 49)
#define J6 (KEY_MAX + 50)
#define J7 (KEY_MAX + 51)
#define J8 (KEY_MAX + 52)
#define J9 (KEY_MAX + 53)
#define J10 (KEY_MAX + 54)
#define M1 (KEY_MAX + 55)
#define M2 (KEY_MAX + 56)
#define M3 (KEY_MAX + 57)
#define NRESPKEYS (KEY_MAX+58)
#endif