X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/2f744903366e3d3db315e7c7c3d1fcd38d4c45f4..524ca714f39703d3c853b68479735ba7e6ef5916:/doc/draft.txt diff --git a/doc/draft.txt b/doc/draft.txt index 66a503d..99009fd 100644 --- a/doc/draft.txt +++ b/doc/draft.txt @@ -22,25 +22,31 @@ La estructura principal b int (*leer_bloque)(int ID, void *, unsigned long tam); int (*leer_registro)(int ID, void *, unsigned long tam); int (*grabar_registro)(int ID, void *, unsigned long tam); - char *nombre; + tEstadisticas (*obtener_estadisticas)(void); /* Estadisticas. Definir estructura!! */ + void (*compactar)(); /* Reorganiza los registros a fin de optimizarlo */ + char *nombre; } EMUFS; +Estos punteros a funciones son los que requiere la interfaz visual para operar +con los tipos de archivos. Cada tipo de archivo deberá escribir tantas +funciones como crea necesario para poder brindar su completa funcionalidad. + luego hay 3 funciones generales: /* Abre, determina el tipo de archivo y retorna todo bonito */ - EMUFS *efs_open(const char *archivo); + EMUFS *emufs_open(const char *archivo); /* cierra (libera memoria) */ - int efs_close(EMUFS *); + int emufs_close(EMUFS *); /* Crea un nuevo archivo de un tipo dado */ - EMUFS *efs_create(const char *nombre, int tipo); + EMUFS *emufs_create(const char *nombre, int tipo); El uso básico es de la siguiente manera: EMUFS *fd; - fd = efs_open("facturas.dat"); + fd = emufs_open("facturas.dat"); fd->leer_registro(5, dato, 5); Cosas que resolver :