$header "const char *chkr_message[]"
$declare "const char *chkr_message[];"
$format "chkr_message[%d]"

######### pour parse-args.c
M_UNKNOWN_OP		"Checker ne connait pas cette option: %s\n"
M_PRGNAME_NOT_FOUND	"Checker ne peut trouver le nom du programme.\n"
M_ARGV0_IS		"Mon nom (argv[0]) est %s\n"
M_STOPPING_MYSELF	"Arrêt avant main(). Pour continuer, 'fg' ou 'kill -%d %d'\n"
M_ALREADY_INIT		"Crt0.o a déjà été exécuté: bouclage erroné. Arrêt\n"
######### pour chkr-syscall.c
M_IOCTL_UNIMPLEMENT	"Désolé, cet ioctl n'est pas implémenté.\n"
M_FCNTL_UNIMPLEMENT	"Désolé, ce fcntl n'est pas implémenté.\n"
M_SYSCALL_UNIMPLEM	"Désolé, cet appel système n'est pas implémenté.\n"
M_IPC_UNIMPLEMENT	"Désolé, les appels ipc ne sont pas disponibles.\n"
M_SEND_DESCRIPTION	"Envoyez une description à l'auteur, SVP.\n"
######### pour symtab.c
M_STACK_FRAMES_ARE	"L'historique des fonctions en cours est:\n"
M_CANT_FIND_MAIN	"N'arrive pas à trouver main() dans la pile, raté!\n"
M_CANT_F_GOOD_INFO	"Ne peut trouver les bonnes informations dans le fichier image.\n"
M_PC___IN___AT_		"\tpc=0x%08x dans %s() dans %s:%d\n"
M_UNKNOWN		"Inconnu"
M_BAD_STR		"<Mauvais index>"
######### pour checker.c
M_C_FB_OR_LB_BAD	"_firstblock ou _lastblock est mauvais\n"
M_C_NO_BLOCKS		"Pas de blocs. Désolé.\n"
M_C_FBLOCK_BAD		"_firstblock est mauvais.\n"
M_C_LBLOCK_BAD		"_lastblock est mauvais.\n"
M_C_BAD_LINEARITY	"Détection d'une mauvaise linéarité entre les blocs %u et %u.\n"
M_C_BAD_PLINK		"Le lien 'prev' du bloc %u est mauvais.\n"
M_C_BAD_BLOCK_SIZE	"La taille du block 0x%x est mauvaise\n"
M_C_BAD_LAST_BLOCK	"Le dernier bloc n'est pas vraiment le dernier...\n"
M_C_STOP_HERE		"Arrêt.\n"
M_C_U_AGED_BLOCK	"Le bloc %u est un bloc agé non répertorié.\n"
M_C_BAD_PL_YOUNGB	"Mauvais lien 'prev' pour le plus jeune bloc %u\n"
M_C_NON_AGED_BLOCK	"Le bloc %u non agé est dans la liste des blocs agés.\n"
M_C_BAD_NUM_AGED_B	"Mauvais nombre de blocs agés (%d au lieu de %d).\n"
M_C_TOO_AGED_BLOCK	"Il y a trop de blocs agés (%d au lieu de %d).\n"
M_C_BAD_PL_F_FREEB	"Mauvais lien 'prev' dans le premier bloc libre %u.\n"
M_C_FREEB_BAD_STAT	"Bloc libre 0x%x a un mauvais état.\nArrêt\n"
M_C_BLOCK_BAD_LIST	"Bloc 0x%x dans une mauvaise liste.\n"
M_C_BAD_PLIN_FREEB	"Mauvais lien 'prev' dans le bloc libre %u.\n"
M_C_BAD_HEAPINDEX	"_heapindex est mauvais.\n"
M_C_UNKNOWN_FREEB	"Le bloc %u est un bloc libre inconnu.\n"
M_C_FREE_AND_FREE	"Le bloc libre 0x%x est suivi par un autre bloc libre\n"
M_C_NO_BUSY_BLOCK	"Il n'y a pas de blocs utilisés.\n"
M_C_BUSY_BLOCK_ARE	"Les blocs utilisés sont:\n"
M_C_BLOC_N_IS_BUSY	"Bloc (adr: 0x%x), taille %u kb est utilisé.\n"
M_C_BLOCK_SIZ_LESS	"Bloc de taille inférieur à %d octets.\n"
M_C_BLOCK_AT_SIZE	"Bloc en 0x%x, taille %dKb\n"
######### for free.c
M_BAD_NLINK_4BLOCK	"Mauvais lien 'next' pour le bloc %u.\n"
M_FOUND_AGED_BLOCK	"Il y a un bloc %u non agé dans la liste des blocs agés.\n"
######### for garbage.c
M_NO_LEAK		"Il n'y a pas de pertes de mémoire.\n"
M_ONE_LEAK		"Il y a une perte de mémoire dont %d potentielle.\n"
M_NBR_LEAKS		"Il y a %d pertes de mémoire dont %d potentielle(s).\n"
M_LEAKS_USE_N_BYTE	"La perte utilise %u octets (%u Ko) / %u Ko.\n"
M_P_MEM_IS_LOST		"Aisi, %2d.%02d%% de la mémoire est perdue.\n"
M_FOUND_N2_BYTES	"Checker a trouvé %u * %u octets.\n"
M_LOST_IS_PTR		"La perte est en ptr=0x%x\n"
M_CANT_USE_SYMTAB	"Ne peut accéder à la table des symboles.\n"
######### for memalign.c
M_NULL_ALIGN		"memalign is appelé avec un alignement nul. Mis à 1.\n"
######### for maccess.c
M_NO_BM_4ADDRESS	"Pas de bitmap pour cette adresse.\n"
M_BO_NOT_ALIGNED	"Hmmm, bit_offset n'est pas aligné !! Ignoré.\n"
M_ERR_SET_RIGHT		"Erreur dans 'chkr_set_right'\n"
M_BAD_LEN_IN_SR		"len > bitmem. length or len == 0\n"
M_SRC_IN_CP_BM		"Erreur avec 'src' dans 'chkr_copy_bm'\n"
M_DEST_IN_CP_BM		"Erreur avec 'dest' dans 'chkr_copy_bm'\n"
M_ALIGN_IN_CP_BM	"Mauvais alignement dans 'chkr_copy_bm'\n"
M_PROF_INFO_HERE	"Informations de profil:\n"
M_HANDLED_N_TIME	"Le %s a été adressé %d foi.\n"	# pas de s
M_HANDLED_MEM		"Votre programme a adressé %u fois la mémoire.\n"
M_BM_CALLED		"La limite de la pile a été réajustée %u fois.\n"
M_NULL_ZONE		"la zone NULL"
M_TEXT_SEGMENT		"le segment de texte"
M_DATA_SEGMENT		"le segment de données"
M_HEAP_SEGMENT		"le tas"
M_STACK_SEGMENT		"la pile"
M_BLOCK_ALLO_FRM	"Le bloc a été alloué par:\n"
M_KNOW_STACK_LIM	"limite de pile connue= 0x%p\n"
M_STACK_BITMAPED	"bitmap de pile 0x%p\n"
M_INSIDE_FBLOCK		"dans un bloc libre.\n"
M_BLOCK_ID		"Le bloc a une longueur de %u octets et débute en 0x%x\n"
M_BEFORE_BLOCK		"%d octets avant le début du bloc\n"
M_INSIDE_BLOCK		"%d octets après le début du bloc\n"
M_AFTER_BLOCK		"%d octets après la fin du bloc\n"
M_N_FREE_CALLED		"free() a été appelé %d fois depuis que ce bloc a été libéré par:\n"
M_MEM_ACCESS_ERR	"Erreur d'accès à la mémoire\n"
M_ACC_ERR_WHERE		"Lors d'une %s de %d octet(s) à l'adresse 0x%p, dans %s.\n"
M_USE_NULL_PTR		"Vous avez certainement utilisé un pointeur NULL.\n"
M_PROD_SEG_FAULT	"CECI VA PRODUIRE UNE FAUTE DE SEGMENTATION.\n"
M_CANT_MODIFY_IT	"Vous ne pouvez pas la modifié.\n"
