fat: add support for mounting fat bis paritions (prodinfof, safe, user, system), inital work needed for fetching personalised es tickets.

This commit is contained in:
ITotalJustice
2025-08-08 05:12:51 +01:00
parent 70518762ae
commit 8a16188996
18 changed files with 19588 additions and 74 deletions

12
sphaira/include/fatfs.hpp Normal file
View File

@@ -0,0 +1,12 @@
#pragma once
#include <switch.h>
#include <vector>
#include <string>
namespace sphaira::fatfs {
Result MountAll();
void UnmountAll();
} // namespace sphaira::fatfs

View File

@@ -37,5 +37,6 @@ using StdioEntries = std::vector<StdioEntry>;
// set write=true to filter out write protected devices.
auto GetStdio(bool write) -> StdioEntries;
auto GetFat() -> StdioEntries;
} // namespace sphaira::location

View File

@@ -215,4 +215,9 @@ Result IsRightsIdPersonalised(const FsRightsId& id, bool* out);
bool IsRightsIdValid(const FsRightsId& id);
bool IsRightsIdFound(const FsRightsId& id, std::span<const FsRightsId> ids);
// wrapper around ipc.
Result GetCommonTicketAndCertificate(const FsRightsId& rights_id, std::vector<u8>& tik_out, std::vector<u8>& cert_out);
// fetches data from system es save.
Result GetPersonalisedTicketAndCertificate(const FsRightsId& rights_id, std::vector<u8>& tik_out, std::vector<u8>& cert_out);
} // namespace sphaira::es