diff options
author | germeier <germeier> | 2002-09-10 12:31:09 +0000 |
---|---|---|
committer | germeier <germeier> | 2002-09-10 12:31:09 +0000 |
commit | aead174ddcfc61eafa706c7fdff0c8b84dbd2128 (patch) | |
tree | be673848fc1b690c70ae126e23ad5f91701b8d70 /libmpio/fat.c | |
parent | f076913d50fda1192456e6a9b804f91bb7b15039 (diff) | |
download | mpiosh-aead174ddcfc61eafa706c7fdff0c8b84dbd2128.tar.gz mpiosh-aead174ddcfc61eafa706c7fdff0c8b84dbd2128.tar.bz2 mpiosh-aead174ddcfc61eafa706c7fdff0c8b84dbd2128.zip |
reactivated deleting of files (external mem only)
added error handling for memory formatting
2 fatentry function add
minor bug fixes
Diffstat (limited to 'libmpio/fat.c')
-rw-r--r-- | libmpio/fat.c | 45 |
1 files changed, 44 insertions, 1 deletions
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; +} + |