X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/d43fee2497586978337034b2ebd963cfeb1929ff..3f9973797bd5e6552493d2c2c4e1b94b23f9a636:/emufs/fsc.h diff --git a/emufs/fsc.h b/emufs/fsc.h index 354273a..e331b18 100644 --- a/emufs/fsc.h +++ b/emufs/fsc.h @@ -1,15 +1,62 @@ -#ifndef _FSC_H -#define _FSC_H -#include -#include -#include "emufs.h" +/* 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. + * + */ -int emufs_fsc_agregar(EMUFS *, int, int); +#ifndef _EMUFS_FSC_H +#define _EMUFS_FSC_H + +#include "emufs.h" -int emufs_fsc_actualizar(EMUFS *, int, int); +#define EMUFS_FSC_EXT ".fsc" -int emufs_fsc_buscar_lugar(EMUFS *, unsigned long, int *); +typedef struct emufs_fsc_t { + unsigned long int marker; + unsigned long int freespace; +}EMUFS_FSC; -int emufs_fsc_get_fs(EMUFS *, 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); +/*Devuelve el total de espacio libre que queda en el .dat*/ +EMUFS_FREE emufs_fsc_get_total_fs(EMUFS *); +/*EMUFS_FREE emufs_fsc_get_max_min_fs(EMUFS *, int *, int *);*/ -#endif /* _FSC_H */ +#endif /* _EMUFS_FSC_H */