]> git.llucax.com Git - z.facultad/75.06/emufs.git/commitdiff
Se agrego a la estructura de Estadisticas, el campo tam_datos_bytes, y se calcula...
authorAlan Kennedy <kennedya@3dgames.com.ar>
Sun, 18 Apr 2004 16:31:42 +0000 (16:31 +0000)
committerAlan Kennedy <kennedya@3dgames.com.ar>
Sun, 18 Apr 2004 16:31:42 +0000 (16:31 +0000)
emufs/emufs.h
emufs/tipo2.c
emufs/tipo2_main.c

index ac123ca3c76e783d9e3c0ad055b15644b00dc692..04b72f2ea7149f37c831ffc52b7a62e81550d151 100644 (file)
@@ -91,6 +91,7 @@ typedef unsigned long EMUFS_OFFSET;
 typedef struct _emufs_est_t {
        unsigned long tam_archivo; /**< Cantidad de Registros en el archivo */
        unsigned long tam_archivo_bytes;/**< Size del archivo en bytes */
+       unsigned long tam_datos_bytes;/**< Cantidad de bytes en datos */
        unsigned long info_control;/**< Cantidad de bytes en info de control */
        unsigned long media_fs;/**< Media del espacio libre en el archivo de datos */
        unsigned long total_fs;/**< Cantidad total de espacio libre en el archivo de datos */
index bbec0b3badf0aca9202e924e244600f3ea68e084..0d3261ce9ccba6ecea80d4730fb1883a74fe6efb 100644 (file)
@@ -257,6 +257,7 @@ EMUFS_Estadisticas emufs_tipo2_leer_estadisticas(EMUFS *efs)
        /* Inicializo las stats por si hay error somewhere */
        stats.tam_archivo = 0;
        stats.tam_archivo_bytes = 0;
+       stats.tam_datos_bytes = 0;
        stats.info_control = 0;
        stats.media_fs = 0;
        stats.total_fs = 0;
@@ -304,6 +305,9 @@ EMUFS_Estadisticas emufs_tipo2_leer_estadisticas(EMUFS *efs)
        /* Cantidad de Bytes en info de control */
        stats.info_control = idx_size + fsc_size + sizeof(EMUFS_REG_ID)*stats.tam_archivo + sizeof(EMUFS_REG_SIZE)*stats.tam_archivo + sizeof(EMUFS_Tipo);
        
+       /* Cantida de Bytes en Datos */
+       stats.tam_datos_bytes = stats.tam_archivo_bytes - sizeof(EMUFS_Tipo) - (sizeof(EMUFS_REG_ID) + sizeof(EMUFS_REG_SIZE)) * stats.tam_archivo;
+       
        return(stats);  
 }
 
@@ -475,4 +479,3 @@ void* emufs_tipo2_leer_registro_raw(EMUFS *emu, EMUFS_REG_ID id, EMUFS_REG_SIZE
        PERR("IMPLEMENTAME CABRON");
        return NULL;
 }
-
index f0694adf0188500d440993da91092082da90131a..cc3b204415e7fe64c4feb317cbe04e13228e9e8f 100644 (file)
@@ -38,7 +38,7 @@
 int main(int argc, char *argv[])
 {
        EMUFS *efs;
-       EMUFS_REG_ID n0, n1, n2, n3, n4, n5, n6, n7, n8;
+       EMUFS_REG_ID n0, n1, n2, n3, n4, n5, n6, n7, n8, n9;
        EMUFS_REG_SIZE reg_size;
        char *registro;         
        char a[11];
@@ -93,9 +93,11 @@ int main(int argc, char *argv[])
        efs->borrar_registro(efs, n4);*/
        
        /* Prueba de recompactacion */
-       efs->borrar_registro(efs, n2);
-       efs->borrar_registro(efs, n7);
-       efs->borrar_registro(efs, n4);
+       efs->borrar_registro(efs, n7);  
+       efs->borrar_registro(efs, n4);  
+       efs->borrar_registro(efs, n2);  
+       
+       n9 = efs->grabar_registro(efs, d, 8, &err);     
                                
        /* Levanto un registro */
        registro = efs->leer_registro(efs,n1,&reg_size,&err);
@@ -113,6 +115,7 @@ int main(int argc, char *argv[])
        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);
+       printf("Cantidad de bytes en datos: %lu\n",stats.tam_datos_bytes);
        
        /* Recompacto */
        printf("Recompactando...\n");
@@ -127,6 +130,7 @@ int main(int argc, char *argv[])
        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);        
+       printf("Cantidad de bytes en datos: %lu\n",stats.tam_datos_bytes);
        
        emufs_destruir(efs);