NANDCreate

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

s32 NANDCreate(const char *filename, u8 perm, u8 attr);

Arguments

filename Specifies the file name.
perm File permissions. Specify by taking the logical sum of NAND_PERM_*.
attr Specifies the file attributes.

Return Values

Returns one of the following codes:

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

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.

This function may put the current thread to sleep. For precautions when calling similar functions, refer to Interrupts and Callback Functions.

See Also

NANDCreateAsync, NANDDelete, NANDDeleteAsync, Interrupts and Callback Functions

Revision History

2007/09/25 Added information on the sleep status of threads.
2006/11/30 Added NAND_RESULT_ALLOC_FAILED and NAND_RESULT_BUSY codes.
2006/11/13 Added 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