\r
<div class="para">\r
<h2>FILINFO</h2>\r
-<p>The <tt>FILINFO</tt> structure holds a file information returned by <tt>f_readdir()</tt> and <tt>f_stat()</tt> function.</p>\r
+<p>The <tt>FILINFO</tt> structure holds information about the object returned by <tt>f_readdir</tt>, <tt>f_findfirst</tt>, <tt>f_findnext</tt> and <tt>f_stat</tt> function.</p>\r
<pre>\r
<span class="k">typedef struct</span> {\r
- DWORD fsize; <span class="c">/* File size */</span>\r
- WORD fdate; <span class="c">/* Last modified date */</span>\r
- WORD ftime; <span class="c">/* Last modified time */</span>\r
- BYTE fattrib; <span class="c">/* Attribute */</span>\r
- TCHAR fname[13]; <span class="c">/* Short file name (8.3 format) */</span>\r
-<span class="k">#if</span> _USE_LFN\r
- TCHAR* lfname; <span class="c">/* Pointer to the LFN buffer */</span>\r
- int lfsize; <span class="c">/* Size of the LFN buffer in unit of TCHAR */</span>\r
+ FSIZE_t fsize; <span class="c">/* File size */</span>\r
+ WORD fdate; <span class="c">/* Last modified date */</span>\r
+ WORD ftime; <span class="c">/* Last modified time */</span>\r
+ BYTE fattrib; <span class="c">/* Attribute */</span>\r
+<span class="k">#if</span> _USE_LFN != 0\r
+ TCHAR altname[13]; <span class="c">/* Alternative object name */</span>\r
+ TCHAR fname[_MAX_LFN + 1]; <span class="c">/* Primary object name */</span>\r
+<span class="k">#else</span>\r
+ TCHAR fname[13]; <span class="c">/* Object name */</span>\r
<span class="k">#endif</span>\r
} FILINFO;\r
</pre>\r
<h4>Members</h4>\r
<dl>\r
<dt>fsize</dt>\r
-<dd>Indicates size of the file in unit of byte. Always zero for directories.</dd>\r
+<dd>Indicates size of the file in unit of byte. <tt>FSIZE_t</tt> is an alias of integer type either <tt>DWORD</tt>(32-bit) or <tt>QWORD</tt>(64-bit) depends on the configuration option <tt>_FS_EXFAT</tt>. Do not care when the item is a directory.</dd>\r
<dt>fdate</dt>\r
-<dd>Indicates the date that the file was modified or the directory was created.<br>\r
+<dd>Indicates the date when the file was modified or the directory was created.<br>\r
<dl>\r
<dt>bit15:9</dt>\r
<dd>Year origin from 1980 (0..127)</dd>\r
</dl>\r
</dd>\r
<dt>ftime</dt>\r
-<dd>Indicates the time that the file was modified or the directory was created.<br>\r
+<dd>Indicates the time when the file was modified or the directory was created.<br>\r
<dl>\r
<dt>bit15:11</dt>\r
<dd>Hour (0..23)</dd>\r
<dt>fattrib</dt>\r
<dd>Indicates the file/directory attribute in combination of <tt>AM_DIR</tt>, <tt>AM_RDO</tt>, <tt>AM_HID</tt>, <tt>AM_SYS</tt> and <tt>AM_ARC</tt>.</dd>\r
<dt>fname[]</dt>\r
-<dd>Indicates the file/directory name in 8.3 format null-terminated string. It is always returnd with upper case in non-LFN configuration but it can be returned with lower case in LFN configuration.</dd>\r
-<dt>lfname</dt>\r
-<dd>Pointer to the LFN buffer to store the read LFN. This member must be initialized by application program prior to use this structure. Set a null pointer if LFN is not needed. Not available at non-LFN configuration.</dd>\r
-<dt>lfsize</dt>\r
-<dd>Size of the LFN buffer in unit of TCHAR. This member must be initialized by application program prior to use this structure. Not available at non-LFN configuration.</dd>\r
+<dd>The null-terminated object name is stored. A null string is stored when no item to read and it indicates this structure is invalid.</dd>\r
+<dt>altname[]</dt>\r
+<dd>Alternative object name is stored if available. This member is not available at non-LFN configuration.</dd>\r
</dl>\r
\r
<p class="foot"><a href="../00index_e.html">Return</a></p>\r