diff options
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/filesystem/fsp_srv.cpp | 13 | ||||
| -rw-r--r-- | src/core/hle/service/filesystem/fsp_srv.h | 1 | 
2 files changed, 13 insertions, 1 deletions
| diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp index c1c83a11d..56102a3db 100644 --- a/src/core/hle/service/filesystem/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp_srv.cpp @@ -452,6 +452,7 @@ private:  };  FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") { +    // clang-format off      static const FunctionInfo functions[] = {          {0, nullptr, "MountContent"},          {1, &FSP_SRV::Initialize, "Initialize"}, @@ -485,7 +486,7 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {          {58, nullptr, "ReadSaveDataFileSystemExtraData"},          {59, nullptr, "WriteSaveDataFileSystemExtraData"},          {60, nullptr, "OpenSaveDataInfoReader"}, -        {61, nullptr, "OpenSaveDataInfoReaderBySaveDataSpaceId"}, +        {61, &FSP_SRV::OpenSaveDataInfoReaderBySaveDataSpaceId, "OpenSaveDataInfoReaderBySaveDataSpaceId"},          {62, nullptr, "OpenCacheStorageList"},          {64, nullptr, "OpenSaveDataInternalStorageFileSystem"},          {65, nullptr, "UpdateSaveDataMacForDebug"}, @@ -544,6 +545,7 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {          {1009, nullptr, "GetAndClearMemoryReportInfo"},          {1100, nullptr, "OverrideSaveDataTransferTokenSignVerificationKey"},      }; +    // clang-format on      RegisterHandlers(functions);  } @@ -618,6 +620,15 @@ void FSP_SRV::OpenReadOnlySaveDataFileSystem(Kernel::HLERequestContext& ctx) {      MountSaveData(ctx);  } +void FSP_SRV::OpenSaveDataInfoReaderBySaveDataSpaceId(Kernel::HLERequestContext& ctx) { +    IPC::RequestParser rp{ctx}; +    const auto space = rp.PopRaw<FileSys::SaveDataSpaceId>(); + +    IPC::ResponseBuilder rb{ctx, 2, 0, 1}; +    rb.Push(RESULT_SUCCESS); +    rb.PushIpcInterface<ISaveDataInfoReader>(std::make_shared<ISaveDataInfoReader>(space)); +} +  void FSP_SRV::GetGlobalAccessLogMode(Kernel::HLERequestContext& ctx) {      LOG_WARNING(Service_FS, "(STUBBED) called"); diff --git a/src/core/hle/service/filesystem/fsp_srv.h b/src/core/hle/service/filesystem/fsp_srv.h index 4aa0358cb..e7abec0a3 100644 --- a/src/core/hle/service/filesystem/fsp_srv.h +++ b/src/core/hle/service/filesystem/fsp_srv.h @@ -25,6 +25,7 @@ private:      void CreateSaveData(Kernel::HLERequestContext& ctx);      void MountSaveData(Kernel::HLERequestContext& ctx);      void OpenReadOnlySaveDataFileSystem(Kernel::HLERequestContext& ctx); +    void OpenSaveDataInfoReaderBySaveDataSpaceId(Kernel::HLERequestContext& ctx);      void GetGlobalAccessLogMode(Kernel::HLERequestContext& ctx);      void OpenDataStorageByCurrentProcess(Kernel::HLERequestContext& ctx);      void OpenDataStorageByDataId(Kernel::HLERequestContext& ctx); | 
