/*******************************************************************/
/*******************************************************************/
/*  DEBUT DU MODULE PRINCIPAL URNE.C  --  HEADER                   */

/*
   <MODULE>
        <NAME>URNE</NAME>
        <FILENAME>URNE.H</FILENAME>
        <HISTORY>
                <MODIFICATION>
                        <DATE></DATE>
                        <AUTHOR></AUTHOR>
                        <DESCRIPTION>Main file header</DESCRIPTION>
                </MODIFICATION>
        </HISTORY>
   </MODULE>
*/
/********************** Preprocessor directives ********************/
#ifndef __URNE_H__
#define __URNE_H__
/*******************************************************************/

/********************* FUNCTIONS PROTOTYPES ************************/
boolean Init_Systeme(s_Parameters* psParamMgnCdValid, s_Parameters* psParamMgnCdUrne,s_PcType* psPcType);
int Verifie_Urne(char *Clef);
int Verifie_Maitre(char *Clef);
int Test_Ep(void);
int Test_Eprom(void);
int Test_Urne(void);
void Test_Contenu_Urne(void);
void Test_Contenu_Urne2(void);
int Fermeture_Urne(void);
int Demande_Action(void);
void Load_Message(int iNum);
void Read_File(char *, int);
int Language_ID(void);
void Get_INSCODE(char * );
void Ecriture_force(void);
int Nb_Scrut_From_IND(void);
int Select_Language_ID(char _cID_Lang);

void Calcul_Clef_Mac(char *Jeton_Etendu, int *Clef_Id_Mac);
boolean Demande_Identite(char *, boolean);
void Ouverture_Urne(boolean bInd);
void Battery_Ok(void);
int Demande_Mac(void);
int Disk_Num(void);
void Write_Data_Disk(int);
void Display_Screen_Info(void);
void Load_Floppy(void);
void Make_Noise ( SOUND_TYPE Type);

extern int Crc_Rijndael(char *Type,char *Mode,char *src,char *dest);
extern int Initialise_Rijndael(void);
extern void Calcul_Jeton(char *Jeton_Etendu, char *Jeton);
extern int Verifie_Password(void);
extern void Switch_Support(void);
extern int Kbhit(char COLOR,int loop);
extern int Getch(char Color);
extern int Trait_Tc(int tc,char Ordre,int Color);
extern int Lecteur_Put_Tempo(void);
extern int Choix_Langue(int choix);
extern int Crc(char *type,char *mode,char *src,char *dest, char *passe);
extern void Initialise_RijndaelMini(void);
extern void Display_Votes_Counters(unsigned short *, unsigned short);
extern boolean Alloc_Mem(void);
extern void Free_Mem(void);
extern int handler(int errval, int ax, int bp, int si);
extern  void Init_Disk(void);
extern void Disk_Ram_Load(void);
extern void Ram_Disk_Load(void);
extern void Erreur(char *msg);
extern void Backup_Eprom_Disk(char *);
extern void Backup_Ram_Disk(char *);
extern boolean Eprom_Init(void);
extern boolean Eprom_Flash(void);
extern int Ram_Eprom_Load(void);
extern void Eprom_Ram_Load(void);
extern void Switch_Support(void);
extern void	Down_Load_Ind(void);
extern void Encode_E_Variable(long Position, char Valeur);
extern void Recupere_E_Variable(long Position, char *Valeur, boolean bReadMem);
extern void Encode_E_Var_String(long Position, char *Valeur, int Longueur);
extern void Recupere_E_Var_String(long Position, char *Valeur, int Longueur, boolean bReadMem);
extern void Recupere_Nb_Cartes(void);
extern void Boucle_Erreur(void);
extern void Wait_Time(int Sec);
extern int Lit_Fichier_PCC(char *Nom_Fichier);
extern int Lit_Fichier_ARR(char *Nom_Fichier);
extern int Ecrit_Table_PCC(char *Nom_Fichier);
extern void Transfert_Table_PCC(char *Nom_Fichier);
extern int Lecteur_1_Init(s_Parameters* psParm);
extern int Lecteur_2_Init(s_Parameters* psParm);
extern void Boucle_Lecteur(s_PcType* psPcType);
extern void Check_Read_Write(void);
extern boolean Check_EPROM(void);
extern void Init_CheckVote(char);
extern int Change_Disque(char *pzMessage, boolean bInd);
extern int Compare_Ram_Disk(void);
extern int Compare_Ram_Eprom(void);
/* << 9.02 */
extern int Encrypte_Fe_Dsk(void);
extern int Decrypte_Fe_Dsk(void);
/* 9.02 >> */
/* << 9.03 */
extern void Control_Keyboard(void);
/* 9.03 >> */

#endif /*__URNE_H__*/
/*******************************************************************/

