Implement support for parsing/interacting with NCAs. (#942)

* fs: implement support for interacting with ncas.

* spl: extend to use virtual keyslots
This commit is contained in:
SciresM 2020-05-11 15:04:51 -07:00 committed by GitHub
parent 3a1ccdd919
commit 81f91803ec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
118 changed files with 13301 additions and 405 deletions

View file

@ -75,7 +75,7 @@ void __appInit(void) {
R_ABORT_UNLESS(fsInitialize());
lr::Initialize();
R_ABORT_UNLESS(fsldrInitialize());
R_ABORT_UNLESS(splInitialize());
spl::Initialize();
});
ams::CheckApiVersion();
@ -83,7 +83,7 @@ void __appInit(void) {
void __appExit(void) {
/* Cleanup services. */
splExit();
spl::Finalize();
fsldrExit();
lr::Finalize();
fsExit();
@ -121,9 +121,9 @@ int main(int argc, char **argv)
/* Configure development. */
/* NOTE: Nintendo really does call the getter function three times instead of caching the value. */
ldr::SetDevelopmentForAcidProductionCheck(spl::IsDevelopmentHardware());
ldr::SetDevelopmentForAntiDowngradeCheck(spl::IsDevelopmentHardware());
ldr::SetDevelopmentForAcidSignatureCheck(spl::IsDevelopmentHardware());
ldr::SetDevelopmentForAcidProductionCheck(spl::IsDevelopment());
ldr::SetDevelopmentForAntiDowngradeCheck(spl::IsDevelopment());
ldr::SetDevelopmentForAcidSignatureCheck(spl::IsDevelopment());
/* Add services to manager. */
R_ABORT_UNLESS((g_server_manager.RegisterServer<ldr::pm::ProcessManagerInterface>(ProcessManagerServiceName, ProcessManagerMaxSessions)));