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=utf-8">
6<META http-equiv="Content-Style-Type" content="text/css">
7<LINK rel="stylesheet" type="text/css" href="../CSS/revolution.css">
8<title>NANDWrite</title>
9</head>
10
11<body>
12
13<h1>NANDWrite</h1>
14
15<h2>Syntax</h2>
16<dl><dd><pre class="construction">#include &lt;revolution/nand.h&gt;
17
18s32 NANDWrite(NANDFileInfo *info, const void *buf, u32 length);
19</pre></dd></dl>
20
21<h2>Arguments</h2>
22<p>
23<TABLE class="arguments" border="1" >
24  <tr>
25<TH>info</TH>
26<TD>Pointer to a <CODE>NANDFileInfo</CODE> structure.</TD>
27  </tr>
28  <tr>
29<TH>buf</TH>
30<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>
31  </tr>
32  <tr>
33<TH>length</TH>
34<TD>Number of bytes of data to write to Wii console NAND memory.</TD>
35  </tr>
36</TABLE>
37</p>
38
39<h2>Return Values</h2>
40<p>
41Returns the number of bytes for the written data when the write is successful. One of the following codes is returned on failure.
42<p>
43<code>NAND_RESULT_ACCESS<br> NAND_RESULT_ALLOC_FAILED<br> NAND_RESULT_AUTHENTICATION<br> NAND_RESULT_BUSY<br> NAND_RESULT_CORRUPT<br> NAND_RESULT_ECC_CRIT<br> NAND_RESULT_INVALID<br> NAND_RESULT_MAXBLOCKS<br> NAND_RESULT_UNKNOWN<br> NAND_RESULT_FATAL_ERROR<br></code>
44</p>
45</p>
46
47<H2>Description</H2>
48<p>
49Writes data to a file.
50</p>
51
52<p>
53This function sometimes puts the current thread to sleep, so it cannot be called from callback functions. For precautions related to calling similar functions, see <a href="../os/Interrupt/intro.html">Interrupts and Callback Functions</a>.
54</p>
55
56<p>
57If, while the <code>NANDWrite</code> function is processing, certain functions or combinations of functions are called from a different thread, the processing of these other functions may be delayed or even fail. For more information about the occurrence conditions, symptoms, and workarounds, see <a href="./intro.html#NAND RW NOTICE">Notes Regarding Read/Writes to Wii Console NAND Memory</a>.
58</p>
59
60<h2>See Also</h2>
61<p class="reference">
62<a href="./NANDRead.html">NANDRead</a><BR> <a href="./NANDReadAsync.html">NANDReadAsync</a><BR> <a href="./NANDWriteAsync.html">NANDWriteAsync</a><BR> <a href="./NANDSeek.html">NANDSeek</a><BR> <a href="./NANDSeekAsync.html">NANDSeekAsync</a><BR> <a href="./NANDSeekAsync.html">Interrupts and Callback Functions</a><BR> <a href="../os/Interrupt/intro.html">Notes Regarding Read/Writes to Wii Console NAND Memory</a>
63</p>
64
65<H2>Revision History</H2>
66<p>
672009/12/02 Added the <a href="../nand/intro.html#NAND RW NOTICE">Notes Regarding Read/Writes to Wii Console NAND Memory</a> information.<br>2007/09/25 Added information about the sleep status of threads.<br>2006/11/30 Added the <CODE>NAND_RESULT_ALLOC_FAILED</CODE> and <CODE>NAND_RESULT_BUSY</CODE> codes.<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 data-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>
68</p>
69
70<hr><p>CONFIDENTIAL</p></body>
71</html>