- /* Guardo el Header */
- fwrite(&tipo, sizeof(char), 1, fp);
- fwrite(&tam_bloque, sizeof(unsigned int), 1, fp);
- fwrite(&tam_reg, sizeof(unsigned int), 1, fp);
- fclose(fp);
-
- strcpy(name, filename);
- strcat(name, EMUFS_IDX_EXT);
- fp = fopen(name, "w");
- fclose(fp);
-
- strcpy(name, filename);
- strcat(name, EMUFS_FSC_EXT);
- fp = fopen(name, "w");
- fclose(fp);
-
- strcpy(name, filename);
- strcat(name, EMUFS_DID_EXT);
- fp = fopen(name, "w");
- fclose(fp);
-
- break;
- default:
- free(tmp);
- return NULL;
+
+ /* Guarda cabeceras propias. */
+ fwrite(&tam_bloque, sizeof(EMUFS_BLOCK_SIZE), 1, fp);
+
+ break;
+
+ case T2:
+ /* Asigna punteros a funciones. */
+ emufs_tipo2_inicializar(efs);
+ break;
+
+ case T3:
+ /* Asigna punteros a funciones. */
+ efs->leer_bloque = emufs_tipo3_leer_bloque;
+ efs->leer_registro = emufs_tipo3_leer_registro;
+ efs->leer_registro_raw = emufs_tipo3_leer_registro_raw;
+ efs->grabar_registro = emufs_tipo3_grabar_registro;
+ efs->borrar_registro = emufs_tipo3_borrar_registro;
+ efs->leer_estadisticas = emufs_tipo3_leer_estadisticas;
+ efs->modificar_registro = emufs_tipo3_modificar_registro;
+ efs->compactar = emufs_tipo3_compactar;
+ /* Guarda cabeceras propias. */
+ fwrite(&tam_bloque, sizeof(EMUFS_BLOCK_SIZE), 1, fp);
+ fwrite(&tam_reg, sizeof(EMUFS_REG_SIZE), 1, fp);
+ break;
+