\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 prior to use this structure. Set null pointer if LFN is not needed. Not available in 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 prior to use this structure. Not available in 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