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