diff options
Diffstat (limited to 'sdk-modifications/libsrc/fs/libfat.c')
-rwxr-xr-x | sdk-modifications/libsrc/fs/libfat.c | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/sdk-modifications/libsrc/fs/libfat.c b/sdk-modifications/libsrc/fs/libfat.c deleted file mode 100755 index 1956d13..0000000 --- a/sdk-modifications/libsrc/fs/libfat.c +++ /dev/null @@ -1,174 +0,0 @@ -/* - libfat.c - Simple functionality for startup, mounting and unmounting of FAT-based devices. - - Copyright (c) 2006 Michael "Chishm" Chisholm - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - 3. The name of the author may not be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - 2006-07-11 - Chishm - * Original release - - 2006-08-13 - Chishm - * Moved all externally visible directory related functions to fatdir - - 2006-08-14 - Chishm - * Added extended devoptab_t functions - - 2007-01-10 - Chishm - * fatInit now sets the correct path when setAsDefaultDevice - - 2007-01-11 - Chishm - * Added missing #include <unistd.h> -*/ - -/* - -*/ - -#include <unistd.h> - -#include "fs_common.h" -#include "partition.h" -#include "fatfile.h" -#include "fatdir.h" -#include "fs_unicode.h" -#include "io_ds2_mmcf.h" - -#define GBA_DEFAULT_CACHE_PAGES 2 -#define NDS_DEFAULT_CACHE_PAGES 8 - -#if 0 -const devoptab_t dotab_fat = { - "fat", - sizeof (FILE_STRUCT), - _FAT_open_r, - _FAT_close_r, - _FAT_write_r, - _FAT_read_r, - _FAT_seek_r, - _FAT_fstat_r, - _FAT_stat_r, - _FAT_link_r, - _FAT_unlink_r, - _FAT_chdir_r, - _FAT_rename_r, - _FAT_mkdir_r, - sizeof (DIR_STATE_STRUCT), - _FAT_diropen_r, - _FAT_dirreset_r, - _FAT_dirnext_r, - _FAT_dirclose_r -}; -#endif - -#if 0 -bool fatInit (u32 cacheSize, bool setAsDefaultDevice) -{ -#ifdef NDS - bool slot1Device, slot2Device; - - // add unicode suppport - //file name string coding are set to UTF8, other coding needed conveted to UTF8 by the caller - //_FAT_unicode_init_default(); - - // Try mounting both slots - slot1Device = _FAT_partition_mount (PI_SLOT_1, cacheSize); - slot2Device = _FAT_partition_mount (PI_SLOT_2, cacheSize); - - // Choose the default device - if (slot1Device) { - _FAT_partition_setDefaultInterface (PI_SLOT_1); - } else if (slot2Device) { - _FAT_partition_setDefaultInterface (PI_SLOT_2); - } else { - return false; - } - -#else // not defined NDS - bool cartSlotDevice; - - cartSlotDevice = _FAT_partition_mount (PI_CART_SLOT, cacheSize); - - if (cartSlotDevice) { - _FAT_partition_setDefaultInterface (PI_CART_SLOT); - } else { - return false; - } - -#endif // defined NDS - - AddDevice (&dotab_fat); - - if (setAsDefaultDevice) { - chdir ("fat:/"); - } - - return true; -} -#endif - -#if 0 -bool fatInitDefault (void) { -#ifdef NDS - return fatInit (NDS_DEFAULT_CACHE_PAGES, true); -#else - return fatInit (GBA_DEFAULT_CACHE_PAGES, true); -#endif -} -#endif - -bool _FAT_Init(void) -{ - // Try mounting sd/mmc - bool sdOK = false; - if( _io_ds2_mmcf.fn_startup() == 0) //NO ERROR - sdOK = _FAT_partition_freeMount( PI_DEFAULT, &_io_ds2_mmcf, 8); - else - return false; - - if(sdOK == true) - fat_chdir ("fat:/"); - - return sdOK; -} - -bool fatMountNormalInterface (PARTITION_INTERFACE partitionNumber, u32 cacheSize) { - return _FAT_partition_mount (partitionNumber, cacheSize); -} - -bool fatMountCustomInterface (const IO_INTERFACE* device, u32 cacheSize) { - return _FAT_partition_mountCustomInterface (device, cacheSize); -} - -bool fatUnmount (PARTITION_INTERFACE partitionNumber) { - return _FAT_partition_unmount (partitionNumber); -} - - -bool fatUnsafeUnmount (PARTITION_INTERFACE partitionNumber) { - return _FAT_partition_unsafeUnmount (partitionNumber); -} - -bool fatSetDefaultInterface (PARTITION_INTERFACE partitionNumber) { - return _FAT_partition_setDefaultInterface (partitionNumber); -} |