diff --git a/app/src/main/cpp/skyline/services/fssrv/IFile.cpp b/app/src/main/cpp/skyline/services/fssrv/IFile.cpp index 920ed54b..b9b9d89f 100644 --- a/app/src/main/cpp/skyline/services/fssrv/IFile.cpp +++ b/app/src/main/cpp/skyline/services/fssrv/IFile.cpp @@ -8,6 +8,7 @@ namespace skyline::service::fssrv { IFile::IFile(std::shared_ptr &backing, const DeviceState &state, ServiceManager &manager) : backing(backing), BaseService(state, manager, Service::fssrv_IFile, "fssrv:IFile", { {0x0, SFUNC(IFile::Read)}, {0x1, SFUNC(IFile::Write)}, + {0x2, SFUNC(IFile::Flush)}, {0x3, SFUNC(IFile::SetSize)}, {0x4, SFUNC(IFile::GetSize)} }) {} @@ -63,6 +64,8 @@ namespace skyline::service::fssrv { } } + void IFile::Flush(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {} + void IFile::SetSize(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) { backing->Resize(request.Pop()); } diff --git a/app/src/main/cpp/skyline/services/fssrv/IFile.h b/app/src/main/cpp/skyline/services/fssrv/IFile.h index fc872041..5ea082a3 100644 --- a/app/src/main/cpp/skyline/services/fssrv/IFile.h +++ b/app/src/main/cpp/skyline/services/fssrv/IFile.h @@ -28,6 +28,11 @@ namespace skyline::service::fssrv { */ void Write(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response); + /** + * @brief This flushes any written data to the IFile + */ + void Flush(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response); + /** * @brief This sets the size of an IFile */