#ifndef _TERMINAL_H
	#define _TERMINAL_H

	#define TRUE  1
	#define FALSE 0
	#define ON    1
	#define OFF   0

  #define NOERROR 0
  #define NOMEM   1

	/*--------------- IMPOSTAZIONI DEL PROTOCOLLO ----------------------------
	maschere per la composizione della parola di controllo per la gestione
	della protocollo della porta seriale.
	le diverse maschere vanno sommate tra loro per ottenere il byte di
	controllo relativo al protocollo desiderato.
	--------------------------------------------------------------------------*/


	#define WORD7  0x2            /* xxxx xx10 */
	#define WORD8  0x3            /* xxxx xx11 */

	#define STOP1  0x0            /* xxxx x0xx */
	#define STOP2  0x4            /* xxxx x1xx */

	#define PARITA_DISPARI  0x8   /* xxx0 1xxx */
	#define PARITA_PARI     0x18  /* xxx1 1xxx */
	#define PARITA_NESSUNA  0x0   /* xxx0 0xxx */

	#define B_600   0x60          /* 011x xxxx */
	#define B_1200  0x80          /* 100x xxxx */
	#define B_2400  0xA0          /* 101x xxxx */
	#define B_4800  0xC0          /* 110x xxxx */
	#define B_9600  0xE0          /* 111x xxxx */

	#define STOP1  0x0            /* xxxx 0xxx */
	#define STOP2  0x4            /* xxxx 1xxx */

	#define COM1    0x300   /* base per la porta com1     */
	#define COM2    0x200   /* base per la posrta com2    */


	/*--------------- DEFINIZIONI DI TIPI DI DATI ---------------------------*/
	typedef unsigned char BOOL;
	typedef unsigned char BYTE;
  typedef unsigned char ERRORMSG;


	/**************************************************************************
			TerminalON                                        Pino Contini 27/03/95
	---------------------------------------------------------------------------
	DESCRIZIONE: Installa l'interrupr vector per la lettura automatica
		dalla porta seriale.
  ritorna = NOERROR se installazione completata con successo
            NOMEM   se non c'e' memoria suffeciente per il buffer
	--------------------------------------------------------------------------*/
	ERRORMSG TerminalON(int port,int baud,int parity,int stop,int wordlength,
                      int buflen);

	/**************************************************************************
			TerminalOFF                                         Pino Contini 27/03/95
	---------------------------------------------------------------------------
	DESCRIZIONE: Spegne la seriale,disinstalla l'interrupr vector per la
	 lettura automatica dalla porta seriale,remimpostando il precedente.
	--------------------------------------------------------------------------*/
	void TerminalOFF(void);

	/**************************************************************************
			LeggiDatoDaBuffer                                 Pino Contini 27/03/95
	---------------------------------------------------------------------------
	DESCRIZIONE: Legge dal buffer circolare il primo dato disponibile. Se
		nessun dato e' disponibile allora ritorna FALSE
	--------------------------------------------------------------------------*/
	BYTE LeggiDatoDaBuffer(void);

	/**************************************************************************
			Trasmetti                                         Pino Contini 27/03/95
	---------------------------------------------------------------------------
	DESCRIZIONE: Trasmette un byte sulla porta seriale selezionata con
		TerminalON. Se la trasmissione fallisce torna FALSE, altrimenti TRUE
	--------------------------------------------------------------------------*/
	BOOL Trasmetti(BYTE ch);


	/**************************************************************************
			SetPort                                        Pino Contini 27/03/95
	---------------------------------------------------------------------------
	DESCRIZIONE: Cambia il protocollo di comunicazione per la porta attiva.
		durante l'impostazione del nuovo protocollo, la ricezione sulla
		seriale viene interrotta, per essere ripresa alla conclusione
	--------------------------------------------------------------------------*/
	void SetPort(int baud,int parity,int stop,int wordlength);


#endif
