X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/9becab83c083dd57876b1d29ec4bc73cbda912ac..8ecf90cd26aae1fb4a34561b497cbdc2f6a1b671:/emufs/tipo1.c diff --git a/emufs/tipo1.c b/emufs/tipo1.c index eeaef09..0db0f3a 100644 --- a/emufs/tipo1.c +++ b/emufs/tipo1.c @@ -39,11 +39,12 @@ #include "idx.h" #include "fsc.h" #include "did.h" +#include +#include #include #include #include #include -#include #ifndef MIN # define MIN(x, y) (((x) > (y)) ? (y) : (x)) @@ -89,6 +90,7 @@ int emufs_tipo1_inicializar(EMUFS* efs) } /* Asigna punteros a funciones. */ efs->leer_bloque = emufs_tipo1_leer_bloque; + efs->leer_bloque_raw = emufs_tipo1_leer_bloque_raw; efs->grabar_registro = emufs_tipo1_grabar_registro; efs->borrar_registro = emufs_tipo1_borrar_registro; efs->leer_registro = emufs_tipo1_leer_registro; @@ -734,3 +736,12 @@ long emufs_tipo1_get_file_size(EMUFS* efs, int* err) return file_size; } +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) +{ + int err; + (*actual) = emufs_tipo1_leer_bloque(efs, id, &err); + (*anterior) = emufs_tipo1_leer_bloque(efs, id-1, &err); + (*siguiente) = emufs_tipo1_leer_bloque(efs, id+1, &err); + (*size1) = (*size2) = (*size3) = efs->tam_bloque; +} +