X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/409b3712f9aafe1d8a9c2da8c5284ac0afebcfb0..3f9973797bd5e6552493d2c2c4e1b94b23f9a636:/emufs/tipo3.c diff --git a/emufs/tipo3.c b/emufs/tipo3.c index 0e657e9..0a457f9 100644 --- a/emufs/tipo3.c +++ b/emufs/tipo3.c @@ -276,3 +276,29 @@ int emufs_tipo3_borrar_registro(EMUFS *emu, EMUFS_REG_ID ID) free(bloque); return 0; } + +EMUFS_Estadisticas emufs_tipo3_leer_estadisticas(EMUFS *emu) +{ + FILE *f; + EMUFS_Estadisticas stats; + char name_f[255]; + + strcpy(name_f,emu->nombre); + strcat(name_f,".dat"); + if ( (f = fopen(name_f,"r")) == NULL){ + PERR("No se pudo abrir el archivo"); + return stats; + } + /* No hace falta el fseek ¿? */ + fseek(f,0,SEEK_END); + stats.tam_archivo_bytes = ftell(f); + stats.cant_bloques = ( ftell(f) - sizeof(EMUFS_Tipo) - sizeof(EMUFS_BLOCK_SIZE) - sizeof(EMUFS_REG_SIZE) )/ emu->tam_bloque; + stats.tam_archivo = emufs_idx_get_count(emu); + stats.total_fs = emufs_fsc_get_total_fs(emu); + /*verificar el segentado*/ + stats.info_control = stats.tam_archivo*sizeof(EMUFS_REG_ID) + sizeof(EMUFS_Tipo) + sizeof(EMUFS_BLOCK_SIZE) + sizeof(EMUFS_REG_SIZE); + stats.media_fs = stats.total_fs/stats.cant_bloques; + fclose(f); + return stats; + +}