/* Fichero cabecera de declaracion de prototipos */ /* */ /* Subsistema de Ficheros Simbolico */ /* */ /* Conjunto minimo de funciones que deben implementarse */ /* (I) Funcion de interfase con el usuraio */ /* (O) Funcion interna del Subsistema */ /* */ /* Modificado: 12/04/96 */ #include "Tipos_SF.h" /* Funcion que crea un fichero (I) */ int Crea_Fichero( char *nombre, Atributo atrib); /* nombre: apunta a una cadena de caracteres que contiene el nombre */ /* atrib: Accesos permitidos */ /* retorno: 0 ejecucion con exito, -1 error */ /* ERR_INACTIVO Sist. Ficheros no montado */ /* ERR_EXISTE Fichero ya existe */ /* ERR_MAXFICH Directorio lleno */ /* ERR_ATRIBUTO Atributo invalido */ /* ERR_PARAMETRO Nombre invalido */ /* Funcion que borra un fichero (I) */ int Borra_Fichero( char *nombre ); /* nombre: apunta a una cadena de caracteres que contiene el nombre */ /* retorno: 0 ejecucion con exito, -1 error */ /* ERR_INACTIVO Sist. Ficheros no amontado */ /* ERR_PARAMETRO Nombre invalido */ /* ERR_ACCESO Fichero abierto o solo lectura */ /* ERR_NOEXISTE Fichero no existe */ /* Funcion que abre un archivo (I) */ int Abre_Fichero( char *nombre, Acceso acces) ; /* nombre: apunta al nombre del fichero a abrir */ /* acces: accesos a realizar (LECTURA, ESCRITURA, BLOQUEO) */ /* retorno: desc. de fichero (>=0) si se ejecuta sin error, -1 error */ /* ERR_INACTIVO Sist. Ficheros no montado */ /* ERR_RANGO Tablas del sistema llenas */ /* ERR_NOEXISTE Fichero no existe */ /* ERR_ACCESO Modo de acceso no permitido */ /* Funcion que cierra un archivo (I) */ int Cierra_Fichero( int fd ); /* fd: descriptor del fichero a cerrar */ /* retorna: 0 ejecucion con exito, -1 error */ /* ERR_INACTIVO Sist. Ficheros no monatdo */ /* ERR_EFD Descriptor de ficheros invalido */ /* Funcion de lectura de fichero (I) */ int Lee_Fichero( int fd, void *buff, int nbytes); /* fd: descriptor del fichero a leer */ /* buff: direccion en memoria donde depositar los bytes */ /* nbytes: numero de bytes a leer */ /* retorno: nbytes si lectura con exito, -1 error */ /* ERR_INACTIVO Sist. Ficheros no montado */ /* ERR_EFD Descriptor de ficheros invalido */ /* ERR_ACCESO Acceso no permitido */ /* ERR_LEE Se produjo un error al leer */ /* Funcion de escritura de fichero (I) */ int Escribe_Fichero( int fd, void *buff, int nbytes); /* fd: descriptor del fichero a escribir */ /* buff: direccion en memoria de los bytes a escribir */ /* nbytes: numero de bytes a escribir */ /* retorno: nbytes ejecucion con exitos, -1 error */ /* ERR_INACTIVO Sist. Ficheros no montado */ /* ERR_EFD Descriptor de ficheros invalido */ /* ERR_ACCESO Acceso no permitido */ /* ERR_ESCRIBE Se produjo un error al escribir */ /* ERR_TAMAŅO Alcanzado tamaņo maximo */ /* Funcion de actualizacion del puntero a fichero (I) */ int Posiciona_Puntero( int fd, Posfich punt); /* fd: descriptor de fichero */ /* punt: nueva posicion del puntero a fichero */ /* retorno: punt si se ejecuta sin error, -1 error */ /* ERR_INACTIVO Sist. Ficheros no montado */ /* ERR_EFD Descriptor de ficheros invalido */ /* ERR_PUNTERO Nuevo valor de puntero invalido */ /* Funcion para la creacion de un sistema de ficheros (I) */ int Crea_Sistema( char *nombre, paramfs nbloq, paramfs tbloq, paramfs nfich); /* nombre: puntero al nombre de archivo que contendra el nuevo sist. fich. */ /* nbloq: numero de bloques que tendra el sist. fich. */ /* tbloq: numero de bloques fisiscos de que consta un bloque de datos */ /* nfich: numero de entradas del directorio del sistema */ /* retorno: 0 ejecucion sin error, -1 error */ /* ERR_FICHERO Fichero de sistema invalido */ /* ERR_PARAMTRO Parametro invalido */ /* Funcion para activar (montar) un sistema de ficheros existente (I) */ int Activa_Sistema( char *nomb, int nboques_cache ); /* nomb: puntero al nombre del archivo que contiene un sist. fich. */ /* nbloques_cache: numero de bloques de la cache asociada al SF */ /* retorno: indice a la tabla de sistemas activos si no hay error, -1 error */ /* ERR_FICHERO Fichero de sistema invalido */ /* ERR_RANGO Ya hay sistema montado */ /* Funcion para desactivar (desmontar) un sistema de ficheros (I) */ int Desactiva_Sistema( ); /* retorno: 0 ejecucion con exito, -1 error */ /* ERR_INACTIVO Sist. Ficheros no montado */