/ src / Ryujinx.HLE / FileSystem / EncryptedFileSystemCreator.cs
EncryptedFileSystemCreator.cs
 1  using LibHac;
 2  using LibHac.Common;
 3  using LibHac.Fs;
 4  using LibHac.Fs.Fsa;
 5  using LibHac.FsSrv.FsCreator;
 6  
 7  namespace Ryujinx.HLE.FileSystem
 8  {
 9      public class EncryptedFileSystemCreator : IEncryptedFileSystemCreator
10      {
11          public Result Create(ref SharedRef<IFileSystem> outEncryptedFileSystem,
12              ref SharedRef<IFileSystem> baseFileSystem, IEncryptedFileSystemCreator.KeyId idIndex,
13              in EncryptionSeed encryptionSeed)
14          {
15              if (idIndex < IEncryptedFileSystemCreator.KeyId.Save || idIndex > IEncryptedFileSystemCreator.KeyId.CustomStorage)
16              {
17                  return ResultFs.InvalidArgument.Log();
18              }
19  
20              // TODO: Reenable when AesXtsFileSystem is fixed.
21              outEncryptedFileSystem = SharedRef<IFileSystem>.CreateMove(ref baseFileSystem);
22  
23              return Result.Success;
24          }
25      }
26  }