Arduino FatFS
|
API for FatFS See http://elm-chan.org/fsw/ff/00index_e.html. More...
#include <ff.h>
Public Member Functions | |
FatFs (IO &io) | |
Constructor which is providing the io driver. | |
void | setDriver (IO &io) |
IO * | getDriver () |
FRESULT | f_open (FIL *fp, const TCHAR *path, BYTE mode) |
FRESULT | f_close (FIL *fp) |
FRESULT | f_read (FIL *fp, void *buff, UINT btr, UINT *br) |
FRESULT | f_write (FIL *fp, const void *buff, UINT btw, UINT *bw) |
FRESULT | f_lseek (FIL *fp, FSIZE_t ofs) |
FRESULT | f_truncate (FIL *fp) |
FRESULT | f_sync (FIL *fp) |
FRESULT | f_opendir (DIR *dp, const TCHAR *path) |
FRESULT | f_closedir (DIR *dp) |
FRESULT | f_readdir (DIR *dp, FILINFO *fno) |
FRESULT | f_findfirst (DIR *dp, FILINFO *fno, const TCHAR *path, const TCHAR *pattern) |
FRESULT | f_findnext (DIR *dp, FILINFO *fno) |
FRESULT | f_mkdir (const TCHAR *path) |
FRESULT | f_unlink (const TCHAR *path) |
FRESULT | f_rename (const TCHAR *path_old, const TCHAR *path_new) |
FRESULT | f_stat (const TCHAR *path, FILINFO *fno) |
FRESULT | f_chmod (const TCHAR *path, BYTE attr, BYTE mask) |
FRESULT | f_utime (const TCHAR *path, const FILINFO *fno) |
FRESULT | f_chdir (const TCHAR *path) |
FRESULT | f_chdrive (const TCHAR *path) |
FRESULT | f_getcwd (TCHAR *buff, UINT len) |
FRESULT | f_getfree (const TCHAR *path, DWORD *nclst, FATFS **fatfs) |
FRESULT | f_getlabel (const TCHAR *path, TCHAR *label, DWORD *vsn) |
FRESULT | f_setlabel (const TCHAR *label) |
FRESULT | f_forward (FIL *fp, UINT(*func)(const BYTE *, UINT), UINT btf, UINT *bf) |
FRESULT | f_expand (FIL *fp, FSIZE_t fsz, BYTE opt) |
FRESULT | f_mount (FATFS *fs, const TCHAR *path, BYTE opt) |
FRESULT | f_mkfs (const TCHAR *path, const MKFS_PARM *opt, void *work, UINT len) |
FRESULT | f_fdisk (BYTE pdrv, const LBA_t ptbl[], void *work) |
FRESULT | f_setcp (WORD cp) |
int | f_putc (TCHAR c, FIL *fp) |
int | f_puts (const TCHAR *str, FIL *cp) |
int | f_printf (FIL *fp, const TCHAR *str,...) |
TCHAR * | f_gets (TCHAR *buff, int len, FIL *fp) |
bool | f_eof (FIL *fp) |
BYTE | f_error (FIL *fp) |
FSIZE_t | f_tell (FIL *fp) |
FSIZE_t | f_size (FIL *fp) |
FRESULT | f_rewind (FIL *fp) |
FRESULT | f_rewinddir (DIR *dp) |
FRESULT | f_rmdir (const TCHAR *path) |
FRESULT | f_unmount (const TCHAR *path) |
Protected Member Functions | |
void | flush (putbuff *pb) |
void | putc_bfd (putbuff *pb, TCHAR c) |
int | putc_flush (putbuff *pb) |
FRESULT | validate (FFOBJID *obj, FATFS **rfs) |
FRESULT | sync_window (FATFS *fs) |
FRESULT | move_window (FATFS *fs, LBA_t sect) |
FRESULT | sync_fs (FATFS *fs) |
DWORD | get_fat (FFOBJID *obj, DWORD clst) |
FRESULT | put_fat (FATFS *fs, DWORD clst, DWORD val) |
DWORD | find_bitmap (FATFS *fs, DWORD clst, DWORD ncl) |
FRESULT | remove_chain (FFOBJID *obj, DWORD clst, DWORD pclst) |
DWORD | create_chain (FFOBJID *obj, DWORD clst) |
FRESULT | dir_clear (FATFS *fs, DWORD clst) |
FRESULT | dir_sdi (DIR *dp, DWORD ofs) |
FRESULT | dir_next (DIR *dp, int stretch) |
FRESULT | dir_alloc (DIR *dp, UINT nent) |
FRESULT | dir_read (DIR *dp, int vol) |
FRESULT | dir_find (DIR *dp) |
FRESULT | dir_register (DIR *dp) |
FRESULT | dir_remove (DIR *dp) |
FRESULT | follow_path (DIR *dp, const TCHAR *path) |
UINT | check_fs (FATFS *fs, LBA_t sect) |
UINT | find_volume (FATFS *fs, UINT part) |
FRESULT | mount_volume (const TCHAR **path, FATFS **rfs, BYTE mode) |
int | cmp_lfn (const WCHAR *lfnbuf, BYTE *dir) |
int | pick_lfn (WCHAR *lfnbuf, BYTE *dir) |
void | put_lfn (const WCHAR *lfn, BYTE *dir, BYTE ord, BYTE sum) |
FRESULT | create_partition (BYTE drv, const LBA_t plst[], UINT sys, BYTE *buf) |
FRESULT | change_bitmap (FATFS *fs, DWORD clst, DWORD ncl, int bv) |
FRESULT | fill_first_frag (FFOBJID *obj) |
FRESULT | fill_last_frag (FFOBJID *obj, DWORD lcl, DWORD term) |
FRESULT | load_xdir (DIR *dp) |
FRESULT | load_obj_xdir (DIR *dp, const FFOBJID *obj) |
FRESULT | store_xdir (DIR *) |
FRESULT | chk_lock (DIR *dp, int acc) |
int | enq_lock (void) |
UINT | inc_lock (DIR *dp, int acc) |
FRESULT | dec_lock (UINT i) |
void | clear_lock (FATFS *fs) |
Protected Attributes | |
IO * | p_io = nullptr |
FATFS * | FatFsDir [FF_VOLUMES] |
WORD | Fsid |
const BYTE | LfnOfs [13] |
WCHAR | LfnBuf [FF_MAX_LFN+1] |
API for FatFS See http://elm-chan.org/fsw/ff/00index_e.html.
|
protected |
Dynamic memory allocation
FRESULT fatfs::FatFs::f_chdir | ( | const TCHAR * | path | ) |
Change current directory
FRESULT fatfs::FatFs::f_chdrive | ( | const TCHAR * | path | ) |
Change current drive
FRESULT fatfs::FatFs::f_chmod | ( | const TCHAR * | path, |
BYTE | attr, | ||
BYTE | mask | ||
) |
Change attribute of a file/dir
FRESULT fatfs::FatFs::f_close | ( | FIL * | fp | ) |
Close an open file object
FRESULT fatfs::FatFs::f_closedir | ( | DIR * | dp | ) |
Close an open directory
FRESULT fatfs::FatFs::f_expand | ( | FIL * | fp, |
FSIZE_t | fsz, | ||
BYTE | opt | ||
) |
Allocate a contiguous block to the file
FRESULT fatfs::FatFs::f_fdisk | ( | BYTE | pdrv, |
const LBA_t | ptbl[], | ||
void * | work | ||
) |
Divide a physical drive into some partitions
FRESULT fatfs::FatFs::f_findfirst | ( | DIR * | dp, |
FILINFO * | fno, | ||
const TCHAR * | path, | ||
const TCHAR * | pattern | ||
) |
Find first file
FRESULT fatfs::FatFs::f_forward | ( | FIL * | fp, |
UINT(*)(const BYTE *, UINT) | func, | ||
UINT | btf, | ||
UINT * | bf | ||
) |
Forward data to the stream
FRESULT fatfs::FatFs::f_getcwd | ( | TCHAR * | buff, |
UINT | len | ||
) |
Get current directory
FRESULT fatfs::FatFs::f_getfree | ( | const TCHAR * | path, |
DWORD * | nclst, | ||
FATFS ** | fatfs | ||
) |
Get number of free clusters on the drive
FRESULT fatfs::FatFs::f_getlabel | ( | const TCHAR * | path, |
TCHAR * | label, | ||
DWORD * | vsn | ||
) |
Get volume label
TCHAR * fatfs::FatFs::f_gets | ( | TCHAR * | buff, |
int | len, | ||
FIL * | fp | ||
) |
Get a string from the file
FRESULT fatfs::FatFs::f_lseek | ( | FIL * | fp, |
FSIZE_t | ofs | ||
) |
Move file pointer of the file object
FRESULT fatfs::FatFs::f_mkdir | ( | const TCHAR * | path | ) |
Create a sub directory
FRESULT fatfs::FatFs::f_mkfs | ( | const TCHAR * | path, |
const MKFS_PARM * | opt, | ||
void * | work, | ||
UINT | len | ||
) |
Create a FAT volume
FRESULT fatfs::FatFs::f_mount | ( | FATFS * | fs, |
const TCHAR * | path, | ||
BYTE | opt | ||
) |
Mount/Unmount a logical drive
FRESULT fatfs::FatFs::f_open | ( | FIL * | fp, |
const TCHAR * | path, | ||
BYTE | mode | ||
) |
Open or create a file
FRESULT fatfs::FatFs::f_opendir | ( | DIR * | dp, |
const TCHAR * | path | ||
) |
Open a directory
int fatfs::FatFs::f_printf | ( | FIL * | fp, |
const TCHAR * | str, | ||
... | |||
) |
Put a formatted string to the file
int fatfs::FatFs::f_putc | ( | TCHAR | c, |
FIL * | fp | ||
) |
Put a character to the file
int fatfs::FatFs::f_puts | ( | const TCHAR * | str, |
FIL * | cp | ||
) |
Put a string to the file
FRESULT fatfs::FatFs::f_read | ( | FIL * | fp, |
void * | buff, | ||
UINT | btr, | ||
UINT * | br | ||
) |
Read data from the file
FRESULT fatfs::FatFs::f_rename | ( | const TCHAR * | path_old, |
const TCHAR * | path_new | ||
) |
Rename/Move a file or directory
FRESULT fatfs::FatFs::f_setcp | ( | WORD | cp | ) |
Set current code page
FRESULT fatfs::FatFs::f_setlabel | ( | const TCHAR * | label | ) |
Set volume label
FRESULT fatfs::FatFs::f_stat | ( | const TCHAR * | path, |
FILINFO * | fno | ||
) |
Get file status
FRESULT fatfs::FatFs::f_sync | ( | FIL * | fp | ) |
Flush cached data of the writing file
FRESULT fatfs::FatFs::f_truncate | ( | FIL * | fp | ) |
Truncate the file
FRESULT fatfs::FatFs::f_unlink | ( | const TCHAR * | path | ) |
Delete an existing file or directory
FRESULT fatfs::FatFs::f_utime | ( | const TCHAR * | path, |
const FILINFO * | fno | ||
) |
Change timestamp of a file/dir
FRESULT fatfs::FatFs::f_write | ( | FIL * | fp, |
const void * | buff, | ||
UINT | btw, | ||
UINT * | bw | ||
) |
Write data to the file
|
protected |
Pointer to the filesystem objects (logical drives)
|
protected |
Filesystem mount ID
|
protected |
LFN working buffer
|
protected |
< Non-LFN configuration
< LFN configurations FAT: Offset of LFN characters in the directory entry
|
protected |
< Sync functions