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; +} +  | 
