]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/tipo1.h
Insertar B+ en teoria fully working con encadenamiento en hojas y toda la mar en...
[z.facultad/75.06/emufs.git] / emufs / tipo1.h
index 29bec7af88ab31c53ad3ae85d4e1893c25ae6b2b..ef89e12d6d0df897768eca8480b5615e91637a19 100644 (file)
 
 #include "emufs.h"
 
 
 #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. */
 
 /** 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. */
 
 /** 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. */
 
 /** 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);
 
 /** 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);
@@ -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*);
 
 /** 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_ */
 #endif /* _EMUFS_TIPO1_H_ */