87 WUT_UNKNOWN_BYTES(0x14);
95 WUT_UNKNOWN_BYTES(0x08);
98 WUT_UNKNOWN_BYTES(0x14);
108 WUT_UNKNOWN_BYTES(0x1E);
168 WUT_UNKNOWN_BYTES(0x4);
181 WUT_UNKNOWN_BYTES(0x4);
565 WUT_UNKNOWN_BYTES(4);
567 WUT_UNKNOWN_BYTES(4);
611 WUT_UNKNOWN_BYTES(0x51C);
614 WUT_CHECK_OFFSET(
FSARequest, 0x00, emulatedError);
662 uint64_t freeSpaceSize;
663 uint64_t journalFreeSpaceSize;
719 WUT_UNKNOWN_BYTES(0x28F);
837 WUT_UNKNOWN_BYTES(0x60);
841 WUT_UNKNOWN_BYTES(0x880 - 0x813);
846 WUT_UNKNOWN_BYTES(0x900 - 0x8A4);
964 const char *mountedTarget,
982 uint32_t preallocSize,
1081 const char *oldPath,
1082 const char *newPath);
1110 uint32_t outPathLen);
1115 uint32_t *numMessages);
1148 uint64_t *freeSpaceSize);
1153 uint64_t *journalFreeSpaceSize);
1158 uint64_t *freeDirSize);
FSError FSAAppendFileEx(FSAClientHandle client, FSAFileHandle fileHandle, uint32_t size, uint32_t count, uint32_t flags)
uint8_t ioctlvVecOut
Number of ioctlv output vectors.
FSError FSAOpenFileEx(FSAClientHandle client, const char *path, const char *mode, FSMode createMode, FSOpenFileFlags openFlag, uint32_t preallocSize, FSAFileHandle *outFileHandle)
@ FSA_MOUNT_FLAG_LOCAL_MOUNT
@ FSA_MOUNT_FLAG_BIND_MOUNT
@ FSA_MOUNT_FLAG_GLOBAL_MOUNT
FSAAsyncResult fsaAsyncResult
FSAAsyncResult used for FSA* functions.
FSError FSACloseFile(FSAClientHandle client, FSAFileHandle fileHandle)
FSError FSADelClient(FSAClientHandle client)
FSError FSAOpenDir(FSAClientHandle client, const char *path, FSADirectoryHandle *dirHandle)
FSError FSARegisterFlushQuota(FSAClientHandle client, const char *path)
FSError FSAGetDeviceInfo(FSAClientHandle client, const char *path, FSADeviceInfo *fileSystemInfo)
FSError FSARollbackVolume(FSAClientHandle client, const char *path)
uint32_t FSAGetClientNum()
FSError FSAGetEntryNum(FSAClientHandle client, const char *path, FSAEntryNum *entryNum)
FSError FSAFlushVolume(FSAClientHandle client, const char *path)
FSError FSAGetDirSize(FSAClientHandle client, const char *path, uint64_t *freeDirSize)
FSError FSARewindDir(FSAClientHandle client, FSADirectoryHandle dirHandle)
uint32_t clientHandle
Handle to FSA device.
OSMessageQueue * ioMsgQueue
Queue to put a message on when command is complete.
FSError FSASetPosFile(FSAClientHandle client, FSAFileHandle fileHandle, uint32_t pos)
FSError FSAGetVolumeInfo(FSAClientHandle client, const char *path, FSAVolumeInfo *outVolumeInfo)
FSError FSAUnmount(FSAClientHandle client, const char *mountedTarget, FSAUnmountFlags flags)
@ FSA_READ_FLAG_READ_WITH_POS
FSError FSAIsEof(FSAClientHandle client, FSAFileHandle fileHandle)
FSError FSAGetFreeSpaceSize(FSAClientHandle client, const char *path, uint64_t *freeSpaceSize)
FSError FSAOpenFileByStat(FSAClientHandle client, FSAStat *stat, const char *mode, const char *path, FSAFileHandle *outFileHandle)
FSError FSAGetFileSystemInfo(FSAClientHandle client, const char *path, FSAFileSystemInfo *fileSystemInfo)
void FSAFreeAsyncResult(FSAAsyncResult *asyncResult)
Frees the FSAShimBuffer where the given asyncResult is part of.
uint8_t * buffer
Virtual pointer used only by Cafe, for IOS we should use ioctlv.vecs[1].
FSError FSARemove(FSAClientHandle client, const char *path)
FSError FSAWriteFileWithPos(FSAClientHandle client, void *buffer, uint32_t size, uint32_t count, uint32_t pos, FSAFileHandle handle, uint32_t flags)
FSError FSAChangeDir(FSAClientHandle client, const char *path)
IOSHandle FSAClientHandle
FSError FSAFlushFile(FSAClientHandle client, FSAFileHandle fileHandle)
FSAAsyncCallbackFn userCallback
Callback to call when the command is complete.
FSError FSAGetStatFile(FSAClientHandle client, FSAFileHandle fileHandle, FSAStat *stat)
FSError FSARename(FSAClientHandle client, const char *oldPath, const char *newPath)
FSError FSAGetTransactionBlockPoolAttributes(uint32_t *messageSize, uint32_t *poolSize, uint32_t *numMessages)
FSError FSAGetJournalFreeSpaceSize(FSAClientHandle client, const char *path, uint64_t *journalFreeSpaceSize)
FSError FSAFlushQuota(FSAClientHandle client, const char *path)
uint8_t ioctlvVecIn
Number of ioctlv input vectors.
char target[FS_MAX_PATH+1]
FSError FSAFlushMultiQuota(FSAClientHandle client, const char *path)
FSDirectoryEntry FSADirectoryEntry
FSError FSAChangeMode(FSAClientHandle client, const char *path, FSMode permission)
FSARequest request
Buffer for FSA IPC request.
char mode[FS_MODE_LENGTH]
void(* FSAAsyncCallbackFn)(FSError result, FSACommand command, FSARequest *request, FSAResponse *response, void *userContext)
FSError FSAReadFile(FSAClientHandle client, void *buffer, uint32_t size, uint32_t count, FSAFileHandle handle, uint32_t flags)
uint32_t FSADirectoryHandle
uint16_t FSAIpcRequestType
FSError FSAWriteFile(FSAClientHandle client, void *buffer, uint32_t size, uint32_t count, FSAFileHandle handle, uint32_t flags)
@ FSA_UNMOUNT_FLAG_BIND_MOUNT
FSError FSAReadDir(FSAClientHandle client, FSADirectoryHandle dirHandle, FSADirectoryEntry *directoryEntry)
FSADirectoryHandle handle
FSError FSAMakeDir(FSAClientHandle client, const char *path, FSMode mode)
FSError FSAMount(FSAClientHandle client, const char *source, const char *target, FSAMountFlags flags, void *arg_buf, uint32_t arg_len)
FSError FSAGetBadBlockInfo(FSAClientHandle client, const char *path, FSABlockInfo *blockInfo)
@ FSA_MOUNT_PRIORITY_RAM_DISK_CACHE
@ FSA_MOUNT_PRIORITY_TITLE_UPDATE
@ FSA_MOUNT_PRIORITY_UNMOUNT_ALL
@ FSA_MOUNT_PRIORITY_BASE
char oldPath[FS_MAX_PATH+1]
FSAAsyncResult FSAGetAsyncResult(OSMessage *asyncResult)
FSError FSAReadFileWithPos(FSAClientHandle client, void *buffer, uint32_t size, uint32_t count, uint32_t pos, FSAFileHandle handle, uint32_t flags)
FSError FSAGetPosFile(FSAClientHandle client, FSAFileHandle fileHandle, uint32_t *outPos)
FSAClientHandle FSAAddClient(FSAClientAttachAsyncData *attachAsyncData)
FSError FSAAppendFile(FSAClientHandle client, FSAFileHandle fileHandle, uint32_t size, uint32_t count)
FSARequest * request
Pointer to allocated FSA IPC Request.
uint32_t deviceSectorSize
FSError FSAMakeQuota(FSAClientHandle client, const char *name, uint32_t mode, uint64_t quota)
FSError FSACloseDir(FSAClientHandle client, FSADirectoryHandle dirHandle)
FSError FSAGetStat(FSAClientHandle client, const char *path, FSAStat *stat)
FSMessage msg
Message used for ioMsgQueue.
FSAIpcRequestType ipcReqType
IOS IPC request type to use.
FSError __FSAShimDecodeIosErrorToFsaStatus(IOSHandle handle, IOSError err)
void(* FSAClientAttachAsyncCallbackFn)(FSError result, FSACommand command, FSARequest *request, FSAResponse *response, void *userContext)
FSAMountPriority priority
const char * FSAGetStatusStr(FSError error)
@ FSA_QUERY_INFO_BAD_BLOCK_INFO
@ FSA_QUERY_INFO_ENTRY_NUM
@ FSA_QUERY_INFO_FREE_SPACE_SIZE
@ FSA_QUERY_INFO_DEVICE_INFO
@ FSA_QUERY_INFO_FRAGMENT_BLOCK_INFO
@ FSA_QUERY_INFO_DIR_SIZE
@ FSA_QUERY_INFO_JOURNAL_FREE_SPACE_SIZE
@ FSA_QUERY_INFO_FILE_SYSTEM_INFO
uint64_t deviceSizeInSectors
@ FSA_WRITE_FLAG_READ_WITH_POS
FSAResponse * response
Pointer to allocated FSA IPC Response.
FSAResponse response
Buffer for FSA IPC response.
FSError FSAGetCwd(FSAClientHandle client, char *outPath, uint32_t outPathLen)
FSAClientAttachAsyncCallbackFn userCallback
Callback to call when an attach has happened.
FSError FSATruncateFile(FSAClientHandle client, FSAFileHandle handle)
void * userContext
Callback to call when the command is complete.
FSError FSAGetFragmentBlockInfo(FSAClientHandle client, const char *path, FSABlockInfo *blockInfo)
@ FSA_COMMAND_CHANGE_OWNER
@ FSA_COMMAND_GET_PROC_RESOURCE_USAGE
@ FSA_COMMAND_GET_VOLUME_INFO
@ FSA_COMMAND_UNMOUNT_WITH_PROCESS
@ FSA_COMMAND_SEND_PROFILE_CMD
@ FSA_COMMAND_SET_CLIENT_PRIORITY
@ FSA_COMMAND_ADD_USER_PROCESS
@ FSA_COMMAND_DEBUG_SET_TITLE_ID
@ FSA_COMMAND_REMOVE_QUOTA
@ FSA_COMMAND_DEL_USER_PROCESS
@ FSA_COMMAND_ROLLBACK_VOLUME
@ FSA_COMMAND_GET_ALL_RESOURCE_USAGE
@ FSA_COMMAND_GET_INFO_BY_QUERY
@ FSA_COMMAND_DEBUG_SET_CAPABILITY
@ FSA_COMMAND_CANCEL_GET_ATTACH
@ FSA_COMMAND_GET_FILE_BLOCK_ADDRESS
@ FSA_COMMAND_REGISTER_FLUSH_QUOTA
@ FSA_COMMAND_SET_POS_FILE
@ FSA_COMMAND_XFER_PARAMS
@ FSA_COMMAND_TRUNCATE_FILE
@ FSA_COMMAND_GET_VOLUME_EXISTENCE
@ FSA_COMMAND_CONFIG_UNSET_MEMORY_CACHE
@ FSA_COMMAND_EXEC_DEBUG_PROC
@ FSA_COMMAND_APPEND_FILE
@ FSA_COMMAND_CONFIG_SET_MEMORY_CACHE
@ FSA_COMMAND_CHANGE_MODE
@ FSA_COMMAND_MOUNT_WITH_PROCESS
@ FSA_COMMAND_ROLLBACK_QUOTA
@ FSA_COMMAND_GET_POS_FILE
@ FSA_COMMAND_OPEN_FILE_BY_STAT
@ FSA_COMMAND_FLUSH_MULTI_QUOTA
@ FSA_COMMAND_APPLY_MEMORY_CACHE
@ FSA_COMMAND_CONFIG_SET_PRF2_CHAR_CODE
@ FSA_COMMAND_GET_LAST_FAILED_VOLUME
@ FSA_COMMAND_FLUSH_VOLUME
@ FSA_COMMAND_FLUSH_QUOTA
@ FSA_COMMAND_SET_PROCESS_CONFIG
char newPath[FS_MAX_PATH+1]
FSError FSARollbackQuotaForce(FSAClientHandle client, const char *path)
const uint8_t * buffer
Virtual pointer used only by Cafe, for IOS we should use ioctlv.vecs[1].
FSACommand command
FSA command.
FSError FSARollbackQuota(FSAClientHandle client, const char *path)
Request data for Command::AppendFile.
Request data for Command::ChangeDir.
Request data for Command::ChangeMode.
Request data for Command::CloseDir.
Request data for Command::CloseFile.
Request data for Command::FlushFile.
Request data for Command::FlushQuota.
Request data for Command::GetInfoByQuery.
Request data for Command::GetPosFile.
Request data for Command::IsEof.
Request data for Command::MakeDir.
Request data for Command::MakeQuota.
Request data for Command::Mount.
Request data for Command::MountWithProcess.
Request data for Command::OpenDir.
Request data for Command::OpenFile.
Request data for Command::ReadDir.
Request data for Command::ReadFile.
Request data for Command::Remove.
Request data for Command::Rename.
Request data for Command::RewindDir.
Request data for Command::SetPosFile.
Request data for Command::StatFile.
Request data for Command::TruncateFile.
Request data for Command::Unmount.
Request data for Command::UnmountWithProcess.
Request data for Command::WriteFile.