#ifndef _ANNUAIRE_H_ #define _ANNUAIRE_H_ #include #include #define FILENAME "data.db" typedef struct SEntree { char LastName[20]; char FirstName[20]; char Telephone[20]; char Mobile[20]; char Fax[20]; char Address[200]; int PostalCode; char City[20]; }Entry; typedef struct SParams { int M; int MPrime; }Params; // Entree nulle Entry NullEntry; // Entree suprimee Entry DeletedEntry; // Entree vide Entry EmptyEntry; /** Initialise les entrees par defaut. A appeler au debut du programme */ void init(); /** Cree le fichier de la base de donnees (ecrase l'ancien s'il existait !) */ void create_file( int M ); /** Lit les parametres de hachage dans la base de donnes */ void get_params( Params* P ); /** Retourne la valeur de hachage de E */ int hash_key( const Params* P, const Entry* E, int k ); /** Insere E dans la base de donnee Retourne 1 en cas de succes, 0 en cas d'echec */ int insert_entry( const Entry* E ); /** Compare les cles de E1 et E2 Retourne 1 si elles sont egales, 0 sinon */ int compare_keys( const Entry* E1, const Entry* E2 ); /** Affiche E */ void print_entry( const Entry* E ); /** Affiche toute la base de donnees */ void dump_table(); /** Cherche l'entree ayant la cle de E. Si une telle entree est trouvee, E est rempli avec les valeurs trouvees. Retourne 1 en cas de succes, 0 en cas d'echec. */ int search_entry( Entry* E ); /** Supprime l'entree ayant la cle de E. Retourne 1 en cas de succès, 0 en cas d'erreur */ int delete_entry( const Entry* E ); #endif //_ANNUAIRE_H_