#ifndef __SFBASICO_H #define __SFBASICO_H /************************************************************************/ /* */ /* SFBASICO.H */ /* ========== */ /* */ /* Interfaz con un sistema de ficheros muy simple, */ /* para realizar prácticas de diseño de sistemas operativos. */ /* */ /* Características: */ /* */ /* - Sólo un directorio raíz */ /* - Ficheros de tamaño fijo */ /* - Transferencias por bloques (no por bytes) */ /* - Si se borra un fichero, los bloques ocupados */ /* no quedan disponibles */ /* */ /* Versión 2.0b */ /* */ /* © José Miguel Santos, Carmelo Rubén García, Gabino Padrón, */ /* 1996-97-98 */ /* */ /************************************************************************/ /* Tipos básicos de las prácticas */ #include "tipos.h" /****************************/ /* Servicios de este módulo */ /****************************/ /* Formateo y montaje de discos */ int FormateaSFB ( const char* nombre_fichero, const char* args[] ); int MontaSFB ( const char* nombre_fichero, int nbloques_cache ); int DesmontaSFB (void); /* Información del sistema */ WORD TamBloqueDatos(void); DWORD EspacioLibre (void); WORD FicherosLibres (void); /* Creación y destrucción de ficheros */ IFB CreaFB ( const char* nombre, WORD num_bloques ); int DestruyeFB ( IFB fichero ); /* Tamaño del fichero */ WORD LongitudFB ( IFB fichero ); int CambiaLongitudFB ( IFB fichero, WORD num_bloques ); /* Lectura y escritura de bloques */ int LeeBloqueFB ( IFB fichero, WORD num_bloque, void* bufer ); int EscribeBloqueFB ( IFB fichero, WORD num_bloque, const void* bufer ); /* Gestión de nombres y directorios */ IFB BuscaFB ( const char* nombre ); IFB EntradaDir ( int numero_de_orden, char* nombre ); /* Servicios añadidos por ustedes */ #include "extrasfb.h" #endif