- 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>
 |