X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/d4f0853a534fc4283fa38cf4bb4a70cc614283ec..e1b83d7a86a1982cf9936cc354a969d68303d351:/emufs/tipo1.h diff --git a/emufs/tipo1.h b/emufs/tipo1.h index 946d36e..019806c 100644 --- a/emufs/tipo1.h +++ b/emufs/tipo1.h @@ -39,6 +39,7 @@ #define _EMUFS_TIPO1_H_ #include "emufs.h" +#include "indice_bplus.h" /** Inicializa un EMUFS para poder ser utilizado como un archivo tipo1. * @@ -48,16 +49,16 @@ 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*); +EMUFS_REG_ID emufs_tipo1_modificar_registro(EMUFS *emu, CLAVE k, void*, EMUFS_REG_SIZE, 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); @@ -72,5 +73,10 @@ 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); + +/** 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_ */