X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/1507459453b2f0c66efc1940350b2d1471f8cb5f..771d5d90ad3fa04217d2f517a79bea62f2c4e9e1:/emufs/tipo2_main.c diff --git a/emufs/tipo2_main.c b/emufs/tipo2_main.c index 9778593..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[]) { @@ -49,7 +51,7 @@ int main(int argc, char *argv[]) char h[63]; char i[43]; int err = 0; - EMUFS_FREE totalfsc = 0; + EMUFS_Estadisticas stats; strcpy(a, "1234567890"); strcpy(b, "REGISTRO NUMERO 2. ESTE REGISTRO ES MUCHO MAS LARGO QUE EL UNO"); @@ -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,20 +90,43 @@ 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); - - n8 = efs->grabar_registro(efs, d, 8, &err); - printf("tipo2_main.c >> Id recuperado: %lu\n",n8); - - totalfsc = emufs_fsc_get_total_fs(efs); - printf("tipo2_main.c >> Total de espacio libre en el .dat: %lu\n",totalfsc); + efs->borrar_registro(efs, n4);*/ - registro = efs->leer_registro(efs,n2,®_size,&err); + /* Prueba de recompactacion */ + efs->borrar_registro(efs, n2); + efs->borrar_registro(efs, n7); + efs->borrar_registro(efs, n4); + + /* Levanto un registro */ + 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); - printf("Total de espacio libre en el .dat: %lu\n",totalfsc); } + /* Obtengo stats */ + 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); + + /* 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;