X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/0a8c25d48c0fa1602556582885e33426cb2e05fa..d4f0853a534fc4283fa38cf4bb4a70cc614283ec:/emufs/tipo3.h diff --git a/emufs/tipo3.h b/emufs/tipo3.h index 2b9fdeb..508f396 100644 --- a/emufs/tipo3.h +++ b/emufs/tipo3.h @@ -48,26 +48,32 @@ #include "fsc.h" /** Lee el registro \param id_reg y lo almacena en \param ptr */ -int emufs_tipo3_leer_registro(EMUFS *emu, EMUFS_REG_ID id_reg, void *ptr, - EMUFS_REG_SIZE 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, EMUFS_BLOCK_ID num_bloque, void *ptr); +void* emufs_tipo3_leer_bloque(EMUFS*, EMUFS_BLOCK_ID, int*); /** Graba el registro apuntado por \param ptr en el archivo */ -EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE 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, EMUFS_BLOCK_ID num_bloque); -EMUFS_REG_ID emufs_tipo3_get_id(EMUFS *emu); +/** 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_buscar_registro(EMUFS *emu, EMUFS_REG_ID id_reg); +/** 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_lugar(EMUFS *emu, EMUFS_REG_SIZE tam_reg, - EMUFS_FREE *free_space); +/** Carga una estructura del tipo EMUFS_Estadisticas con las estadisticas del archivo */ +EMUFS_Estadisticas emufs_tipo3_leer_estadisticas(EMUFS *); -int emufs_tipo3_borrar_registro(EMUFS *emu, EMUFS_REG_ID id_reg, - EMUFS_REG_SIZE tam_reg); +/** 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 *); + +/** 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_ */