*
*/
-#ifndef _PARAM_CTE_H_
-#define _PARAM_CTE_H_
+#ifndef _EMUFS_TIPO3_H_
+#define _EMUFS_TIPO3_H_
#include <stdio.h>
#include <stdlib.h>
#include "idx.h"
#include "fsc.h"
+/** Lee el registro \param id_reg y lo almacena en \param ptr */
+void* emufs_tipo3_leer_registro(EMUFS*, EMUFS_REG_ID, EMUFS_REG_SIZE*, int*);
-typedef struct block_free_t {
- int block;
- int free_space;
-} BLOCK_FREE_T;
+/** Lee el bloque \param num_bloque y lo almacena en \param ptr */
+void* emufs_tipo3_leer_bloque(EMUFS*, EMUFS_BLOCK_ID, int*);
-typedef struct block_reg_t {
- int block;
- long int id_reg;
-} BLOCK_REG_T;
+/** Graba el registro apuntado por \param ptr en el archivo */
+EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE, int*);
-int emufs_tipo3_leer_registro(EMUFS *, int , void *, unsigned long);
+/** Graba el bloque apuntado por \param ptr en el archivo */
+int emufs_tipo3_grabar_bloque(EMUFS *emu, void *ptr, EMUFS_BLOCK_ID num_bloque);
-int emufs_tipo3_leer_bloque(EMUFS *, int , void *);
+/** 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_grabar_registro(EMUFS *, void *, unsigned long );
+/** 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_grabar_bloque(EMUFS *, void *, int);
+/** Carga una estructura del tipo EMUFS_Estadisticas con las estadisticas del archivo */
+EMUFS_Estadisticas emufs_tipo3_leer_estadisticas(EMUFS *);
-int emufs_tipo3_get_id(EMUFS *);
+/** 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 *);
-int emufs_tipo3_buscar_registro(EMUFS *, int);
+/** Elimina los espacios libres que hay en el archivo */
+void emufs_tipo3_compactar(EMUFS *emu);
-int emufs_tipo3_buscar_lugar(EMUFS *, unsigned long , int *);
+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);
-int emufs_tipo3_borrar_registro(EMUFS*, int, int);
-
-
-#endif /* _PARAM_CTE_H_ */
+#endif /* _EMUFS_TIPO3_H_ */