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>NANDSetStatus</title>
9</head>
10
11<body>
12
13<h1>NANDSetStatus</h1>
14
15<h2>C Specification</h2>
16<dl><dd><pre><code>
17#include &lt;revolution/nand.h&gt;
18
19s32 NANDSetStatus( const char *path, const NANDStatus *stat );
20</code></pre></dd></dl>
21
22<h2>Arguments</h2>
23<p>
24<TABLE border="1" >
25  <tr>
26<TD valign="top" width="120" bgcolor="#ffffe8"><CODE><STRONG><EM><code><EM><STRONG>path</STRONG></EM></code></EM></STRONG></CODE></TD>
27<TD width="520">Specifies the path of the target file or directory.</TD>
28  </tr>
29  <tr>
30<TD valign="top" width="120" bgcolor="#ffffe8"><CODE><STRONG><EM><STRONG><EM><CODE>stat</CODE></EM></STRONG></EM></STRONG></CODE></TD>
31<TD width="520">Pointer to a NANDStatus structure.</TD>
32  </tr>
33</TABLE>
34</p>
35
36<h2>Return Values</h2>
37<p>
38Returns one of the following codes:
39<p>
40<code>NAND_RESULT_OK<br> NAND_RESULT_ACCESS<br> NAND_RESULT_ALLOC_FAILED<br> NAND_RESULT_BUSY<br> NAND_RESULT_CORRUPT<br> NAND_RESULT_INVALID<br> NAND_RESULT_NOEXISTS<br> <S>NAND_RESULT_NOTEMPTY</S><br> NAND_RESULT_UNKNOWN<br> NAND_RESULT_FATAL_ERROR<br></code>
41</p>
42</p>
43
44<H2>Description</H2>
45<p>
46Sets the status of the specified file or directory. This operation cannot be performed if the file or directory has an owner ID that is different from the owner ID of the application. <S>If this operation is performed on a file, the file size must be zero.</S>Permission can be specified with the <CODE>permission</CODE> member variable of the <CODE>NANDStatus</CODE> structure.  <font color=#ff0000>However, at a minimum the file or directory must be granted the <CODE>NAND_PERM_OWNER_READ</CODE> permission.</font>If <CODE>NAND_PERM_OWNER_READ</CODE> permission is not granted, the function will return <CODE>NAND_RESULT_INVALID</CODE>.
47</p>
48
49<p>
50If this function is used on the home directory, the permissions will be initialized by the system when the application restarts. In order to avoid problems caused by the initialization of permissions, do not use this function on the home directory.
51</p>
52
53<p>
54This function may put the current thread to sleep. For precautions when calling similar functions, refer to <a href="../os/Interrupt/intro.html">Interrupts and Callback Functions</a>.
55</p>
56
57<h2>See Also</h2>
58<p>
59<code><a href="./NANDStatus.html">NANDStatus</a></code>, <code><a href="./NANDGetStatus.html">NANDGetStatus</a></code>, <code><a href="./NANDGetStatusAsync.html">NANDGetStatusAsync</a></code>, <code><a href="./NANDSetStatusAsync.html">NANDSetStatusAsync</a></code>, <a href="../os/Interrupt/intro.html">Interrupts and Callback Functions</a>
60</p>
61
62<H2>Revision History</H2>
63<p>
642007/12/10 Added a mention of the fact that the permissions for the home directory will be initialized by the system upon restarting.<br>2007/09/25 Added information on the sleep status of threads.<br>2006/11/30 Added <CODE>NAND_RESULT_ALLOC_FAILED</CODE> and <CODE>NAND_RESULT_BUSY</CODE> codes.<br>2006/11/13 Added explanation about the need to grant <CODE>NAND_PERM_OWNER_READ</CODE> permission.<br>2006/11/13 Deleted the section about restrictions on file size.<br>2006/06/16 Initial version.<br>
65</p>
66
67<hr><p>CONFIDENTIAL</p></body>
68</html>
69