Merge pull request #331 from bunnei/fsp-flush

fsp_srv: Implement IFile::Flush.
This commit is contained in:
bunnei 2018-04-14 21:21:34 -04:00 committed by GitHub
commit 778be45103
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -73,7 +73,7 @@ public:
: ServiceFramework("IFile"), backend(std::move(backend)) { : ServiceFramework("IFile"), backend(std::move(backend)) {
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, &IFile::Read, "Read"}, {1, &IFile::Write, "Write"}, {0, &IFile::Read, "Read"}, {1, &IFile::Write, "Write"},
{2, nullptr, "Flush"}, {3, &IFile::SetSize, "SetSize"}, {2, &IFile::Flush, "Flush"}, {3, &IFile::SetSize, "SetSize"},
{4, &IFile::GetSize, "GetSize"}, {5, nullptr, "OperateRange"}, {4, &IFile::GetSize, "GetSize"}, {5, nullptr, "OperateRange"},
}; };
RegisterHandlers(functions); RegisterHandlers(functions);
@ -152,6 +152,14 @@ private:
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
} }
void Flush(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_FS, "called");
backend->Flush();
IPC::ResponseBuilder rb{ctx, 2};
rb.Push(RESULT_SUCCESS);
}
void SetSize(Kernel::HLERequestContext& ctx) { void SetSize(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp{ctx}; IPC::RequestParser rp{ctx};
const u64 size = rp.Pop<u64>(); const u64 size = rp.Pop<u64>();