From aead174ddcfc61eafa706c7fdff0c8b84dbd2128 Mon Sep 17 00:00:00 2001 From: germeier Date: Tue, 10 Sep 2002 12:31:09 +0000 Subject: reactivated deleting of files (external mem only) added error handling for memory formatting 2 fatentry function add minor bug fixes --- libmpio/fat.c | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) (limited to 'libmpio/fat.c') diff --git a/libmpio/fat.c b/libmpio/fat.c index 79d7a0d..170ab6c 100644 --- a/libmpio/fat.c +++ b/libmpio/fat.c @@ -1,6 +1,6 @@ /* * - * $Id: fat.c,v 1.6 2002/09/09 15:51:37 germeier Exp $ + * $Id: fat.c,v 1.7 2002/09/10 12:31:09 germeier Exp $ * * Library for USB MPIO-* * @@ -578,3 +578,46 @@ mpio_fat_write(mpio_t *m, mpio_mem_t mem) return 0; } + +int +mpio_fatentry_set_free (mpio_t *m, mpio_mem_t mem, mpio_fatentry_t *f) +{ + int e; + mpio_smartmedia_t *sm; + + if (mem == MPIO_INTERNAL_MEM) { + sm = &m->internal; + e = f->entry * 0x10; + memset((sm->fat+e), 0xff, 0x10); + } + + if (mem == MPIO_EXTERNAL_MEM) { + sm = &m->internal; + mpio_fatentry_write(m, mem, f, 0); + } + + return 0; +} + +int +mpio_fatentry_set_defect(mpio_t *m, mpio_mem_t mem, mpio_fatentry_t *f) +{ + int e; + mpio_smartmedia_t *sm; + + if (mem == MPIO_INTERNAL_MEM) { + sm = &m->internal; + e = f->entry * 0x10; + debug("Sorry, I don't now how to mark an internal block as" + " defective yet.\n"); +/* memset((sm->fat+e), 0xff, 0x10); */ + } + + if (mem == MPIO_EXTERNAL_MEM) { + sm = &m->internal; + mpio_fatentry_write(m, mem, f, 0xfff7); + } + + return 0; +} + -- cgit v1.2.3