summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2019-04-10 18:13:27 +0200
committerZach Hilman <zachhilman@gmail.com>2019-09-21 22:43:10 +0200
commitccaafaccfc924c6ac910775e546537c297ce2636 (patch)
tree9a98ef41fc4f57c1b9083589e8d7456938abd3eb
parentcard_image: Add functions to query gamecard update partition (diff)
downloadyuzu-ccaafaccfc924c6ac910775e546537c297ce2636.tar
yuzu-ccaafaccfc924c6ac910775e546537c297ce2636.tar.gz
yuzu-ccaafaccfc924c6ac910775e546537c297ce2636.tar.bz2
yuzu-ccaafaccfc924c6ac910775e546537c297ce2636.tar.lz
yuzu-ccaafaccfc924c6ac910775e546537c297ce2636.tar.xz
yuzu-ccaafaccfc924c6ac910775e546537c297ce2636.tar.zst
yuzu-ccaafaccfc924c6ac910775e546537c297ce2636.zip
-rw-r--r--src/core/file_sys/card_image.cpp4
-rw-r--r--src/core/file_sys/card_image.h5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/core/file_sys/card_image.cpp b/src/core/file_sys/card_image.cpp
index 9fb6e0178..db54113a0 100644
--- a/src/core/file_sys/card_image.cpp
+++ b/src/core/file_sys/card_image.cpp
@@ -12,12 +12,16 @@
#include "core/file_sys/content_archive.h"
#include "core/file_sys/nca_metadata.h"
#include "core/file_sys/partition_filesystem.h"
+#include "core/file_sys/romfs.h"
#include "core/file_sys/submission_package.h"
+#include "core/file_sys/vfs_concat.h"
#include "core/file_sys/vfs_offset.h"
+#include "core/file_sys/vfs_vector.h"
#include "core/loader/loader.h"
namespace FileSys {
+constexpr u64 GAMECARD_CERTIFICATE_OFFSET = 0x7000;
constexpr std::array partition_names{
"update",
"normal",
diff --git a/src/core/file_sys/card_image.h b/src/core/file_sys/card_image.h
index 5a83acc1c..3e6b92ff3 100644
--- a/src/core/file_sys/card_image.h
+++ b/src/core/file_sys/card_image.h
@@ -108,6 +108,11 @@ public:
VirtualDir GetParentDirectory() const override;
+ // Creates a directory that contains all the NCAs in the gamecard
+ VirtualDir ConcatenatedPseudoDirectory();
+
+ std::array<u8, 0x200> GetCertificate() const;
+
private:
Loader::ResultStatus AddNCAFromPartition(XCIPartition part);