- Removed a long-pending limitation that f_getcwd and double-dot .. in the path name did not work on the exFAT volume. - Fixed f_readdir cannot detect end of directory and it leads the application process into infinite loop. (appeared at R0.15b) - Fixed dot names with terminating separator or duplicated separator are rejected when LFN is not enabled.
136 lines
6.5 KiB
HTML
136 lines
6.5 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
<html lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<meta http-equiv="Content-Style-Type" content="text/css">
|
|
<link rel="stylesheet" href="../css_e.css" type="text/css" media="screen" title="ELM Default">
|
|
<title>FatFs - API Return Code</title>
|
|
</head>
|
|
|
|
<body>
|
|
<h1>Return Code of API Functions</h1>
|
|
<p>Most of API functions return common result code in enum type <tt>FRESULT</tt>. When an API function succeeded, it returns zero (<tt>FR_OK</tt>), otherwise it returns non-zero value indicates type of error.</p>
|
|
|
|
<dl class="ret">
|
|
|
|
<dt id="ok">FR_OK (0)</dt>
|
|
<dd>The function succeeded.</dd>
|
|
|
|
<dt id="de">FR_DISK_ERR</dt>
|
|
<dd>The lower layer, <tt>disk_read</tt>, <tt>disk_write</tt> or <tt>disk_ioctl</tt> function, reported that an unrecoverable hard error occured.<br>Note that if once this error occured in the operation to an open file, the file object is aborted and any operations to the file except <tt>f_close</tt> will be rejected.</dd>
|
|
|
|
<dt id="ie">FR_INT_ERR</dt>
|
|
<dd>Assertion failed and an insanity is detected in the internal process. One of the following possibilities is suspected.
|
|
<ul>
|
|
<li>Work area (file system object, file object or etc...) has been broken by stack overflow or something. This is the reason in most case.</li>
|
|
<li>There is an error of the FAT structure on the volume.</li>
|
|
<li>There is a bug in the FatFs module itself.</li>
|
|
<li>Wrong lower layer implementation.</li>
|
|
</ul>
|
|
Note that if once this error occured in the operation to an open file, the file object is aborted and any operation to the file except <tt>f_close</tt> will be rejected.
|
|
</dd>
|
|
|
|
<dt id="nr">FR_NOT_READY</dt>
|
|
<dd>The lower layer, <a href="dinit.html"><tt>disk_initialize</tt></a> function, reported that the storage device could not be got ready to work. One of the following possibilities is suspected.
|
|
<ul>
|
|
<li>No medium in the drive.</li>
|
|
<li>Wrong lower layer implementation.</li>
|
|
<li>Wrong hardware configuration.</li>
|
|
<li>The storage device has broken.</li>
|
|
</ul>
|
|
</dd>
|
|
|
|
<dt id="nf">FR_NO_FILE</dt>
|
|
<dd>Could not find the file in the directory.</dd>
|
|
|
|
<dt id="np">FR_NO_PATH</dt>
|
|
<dd>Could not follow the path. A sub-directory in the path name could not be found.</dd>
|
|
|
|
<dt id="in">FR_INVALID_NAME</dt>
|
|
<dd>The given string is invalid as a <a href="filename.html">path name</a>. One of the following possibilities is suspected.
|
|
<ul>
|
|
<li>There is a character not allowed for the file name .</li>
|
|
<li>The file name is out of 8.3 format. (at non-LFN cfg.)</li>
|
|
<li><tt>FF_MAX_LFN</tt> is insufficient for the length of file name. (at LFN cfg.)</li>
|
|
<li>There is a character encoding error in the string.</li>
|
|
</ul>
|
|
</dd>
|
|
|
|
<dt id="dn">FR_DENIED</dt>
|
|
<dd>The required access was denied due to one of the following reasons:
|
|
<ul>
|
|
<li>Write mode open against the read-only file. (<tt>f_open</tt>)</li>
|
|
<li>Deleting the read-only file or directory. (<tt>f_unlink</tt>)</li>
|
|
<li>Deleting the non-empty directory or current directory. (<tt>f_unlink</tt>)</li>
|
|
<li>Reading the file opened without <tt>FA_READ</tt> flag. (<tt>f_read</tt>)</li>
|
|
<li>Any modification to the file opened without <tt>FA_WRITE</tt> flag. (<tt>f_write, f_truncate, f_expand</tt>)</li>
|
|
<li>Could not create the object due to root directory full or disk full. (<tt>f_open, f_mkdir</tt>)</li>
|
|
<li>Could not find a contiguous data area for the file. (<tt>f_expand</tt>)</li>
|
|
</ul>
|
|
</dd>
|
|
|
|
<dt id="ex">FR_EXIST</dt>
|
|
<dd>Name collision. A file or sub-directory with the same name is already existing in the directory.</dd>
|
|
|
|
<dt id="io">FR_INVALID_OBJECT</dt>
|
|
<dd>The file/directory object is invalid or the pointer is null. There are some reasons as follows:
|
|
<ul>
|
|
<li>The file/directory object has been closed.</li>
|
|
<li>The file/directory object has been invalidated or the structure has been collapsed. Open objects on the volume will be invalidated by a voulme mount process.</li>
|
|
<li>Physical drive is not ready to work due to a media removal.</li>
|
|
</ul>
|
|
</dd>
|
|
|
|
<dt id="wp">FR_WRITE_PROTECTED</dt>
|
|
<dd>A write mode operation against the write-protected medium.</dd>
|
|
|
|
<dt id="id">FR_INVALID_DRIVE</dt>
|
|
<dd>Invalid drive number is specified in the path name or a null pointer is given as the path name. (Related option: <tt><a href="config.html#volumes">FF_VOLUMES</a></tt>)</dd>
|
|
|
|
<dt id="ne">FR_NOT_ENABLED</dt>
|
|
<dd>Work area for the logical drive has not been registered by <tt>f_mount</tt> function.</dd>
|
|
|
|
<dt id="ns">FR_NO_FILESYSTEM</dt>
|
|
<dd>Valid FAT volume could not be found in the drive. One of the following possibilities is suspected.
|
|
<ul>
|
|
<li>The FAT volume on the drive is collapsed.</li>
|
|
<li>Wrong lower layer implementation.</li>
|
|
<li>Wrong <tt>VolToPart[]</tt> settings. (<tt>FF_MULTI_PARTITION = 1</tt>)</li>
|
|
</ul></dd>
|
|
|
|
<dt id="ma">FR_MKFS_ABORTED</dt>
|
|
<dd>The <tt>f_mkfs</tt> function aborted before start in format due to a reason as follows:
|
|
<ul>
|
|
<li>It is impossible to create the volume with the given conditions.</li>
|
|
<li>The size of the volume is too small. 128 sectors minimum with <tt>FM_SFD</tt> option.</li>
|
|
<li>The partition associated with the logical drive is not exist. (Related option: <tt><a href="config.html#multi_partition">FF_MULTI_PARTITION</a></tt>)</li>
|
|
</ul>
|
|
</dd>
|
|
|
|
<dt id="tm">FR_TIMEOUT</dt>
|
|
<dd>The function was canceled due to a timeout of <a href="appnote.html#reentrant">thread-safe control</a>. (Related option: <tt><a href="config.html#timeout">FF_TIMEOUT</a></tt>)</dd>
|
|
|
|
<dt id="lo">FR_LOCKED</dt>
|
|
<dd>The operation to the file or sub-directory was rejected by <a href="appnote.html#dup">file sharing control</a>. (Related option: <tt><a href="config.html#fs_lock">FF_FS_LOCK</a></tt>)</dd>
|
|
|
|
<dt id="nc">FR_NOT_ENOUGH_CORE</dt>
|
|
<dd>Not enough memory for the operation. There is one of the following reasons:
|
|
<ul>
|
|
<li>Could not allocate a memory for LFN working buffer. (Related option: <tt><a href="config.html#use_lfn">FF_USE_LFN</a></tt>)</li>
|
|
<li>Size of the given buffer is insufficient for the size required.</li>
|
|
<li><tt><a href="config.html#fs_depth">FF_PATH_DEPTH</a></tt> is insufficient to follow the deep path. (on exFAT volume)</li>
|
|
</ul>
|
|
</dd>
|
|
|
|
<dt id="tf">FR_TOO_MANY_OPEN_FILES</dt>
|
|
<dd>Number of open objects has been reached maximum value and no more object can be opened. (Related option: <tt><a href="config.html#fs_lock">FF_FS_LOCK</a></tt>)</dd>
|
|
|
|
<dt id="ip">FR_INVALID_PARAMETER</dt>
|
|
<dd>The given parameter is invalid or there is an inconsistent for the volume.</dd>
|
|
</dl>
|
|
|
|
|
|
<p class="foot"><a href="../index.html">Return</a></p>
|
|
</body>
|
|
</html>
|