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>NANDWriteAsync</title>
9</head>
10
11<body>
12
13<h1>NANDWriteAsync</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 NANDWriteAsync( NANDFileInfo *info, const void *buf, u32 length, 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>info</TH>
29<TD>Pointer to a <CODE>NANDFileInfo</CODE> structure.</TD>
30  </tr>
31  <tr>
32<TH>buf</TH>
33<TD>Pointer to the start of the data that will be written to Wii console NAND memory. The buffer storing the data must be 32-byte aligned.</TD>
34  </tr>
35  <tr>
36<TH>length</TH>
37<TD>Number of bytes of data to write to Wii console NAND memory.</TD>
38  </tr>
39  <tr>
40<TH>cb</TH>
41<TD>Callback function to call when this function completes processing.</TD>
42  </tr>
43  <tr>
44<TH>block</TH>
45<TD>Command block structure to be passed to the callback function.</TD>
46  </tr>
47</TABLE>
48</p>
49
50<h2>Return Values</h2>
51<p>
52The result codes that <code>NANDWriteAsync</code> can return are listed below. Returns <CODE>NAND_RESULT_OK</CODE> when the request begins normally.
53<p>
54<code>
55NAND_RESULT_OK<br>
56NAND_RESULT_ACCESS<br>
57NAND_RESULT_ALLOC_FAILED<br>
58NAND_RESULT_BUSY<br>
59NAND_RESULT_INVALID<br>
60NAND_RESULT_FATAL_ERROR<br>
61</code>
62</p>
63<p>
64The result codes that may be passed to the callback function are listed below. When the write is successful, the number of bytes for the written data is passed to the callback function.
65</p>
66<p>
67<code>
68NAND_RESULT_ACCESS<br>
69NAND_RESULT_AUTHENTICATION<br>
70NAND_RESULT_CORRUPT<br>
71NAND_RESULT_ECC_CRIT<br>
72NAND_RESULT_INVALID<br>
73NAND_RESULT_MAXBLOCKS<br>
74NAND_RESULT_UNKNOWN<br>
75NAND_RESULT_FATAL_ERROR<br>
76</code>
77</p>
78</p>
79
80<H2>Description</H2>
81<p>
82Asynchronously writes data to a file. <code>NAND_RESULT_BUSY</code> is returned and this function call is denied when the queue for accepting requests inside the library is full.
83</p>
84
85<h2>See Also</h2>
86<p class="reference">
87<a href="./NANDRead.html">NANDRead</a>,
88<a href="./NANDReadAsync.html">NANDReadAsync</a>,
89<a href="./NANDWrite.html">NANDWrite</a>,
90<a href="./NANDSeek.html">NANDSeek</a>,
91<a href="./NANDSeekAsync.html">NANDSeekAsync</a>
92</p>
93
94<H2>Revision History</H2>
95<p>
962008/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/xx Unified terminology.<br>2006/09/19 Added the <CODE>ECC_CRIT</CODE> result code.<br>2006/09/07 Eliminated the restriction that the write size had to be a multiple of 32 bytes.<br>2006/08/15 Added the <CODE>AUTHENTICATION</CODE> result code.<br>2006/06/16 Initial version.<BR>
97</p>
98
99<hr><p>CONFIDENTIAL</p></body>
100</html>
101