NANDSafeOpen

C Specification


#include <revolution/nand.h>

#define NAND_ACCESS_READ       0x01
#define NAND_ACCESS_WRITE      0x02
#define NAND_ACCESS_RW         (NAND_ACCESS_READ | NAND_ACCESS_WRITE)

s32 NANDSafeOpen(const char *path, NANDFileInfo *info, u8 accType, void *buf, u32 length);

Arguments

path File name to open.
info Pointer to a NANDFileInfo structure.
accType Access type. Specifies either NAND_ACCESS_READ, NAND_ACCESS_WRITE or NAND_ACCESS_RW.
buf Specifies the leading address of the buffer to be used when copying files. The buffer must be 32-byte aligned.
length Specifies the size of the buffer to be used when copying files. Buffer size must be a multiple of 32 bytes. We recommend a size between 4 KB and 16 KB.

Return Values

Returns one of the following codes:

NAND_RESULT_OK
NAND_RESULT_ACCESS
NAND_RESULT_AUTHENTICATION
NAND_RESULT_CORRUPT
NAND_RESULT_ECC_CRIT
NAND_RESULT_INVALID
NAND_RESULT_MAXBLOCKS
NAND_RESULT_MAXFD
NAND_RESULT_MAXFILES
NAND_RESULT_NOEXISTS
NAND_RESULT_UNKNOWN
NAND_RESULT_FATAL_ERROR

Description

Opens a file in a manner that guarantees the atomic nature of file updates. The file opened using this function must be closed using NANDSafeClose or NANDSafeCloseAsync.

See Also

NANDSafeOpenAsync, NANDSafeClose, NANDSafeCloseAsync

Revision History

08/15/2006 Initial version.


CONFIDENTIAL