1#ifndef RVL_SDK_NWC24_FILE_API_H 
    2#define RVL_SDK_NWC24_FILE_API_H 
    3#include <revolution/NAND.h> 
    4#include <revolution/NWC24/NWC24Types.h> 
    5#include <revolution/VF.h> 
   13    NWC24_OPEN_WRITE = (1 << 0),
 
   14    NWC24_OPEN_READ = (1 << 1),
 
   15    NWC24_OPEN_RW = (1 << 2),
 
   18    NWC24_OPEN_BUFF = (1 << 3),
 
   19    NWC24_OPEN_VF = (1 << 8),
 
   22    NWC24_OPEN_NAND_W = NWC24_OPEN_WRITE,
 
   23    NWC24_OPEN_NAND_R = NWC24_OPEN_READ,
 
   24    NWC24_OPEN_NAND_RW = NWC24_OPEN_RW,
 
   27    NWC24_OPEN_VF_W = NWC24_OPEN_WRITE | NWC24_OPEN_VF,
 
   28    NWC24_OPEN_VF_R = NWC24_OPEN_READ | NWC24_OPEN_VF,
 
   29    NWC24_OPEN_VF_RW = NWC24_OPEN_RW | NWC24_OPEN_VF,
 
   32    NWC24_OPEN_NAND_WBUFF = NWC24_OPEN_NAND_W | NWC24_OPEN_BUFF,
 
   33    NWC24_OPEN_NAND_RBUFF = NWC24_OPEN_NAND_R | NWC24_OPEN_BUFF,
 
   34    NWC24_OPEN_NAND_RWBUFF = NWC24_OPEN_NAND_RW | NWC24_OPEN_BUFF,
 
   37    NWC24_OPEN_VF_WBUFF = NWC24_OPEN_VF_W | NWC24_OPEN_BUFF,
 
   38    NWC24_OPEN_VF_RBUFF = NWC24_OPEN_VF_R | NWC24_OPEN_BUFF,
 
   39    NWC24_OPEN_VF_RWBUFF = NWC24_OPEN_VF_RW | NWC24_OPEN_BUFF,
 
   56NWC24Err NWC24FOpen(
NWC24File* file, 
const char* path, u32 mode);
 
   57NWC24Err NWC24iFOpenNand(
NWC24File* file, 
const char* path, u32 mode);
 
   58NWC24Err NWC24iFOpenVF(
NWC24File* file, 
const char* path, u32 mode);
 
   61NWC24Err NWC24iFCloseNand(
NWC24File* file) DECOMP_DONT_INLINE;
 
   64NWC24Err NWC24FSeek(
NWC24File* file, s32 offset, NWC24SeekMode whence);
 
   65NWC24Err NWC24FRead(
void* dst, s32 size, 
NWC24File* file);
 
   66NWC24Err NWC24FWrite(
const void* src, s32 size, 
NWC24File* file);
 
   67NWC24Err NWC24FGetLength(
NWC24File* file, u32* lengthOut);
 
   68NWC24Err NWC24FDeleteVF(
const char* path);
 
   69NWC24Err NWC24MountVF(
const char* drive, 
const char* filename);
 
   70NWC24Err NWC24UnmountVF(
const char* drive);
 
   71NWC24Err NWC24CheckSizeVF(
const char* drive, u32* sizeOut);