22#define FF_DEFINED 80286
30#if FF_DEFINED != FFCONF_DEF
31#error Wrong configuration file (ffconf.h).
39typedef unsigned __int64 QWORD;
41#define isnan(v) _isnan(v)
42#define isinf(v) (!_finite(v))
44#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus)
47typedef unsigned int UINT;
48typedef unsigned char BYTE;
58typedef unsigned short WORD;
67#error exFAT feature wants C99 or later
77#error exFAT needs to be enabled when enable 64-bit LBA
85#if FF_USE_LFN && FF_LFN_UNICODE == 1
89#elif FF_USE_LFN && FF_LFN_UNICODE == 2
93#elif FF_USE_LFN && FF_LFN_UNICODE == 3
97#elif FF_USE_LFN && (FF_LFN_UNICODE < 0 || FF_LFN_UNICODE > 3)
98#error Wrong FF_LFN_UNICODE setting
107#if FF_MULTI_PARTITION
112extern PARTITION VolToPart[];
116#ifndef FF_VOLUME_STRS
133#if FF_MAX_SS != FF_MIN_SS
318#define f_eof(fp) ((int) ((fp)->fptr == (fp)->obj.objsize))
319#define f_printf(fp) ((fp)->err)
320#define f_tell(fp) ((fp)->fptr)
321#define f_size(fp) ((fp)->obj.objsize)
322#define f_rewind(fp) f_lseek((fp), 0)
323#define f_rewinddir(dp) f_readdir((dp), 0)
324#define f_rmdir(path) f_unlink(path)
325#define f_unmount(path) f_mount(0, path, 0)
332#if !FF_FS_READONLY && !FF_FS_NORTC
333DWORD get_fattime(
void);
347void *ff_memalloc(
UINT msize);
348void ff_memfree(
void *mblock);
351int ff_mutex_create(
int vol);
352void ff_mutex_delete(
int vol);
353int ff_mutex_take(
int vol);
354void ff_mutex_give(
int vol);
364#define FA_OPEN_EXISTING 0x00
365#define FA_CREATE_NEW 0x04
366#define FA_CREATE_ALWAYS 0x08
367#define FA_OPEN_ALWAYS 0x10
368#define FA_OPEN_APPEND 0x30
371#define CREATE_LINKMAP ((FSIZE_t) 0 - 1)
u64_t uint64_t
Definition stdint.h:16
u32_t uint32_t
Definition stdint.h:13
u16_t uint16_t
Definition stdint.h:10
FRESULT f_findnext(DIR *dp, FILINFO *fno)
char TCHAR
Definition ff.h:90
WORD WCHAR
Definition ff.h:60
FRESULT f_getfree(const TCHAR *path, DWORD *nclst, FATFS **fatfs)
Definition ff.c:4951
FRESULT f_chdrive(const TCHAR *path)
FRESULT f_mount(FATFS *fs, const TCHAR *path, BYTE opt)
Definition ff.c:3788
unsigned short WORD
Definition ff.h:58
FRESULT f_unlink(const TCHAR *path)
Definition ff.c:5098
FRESULT f_expand(FIL *fp, FSIZE_t fsz, BYTE opt)
unsigned int UINT
Definition ff.h:56
FRESULT
Definition ff.h:254
@ FR_NO_FILESYSTEM
Definition ff.h:268
@ FR_EXIST
Definition ff.h:263
@ FR_INVALID_PARAMETER
Definition ff.h:274
@ FR_INVALID_OBJECT
Definition ff.h:264
@ FR_TIMEOUT
Definition ff.h:270
@ FR_INVALID_DRIVE
Definition ff.h:266
@ FR_MKFS_ABORTED
Definition ff.h:269
@ FR_TOO_MANY_OPEN_FILES
Definition ff.h:273
@ FR_OK
Definition ff.h:255
@ FR_LOCKED
Definition ff.h:271
@ FR_INVALID_NAME
Definition ff.h:261
@ FR_DENIED
Definition ff.h:262
@ FR_NO_FILE
Definition ff.h:259
@ FR_DISK_ERR
Definition ff.h:256
@ FR_INT_ERR
Definition ff.h:257
@ FR_WRITE_PROTECTED
Definition ff.h:265
@ FR_NOT_READY
Definition ff.h:258
@ FR_NO_PATH
Definition ff.h:260
@ FR_NOT_ENOUGH_CORE
Definition ff.h:272
@ FR_NOT_ENABLED
Definition ff.h:267
TCHAR * f_gets(TCHAR *buff, int len, FIL *fp)
unsigned char BYTE
Definition ff.h:57
FRESULT f_mkdir(const TCHAR *path)
Definition ff.c:5190
FRESULT f_setcp(WORD cp)
Definition ff.c:7385
WCHAR ff_oem2uni(WCHAR oem, WORD cp)
FRESULT f_close(FIL *fp)
Definition ff.c:4352
FRESULT f_chdir(const TCHAR *path)
FRESULT f_truncate(FIL *fp)
Definition ff.c:5049
int f_puts(const TCHAR *str, FIL *cp)
FRESULT f_forward(FIL *fp, UINT(*func)(const BYTE *, UINT), UINT btf, UINT *bf)
QWORD FSIZE_t
Definition ff.h:69
FRESULT f_findfirst(DIR *dp, FILINFO *fno, const TCHAR *path, const TCHAR *pattern)
FRESULT f_fdisk(BYTE pdrv, const LBA_t ptbl[], void *work)
WCHAR ff_uni2oem(DWORD uni, WORD cp)
FRESULT f_lseek(FIL *fp, FSIZE_t ofs)
Definition ff.c:4569
FRESULT f_mkfs(const TCHAR *path, const MKFS_PARM *opt, void *work, UINT len)
QWORD LBA_t
Definition ff.h:71
FRESULT f_chmod(const TCHAR *path, BYTE attr, BYTE mask)
FRESULT f_rename(const TCHAR *path_old, const TCHAR *path_new)
Definition ff.c:5274
FRESULT f_setlabel(const TCHAR *label)
FRESULT f_utime(const TCHAR *path, const FILINFO *fno)
FRESULT f_readdir(DIR *dp, FILINFO *fno)
Definition ff.c:4841
FRESULT f_closedir(DIR *dp)
Definition ff.c:4815
FRESULT f_opendir(DIR *dp, const TCHAR *path)
Definition ff.c:4751
FRESULT f_stat(const TCHAR *path, FILINFO *fno)
Definition ff.c:4920
FRESULT f_read(FIL *fp, void *buff, UINT btr, UINT *br)
Definition ff.c:4043
FRESULT f_getlabel(const TCHAR *path, TCHAR *label, DWORD *vsn)
DWORD ff_wtoupper(DWORD uni)
FRESULT f_getcwd(TCHAR *buff, UINT len)
int f_putc(TCHAR c, FIL *fp)
unsigned long DWORD
Definition ff.h:59
FRESULT f_sync(FIL *fp)
Definition ff.c:4276
FRESULT f_write(FIL *fp, const void *buff, UINT btw, UINT *bw)
Definition ff.c:4148
#define f_printf(fp)
Definition ff.h:319
FRESULT f_open(FIL *fp, const TCHAR *path, BYTE mode)
Definition ff.c:3845
#define FF_MAX_SS
Definition ffconf.h:179
#define FF_VOLUMES
Definition ffconf.h:154
#define FF_LFN_BUF
Definition ffconf.h:135
#define FF_SFN_BUF
Definition ffconf.h:136
DWORD dptr
Definition ff.h:214
BYTE * dir
Definition ff.h:217
FFOBJID obj
Definition ff.h:213
DWORD clust
Definition ff.h:215
LBA_t sect
Definition ff.h:216
DWORD blk_ofs
Definition ff.h:220
WORD n_rootdir
Definition ff.h:131
WORD id
Definition ff.h:130
LBA_t database
Definition ff.h:159
DWORD fsize
Definition ff.h:155
BYTE n_fats
Definition ff.h:127
BYTE wflag
Definition ff.h:128
BYTE * dirbuf
Definition ff.h:140
LBA_t fatbase
Definition ff.h:157
BYTE fsi_flag
Definition ff.h:129
LBA_t volbase
Definition ff.h:156
DWORD n_fatent
Definition ff.h:154
BYTE ldrv
Definition ff.h:126
LBA_t winsect
Definition ff.h:163
LBA_t bitbase
Definition ff.h:161
BYTE pdrv
Definition ff.h:125
WCHAR * lfnbuf
Definition ff.h:137
WORD csize
Definition ff.h:132
BYTE fs_type
Definition ff.h:124
LBA_t dirbase
Definition ff.h:158
DWORD c_scl
Definition ff.h:180
DWORD c_ofs
Definition ff.h:182
FSIZE_t objsize
Definition ff.h:176
FATFS * fs
Definition ff.h:170
DWORD c_size
Definition ff.h:181
BYTE stat
Definition ff.h:173
DWORD n_cont
Definition ff.h:178
DWORD sclust
Definition ff.h:175
DWORD n_frag
Definition ff.h:179
BYTE attr
Definition ff.h:172
WORD id
Definition ff.h:171
WORD fdate
Definition ff.h:231
BYTE fattrib
Definition ff.h:233
FSIZE_t fsize
Definition ff.h:230
WORD ftime
Definition ff.h:232
FSIZE_t fptr
Definition ff.h:195
DWORD * cltbl
Definition ff.h:203
LBA_t sect
Definition ff.h:197
DWORD clust
Definition ff.h:196
BYTE flag
Definition ff.h:193
FFOBJID obj
Definition ff.h:192
BYTE err
Definition ff.h:194
BYTE n_fat
Definition ff.h:246
UINT n_root
Definition ff.h:248
BYTE fmt
Definition ff.h:245
DWORD au_size
Definition ff.h:249
UINT align
Definition ff.h:247