/**************************************************************************
<MODULE NAME>
<FILENAME></FILENAME>
<HISTORY>
	<MODIFICATION>
		<DATE></DATE>
		<ATHOR></ATHOR>
		< DESCRIPTION>
		< /DESCRIPTION>
	</MODIFICATION>
</HISTORY>
</MODULE NAME>
**************************************************************************/
#ifndef __LIBURNE_H__
#define __LIBURNE_H__

/**************************************************************************
INCLUDE FILE
**************************************************************************/
#include <stdio.h>

#ifdef __cplusplus
/*C++ define*/
extern "C"
{
#endif
	/*C define*/
/**************************************************************************
INCLUDE FILE
**************************************************************************/
//#include "com.h"
#include "..\comp\system\system.h"
#include "..\comp\TypePc\StrType.h"
#include "..\ComSrc\com.h"


/**************************************************************************
MACRO
**************************************************************************/
/*
< MACRO>
	<NAME></NAME>
	<TYPE > LOCAL | GLOBAL </TYPE>
	<DESCRIPTION>
	</DESCRIPTION>
< / MACRO>
*/


/**************************************************************************
TYPEDEFS
**************************************************************************/
/*
< TYPEDEFS>
	<NAME></NAME>
	<TYPE > LOCAL | GLOBAL </TYPE>
	<DESCRIPTION>
	</DESCRIPTION>
< /TYPEDEFS >
*/

/**************************************************************************
GLOBAL VARIABLES
**************************************************************************/
extern uchar gucPortValidator;
extern uchar gucPortUrne;

/************************************************************************** 
FUNCTION PROTOTYPE
**************************************************************************/
int InitLibrary(int iTypePc);
s_PcType LoadDefinitionFile(void);

int LecteurInit(uchar *psPort, s_Parameters* psParm);
int CloseConnection(uchar *Port);

int LecteurStatusFeed(uchar *Port);
int LecteurRead(uchar *Port);
int LecteurWrite(uchar *psPort, char* pzString);
int LecteurValide(uchar *Port, char* pzString);
int LecteurStatusWrite(uchar *Port, char* pzString);
int LecteurEject(uchar *Port, uchar ucDirection);
int LecteurStatusEject(uchar *Port, char* pzString);
int LecteurEnregistre(uchar *Port, char* pzString);
int LecteurGetPosition(uchar *Port);
int LecteurVide(uchar *Port, char* pzString);
int LecteurDeblock(uchar *Port);
int LecteurStatusDeblock(uchar *Port, char* pzString);
int LecteurPutTempo(uchar *psPort, char* pzString);
int CheckQueue(uchar *psPort);
int Lecteur_CardPosition(uchar *psPort); /*PMD*/

int GetVersionCommande(uchar *psPort,char* pzLectBuffer);
int GetProtocol(uchar *psPort,char* pzLectBuffer);

/*Timer*/
ulong GetTimer(uchar ucTimer);
ulong SetTimer(uchar ucTimer);
uchar TimerCompare(uchar ucTimer, ulong ulDelay);
ulong CurrentTime(void);

/*Keyboard*/
int Getch(char cColor);
int Kbhit(char cColor,int iLoop);

/*Led*/
void Light_LED(char cLed);

/*Led valideuse*/
int Lecteur_Set_Led(uchar *Port,int cColor);

/*Battery*/
void Battery_Off(void);
void Battery_On(void);
char ReadBatteryState(void);

/*LCD*/

void Lcd_Affiche(int Ligne, int Colonne, char *Chaine);
void Lcd_Init(void);

#ifdef __cplusplus
}
#endif
#endif /* __LIBURNE_H__ */