3#include <revolution/IPC.h>
11typedef void (*FSAsyncCallback)(s32 result,
void* arg);
23s32 ISFS_OpenLib(
void);
24s32 ISFS_CreateDir(
const char* path, u32 attr, u32 ownerPerm, u32 groupPerm,
26s32 ISFS_CreateDirAsync(
const char* path, u32 attr, u32 ownerPerm,
27 u32 groupPerm, u32 otherPerm, FSAsyncCallback callback,
29s32 ISFS_ReadDir(
const char* path,
char* filesOut, u32* fileCountOut);
30s32 ISFS_ReadDirAsync(
const char* path,
char* filesOut, u32* fileCountOut,
31 FSAsyncCallback callback,
void* callbackArg);
32s32 ISFS_GetAttr(
const char* path, u32* ownerIdOut, u16* groupIdOut,
33 u32* attrOut, u32* ownerPermOut, u32* groupPermOut,
35s32 ISFS_GetAttrAsync(
const char* path, u32* ownerIdOut, u16* groupIdOut,
36 u32* attrOut, u32* ownerPermOut, u32* groupPermOut,
37 u32* otherPermOut, FSAsyncCallback callback,
39s32 ISFS_Delete(
const char* path);
40s32 ISFS_DeleteAsync(
const char* path, FSAsyncCallback callback,
42s32 ISFS_Rename(
const char* from,
const char* to);
43s32 ISFS_RenameAsync(
const char* from,
const char* to, FSAsyncCallback callback,
45s32 ISFS_GetUsage(
const char* path, s32* blockCountOut, s32* fileCountOut);
46s32 ISFS_CreateFile(
const char* path, u32 attr, u32 ownerPerm, u32 groupPerm,
48s32 ISFS_CreateFileAsync(
const char* path, u32 attr, u32 ownerPerm,
49 u32 groupPerm, u32 otherPerm, FSAsyncCallback callback,
51s32 ISFS_Open(
const char* path, IPCOpenMode mode);
52s32 ISFS_OpenAsync(
const char* path, IPCOpenMode mode, FSAsyncCallback callback,
54s32 ISFS_GetFileStats(s32 fd,
FSFileStats* statsOut);
55s32 ISFS_GetFileStatsAsync(s32 fd,
FSFileStats* statsOut,
56 FSAsyncCallback callback,
void* callbackArg);
57s32 ISFS_Seek(s32 fd, s32 offset, IPCSeekMode mode);
58s32 ISFS_SeekAsync(s32 fd, s32 offset, IPCSeekMode mode,
59 FSAsyncCallback callback,
void* callbackArg);
60s32 ISFS_Read(s32 fd,
void* dst, s32 len);
61s32 ISFS_ReadAsync(s32 fd,
void* dst, s32 len, FSAsyncCallback callback,
63s32 ISFS_Write(s32 fd,
const void* src, s32 len);
64s32 ISFS_WriteAsync(s32 fd,
const void* src, s32 len, FSAsyncCallback callback,
66s32 ISFS_Close(s32 fd);
67s32 ISFS_CloseAsync(s32 fd, FSAsyncCallback callback,
void* callbackArg);
68s32 ISFS_ShutdownAsync(FSAsyncCallback callback,
void* callbackArg);