NANDCreateAsync

C Specification


#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 );

Arguments

filename Specifies the file name.
perm File permissions. Specify 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.

Return Values

Returns NAND_RESULT_OK when the request begins normally.

NAND_RESULT_OK
NAND_RESULT_ACCESS
NAND_RESULT_ALLOC_FAILED
NAND_RESULT_BUSY
NAND_RESULT_CORRUPT
NAND_RESULT_EXISTS
NAND_RESULT_INVALID
NAND_RESULT_MAXFILES
NAND_RESULT_NOEXISTS
NAND_RESULT_UNKNOWN
NAND_RESULT_FATAL_ERROR

Description

Asynchronously creates a new file. The specified permissions and attributes are given to the file. However, the file must be granted at least NAND_PERM_OWNER_READ permission.If NAND_PERM_OWNER_READ permission is not granted, the function returns 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.

See Also

NANDCreate, NANDDelete, NANDDeleteAsync

Revision History

2006/11/13 Added explanation about the need to grant NAND_PERM_OWNER_READ permission.
2006/08/30 Added NAND_RESULT_NOEXISTS result code.
2006/06/16 Initial version.


CONFIDENTIAL