diff --git a/app/src/main/cpp/skyline/services/fssrv/IFileSystem.cpp b/app/src/main/cpp/skyline/services/fssrv/IFileSystem.cpp index 3785bff9..2c655984 100644 --- a/app/src/main/cpp/skyline/services/fssrv/IFileSystem.cpp +++ b/app/src/main/cpp/skyline/services/fssrv/IFileSystem.cpp @@ -85,4 +85,10 @@ namespace skyline::service::fssrv { Result IFileSystem::Commit(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) { return {}; } + + Result IFileSystem::GetFreeSpaceSize(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) { + //TODO: proper implementation for GetFreeSpaceSize + response.Push(90000000); + return {}; + } } diff --git a/app/src/main/cpp/skyline/services/fssrv/IFileSystem.h b/app/src/main/cpp/skyline/services/fssrv/IFileSystem.h index a9c4a536..f47ab3e9 100644 --- a/app/src/main/cpp/skyline/services/fssrv/IFileSystem.h +++ b/app/src/main/cpp/skyline/services/fssrv/IFileSystem.h @@ -61,6 +61,12 @@ namespace skyline::service::fssrv { */ Result Commit(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response); + /** + * @brief Returns the total free space of the filesystem + * @url https://switchbrew.org/wiki/Filesystem_services#GetFreeSpaceSize + */ + Result GetFreeSpaceSize(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response); + SERVICE_DECL( SFUNC(0x0, IFileSystem, CreateFile), SFUNC(0x1, IFileSystem, DeleteFile), @@ -69,7 +75,8 @@ namespace skyline::service::fssrv { SFUNC(0x7, IFileSystem, GetEntryType), SFUNC(0x8, IFileSystem, OpenFile), SFUNC(0x9, IFileSystem, OpenDirectory), - SFUNC(0xA, IFileSystem, Commit) + SFUNC(0xA, IFileSystem, Commit), + SFUNC(0xB, IFileSystem, GetFreeSpaceSize) ) }; }