1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
6<META http-equiv="Content-Style-Type" content="text/css">
7<LINK rel="stylesheet" type="text/css" href="../CSS/revolution.css">
8<title>NANDFreeBlocksAsync</title>
9</head>
10
11<body>
12
13<h1>NANDFreeBlocksAsync</h1>
14
15<h2>Syntax</h2>
16<dl><dd><pre class="construction">
17#include &lt;revolution/nand.h&gt;
18
19typedef void (*NANDCallback)( s32 result, NANDCommandBlock *block );
20
21s32 NANDFreeBlocksAsync( u32 *bytes, u32 *inodes, NANDCallback cb, NANDCommandBlock *block );
22</pre></dd></dl>
23
24<h2>Arguments</h2>
25<p>
26<TABLE class="arguments" border="1" >
27  <tr>
28<TH>bytes</TH>
29<TD>Pointer to a u32-type variable that stores (in bytes) the file system's available space</TD>
30  </tr>
31  <tr>
32<TH>inodes</TH>
33<TD>Pointer to a u32-type variable that stores the number of free i-nodes in the file system</TD>
34  </tr>
35  <tr>
36<TH>cb</TH>
37<TD>Callback function to call when this function completes processing.</TD>
38  </tr>
39  <tr>
40<TH>block</TH>
41<TD>Command block structure to be passed to the callback function.</TD>
42  </tr>
43</TABLE>
44</p>
45
46<h2>Return Values</h2>
47<p>
48The result codes that may be returned by <code>NANDFreeBlocksAsync</code> are listed below. Returns <CODE>NAND_RESULT_OK</CODE> when the request begins normally.
49<p>
50<code>
51NAND_RESULT_OK<br>
52NAND_RESULT_ACCESS<br>
53NAND_RESULT_ALLOC_FAILED<br>
54NAND_RESULT_BUSY<br>
55NAND_RESULT_INVALID<br>
56NAND_RESULT_FATAL_ERROR<br>
57</code>
58</p>
59<p>
60The result codes that may be passed to the callback function are listed below.
61</p>
62<p>
63<code>
64NAND_RESULT_OK<br>
65NAND_RESULT_INVALID<br>
66NAND_RESULT_UNKNOWN<br>
67NAND_RESULT_FATAL_ERROR<br>
68</code>
69</p>
70</p>
71
72<H2>Description</H2>
73<p>
74Asynchronously gets the available space (in bytes) and the number of free i-nodes in the file system. However, <font color="ff0000">you cannot use this function to determine whether new files or directories can be created</font>. (This is to protect the free space reserved by the system.) To determine whether new files and directories can be created, use the <code>NANDCheck[Async]</code> or <code>NANDGetAvailableArea[Async]</code> function.<br><code>NAND_RESULT_BUSY</code> is returned and this function call is denied when the queue for accepting requests inside the library is full.
75</p>
76
77<h2>See Also</h2>
78<p class="reference">
79<a href="./NANDFreeBlocks.html">NANDFreeBlocks</a>,
80<a href="./NANDCheck.html">NANDCheck</a>,
81<a href="./NANDCheckAsync.html">NANDCheckAsync</a>,
82<a href="./NANDGetAvailableArea.html">NANDGetAvailableArea</a>,
83<a href="./NANDGetAvailableAreaAsync.html">NANDGetAvailableAreaAsync</a>
84</p>
85
86<H2>Revision History</H2>
87<p>
882008/08/01 Revised the result codes that are passed to the callback function.<br>2008/05/13 Described the result codes passed to the callback function.<br>2006/10/25 Added a reference to <CODE>NANDGetAvailableArea[Async]</CODE>. Added links to <B>See Also</B>.<br>2006/08/30 Added a note regarding the creation of new files and directories.<BR>2006/06/16 Initial version.<BR>
89</p>
90
91<hr><p>CONFIDENTIAL</p></body>
92</html>
93