X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/f2297e8837d4f9c3a98f308cc02ed76df58c6cf1..3719f9bdbbeb0b8573b5887edc0aa2c9e835760a:/emufs/tipo2_main.c diff --git a/emufs/tipo2_main.c b/emufs/tipo2_main.c index b830069..108a0a2 100644 --- a/emufs/tipo2_main.c +++ b/emufs/tipo2_main.c @@ -30,8 +30,10 @@ #include #include +#include #include "emufs.h" #include "fsc.h" +#include "tipo2.h" int main(int argc, char *argv[]) { @@ -74,9 +76,10 @@ int main(int argc, char *argv[]) n5 = efs->grabar_registro(efs, f, 9, &err); n6 = efs->grabar_registro(efs, g, 41, &err); n7 = efs->grabar_registro(efs, h, 63, &err); + n8 = efs->grabar_registro(efs, d, 8, &err); /* Borramos un registro del medio */ - printf("tipo2_main.c >> Borrando registro: %lu\n",n5); + /*printf("tipo2_main.c >> Borrando registro: %lu\n",n5); efs->borrar_registro(efs, n5); printf("tipo2_main.c >> Borrando registro: %lu\n",n1); efs->borrar_registro(efs, n1); @@ -87,13 +90,15 @@ int main(int argc, char *argv[]) printf("tipo2_main.c >> Borrando registro: %lu\n",n7); efs->borrar_registro(efs, n7); printf("tipo2_main.c >> Borrando registro: %lu\n",n4); + efs->borrar_registro(efs, n4);*/ + + /* Prueba de recompactacion */ + efs->borrar_registro(efs, n2); + efs->borrar_registro(efs, n7); efs->borrar_registro(efs, n4); - - n8 = efs->grabar_registro(efs, d, 8, &err); - printf("tipo2_main.c >> Id recuperado: %lu\n",n8); - + /* Levanto un registro */ - registro = efs->leer_registro(efs,n2,®_size,&err); + registro = efs->leer_registro(efs,n1,®_size,&err); if (err == 0) { printf("tipo2_main.c >>Registro: %lu Size: %lu Content: %s\n\n",n2,reg_size,registro); } @@ -108,6 +113,20 @@ int main(int argc, char *argv[]) printf("Media de espacio libre en bloque o gap: %lu\n",stats.media_fs); printf("Cantidad en bytes de informacion de control: %lu\n",stats.info_control); + /* Recompacto */ + printf("Recompactando...\n"); + efs->compactar(efs); + + /* Obtengo stats nevas */ + stats = efs->leer_estadisticas(efs); + printf("Size del Archivo de datos: %lu\n",stats.tam_archivo_bytes); + printf("Cantidad de Registros en el Archivo de datos: %lu\n",stats.tam_archivo); + printf("Total de espacio libre en el .dat: %lu\n",stats.total_fs); + printf("Minimo espacio libre en bloque o gap: %lu\n",stats.min_fs); + printf("Maximo espacio libre en bloque o gap: %lu\n",stats.max_fs); + printf("Media de espacio libre en bloque o gap: %lu\n",stats.media_fs); + printf("Cantidad en bytes de informacion de control: %lu\n",stats.info_control); + emufs_destruir(efs); return 0;