+
+ case T4:
+ /* Lee cabeceras propias. */
+ if (!fread(&(efs->tam_bloque), sizeof(EMUFS_BLOCK_SIZE), 1, fp)) {
+ free(efs->nombre);
+ free(efs);
+ fclose(fp);
+ return NULL;
+ }
+ emufs_tipo4_inicializar(efs);
+ break;
+
+ case T5:
+ if ((!fread(&(efs->tam_bloque), sizeof(EMUFS_BLOCK_SIZE), 1, fp)) ||
+ (!fread(&(efs->tam_reg), sizeof(EMUFS_REG_SIZE), 1, fp)))
+ {
+ free(efs->nombre);
+ free(efs);
+ fclose(fp);
+ return NULL;
+ }
+ /* Asigna punteros a funciones. */
+ emufs_tipo5_inicializar(efs);
+ }