fclose(f_fsc);
return total;
}
-/*
-EMUFS_FREE emufs_fsc_get_max_min_fs(EMUFS *emu, int *min, int *max)
+
+int emufs_fsc_get_max_min_fs(EMUFS *emu, EMUFS_FREE *min, EMUFS_FREE *max)
{
FILE *f_fsc;
EMUFS_FSC reg;
strcpy(name_f_fsc,emu->nombre);
strcat(name_f_fsc, EMUFS_FSC_EXT);
- *min = emu->tam_bloque;
+ *min = ULONG_MAX;
*max = 0;
if ( (f_fsc = fopen(name_f_fsc,"r"))==NULL ) return -1;
fclose(f_fsc);
return 0;
}
-*/
+
+EMUFS_FREE emufs_fsc_get_media_fs(EMUFS *emu)
+{
+ FILE *f_fsc;
+ EMUFS_FSC reg;
+ char name_f_fsc[255];
+ EMUFS_FREE total_fs = 0;
+ EMUFS_REG_ID gap_count = 0;
+
+ strcpy(name_f_fsc,emu->nombre);
+ strcat(name_f_fsc, EMUFS_FSC_EXT);
+
+ if ( (f_fsc = fopen(name_f_fsc,"r"))==NULL ) return -1;
+
+ while ( !feof(f_fsc) ){
+ fread(®, sizeof(EMUFS_FSC), 1, f_fsc);
+ total_fs += reg.freespace;
+ ++gap_count;
+ }
+
+ fclose(f_fsc);
+ return total_fs/gap_count;
+}