From: Nicolás Dimov Date: Sat, 17 Apr 2004 20:15:58 +0000 (+0000) Subject: comente un poco los .h X-Git-Tag: svn_import_r684~416 X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/commitdiff_plain/f8390f8f7da997cf14681408515423b1ac3ea1bd?ds=sidebyside comente un poco los .h --- diff --git a/emufs/fsc.h b/emufs/fsc.h index e6a0528..6e10be1 100644 --- a/emufs/fsc.h +++ b/emufs/fsc.h @@ -47,17 +47,44 @@ typedef struct emufs_fsc_t { unsigned long int freespace; } EMUFS_FSC; -int emufs_fsc_crear(EMUFS*); -int emufs_fsc_agregar(EMUFS *, EMUFS_BLOCK_ID, EMUFS_FREE); -int emufs_fsc_agregar_gap(EMUFS *, EMUFS_OFFSET, EMUFS_FREE); -int emufs_fsc_remove_gap(EMUFS *emu, EMUFS_OFFSET); -int emufs_fsc_actualizar_gap(EMUFS *, EMUFS_OFFSET, EMUFS_FREE); -int emufs_fsc_actualizar(EMUFS *, EMUFS_BLOCK_ID, EMUFS_FREE); -EMUFS_BLOCK_ID emufs_fsc_buscar_lugar(EMUFS *, EMUFS_FREE, EMUFS_FREE *); -EMUFS_FREE emufs_fsc_get_fs(EMUFS *, EMUFS_BLOCK_ID); -EMUFS_FREE emufs_fsc_get_total_fs(EMUFS *); -EMUFS_FREE emufs_fsc_get_media_fs(EMUFS *); -int emufs_fsc_get_max_min_fs(EMUFS *, EMUFS_FREE *, EMUFS_FREE *); -int emufs_fsc_truncate(EMUFS*, EMUFS_BLOCK_ID); +/** Crea un archivo de Gaps o Espacio Libre en Bloque */ +int emufs_fsc_crear(EMUFS *emu); + +/** Agrega un registro al archivo de espacio libre en bloque. */ +int emufs_fsc_agregar(EMUFS *emu, EMUFS_BLOCK_ID block, EMUFS_FREE fs); + +/** Agrega un GAP en el archivo de Gaps para Filetype 2 */ +int emufs_fsc_agregar_gap(EMUFS *emu, EMUFS_OFFSET off, EMUFS_FREE fs); + +/** Elimina un registro GAP del archivo de espacios libres (gaps) */ +int emufs_fsc_remove_gap(EMUFS *emu, EMUFS_OFFSET off); + +/** Actualiza un registro de gap, en el archivo de Gaps en Disco */ +int emufs_fsc_actualizar_gap(EMUFS *emu, EMUFS_OFFSET off, EMUFS_FREE fs); + +/** Actualiza un registro de espacio libre de acorde al FType */ +int emufs_fsc_actualizar(EMUFS *emu, EMUFS_BLOCK_ID block, EMUFS_FREE fs); + +/** Me devuelve el ID del bloque u Offset del Gap donde quepa un registro, + * y guarda en \param n_freespace el espacio libre actualizado + */ +EMUFS_BLOCK_ID emufs_fsc_buscar_lugar(EMUFS *emu, EMUFS_FREE reg_size, EMUFS_FREE *n_freespace); + +/** Devuelve el espacio libre de un Bloque o Gap dado */ +EMUFS_FREE emufs_fsc_get_fs(EMUFS *emu, EMUFS_BLOCK_ID block); + +/** Devuelve el espacio libre total en el archivo*/ +EMUFS_FREE emufs_fsc_get_total_fs(EMUFS *emu); + +/** Devuelve el promedio del espacio libre en el archivo */ +EMUFS_FREE emufs_fsc_get_media_fs(EMUFS *emu); + +/** Almacena en \param min el minimo espacio libre y en \param max el maximo espacio libre */ +int emufs_fsc_get_max_min_fs(EMUFS *emu, EMUFS_FREE *min, EMUFS_FREE *max); + +/** Trunca el archivo hasta el bloque \param block*/ +int emufs_fsc_truncate(EMUFS *emu, EMUFS_BLOCK_ID block); + +/** Devuelve la cantidad de bloques vacios en el archivo*/ int emufs_fsc_get_cant_bloques_vacios(EMUFS *emu); #endif /* _EMUFS_FSC_H */ diff --git a/emufs/tipo3.h b/emufs/tipo3.h index 43aad6a..97de3fa 100644 --- a/emufs/tipo3.h +++ b/emufs/tipo3.h @@ -59,16 +59,18 @@ EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE, /** Graba el bloque apuntado por \param ptr en el archivo */ int emufs_tipo3_grabar_bloque(EMUFS *emu, void *ptr, EMUFS_BLOCK_ID num_bloque); +/** Borra el registro \param id_reg del archivo de datos */ int emufs_tipo3_borrar_registro(EMUFS *emu, EMUFS_REG_ID id_reg); -int emufs_tipo3_buscar_registro(EMUFS *emu, EMUFS_REG_ID id_reg); - /** Método para modificar un registro */ EMUFS_REG_ID emufs_tipo3_modificar_registro(EMUFS *emu, EMUFS_REG_ID, void*, EMUFS_REG_SIZE, int*); +/** Carga una estructura del tipo EMUFS_Estadisticas con las estadisticas del archivo */ EMUFS_Estadisticas emufs_tipo3_leer_estadisticas(EMUFS *); +/** Lee un registro con su informacion de control */ void* emufs_tipo3_leer_registro_raw(struct _emu_fs_t*, EMUFS_REG_ID, EMUFS_REG_SIZE*, int *); +/** Elimina los espacios libres que hay en el archivo */ void emufs_tipo3_compactar(EMUFS *emu); #endif /* _EMUFS_TIPO3_H_ */ diff --git a/emufs/tipo3_main.c b/emufs/tipo3_main.c index 25bdccf..bada15b 100644 --- a/emufs/tipo3_main.c +++ b/emufs/tipo3_main.c @@ -53,7 +53,7 @@ int main(int argc, char *argv[]) char* b_ptr; int err = 0, max, min, j; - EMUFS_Estadisticas s; + EMUFS_Estadisticas stats; if (argc != 2) { printf("Modo de uso : %s tam_bloque\n", argv[0]); return 1; @@ -87,6 +87,7 @@ int main(int argc, char *argv[]) v[5] = fp->grabar_registro(fp, g, 100, &err); v[6] = fp->grabar_registro(fp, h, 100, &err); v[7] = fp->grabar_registro(fp, i, 100, &err); + for (j=0; j<8; j++) printf("Grabado : %d\n", v[j]); @@ -117,22 +118,40 @@ int main(int argc, char *argv[]) printf("GRABANDO REGISTROS....\n"); v[0] = fp->grabar_registro(fp, a, 100, &err); -/* v[1] = fp->grabar_registro(fp, c, 100, &err); + v[1] = fp->grabar_registro(fp, c, 100, &err); v[2] = fp->grabar_registro(fp, d, 100, &err); v[3] = fp->grabar_registro(fp, e, 100, &err); v[4] = fp->grabar_registro(fp, f, 100, &err); v[5] = fp->grabar_registro(fp, g, 100, &err); v[6] = fp->grabar_registro(fp, h, 100, &err); v[7] = fp->grabar_registro(fp, i, 100, &err); -*/ -/* + v[4] = fp->grabar_registro(fp, f, 100, &err); + v[5] = fp->grabar_registro(fp, g, 100, &err); + v[6] = fp->grabar_registro(fp, h, 100, &err); + v[7] = fp->grabar_registro(fp, i, 100, &err); + + + printf("BORRANDO REGISTROS....\n"); + for (j=0; j<16; j+=3){ + fp->borrar_registro(fp, v[j]); + printf("borrado : %d\n", v[j]); + } + + printf("COMPACTANDO........\n"); fp->compactar(fp); -*/ - /*s=fp->leer_estadisticas(fp); - printf("tam archivo: %d\ntam arch bytes: %d\ninfo control: %d\nmedia fs: %d\ntotal fs:%d\nmax fs: %d\nmin fs: %d\ncant bloques: %d\n", - s.tam_archivo, s.tam_archivo_bytes, s.info_control, s.media_fs, s.total_fs, s.max_fs, s.min_fs, s.cant_bloques); - free(b_ptr);*/ + + + stats = fp->leer_estadisticas(fp); + printf("Size del Archivo de datos: %lu\n",stats.tam_archivo_bytes); + printf("Cantidad de Registros en el Archivo de datos: %lu\n",stats.tam_archivo); + printf("Total de espacio libre en el .dat: %lu\n",stats.total_fs); + printf("Minimo espacio libre en bloque o gap: %lu\n",stats.min_fs); + printf("Maximo espacio libre en bloque o gap: %lu\n",stats.max_fs); + printf("Media de espacio libre en bloque o gap: %lu\n",stats.media_fs); + printf("Cantidad en bytes de informacion de control: %lu\n",stats.info_control); + + free(b_ptr); ver_archivo_FS(fp); emufs_destruir(fp);