#define _EMUFS_TIPO1_H_
#include "emufs.h"
+#include "indice_bplus.h"
/** Inicializa un EMUFS para poder ser utilizado como un archivo tipo1.
*
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*, CLAVE);
+int emufs_tipo1_borrar_registro(EMUFS*, CLAVE, INDICE_DATO);
/** Método para modificar un registro. */
-EMUFS_REG_ID emufs_tipo1_modificar_registro(EMUFS *emu, CLAVE k, void*, EMUFS_REG_SIZE, int*);
+EMUFS_REG_ID emufs_tipo1_modificar_registro(EMUFS *emu, CLAVE k, void*, EMUFS_REG_SIZE, int*, INDICE_DATO);
/** 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);
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);
+
+/** Inserta un registro en el archivo, ordenado por clave principal*/
+int emufs_tipo1_insertar_ordenado(EMUFS *emu, void *ptr, EMUFS_REG_SIZE size, int *err);
+/** Elimina un registro de clave CLAVE del archivo con ayuda del arbol B+*/
+int emufs_tipo1_eliminar_ordenado(EMUFS *emu, CLAVE clave, int *err);
#endif /* _EMUFS_TIPO1_H_ */