aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/fs/archive.cpp
diff options
context:
space:
mode:
authorarchshift <gh@archshift.com>2015-10-18 15:52:37 -0700
committerarchshift <gh@archshift.com>2015-10-27 23:33:59 -0700
commit5dfd2dba70b15cead6358b40b980d5be1b32039e (patch)
treebda933874f35988982444c9e4e934fe64a6e0a9c /src/core/hle/service/fs/archive.cpp
parent04325e5980a649bea58aad349fc04eaf403aba3a (diff)
Implement FS_User::GetFreeBytes
Diffstat (limited to 'src/core/hle/service/fs/archive.cpp')
-rw-r--r--src/core/hle/service/fs/archive.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp
index 6c0df67c3..d64b3656a 100644
--- a/src/core/hle/service/fs/archive.cpp
+++ b/src/core/hle/service/fs/archive.cpp
@@ -403,6 +403,13 @@ ResultVal<Kernel::SharedPtr<Directory>> OpenDirectoryFromArchive(ArchiveHandle a
return MakeResult<Kernel::SharedPtr<Directory>>(std::move(directory));
}
+ResultVal<u64> GetFreeBytesInArchive(ArchiveHandle archive_handle) {
+ ArchiveBackend* archive = GetArchive(archive_handle);
+ if (archive == nullptr)
+ return ERR_INVALID_HANDLE;
+ return MakeResult<u64>(archive->GetFreeBytes());
+}
+
ResultCode FormatArchive(ArchiveIdCode id_code, const FileSys::Path& path) {
auto archive_itr = id_code_map.find(id_code);
if (archive_itr == id_code_map.end()) {