#ifndef INTERNAL_H
#define INTERNAL_H
extern int _tscope_flag;
extern int _debug_flag;
extern int _ndebug;
extern int _vdebug[];
extern char *_sdebug[];
extern int _screen_flag;
extern int _dbuff_flag;
extern int _refreshrate;
extern int _screendepth;
extern int _screensize;
extern int _nscreensize;
extern int _vscreensize[];
extern char *_sscreensize[];
extern int _screenmode;
extern int _nscreenmode;
extern int _vscreenmode[];
extern char *_sscreenmode[];
extern int _dbuff;
extern int _screenx;
extern int _screeny;
extern int _actualdepth;
extern int _actual_refreshrate;
extern int _actualx;
extern int _actualy;
extern int _desktopx;
extern int _desktopy;
extern int _desktopdepth;
extern map *_screenmap;
extern map *_dbuffmap;
extern map *_destmap;
extern int _graphics_flag;
extern int _fgcolor;
extern int _bgcolor;
extern int _textbgcolor;
extern int _fill;
extern int _font;
extern DATAFILE *_fontfile[NFONTS];
extern FONT *_basefont;
extern int _coordinates;
extern int _timer_flag;
extern int _trigger_flag;
extern int _vsync_flag;
extern int _rtc_flag;
extern int _rtc_fd;
extern int _nvsyncmode;
extern int _vvsyncmode[];
extern char *_svsyncmode[];
extern int _wait_flag;
extern int _nwaitmode;
extern int _vwaitmode[];
extern char *_swaitmode[];
extern int _parport_flag;
extern int _parport1_flag;
extern int _parport2_flag;
extern int _parport3_flag;
extern int _gameport_flag;
extern int _serialport_flag;
extern int _joystick_flag;
extern int _mouse_flag;
extern int _keyboard_flag;
#ifdef ALLEGRO_WINDOWS
extern HANDLE _serialport_handle;
#endif
extern int _serialport_num;
extern int _parport1_resp_flag;
extern int _parport2_resp_flag;
extern int _parport3_resp_flag;
extern int _gameport_resp_flag;
extern int _serialport_resp_flag;
extern int _joystick_resp_flag;
extern int _mouse_resp_flag;
extern int _keyboard_resp_flag;
extern int _key_defined[NRESPKEYS];
extern int _key_active[NRESPKEYS];
extern int _n_active_keys;
extern int _ndefkey;
extern int _vdefkey[];
extern char *_sdefkey[];
extern int _priority;
extern int _npriority;
extern int _vpriority[];
extern char *_spriority[];
extern __int64 _clockfreq;
#ifdef ALLEGRO_WINDOWS
extern LARGE_INTEGER _clocktime;
#else
extern struct timeval _clocktime;
#endif
extern int _vsync_requestedmode;
extern __int64 _vsyncinterval;
extern int _vsync_limit;
extern int _trigport;
extern int _trigaddress;
extern __int64 _trigtime;
extern int _random_flag;
extern int _rndseed[3];
extern int _mousegui_flag;
extern int _mousecolor;
extern int _mousex;
extern int _mousey;
extern BITMAP *_mousemap;
extern int _sound_flag;
extern int _volume;
extern int _pan;
extern int _loop;
extern int _samplerate;
extern int _streambufsize;
extern int _sinefreq;
extern unsigned char (*_streamfunc) (__int64);
extern int _snd2_flag;
extern int _snd2_channels;
extern int _snd2_samplerate;
extern int _snd2_sampleformat;
extern __int64 _snd2_filebufferlength;
#ifdef __cplusplus
extern "C" {
#endif
void _tscope_init();
int _screen_init();
void _graphics_init();
void _graphics_exit();
__int64 _timer_init();
void _timer_exit();
void _vsync_init();
void _vsync_exit();
void _rtc_init();
void _rtc_nap();
void _rtc_exit();
void _parport_init(int nr);
void _parport_exit();
void _gameport_init();
void _gameport_exit();
void _serialport_init();
int _serialport_poll();
int _serialport_flush();
void _serialport_exit();
void _joystick_init();
void _joystick_exit();
void _mouse_init();
void _mouse_exit();
void _keyboard_init();
void _keyboard_exit();
void _random_init();
void _random_exit();
void _mousegui_init();
void _mousegui_exit();
void _sound_init();
void _sound_exit();
void _snd2_init();
void _snd2_exit();
int _setcfg(char *file);
int _readcfg(int nval, char **names, char *input);
#ifdef __cplusplus
}
#endif
#define PAR1DATA 0x378
#define PAR1STATUS 0x379
#define PAR1CONTROL 0x37A
#define PAR2DATA 0x278
#define PAR2STATUS 0x279
#define PAR2CONTROL 0x27A
#define PAR3DATA 0x3BC
#define PAR3STATUS 0x3BD
#define PAR3CONTROL 0x3BE
#define GAMEPORT 0x201
#define VSYNCPORT 0x3DA
#endif