void fatUnmount (const char* name) { devoptab_t *devops; PARTITION* partition; if(!name) return; devops = (devoptab_t*)GetDeviceOpTab (name); if (!devops) { return; } // Perform a quick check to make sure we're dealing with a libfat controlled device if (devops->open_r != dotab_fat.open_r) { return; } if (RemoveDevice (name) == -1) { return; } partition = (PARTITION*)devops->deviceData; _FAT_partition_destructor (partition); _FAT_mem_free (devops); }
void fatUnmountDirect (struct devoptab_t *devops) { PARTITION* partition = (PARTITION*)devops->deviceData; _FAT_partition_destructor (partition); _FAT_mem_free (devops); _sole_device = NULL; }