]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/tipo1.h
Se agrega una razon más para elegir algoritmo de external sort.
[z.facultad/75.06/emufs.git] / emufs / tipo1.h
index 019806cfaeb89c57ea5be6491a5027e1c3642314..4e4deb32be910ad45485bdd01921f11c97be9593 100644 (file)
@@ -48,6 +48,8 @@
  */
 int emufs_tipo1_inicializar(EMUFS* efs);
 
+int emufs_tipo4_inicializar(EMUFS* efs);
+
 /** Lee el registro \c reg_id y devolviendo su contenido. */
 void* emufs_tipo1_leer_registro(EMUFS*, CLAVE, EMUFS_REG_SIZE*, int*);
 
@@ -55,10 +57,10 @@ void* emufs_tipo1_leer_registro(EMUFS*, CLAVE, EMUFS_REG_SIZE*, int*);
 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);
@@ -75,8 +77,14 @@ void emufs_tipo1_leer_bloque_raw(EMUFS *efs, EMUFS_BLOCK_ID id, char **actual,
                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);
+EMUFS_REG_ID 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);
+int emufs_tipo1_eliminar_ordenado(EMUFS *emu, CLAVE clave, INDICE_DATO dato);
+
+void *emufs_tipo1_leer_registro_plus(EMUFS *emu, CLAVE clave, EMUFS_REG_SIZE *size, int *err);
+
+EMUFS_REG_ID emufs_tipo1_modificar_registro_plus(EMUFS *emu, CLAVE k, void*, EMUFS_REG_SIZE, int*, INDICE_DATO);
+
+B_PLUS_KEYBUCKET *emufs_tipo1_obtener_claves_raw(EMUFS *emu, int num_bloque);
 #endif /* _EMUFS_TIPO1_H_ */