X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/e47297a011fb5230c79464af7cd72e78b266fc48..19dd8c73f1c094909dfe57cb607cc39d13779bf2:/emufs/tipo3.h diff --git a/emufs/tipo3.h b/emufs/tipo3.h index ad84d81..508f396 100644 --- a/emufs/tipo3.h +++ b/emufs/tipo3.h @@ -47,26 +47,33 @@ #include "idx.h" #include "fsc.h" - /** Lee el registro \param id_reg y lo almacena en \param ptr */ -int emufs_tipo3_leer_registro(EMUFS *emu, int id_reg, void *ptr, unsigned long tam_reg); +void* emufs_tipo3_leer_registro(EMUFS*, EMUFS_REG_ID, EMUFS_REG_SIZE*, int*); /** Lee el bloque \param num_bloque y lo almacena en \param ptr */ -int emufs_tipo3_leer_bloque(EMUFS *emu, int num_bloque, void *ptr); +void* emufs_tipo3_leer_bloque(EMUFS*, EMUFS_BLOCK_ID, int*); /** Graba el registro apuntado por \param ptr en el archivo */ -int emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, unsigned long tam_reg); +EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE, int*); /** Graba el bloque apuntado por \param ptr en el archivo */ -int emufs_tipo3_grabar_bloque(EMUFS *emu, void *ptr, int num_bloque); +int emufs_tipo3_grabar_bloque(EMUFS *emu, void *ptr, EMUFS_BLOCK_ID num_bloque); + +/** Borra el registro \param id_reg del archivo de datos */ +int emufs_tipo3_borrar_registro(EMUFS *emu, EMUFS_REG_ID id_reg); -int emufs_tipo3_get_id(EMUFS *emu); +/** Método para modificar un registro */ +EMUFS_REG_ID emufs_tipo3_modificar_registro(EMUFS *emu, EMUFS_REG_ID, void*, EMUFS_REG_SIZE, int*); -int emufs_tipo3_buscar_registro(EMUFS *emu, int id_reg); +/** Carga una estructura del tipo EMUFS_Estadisticas con las estadisticas del archivo */ +EMUFS_Estadisticas emufs_tipo3_leer_estadisticas(EMUFS *); -int emufs_tipo3_buscar_lugar(EMUFS *emu, unsigned long tam_reg, int *free_space); +/** Lee un registro con su informacion de control */ +void* emufs_tipo3_leer_registro_raw(struct _emu_fs_t*, EMUFS_REG_ID, EMUFS_REG_SIZE*, int *); -int emufs_tipo3_borrar_registro(EMUFS *emu, int id_reg, unsigned long tam_reg); +/** Elimina los espacios libres que hay en el archivo */ +void emufs_tipo3_compactar(EMUFS *emu); +void emufs_tipo3_leer_bloque_raw(EMUFS *efs, EMUFS_BLOCK_ID id, char **actual, char **anterior, char **siguiente, EMUFS_BLOCK_SIZE *size1, EMUFS_BLOCK_SIZE *size2, EMUFS_BLOCK_SIZE *size3); #endif /* _EMUFS_TIPO3_H_ */