1 FatFs Module Source Files R0.08b (C)ChaN, 2011
6 ffconf.h Configuration file for FatFs module.
7 ff.h Common include file for FatFs and application module.
9 diskio.h Common include file for FatFs and disk I/O module.
10 integer.h Alternative type definitions for integer variables.
11 option Optional external functions.
13 Low level disk I/O module is not included in this archive because the FatFs
14 module is only a generic file system layer and not depend on any specific
15 storage device. You have to provide a low level disk I/O module that written
16 to control your storage device.
22 FatFs module is an open source software to implement FAT file system to
23 small embedded systems. This is a free software and is opened for education,
24 research and commercial developments under license policy of following trems.
26 Copyright (C) 2011, ChaN, all right reserved.
28 * The FatFs module is a free software and there is NO WARRANTY.
29 * No restriction on use. You can use, modify and redistribute it for
30 personal, non-profit or commercial product UNDER YOUR RESPONSIBILITY.
31 * Redistributions of source code must retain the above copyright notice.
37 Feb 26, 2006 R0.00 Prototype
39 Apr 29, 2006 R0.01 First release.
41 Jun 01, 2006 R0.02 Added FAT12.
42 Removed unbuffered mode.
43 Fixed a problem on small (<32M) patition.
45 Jun 10, 2006 R0.02a Added a configuration option _FS_MINIMUM.
47 Sep 22, 2006 R0.03 Added f_rename.
48 Changed option _FS_MINIMUM to _FS_MINIMIZE.
50 Dec 11, 2006 R0.03a Improved cluster scan algolithm to write files fast.
51 Fixed f_mkdir creates incorrect directory on FAT32.
53 Feb 04, 2007 R0.04 Supported multiple drive system. (FatFs)
54 Changed some APIs for multiple drive system.
56 Added _USE_FAT32 option. (Tiny-FatFs)
58 Apr 01, 2007 R0.04a Supported multiple partitions on a plysical drive. (FatFs)
59 Fixed an endian sensitive code in f_mkfs. (FatFs)
60 Added a capability of extending the file size to f_lseek.
61 Added minimization level 3.
62 Fixed a problem that can collapse a sector when recreate an
63 existing file in any sub-directory at non FAT32 cfg. (Tiny-FatFs)
65 May 05, 2007 R0.04b Added _USE_NTFLAG option.
67 Fixed some problems corresponds to FAT32. (Tiny-FatFs)
68 Fixed DBCS name can result FR_INVALID_NAME.
69 Fixed short seek (0 < ofs <= csize) collapses the file object.
71 Aug 25, 2007 R0.05 Changed arguments of f_read, f_write.
72 Changed arguments of f_mkfs. (FatFs)
73 Fixed f_mkfs on FAT32 creates incorrect FSInfo. (FatFs)
74 Fixed f_mkdir on FAT32 creates incorrect directory. (FatFs)
76 Feb 03, 2008 R0.05a Added f_truncate().
78 Fixed off by one error at FAT sub-type determination.
79 Fixed btr in f_read() can be mistruncated.
80 Fixed cached sector is not flushed when create and close without write.
82 Apr 01, 2008 R0.06 Added f_forward(). (Tiny-FatFs)
83 Added string functions: fputc(), fputs(), fprintf() and fgets().
84 Improved performance of f_lseek() on move to the same or following cluster.
86 Apr 01, 2009, R0.07 Merged Tiny-FatFs as a buffer configuration option.
87 Added long file name support.
88 Added multiple code page support.
89 Added re-entrancy for multitask operation.
90 Added auto cluster size selection to f_mkfs().
91 Added rewind option to f_readdir().
92 Changed result code of critical errors.
93 Renamed string functions to avoid name collision.
95 Apr 14, 2009, R0.07a Separated out OS dependent code on reentrant cfg.
96 Added multiple sector size support.
98 Jun 21, 2009, R0.07c Fixed f_unlink() may return FR_OK on error.
99 Fixed wrong cache control in f_lseek().
100 Added relative path feature.
103 Added proper case conversion for extended characters.
105 Nov 03, 2009 R0.07e Separated out configuration options from ff.h to ffconf.h.
106 Added a configuration option, _LFN_UNICODE.
107 Fixed f_unlink() fails to remove a sub-dir on _FS_RPATH.
108 Fixed name matching error on the 13 char boundary.
109 Changed f_readdir() to return the SFN with always upper case on non-LFN cfg.
111 May 15, 2010, R0.08 Added a memory configuration option. (_USE_LFN)
112 Added file lock feature. (_FS_SHARE)
113 Added fast seek feature. (_USE_FASTSEEK)
114 Changed some types on the API, XCHAR->TCHAR.
115 Changed fname member in the FILINFO structure on Unicode cfg.
116 String functions support UTF-8 encoding files on Unicode cfg.
118 Aug 16,'10 R0.08a Added f_getcwd(). (_FS_RPATH = 2)
119 Added sector erase feature. (_USE_ERASE)
120 Moved file lock semaphore table from fs object to the bss.
121 Fixed a wrong directory entry is created on non-LFN cfg when the given name contains ';'.
122 Fixed f_mkfs() creates wrong FAT32 volume.
124 Jan 15,'11 R0.08b Fast seek feature is also applied to f_read() and f_write().
125 f_lseek() reports required table size on creating CLMP.
126 Extended format syntax of f_printf function.
127 Ignores duplicated directory separators in given path names.