]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/tipo3.h
* Se agrega campo Ubicacion, que parecia que no iba pero me confirmaron que
[z.facultad/75.06/emufs.git] / emufs / tipo3.h
index 2b9fdeb470872fa1d42fa07f141f1dea0a8686f3..508f3963fbea9aa31b96b5d8365671717b8bf5e6 100644 (file)
 #include "fsc.h"
 
 /** Lee el registro \param id_reg y lo almacena en \param ptr */
-int emufs_tipo3_leer_registro(EMUFS *emu, EMUFS_REG_ID id_reg, void *ptr,
-               EMUFS_REG_SIZE tam_reg);
+void* emufs_tipo3_leer_registro(EMUFS*, EMUFS_REG_ID, EMUFS_REG_SIZE*, int*);
 
 /** Lee el bloque \param num_bloque y lo almacena en \param ptr */
-int emufs_tipo3_leer_bloque(EMUFS *emu, EMUFS_BLOCK_ID num_bloque, void *ptr);
+void* emufs_tipo3_leer_bloque(EMUFS*, EMUFS_BLOCK_ID, int*);
 
 /** Graba el registro apuntado por \param ptr en el archivo */
-EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE tam_reg);
+EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE, int*);
 
 /** Graba el bloque apuntado por \param ptr en el archivo */
 int emufs_tipo3_grabar_bloque(EMUFS *emu, void *ptr, EMUFS_BLOCK_ID num_bloque);
 
-EMUFS_REG_ID emufs_tipo3_get_id(EMUFS *emu);
+/** Borra el registro \param id_reg del archivo de datos */
+int emufs_tipo3_borrar_registro(EMUFS *emu, EMUFS_REG_ID id_reg);
 
-int emufs_tipo3_buscar_registro(EMUFS *emu, EMUFS_REG_ID id_reg);
+/** Método para modificar un registro */
+EMUFS_REG_ID emufs_tipo3_modificar_registro(EMUFS *emu, EMUFS_REG_ID, void*, EMUFS_REG_SIZE, int*);
 
-int emufs_tipo3_buscar_lugar(EMUFS *emu, EMUFS_REG_SIZE tam_reg,
-               EMUFS_FREE *free_space);
+/** Carga una estructura del tipo EMUFS_Estadisticas con las estadisticas del archivo */
+EMUFS_Estadisticas emufs_tipo3_leer_estadisticas(EMUFS *);
 
-int emufs_tipo3_borrar_registro(EMUFS *emu, EMUFS_REG_ID id_reg,
-               EMUFS_REG_SIZE tam_reg);
+/** Lee un registro con su informacion de control */
+void* emufs_tipo3_leer_registro_raw(struct _emu_fs_t*, EMUFS_REG_ID, EMUFS_REG_SIZE*, int *);
+
+/** Elimina los espacios libres que hay en el archivo */
+void emufs_tipo3_compactar(EMUFS *emu);
+
+void emufs_tipo3_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_TIPO3_H_ */