// SIO2.H V3.2 Copyright July 1995. White Falcon Software House and Sapikli TM.

/*#################### Importlsok ######################################*/

#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#include <dos.h>

/*#################### Globlis defincik ###############################*/

#define int_bas 0x20			//megszakts bziscm
#define rs_ier 1			//megszakts engedlyezs
#define rs_iir 2			//megszakts azonosts
#define rs_lcr 3			//vonal control regiszter
#define rs_mcr 4			//modem control regiszter
#define rs_lsr 5			//vonal llapot regiszter
#define rs_msr 6			//modem llapot regiszter
#define chr_in 1			//karakter rkezett
#define overrun 2			//tlfuts
#define par_test 4			//parits tesztels
#define chr_ok 8			//srlt karakter tesztels
#define chr_out 32			//karakter kiment
#define cts_test 16			//CTS tesztelse
#define dsr_test 32			//DSR tesztelse
#define errors 14			//valamilyen hiba (CTS vagy overrun)
#define stops 4				//2 stopbit
#define paren 8				//parits ellenrzs
#define evpar 16			//pros/pratlan parits 
#define stpar 32			//kttt parits 
#define nograph 9			//nincs grafikus driver
#define hwerr 10			//hardverhiba
#define userbrk	11			//felhasznl ltal megszaktva
#define invalidport 13                  //rvnytelen portcm. (Nincs COM...)
#define invalidparam 14                 //rvnytelen paramter
#define notablet 15                     //nincs tablet
#define porttimeout 18			//kb. 1 mp. utn jelznk a perifria tesztelsnl
#define puflen 1024			//pufferhossz
#define TRUE 1
#define FALSE 0
#define boolean char

/*#################### Tpusdefincik ###################################*/

typedef enum {none,odd,even,stickodd,stickeven} Partip;		//parits tpus

/*#################### Globlis vltozk #################################*/

extern char inpuf[puflen];		//soros input puffer
extern char csat;			//COM x
extern char level;			//IRQ x
extern int inwrpoi;			//input puffer mutat
extern int inrdpoi;			//olvassnl/rsnl
extern int count;                       //a timer IT-hez
extern unsigned rs_bas;			//COMx bziscm

/*#################### Fggvnyek ########################################*/

extern void IntrInit(char vonal, char irq, char uzem);	//IT zemmd bellts
					//vonal: 1-4 [COM x]
					//irq: 0-7   [IRQ x]
					//uzem: 1 -- vtel IT
					//      2 -- ads IT
					//      4 -- vteli sttusz IT
					//      8 -- modem IT engedlyezs
//*** Mivel jelen file-ban az ads nem IT-vel megoldott, nem clszer ennek a bitnek a belltsa

extern void ClearIntr();		//IT kikapcsols
extern void InitLine(unsigned baud, char bit, char stopbit, Partip paritas);
						//COMx felprogramozs
				//baud:	1..115200
				//bit: 5..8
				//stopbit: 1,2
				//paritas: none,odd,even,stickodd,stickeven

extern void SaveLineDatas();            //az aktulis port adatainak mentse
extern void RestoreLineDatas();         //az aktulis port adatainak visszalltsa
extern void ChrOut(char b);		//karakter rsa a vonalra
extern char ChrIn();			//karakter olvassa a vonalrl
extern char ReadPort();			//karakter olvassa a portrl vrakozssal
extern char RSError();			//visszaadja a port llapott vagy a hibakdot
extern int GetComNum();			//megkeresi a program els paramtereknt
// megadott port szmt, ennek hinyban az els fizikailag ltez portot, illetve
// kikeresi a port cmt is

/*#################### Modul vge ########################################*/

