+int emufs_tipo1_leer_bloque(EMUFS* efs, EMUFS_BLOCK_ID block_id, void *block)
+{
+ FILE* file;
+ char name_f[255];
+
+ strcpy(name_f,efs->nombre);
+ strcat(name_f,".dat");
+
+ if ( (file = fopen(name_f,"r"))==NULL ) {
+ return -1; /* FIXME ERROR */
+ }
+ fseek(file,
+ sizeof(EMUFS_TYPE) + /* Cabecera tipo */
+ sizeof(EMUFS_BLOCK_SIZE), /* Cabecera tamaño de bloque */
+ SEEK_SET);
+ /* FIXME: verificar que no se pase de fin de archivo*/
+ fseek(file, block_id * efs->tam_bloque, SEEK_CUR);
+ if (fread(block, efs->tam_bloque, 1, file) != 1) {
+ fclose(file);
+ return -1;
+ }
+
+ fclose(file);
+ return 0;
+}
+
+EMUFS_REG_ID emufs_tipo1_grabar_registro(EMUFS* emu, void* ptr,
+ EMUFS_REG_SIZE reg_size)