29 #error Wrong configuration file (ffconf.h). 41 extern PARTITION VolToPart[];
42 #define LD2PD(vol) (VolToPart[vol].pd) 43 #define LD2PT(vol) (VolToPart[vol].pt) 46 #define LD2PD(vol) (BYTE)(vol) 57 #error _LFN_UNICODE must be 0 at non-LFN cfg. 62 #define _TEXT(x) L ## x 87 #if _MAX_SS != _MIN_SS 124 #error LFN must be enabled when enable exFAT 126 typedef QWORD FSIZE_t;
128 typedef DWORD FSIZE_t;
207 TCHAR fname[_MAX_LFN + 1];
236 FR_TOO_MANY_OPEN_FILES,
245 FRESULT f_open (
FIL* fp,
const TCHAR* path, BYTE mode);
246 FRESULT f_close (
FIL* fp);
247 FRESULT f_read (
FIL* fp,
void* buff, UINT btr, UINT* br);
248 FRESULT f_write (
FIL* fp,
const void* buff, UINT btw, UINT* bw);
249 FRESULT f_lseek (
FIL* fp, FSIZE_t ofs);
250 FRESULT f_truncate (
FIL* fp);
251 FRESULT f_sync (
FIL* fp);
252 FRESULT f_opendir (
DIR* dp,
const TCHAR* path);
253 FRESULT f_closedir (
DIR* dp);
255 FRESULT f_findfirst (
DIR* dp,
FILINFO* fno,
const TCHAR* path,
const TCHAR* pattern);
257 FRESULT f_mkdir (
const TCHAR* path);
258 FRESULT f_unlink (
const TCHAR* path);
259 FRESULT f_rename (
const TCHAR* path_old,
const TCHAR* path_new);
260 FRESULT f_stat (
const TCHAR* path,
FILINFO* fno);
261 FRESULT f_chmod (
const TCHAR* path, BYTE attr, BYTE mask);
262 FRESULT f_utime (
const TCHAR* path,
const FILINFO* fno);
263 FRESULT f_chdir (
const TCHAR* path);
264 FRESULT f_chdrive (
const TCHAR* path);
265 FRESULT f_getcwd (TCHAR* buff, UINT len);
266 FRESULT f_getfree (
const TCHAR* path, DWORD* nclst,
FATFS** fatfs);
267 FRESULT f_getlabel (
const TCHAR* path, TCHAR* label, DWORD* vsn);
268 FRESULT f_setlabel (
const TCHAR* label);
269 FRESULT f_forward (
FIL* fp, UINT(*func)(
const BYTE*,UINT), UINT btf, UINT* bf);
270 FRESULT f_expand (
FIL* fp, FSIZE_t szf, BYTE opt);
271 FRESULT f_mount (
FATFS* fs,
const TCHAR* path, BYTE opt);
272 FRESULT f_mkfs (
const TCHAR* path, BYTE sfd, UINT au);
273 FRESULT f_fdisk (BYTE pdrv,
const DWORD szt[],
void* work);
274 int f_putc (TCHAR c,
FIL* fp);
275 int f_puts (
const TCHAR* str,
FIL* cp);
276 int f_printf (
FIL* fp,
const TCHAR* str, ...);
277 TCHAR* f_gets (TCHAR* buff,
int len,
FIL* fp);
279 #define f_eof(fp) ((int)((fp)->fptr == (fp)->obj.objsize)) 280 #define f_error(fp) ((fp)->err) 281 #define f_tell(fp) ((fp)->fptr) 282 #define f_size(fp) ((fp)->obj.objsize) 283 #define f_rewind(fp) f_lseek((fp), 0) 284 #define f_rewinddir(dp) f_readdir((dp), 0) 297 #if !_FS_READONLY && !_FS_NORTC 298 DWORD get_fattime (
void);
303 WCHAR ff_convert (WCHAR chr, UINT dir);
304 WCHAR ff_wtoupper (WCHAR chr);
306 void* ff_memalloc (UINT msize);
307 void ff_memfree (
void* mblock);
313 int ff_cre_syncobj (BYTE vol, _SYNC_t* sobj);
314 int ff_req_grant (_SYNC_t sobj);
315 void ff_rel_grant (_SYNC_t sobj);
316 int ff_del_syncobj (_SYNC_t sobj);
329 #define FA_WRITE 0x02 330 #define FA_OPEN_EXISTING 0x00 331 #define FA_CREATE_NEW 0x04 332 #define FA_CREATE_ALWAYS 0x08 333 #define FA_OPEN_ALWAYS 0x10 334 #define _FA_MODIFIED 0x20 335 #define _FA_DIRTY 0x40 359 #define CREATE_LINKMAP ((FSIZE_t)0 - 1)