X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/7a86d06abb03ced86951067cf341f228acfc9f30..015bf5db523d05c490afd35f94cb8a4df2002a56:/emufs/fsc.h?ds=sidebyside diff --git a/emufs/fsc.h b/emufs/fsc.h index ad3685f..27ee1cc 100644 --- a/emufs/fsc.h +++ b/emufs/fsc.h @@ -1,11 +1,62 @@ -#ifndef _FSC_H -#define _FSC_H -#include -#include +/* vim: set noexpandtab tabstop=4 shiftwidth=4: + *---------------------------------------------------------------------------- + * emufs + *---------------------------------------------------------------------------- + * This file is part of emufs. + * + * emufs is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * emufs is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along + * with emufs; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + *---------------------------------------------------------------------------- + * Creado: vie abr 9 16:17:50 ART 2004 + * Autores: Nicolás Dimov + * Leandro Lucarella + *---------------------------------------------------------------------------- + * + * $Id$ + * + */ + +/** \file + * + * Archivo para administrar el espacio libre disponible. + * + * Interfaz del archivo para administrar el espacio libre disponible. + * + */ + +#ifndef _EMUFS_FSC_H +#define _EMUFS_FSC_H + #include "emufs.h" -int emufs_fsc_agregar(EMUFS *, int, int); +#define EMUFS_FSC_EXT ".fsc" + +typedef struct emufs_fsc_t { + unsigned long int marker; + unsigned long int freespace; +} EMUFS_FSC; -int emufs_fsc_actualizar(EMUFS *, int, int); +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 *); -#endif /* _FSC_H */ +#endif /* _EMUFS_FSC_H */