#ifndef __DESCRIPTOR_SFB_H #define __DESCRIPTOR_SFB_H #include "tipos.h" /* struct DescriptorSFB */ /* */ /* Estructura de descripción del sistema de ficheros básico */ /* */ struct DescriptorSFB { /* Tamaños. Datos tomados del superbloque del disco */ WORD tam_bloque_fisico; /* tamaño de bloque físico */ DWORD num_bloques_fisicos; /* número de bloques físicos */ /* Orígenes de las áreas en disco (medidos en bloques físicos) */ /* Datos tomados del superbloque del disco */ WORD tam_bloque_datos; /* tamaño de bloque de datos (medido en bloques físicos) */ WORD num_BFB; /* numero de BFBs */ DWORD org_BFB; /* origen de los bloques de ficheros básicos */ DWORD org_datos; /* origen de los bloques de datos */ DWORD primer_bloque_libre; DWORD ultimo_bloque_datos; /* Tamaños y cantidades calculados al montar un SFB */ WORD BFBs_por_BF; /* bloques de fichero en un bloque físico */ DWORD nbloques_BFB; /* número de bloques físicos ocupados por BFBs */ DWORD nbloques_datos; /* número de bloques de datos */ /* Control de montaje */ int montado; /* 0 si no hay sistema montado */ }; /* Variable global con la descripción del sistema de ficheros */ extern struct DescriptorSFB DESC; /* Rutinas para transferir el superbloque al disco */ int LeeSuperbloque (struct DescriptorSFB*); int EscribeSuperbloque (const struct DescriptorSFB*); #endif