#include <revolution/nand.h> #define NAND_PERM_OTHER_READ 0x01 #define NAND_PERM_OTHER_WRITE 0x02 #define NAND_PERM_GROUP_READ 0x04 #define NAND_PERM_GROUP_WRITE 0x08 #define NAND_PERM_OWNER_READ 0x10 #define NAND_PERM_OWNER_WRITE 0x20 typedef void (*NANDCallback)( s32 result, NANDCommandBlock *block ); s32 NANDCreateAsync( const char *filename, u8 perm, u8 attr, NANDCallback cb, NANDCommandBlock *block );
filename |
Specifies the file name. |
|---|---|
perm |
File permissions. Specified by taking the logical sum of NAND_PERM_*. |
attr |
Specifies the file attributes. |
| cb | Callback function to call when this function completes processing. |
| block | Command block structure to be passed to the callback function. |
The result codes that may be returned by NANDCreateAsync are listed below. Returns NAND_RESULT_OK when the request begins normally.
NAND_RESULT_OK
NAND_RESULT_ACCESS
NAND_RESULT_ALLOC_FAILED
NAND_RESULT_BUSY
NAND_RESULT_INVALID
NAND_RESULT_FATAL_ERROR
The result codes that may be passed to the callback function are listed below.
NAND_RESULT_OK
NAND_RESULT_ACCESS
NAND_RESULT_CORRUPT
NAND_RESULT_EXISTS
NAND_RESULT_INVALID
NAND_RESULT_MAXFILES
NAND_RESULT_NOEXISTS
NAND_RESULT_UNKNOWN
NAND_RESULT_FATAL_ERROR
Asynchronously creates a new file. The specified permissions and attributes are given to the file. However, the file must be granted at least the NAND_PERM_OWNER_READ permission. If the NAND_PERM_OWNER_READ permission is not granted, the function will return NAND_RESULT_INVALID. NAND_RESULT_BUSY is returned and this function call is denied when the queue for accepting requests inside the library is full.
This function updates the FAT of the Wii console NAND memory.
NANDCreate, NANDDelete, NANDDeleteAsync
2008/08/01 Revised the result codes that are passed to the callback function.
2008/05/13 Added description of the result codes passed to the callback function.
2008/04/23 Commented about updating the FAT.
2006/11/13 Added an explanation about the need to grant NAND_PERM_OWNER_READ permission.
2006/08/30 Added the NAND_RESULT_NOEXISTS result code.
2006/06/16 Initial version.
CONFIDENTIAL