#ifndef _AFFICHAGE
#define _AFFICHAGE
typedef enum
{
Noir=0,
Bleu,
Vert,
Cyan,
Rouge,
Magenta,
Jaune,
Blanc
} Couleur;
typedef struct
{
char caractere;
char attribut;
}CARACTERE, *PCARACTERE;
typedef struct
{
char* chaine;
char attribut;
}CHAINE, *PCHAINE;
typedef struct
{
int entier;
char attribut;
}ENTIER, *PENTIER;
#define MemoireVideo (char*)0xB8000
#define LARGEUR_ECRAN 160
//Macro pour le parametrage du champs attribut des structures CHAINE, CARACTERE
#define forgeCouleurClair(couleur) forgeAttribut(0, Noir, 1, couleur)
#define forgeCouleur(couleur) forgeAttribut(0, Noir, 0, couleur)
#define forgeAttribut(cli, background, surInt, couleur) (char)(couleur+((surInt)<<3)+((background)<<4)+((cli)<<7))
//Fonction qui affiche un caractère à l'ecran
void afficheUnCaractere(const PCARACTERE);
//Fonction qui affiche à l'ecran une chaine de caractère null terminated
void afficheUneChaine(const PCHAINE);
//Fonction qui affiche un entier à l'ecran
void afficheUnEntier(const PENTIER);
//Fonction qui affiche à l'ecran une chaine de caractère de couleur verte clair
void afficheUneChaineVerte(const char* a);
//Fonction qui affiche le message de succès du chargement du noyau
void afficheNoyauOk(void);
//Fonction qui affiche un message nous informant que l'idt à belle ete bien chargé
void afficheChargementIDTOk(void);
//Fonction qui affiche un message nous informant que les interruptions ont été demasqué
void afficheInterruptionsDemasquesOk(void);
//Fonction appelé par les ISRs associé au interruption "basique", celle qui n'ont besoin d'aucun traitement particulier
void affichageInterruption(void);
//Fonction qui affiche un message nous informant que les controleurs d'interruptions ont été configués
void afficheConfigurationControleursIntsOk(void);
#endif