X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/015bf5db523d05c490afd35f94cb8a4df2002a56..91245c4c700e6740b4d00e1f36b02e05ff96dabd:/emufs/tipo1.h diff --git a/emufs/tipo1.h b/emufs/tipo1.h index 29bec7a..ec74926 100644 --- a/emufs/tipo1.h +++ b/emufs/tipo1.h @@ -40,17 +40,21 @@ #include "emufs.h" -/** Inicializa un EMUFS para poder ser utilizada como un archivo tipo1. */ -int emufs_tipo1_inicializar(EMUFS*); +/** Inicializa un EMUFS para poder ser utilizado como un archivo tipo1. + * + * \param efs Estructura a inicializar. + * \return Código de error o EMUFS_OK si no hubo error. + */ +int emufs_tipo1_inicializar(EMUFS* efs); /** Lee el registro \c reg_id y devolviendo su contenido. */ -void* emufs_tipo1_leer_registro(EMUFS*, EMUFS_REG_ID, EMUFS_REG_SIZE*, int*); +void* emufs_tipo1_leer_registro(EMUFS*, CLAVE, EMUFS_REG_SIZE*, int*); /** Graba un registro en el archivo. */ EMUFS_REG_ID emufs_tipo1_grabar_registro(EMUFS*, void*, EMUFS_REG_SIZE, int*); /** Borra un registro de del archivo. */ -int emufs_tipo1_borrar_registro(EMUFS*, EMUFS_REG_ID); +int emufs_tipo1_borrar_registro(EMUFS*, CLAVE); /** Método para modificar un registro. */ EMUFS_REG_ID emufs_tipo1_modificar_registro(EMUFS *emu, EMUFS_REG_ID, void*, EMUFS_REG_SIZE, int*); @@ -61,4 +65,12 @@ void* emufs_tipo1_leer_registro_raw(EMUFS *emu, EMUFS_REG_ID id, EMUFS_REG_SIZE /** Obtiene estádisticas del archivo */ EMUFS_Estadisticas emufs_tipo1_leer_estadisticas(EMUFS*); +/** Método para compactar el archivo reorganizándolo físicamente */ +void emufs_tipo1_compactar(EMUFS*); + +/** Lee un bloque y su contexto, en bruto (con cabeceras). */ +void emufs_tipo1_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_TIPO1_H_ */