char name_f_did[255];
strcpy(name_f_did, efs->nombre);
- strcat(name_f_did, EMUFS_DID_EXT);
+ strcat(name_f_did, EMUFS_DID_EXT);
if ( (f_did = fopen(name_f_did,"a+")) == NULL) return -1;
fwrite(&n_regid, sizeof(EMUFS_REG_ID), 1, f_did);
return 0;
}
+long emufs_did_get_file_size(EMUFS* efs, int* err)
+{
+ char name[255];
+ strcpy(name, efs->nombre);
+ strcat(name, EMUFS_DID_EXT);
+ return emufs_common_get_file_size(name, err);
+}
+
#include "emufs.h"
#define EMUFS_DID_EXT ".did"
-/* Crea un archivo de ID's Liberados. */
+/** Crea un archivo de ID's Liberados. */
int emufs_did_crear(EMUFS*);
-/* Agrega un registro al archivo de ID's Libres (pila) */
+
+/** Agrega un registro al archivo de ID's Libres (pila) */
int emufs_did_agregar(EMUFS *, EMUFS_REG_ID);
-/* Devuelve el ID Libre, liberado mas recientemente (pila) */
+
+/** Devuelve el ID Libre, liberado mas recientemente (pila) */
EMUFS_REG_ID emufs_did_get_last(EMUFS*, int*);
+/** Obtiene el tamaño del archivo de identificadores liberados. */
+long emufs_did_get_file_size(EMUFS*, int*);
+
#endif /* _EMUFS_DID_H */
fclose(f_fsc);
return cant;
}
+
+long emufs_fsc_get_file_size(EMUFS* efs, int* err)
+{
+ char name[255];
+ strcpy(name, efs->nombre);
+ strcat(name, EMUFS_FSC_EXT);
+ return emufs_common_get_file_size(name, err);
+}
+
/** Devuelve la cantidad de bloques (o gaps) que tiene un archivo. */
EMUFS_BLOCK_ID emufs_fsc_get_num_blocks(EMUFS*);
+/** Obtiene el tamaño del archivo de espacios libres. */
+long emufs_fsc_get_file_size(EMUFS*, int*);
+
#endif /* _EMUFS_FSC_H */
fclose(f_idx);
return 0;
}
+
+long emufs_idx_get_file_size(EMUFS* efs, int* err)
+{
+ char name[255];
+ strcpy(name, efs->nombre);
+ strcat(name, EMUFS_IDX_EXT);
+ return emufs_common_get_file_size(name, err);
+}
+
int emufs_idx_actualizar(EMUFS *emu, int ID, EMUFS_BLOCK_ID bloque);
+/** Obtiene el tamaño del archivo de índice. */
+long emufs_idx_get_file_size(EMUFS*, int*);
+
#endif /* _EMUFS_IDX_H */