diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2024-02-23 17:34:06 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-23 17:34:06 +0100 |
commit | 0da6704fc2e45958ee2bf884128ce0ff5897ac1a (patch) | |
tree | 436e6adbf8dba2fdea6985b3e9b8cc24975d382e /src/core/hle/service/filesystem/fsp/fsp_srv.h | |
parent | Merge pull request #13121 from german77/clean-shortcut (diff) | |
parent | Address review comments (diff) | |
download | yuzu-0da6704fc2e45958ee2bf884128ce0ff5897ac1a.tar yuzu-0da6704fc2e45958ee2bf884128ce0ff5897ac1a.tar.gz yuzu-0da6704fc2e45958ee2bf884128ce0ff5897ac1a.tar.bz2 yuzu-0da6704fc2e45958ee2bf884128ce0ff5897ac1a.tar.lz yuzu-0da6704fc2e45958ee2bf884128ce0ff5897ac1a.tar.xz yuzu-0da6704fc2e45958ee2bf884128ce0ff5897ac1a.tar.zst yuzu-0da6704fc2e45958ee2bf884128ce0ff5897ac1a.zip |
Diffstat (limited to 'src/core/hle/service/filesystem/fsp/fsp_srv.h')
-rw-r--r-- | src/core/hle/service/filesystem/fsp/fsp_srv.h | 72 |
1 files changed, 48 insertions, 24 deletions
diff --git a/src/core/hle/service/filesystem/fsp/fsp_srv.h b/src/core/hle/service/filesystem/fsp/fsp_srv.h index 59406e6f9..ee67f6bc1 100644 --- a/src/core/hle/service/filesystem/fsp/fsp_srv.h +++ b/src/core/hle/service/filesystem/fsp/fsp_srv.h @@ -4,6 +4,9 @@ #pragma once #include <memory> +#include "core/file_sys/fs_save_data_types.h" +#include "core/hle/service/cmif_types.h" +#include "core/hle/service/filesystem/fsp/fsp_types.h" #include "core/hle/service/service.h" namespace Core { @@ -20,6 +23,11 @@ namespace Service::FileSystem { class RomFsController; class SaveDataController; +class IFileSystem; +class ISaveDataInfoReader; +class IStorage; +class IMultiCommitManager; + enum class AccessLogVersion : u32 { V7_0_0 = 2, @@ -38,30 +46,46 @@ public: ~FSP_SRV() override; private: - void SetCurrentProcess(HLERequestContext& ctx); - void OpenFileSystemWithPatch(HLERequestContext& ctx); - void OpenSdCardFileSystem(HLERequestContext& ctx); - void CreateSaveDataFileSystem(HLERequestContext& ctx); - void CreateSaveDataFileSystemBySystemSaveDataId(HLERequestContext& ctx); - void OpenSaveDataFileSystem(HLERequestContext& ctx); - void OpenSaveDataFileSystemBySystemSaveDataId(HLERequestContext& ctx); - void OpenReadOnlySaveDataFileSystem(HLERequestContext& ctx); - void OpenSaveDataInfoReaderBySaveDataSpaceId(HLERequestContext& ctx); - void OpenSaveDataInfoReaderOnlyCacheStorage(HLERequestContext& ctx); - void WriteSaveDataFileSystemExtraDataBySaveDataAttribute(HLERequestContext& ctx); - void ReadSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute(HLERequestContext& ctx); - void OpenDataStorageByCurrentProcess(HLERequestContext& ctx); - void OpenDataStorageByDataId(HLERequestContext& ctx); - void OpenPatchDataStorageByCurrentProcess(HLERequestContext& ctx); - void OpenDataStorageWithProgramIndex(HLERequestContext& ctx); - void DisableAutoSaveDataCreation(HLERequestContext& ctx); - void SetGlobalAccessLogMode(HLERequestContext& ctx); - void GetGlobalAccessLogMode(HLERequestContext& ctx); - void OutputAccessLogToSdCard(HLERequestContext& ctx); - void FlushAccessLogOnSdCard(HLERequestContext& ctx); - void GetProgramIndexForAccessLog(HLERequestContext& ctx); - void OpenMultiCommitManager(HLERequestContext& ctx); - void GetCacheStorageSize(HLERequestContext& ctx); + Result SetCurrentProcess(ClientProcessId pid); + Result OpenFileSystemWithPatch(OutInterface<IFileSystem> out_interface, + FileSystemProxyType type, u64 open_program_id); + Result OpenSdCardFileSystem(OutInterface<IFileSystem> out_interface); + Result CreateSaveDataFileSystem(FileSys::SaveDataCreationInfo save_create_struct, + FileSys::SaveDataAttribute save_struct, u128 uid); + Result CreateSaveDataFileSystemBySystemSaveDataId( + FileSys::SaveDataCreationInfo save_create_struct, FileSys::SaveDataAttribute save_struct); + Result OpenSaveDataFileSystem(OutInterface<IFileSystem> out_interface, + FileSys::SaveDataSpaceId space_id, + FileSys::SaveDataAttribute attribute); + Result OpenSaveDataFileSystemBySystemSaveDataId(OutInterface<IFileSystem> out_interface, + FileSys::SaveDataSpaceId space_id, + FileSys::SaveDataAttribute attribute); + Result OpenReadOnlySaveDataFileSystem(OutInterface<IFileSystem> out_interface, + FileSys::SaveDataSpaceId space_id, + FileSys::SaveDataAttribute attribute); + Result OpenSaveDataInfoReaderBySaveDataSpaceId(OutInterface<ISaveDataInfoReader> out_interface, + FileSys::SaveDataSpaceId space); + Result OpenSaveDataInfoReaderOnlyCacheStorage(OutInterface<ISaveDataInfoReader> out_interface); + Result WriteSaveDataFileSystemExtraDataBySaveDataAttribute(); + Result ReadSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute( + FileSys::SaveDataSpaceId space_id, FileSys::SaveDataAttribute attribute, + InBuffer<BufferAttr_HipcMapAlias> mask_buffer, + OutBuffer<BufferAttr_HipcMapAlias> out_buffer); + Result OpenDataStorageByCurrentProcess(OutInterface<IStorage> out_interface); + Result OpenDataStorageByDataId(OutInterface<IStorage> out_interface, + FileSys::StorageId storage_id, u32 unknown, u64 title_id); + Result OpenPatchDataStorageByCurrentProcess(OutInterface<IStorage> out_interface, + FileSys::StorageId storage_id, u64 title_id); + Result OpenDataStorageWithProgramIndex(OutInterface<IStorage> out_interface, u8 program_index); + Result DisableAutoSaveDataCreation(); + Result SetGlobalAccessLogMode(AccessLogMode access_log_mode_); + Result GetGlobalAccessLogMode(Out<AccessLogMode> out_access_log_mode); + Result OutputAccessLogToSdCard(InBuffer<BufferAttr_HipcMapAlias> log_message_buffer); + Result FlushAccessLogOnSdCard(); + Result GetProgramIndexForAccessLog(Out<AccessLogVersion> out_access_log_version, + Out<u32> out_access_log_program_index); + Result OpenMultiCommitManager(OutInterface<IMultiCommitManager> out_interface); + Result GetCacheStorageSize(s32 index, Out<s64> out_data_size, Out<s64> out_journal_size); FileSystemController& fsc; const FileSys::ContentProvider& content_provider; |