+
+ if ( (f_idx = fopen(name_f_idx,"r+"))==NULL ) return -1;
+
+ fseek(f_idx, sizeof(EMUFS_IDX)*id_reg, SEEK_SET);
+ reg.id_reg = id_reg;
+ reg.location = location;
+ fwrite(®,sizeof(EMUFS_IDX),1,f_idx);
+ fclose(f_idx);
+
+ return 0;
+}
+
+/* Borra un registro del indice dada la eliminacion fisica de un reg */
+int emufs_idx_borrar(EMUFS *emu, EMUFS_REG_ID idreg)
+{
+ FILE *f_idx;
+ EMUFS_IDX reg;
+ char name_f_idx[255];
+
+ strcpy(name_f_idx,emu->nombre);
+ strcat(name_f_idx, EMUFS_IDX_EXT);
+
+ if ( (f_idx = fopen(name_f_idx,"r+"))==NULL ) return 1;
+
+ if (fseek(f_idx, sizeof(EMUFS_IDX)*idreg, SEEK_SET) == 0) {
+ reg.id_reg = idreg;
+ reg.location = EMUFS_NOT_FOUND;
+ fwrite(®, sizeof(EMUFS_IDX), 1, f_idx);
+ }
+ fclose(f_idx);