#define _EMUFS_TIPO1_H_
#include "emufs.h"
-#include "did.h"
-#include "idx.h"
-#include "fsc.h"
-int emufs_tipo1_leer_registro(EMUFS *, int , void *, unsigned long);
+/** Inicializa un EMUFS para poder ser utilizada como un archivo tipo1. */
+int emufs_tipo1_inicializar(EMUFS*);
-int emufs_tipo1_leer_bloque(EMUFS *, int , void *);
+/** Lee el registro \c reg_id y devolviendo su contenido. */
+void* emufs_tipo1_leer_registro(EMUFS*, EMUFS_REG_ID, EMUFS_REG_SIZE*, int*);
-int emufs_tipo1_grabar_registro(EMUFS *, void *, unsigned long );
+/** Graba un registro en el archivo. */
+EMUFS_REG_ID emufs_tipo1_grabar_registro(EMUFS*, void*, EMUFS_REG_SIZE, int*);
-int emufs_tipo1_grabar_bloque(EMUFS *, void *, int);
+/** Borra un registro de del archivo. */
+int emufs_tipo1_borrar_registro(EMUFS*, EMUFS_REG_ID);
-int emufs_tipo1_get_id(EMUFS *);
+/** Método para modificar un registro. */
+EMUFS_REG_ID emufs_tipo1_modificar_registro(EMUFS *emu, EMUFS_REG_ID, void*, EMUFS_REG_SIZE, int*);
-int emufs_tipo1_buscar_registro(EMUFS *, int);
+/** Método para leer un registro con todo su bloque asociado. */
+void* emufs_tipo1_leer_registro_raw(EMUFS *emu, EMUFS_REG_ID id, EMUFS_REG_SIZE *size, int *pos);
-int emufs_tipo1_buscar_lugar(EMUFS *, unsigned long , int *);
+/** Obtiene estádisticas del archivo */
+EMUFS_Estadisticas emufs_tipo1_leer_estadisticas(EMUFS*);
-int emufs_tipo1_borrar_registro(EMUFS*, int, unsigned long);
+/** Método para compactar el archivo reorganizándolo físicamente */
+void emufs_tipo1_compactar(EMUFS*);
+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_ */