#ifndef FILESYSTEM_H
#define FILESYSTEM_H

//Un fichier
typedef struct		{
	char nom[32];
	int offset;
	int taille;
} FICHIER;

//La table d'allocation des fichiers
typedef struct		{
	int nbFichiers;
	FICHIER f[];
} TAF;

//Fonctions de recherche des fichiers
extern void InitFS();
extern void *SymFind(const char *symbole, FICHIER **f);

//Données globales
extern TAF *gblTaf;
extern void *gblData;
extern FICHIER *gblCurFile;

//Pour travailler avec FEOF et savoir lorsqu'un fichier est terminé.
#define SET_CURRENT_FILE(f)     gblCurFile=f;
#define GET_CURRENT_FILE()      gblCurFile;
#define FEOF(ptr)               ((void*)(ptr)>=(void*)(gblCurFile->offset+gblCurFile->taille+gblData))

#endif

