aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs')
-rw-r--r--src/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs b/src/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs
new file mode 100644
index 00000000..f32dc2d7
--- /dev/null
+++ b/src/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs
@@ -0,0 +1,26 @@
+using LibHac;
+using LibHac.Common;
+using LibHac.Fs;
+using LibHac.Fs.Fsa;
+using LibHac.FsSrv.FsCreator;
+
+namespace Ryujinx.HLE.FileSystem
+{
+ public class EncryptedFileSystemCreator : IEncryptedFileSystemCreator
+ {
+ public Result Create(ref SharedRef<IFileSystem> outEncryptedFileSystem,
+ ref SharedRef<IFileSystem> baseFileSystem, IEncryptedFileSystemCreator.KeyId idIndex,
+ in EncryptionSeed encryptionSeed)
+ {
+ if (idIndex < IEncryptedFileSystemCreator.KeyId.Save || idIndex > IEncryptedFileSystemCreator.KeyId.CustomStorage)
+ {
+ return ResultFs.InvalidArgument.Log();
+ }
+
+ // TODO: Reenable when AesXtsFileSystem is fixed.
+ outEncryptedFileSystem = SharedRef<IFileSystem>.CreateMove(ref baseFileSystem);
+
+ return Result.Success;
+ }
+ }
+} \ No newline at end of file