started adding services for firmware 20.0.0 without implementation

This commit is contained in:
Pavel Barabanov 2025-05-03 06:15:23 +03:00
parent 559eb0a488
commit d55e400c7c
21 changed files with 231 additions and 54 deletions

View file

@ -104,7 +104,9 @@ public:
{160, nullptr, "RequiresUpdateNetworkServiceAccountIdTokenCache"}, {160, nullptr, "RequiresUpdateNetworkServiceAccountIdTokenCache"},
{161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"}, {161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"},
{170, nullptr, "CreateDeviceHistoryRequest"}, // 17.0.0+ {170, nullptr, "CreateDeviceHistoryRequest"}, // 17.0.0+
{180, nullptr, "GetRequestForNintendoAccountReauthentication"} // 18.0.0+ {180, nullptr, "GetRequestForNintendoAccountReauthentication"}, // 18.0.0+
{181, nullptr, "CreateProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
{182, nullptr, "ResumeProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
}; };
// clang-format on // clang-format on
@ -194,6 +196,12 @@ public:
{161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"}, {161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"},
{170, nullptr, "CreateDeviceHistoryRequest"}, // 17.0.0+ {170, nullptr, "CreateDeviceHistoryRequest"}, // 17.0.0+
{180, nullptr, "GetRequestForNintendoAccountReauthentication"}, // 18.0.0+ {180, nullptr, "GetRequestForNintendoAccountReauthentication"}, // 18.0.0+
{181, nullptr, "CreateProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
{182, nullptr, "ResumeProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
{183, nullptr, "GetNintendoAccountReauthenticationRequest"}, // 20.0.0+
{190, nullptr, "GetDeviceMigrationInfo"}, // 20.0.0+
{191, nullptr, "CheckDeviceMigrationAvailabilityAsync"}, // 20.0.0+
{192, nullptr, "StartDeviceMigrationAsync"}, // 20.0.0+
{200, nullptr, "IsRegistered"}, {200, nullptr, "IsRegistered"},
{201, nullptr, "RegisterAsync"}, {201, nullptr, "RegisterAsync"},
{202, nullptr, "UnregisterAsync"}, {202, nullptr, "UnregisterAsync"},
@ -301,6 +309,11 @@ public:
{101, nullptr, "IsNetworkServiceAccountReplaced"}, {101, nullptr, "IsNetworkServiceAccountReplaced"},
{199, nullptr, "GetUrlForIntroductionOfExtraMembership"}, // 2.0.0 - 5.1.0 {199, nullptr, "GetUrlForIntroductionOfExtraMembership"}, // 2.0.0 - 5.1.0
{200, nullptr, "ApplyAsyncWithAuthorizedToken"}, {200, nullptr, "ApplyAsyncWithAuthorizedToken"},
{210, nullptr, "IsProfileAvailable"}, // 17.0.0+
{220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+
{221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+
{230, nullptr, "RegisterUserWithLargeImageProfileAsync"}, // 18.0.0+
{240, nullptr, "RegisterUserWithReauthenticationAsync"}, // 20.0.0+
}; };
// clang-format on // clang-format on
@ -755,7 +768,8 @@ public:
{210, nullptr, "IsProfileAvailable"}, // 17.0.0+ {210, nullptr, "IsProfileAvailable"}, // 17.0.0+
{220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+ {220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+
{221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+ {221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+
{230, nullptr, "RegisterUserWithLargeImageProfileAsync"} // 18.0.0+ {230, nullptr, "RegisterUserWithLargeImageProfileAsync"}, // 18.0.0+
{240, nullptr, "RegisterUserWithReauthenticationAsync"}, // 20.0.0+
}; };
// clang-format on // clang-format on

View file

@ -53,15 +53,26 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
{212, nullptr, "ResumeProcedureToRegisterUserWithNintendoAccount"}, {212, nullptr, "ResumeProcedureToRegisterUserWithNintendoAccount"},
{230, nullptr, "AuthenticateServiceAsync"}, {230, nullptr, "AuthenticateServiceAsync"},
{250, nullptr, "GetBaasAccountAdministrator"}, {250, nullptr, "GetBaasAccountAdministrator"},
{251, nullptr, "SynchronizeNetworkServiceAccountsSnapshotAsync"}, // 20.0.0+
{290, nullptr, "ProxyProcedureForGuestLoginWithNintendoAccount"}, {290, nullptr, "ProxyProcedureForGuestLoginWithNintendoAccount"},
{291, nullptr, "ProxyProcedureForFloatingRegistrationWithNintendoAccount"}, {291, nullptr, "ProxyProcedureForFloatingRegistrationWithNintendoAccount"},
{292, nullptr, "ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser"}, // 20.0.0+
{293, nullptr, "ProxyProcedureForDeviceMigrationDownload"}, // 20.0.0+
{299, nullptr, "SuspendBackgroundDaemon"}, {299, nullptr, "SuspendBackgroundDaemon"},
{350, nullptr, "CreateDeviceMigrationUserExportRequest"}, // 20.0.0+
{351, nullptr, "UploadNasCredential"}, // 20.0.0+
{352, nullptr, "CreateDeviceMigrationUserImportRequest"}, // 20.0.0+
{353, nullptr, "DeleteUserMigrationSaveData"}, // 20.0.0+
{400, nullptr, "SetPinCode"}, // 18.0.0+ {400, nullptr, "SetPinCode"}, // 18.0.0+
{401, nullptr, "GetPinCodeLength"}, // 18.0.0+ {401, nullptr, "GetPinCodeLength"}, // 18.0.0+
{402, nullptr, "GetPinCode"}, // 18.0.0+ {402, nullptr, "GetPinCode"}, // 18.0.0+
{403, nullptr, "GetPinCodeParity"}, // 20.0.0+
{404, nullptr, "VerifyPinCode"}, // 20.0.0+
{405, nullptr, "IsPinCodeVerificationForbidden"}, // 20.0.0+
{410, nullptr, "GetPinCodeErrorCount"}, // 18.0.0+ {410, nullptr, "GetPinCodeErrorCount"}, // 18.0.0+
{411, nullptr, "ResetPinCodeErrorCount"}, // 18.0.0+ {411, nullptr, "ResetPinCodeErrorCount"}, // 18.0.0+
{412, nullptr, "IncrementPinCodeErrorCount"}, // 18.0.0+ {412, nullptr, "IncrementPinCodeErrorCount"}, // 18.0.0+
{413, nullptr, "SetPinCodeErrorCount"}, // 20.0.0+
{900, nullptr, "SetUserUnqualifiedForDebug"}, {900, nullptr, "SetUserUnqualifiedForDebug"},
{901, nullptr, "UnsetUserUnqualifiedForDebug"}, {901, nullptr, "UnsetUserUnqualifiedForDebug"},
{902, nullptr, "ListUsersUnqualifiedForDebug"}, {902, nullptr, "ListUsersUnqualifiedForDebug"},
@ -77,4 +88,4 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
ACC_SU::~ACC_SU() = default; ACC_SU::~ACC_SU() = default;
} // namespace Service::Account } // namespace Service::Account

View file

@ -42,6 +42,9 @@ ACC_U1::ACC_U1(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
{191, nullptr, "ActivateOpenContextHolder"}, {191, nullptr, "ActivateOpenContextHolder"},
{401, nullptr, "GetPinCodeLength"}, // 18.0.0+ {401, nullptr, "GetPinCodeLength"}, // 18.0.0+
{402, nullptr, "GetPinCode"}, // 18.0.0+ {402, nullptr, "GetPinCode"}, // 18.0.0+
{403, nullptr, "GetPinCodeParity"}, // 20.0.0+
{404, nullptr, "VerifyPinCode"}, // 20.0.0+
{405, nullptr, "IsPinCodeVerificationForbidden"}, // 20.0.0+
{997, nullptr, "DebugInvalidateTokenCacheForUser"}, {997, nullptr, "DebugInvalidateTokenCacheForUser"},
{998, nullptr, "DebugSetUserStateClose"}, {998, nullptr, "DebugSetUserStateClose"},
{999, nullptr, "DebugSetUserStateOpen"}, {999, nullptr, "DebugSetUserStateOpen"},

View file

@ -38,7 +38,7 @@ ICommonStateGetter::ICommonStateGetter(Core::System& system_, std::shared_ptr<Ap
{30, nullptr, "GetHomeButtonReaderLockAccessor"}, {30, nullptr, "GetHomeButtonReaderLockAccessor"},
{31, D<&ICommonStateGetter::GetReaderLockAccessorEx>, "GetReaderLockAccessorEx"}, {31, D<&ICommonStateGetter::GetReaderLockAccessorEx>, "GetReaderLockAccessorEx"},
{32, D<&ICommonStateGetter::GetWriterLockAccessorEx>, "GetWriterLockAccessorEx"}, {32, D<&ICommonStateGetter::GetWriterLockAccessorEx>, "GetWriterLockAccessorEx"},
{40, nullptr, "GetCradleFwVersion"}, {40, D<&ICommonStateGetter::GetCradleFwVersion>, "GetCradleFwVersion"},
{50, D<&ICommonStateGetter::IsVrModeEnabled>, "IsVrModeEnabled"}, {50, D<&ICommonStateGetter::IsVrModeEnabled>, "IsVrModeEnabled"},
{51, D<&ICommonStateGetter::SetVrModeEnabled>, "SetVrModeEnabled"}, {51, D<&ICommonStateGetter::SetVrModeEnabled>, "SetVrModeEnabled"},
{52, D<&ICommonStateGetter::SetLcdBacklighOffEnabled>, "SetLcdBacklighOffEnabled"}, {52, D<&ICommonStateGetter::SetLcdBacklighOffEnabled>, "SetLcdBacklighOffEnabled"},
@ -172,6 +172,17 @@ Result ICommonStateGetter::GetBootMode(Out<PM::SystemBootMode> out_boot_mode) {
R_SUCCEED(); R_SUCCEED();
} }
Result ICommonStateGetter::GetCradleFwVersion(OutArray<uint32_t, 4> out_version) {
LOG_DEBUG(Service_AM, "(STUBBED) called");
out_version[0] = 0;
out_version[1] = 0;
out_version[2] = 0;
out_version[3] = 0;
R_SUCCEED();
}
Result ICommonStateGetter::IsVrModeEnabled(Out<bool> out_is_vr_mode_enabled) { Result ICommonStateGetter::IsVrModeEnabled(Out<bool> out_is_vr_mode_enabled) {
LOG_DEBUG(Service_AM, "called"); LOG_DEBUG(Service_AM, "called");

View file

@ -39,6 +39,7 @@ private:
Result GetHdcpAuthenticationStateChangeEvent(OutCopyHandle<Kernel::KReadableEvent> out_event); Result GetHdcpAuthenticationStateChangeEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result GetOperationMode(Out<OperationMode> out_operation_mode); Result GetOperationMode(Out<OperationMode> out_operation_mode);
Result GetPerformanceMode(Out<APM::PerformanceMode> out_performance_mode); Result GetPerformanceMode(Out<APM::PerformanceMode> out_performance_mode);
Result GetCradleFwVersion(OutArray<uint32_t, 4> out_version);
Result GetBootMode(Out<PM::SystemBootMode> out_boot_mode); Result GetBootMode(Out<PM::SystemBootMode> out_boot_mode);
Result IsVrModeEnabled(Out<bool> out_is_vr_mode_enabled); Result IsVrModeEnabled(Out<bool> out_is_vr_mode_enabled);
Result SetVrModeEnabled(bool is_vr_mode_enabled); Result SetVrModeEnabled(bool is_vr_mode_enabled);

View file

@ -30,6 +30,8 @@ public:
{10, nullptr, "CreateReportWithAttachments"}, {10, nullptr, "CreateReportWithAttachments"},
{11, C<&ErrorReportContext::CreateReportV1>, "CreateReportV1"}, {11, C<&ErrorReportContext::CreateReportV1>, "CreateReportV1"},
{12, C<&ErrorReportContext::CreateReport>, "CreateReport"}, {12, C<&ErrorReportContext::CreateReport>, "CreateReport"},
{13, nullptr, "SubmitAttachmentWithLz4Compression"}, // 20.0.0+
{14, nullptr, "CreateReportWithSpecifiedReprotId"}, // 20.0.0+
{20, nullptr, "RegisterRunningApplet"}, {20, nullptr, "RegisterRunningApplet"},
{21, nullptr, "UnregisterRunningApplet"}, {21, nullptr, "UnregisterRunningApplet"},
{22, nullptr, "UpdateAppletSuspendedDuration"}, {22, nullptr, "UpdateAppletSuspendedDuration"},

View file

@ -76,6 +76,7 @@ FSP_SRV::FSP_SRV(Core::System& system_)
{34, D<&FSP_SRV::GetCacheStorageSize>, "GetCacheStorageSize"}, {34, D<&FSP_SRV::GetCacheStorageSize>, "GetCacheStorageSize"},
{35, nullptr, "CreateSaveDataFileSystemByHashSalt"}, {35, nullptr, "CreateSaveDataFileSystemByHashSalt"},
{36, nullptr, "OpenHostFileSystemWithOption"}, {36, nullptr, "OpenHostFileSystemWithOption"},
{38, nullptr, "DetachSdCard"}, // 20.0.0+
{51, D<&FSP_SRV::OpenSaveDataFileSystem>, "OpenSaveDataFileSystem"}, {51, D<&FSP_SRV::OpenSaveDataFileSystem>, "OpenSaveDataFileSystem"},
{52, D<&FSP_SRV::OpenSaveDataFileSystemBySystemSaveDataId>, "OpenSaveDataFileSystemBySystemSaveDataId"}, {52, D<&FSP_SRV::OpenSaveDataFileSystemBySystemSaveDataId>, "OpenSaveDataFileSystemBySystemSaveDataId"},
{53, D<&FSP_SRV::OpenReadOnlySaveDataFileSystem>, "OpenReadOnlySaveDataFileSystem"}, {53, D<&FSP_SRV::OpenReadOnlySaveDataFileSystem>, "OpenReadOnlySaveDataFileSystem"},
@ -117,6 +118,7 @@ FSP_SRV::FSP_SRV(Core::System& system_)
{400, nullptr, "OpenDeviceOperator"}, {400, nullptr, "OpenDeviceOperator"},
{500, nullptr, "OpenSdCardDetectionEventNotifier"}, {500, nullptr, "OpenSdCardDetectionEventNotifier"},
{501, nullptr, "OpenGameCardDetectionEventNotifier"}, {501, nullptr, "OpenGameCardDetectionEventNotifier"},
{502, nullptr, "OpenSdCardAwakenReadyEventNotifier"}, // 20.0.0+
{510, nullptr, "OpenSystemDataUpdateEventNotifier"}, {510, nullptr, "OpenSystemDataUpdateEventNotifier"},
{511, nullptr, "NotifySystemDataUpdateEvent"}, {511, nullptr, "NotifySystemDataUpdateEvent"},
{520, nullptr, "SimulateGameCardDetectionEvent"}, {520, nullptr, "SimulateGameCardDetectionEvent"},

View file

@ -50,16 +50,19 @@ public:
{20102, nullptr, "GetFriendDetailedInfo"}, {20102, nullptr, "GetFriendDetailedInfo"},
{20103, nullptr, "SyncFriendList"}, {20103, nullptr, "SyncFriendList"},
{20104, &IFriendService::RequestSyncFriendList, "RequestSyncFriendList"}, {20104, &IFriendService::RequestSyncFriendList, "RequestSyncFriendList"},
{20107, nullptr, "GetFriendDetailedInfoV2"}, // 20.0.0+
{20110, nullptr, "LoadFriendSetting"}, {20110, nullptr, "LoadFriendSetting"},
{20200, &IFriendService::GetReceivedFriendRequestCount, "GetReceivedFriendRequestCount"}, {20200, &IFriendService::GetReceivedFriendRequestCount, "GetReceivedFriendRequestCount"},
{20201, nullptr, "GetFriendRequestList"}, {20201, nullptr, "GetFriendRequestListV1"}, // 20.0.0+ (1.0.0-19.0.1 GetFriendRequestList)
{20202, nullptr, "GetFriendRequestListV2"}, // 20.0.0+
{20300, nullptr, "GetFriendCandidateList"}, {20300, nullptr, "GetFriendCandidateList"},
{20301, nullptr, "GetNintendoNetworkIdInfo"}, {20301, nullptr, "GetNintendoNetworkIdInfo"},
{20302, nullptr, "GetSnsAccountLinkage"}, {20302, nullptr, "GetSnsAccountLinkage"},
{20303, nullptr, "GetSnsAccountProfile"}, {20303, nullptr, "GetSnsAccountProfile"},
{20304, nullptr, "GetSnsAccountFriendList"}, {20304, nullptr, "GetSnsAccountFriendList"},
{20400, nullptr, "GetBlockedUserList"}, {20400, nullptr, "GetBlockedUserListV1"}, // 20.0.0+ (1.0.0-19.0.1 GetBlockedUserList)
{20401, nullptr, "SyncBlockedUserList"}, {20401, nullptr, "SyncBlockedUserList"},
{20402, nullptr, "GetBlockedUserListV2"}, // 20.0.0+
{20500, nullptr, "GetProfileExtraList"}, {20500, nullptr, "GetProfileExtraList"},
{20501, nullptr, "GetRelationship"}, {20501, nullptr, "GetRelationship"},
{20600, &IFriendService::GetUserPresenceView, "GetUserPresenceView"}, {20600, &IFriendService::GetUserPresenceView, "GetUserPresenceView"},
@ -78,7 +81,7 @@ public:
{30120, nullptr, "ChangeFriendFavoriteFlag"}, {30120, nullptr, "ChangeFriendFavoriteFlag"},
{30121, nullptr, "ChangeFriendOnlineNotificationFlag"}, {30121, nullptr, "ChangeFriendOnlineNotificationFlag"},
{30200, nullptr, "SendFriendRequest"}, {30200, nullptr, "SendFriendRequest"},
{30201, nullptr, "SendFriendRequestWithApplicationInfo"}, {30201, nullptr, "SendFriendRequestWithApplicationInfoV1"}, // 20.0.0+ (1.0.0-19.0.1 SendFriendRequestWithApplicationInfo)
{30202, nullptr, "CancelFriendRequest"}, {30202, nullptr, "CancelFriendRequest"},
{30203, nullptr, "AcceptFriendRequest"}, {30203, nullptr, "AcceptFriendRequest"},
{30204, nullptr, "RejectFriendRequest"}, {30204, nullptr, "RejectFriendRequest"},
@ -91,11 +94,13 @@ public:
{30215, nullptr, "SendFriendRequestWithExternalApplicationCatalogId"}, {30215, nullptr, "SendFriendRequestWithExternalApplicationCatalogId"},
{30216, nullptr, "ResendFacedFriendRequest"}, {30216, nullptr, "ResendFacedFriendRequest"},
{30217, nullptr, "SendFriendRequestWithNintendoNetworkIdInfo"}, {30217, nullptr, "SendFriendRequestWithNintendoNetworkIdInfo"},
{30218, nullptr, "SendFriendRequestWithApplicationInfoV2"}, // 20.0.0+
{30300, nullptr, "GetSnsAccountLinkPageUrl"}, {30300, nullptr, "GetSnsAccountLinkPageUrl"},
{30301, nullptr, "UnlinkSnsAccount"}, {30301, nullptr, "UnlinkSnsAccount"},
{30400, nullptr, "BlockUser"}, {30400, nullptr, "BlockUser"},
{30401, nullptr, "BlockUserWithApplicationInfo"}, {30401, nullptr, "BlockUserWithApplicationInfoV1"}, // 20.0.0+ (1.0.0-19.0.1 BlockUserWithApplicationInfo)
{30402, nullptr, "UnblockUser"}, {30402, nullptr, "UnblockUser"},
{30403, nullptr, "BlockUserWithApplicationInfoV2"}, // 20.0.0+
{30500, nullptr, "GetProfileExtraFromFriendCode"}, {30500, nullptr, "GetProfileExtraFromFriendCode"},
{30700, nullptr, "DeletePlayHistory"}, {30700, nullptr, "DeletePlayHistory"},
{30810, nullptr, "ChangePresencePermission"}, {30810, nullptr, "ChangePresencePermission"},
@ -473,4 +478,4 @@ void LoopProcess(Core::System& system) {
ServerManager::RunServer(std::move(server_manager)); ServerManager::RunServer(std::move(server_manager));
} }
} // namespace Service::Friend } // namespace Service::Friend

View file

@ -86,6 +86,8 @@ IHidDebugServer::IHidDebugServer(Core::System& system_, std::shared_ptr<Resource
{209, nullptr, "GetAvailableFirmwareVersionForRevert"}, {209, nullptr, "GetAvailableFirmwareVersionForRevert"},
{210, nullptr, "IsFirmwareUpdatingDevice"}, {210, nullptr, "IsFirmwareUpdatingDevice"},
{211, nullptr, "StartFirmwareUpdateIndividual"}, {211, nullptr, "StartFirmwareUpdateIndividual"},
{212, nullptr, "GetDetailFirmwareVersion"}, // 19.0.0+
{213, nullptr, "GetFirmwareVersionStringForDevMenu"}, // 20.0.0+
{215, nullptr, "SetUsbFirmwareForceUpdateEnabled"}, {215, nullptr, "SetUsbFirmwareForceUpdateEnabled"},
{216, nullptr, "SetAllKuinaDevicesToFirmwareUpdateMode"}, {216, nullptr, "SetAllKuinaDevicesToFirmwareUpdateMode"},
{221, nullptr, "UpdateControllerColor"}, {221, nullptr, "UpdateControllerColor"},
@ -119,6 +121,7 @@ IHidDebugServer::IHidDebugServer(Core::System& system_, std::shared_ptr<Resource
{249, nullptr, "ConnectUniquePad"}, {249, nullptr, "ConnectUniquePad"},
{250, nullptr, "IsVirtual"}, {250, nullptr, "IsVirtual"},
{251, nullptr, "GetAnalogStickModuleParam"}, {251, nullptr, "GetAnalogStickModuleParam"},
{253, nullptr, "ClearStorageForShipment"}, //19.0.0+
{301, nullptr, "GetAbstractedPadHandles"}, {301, nullptr, "GetAbstractedPadHandles"},
{302, nullptr, "GetAbstractedPadState"}, {302, nullptr, "GetAbstractedPadState"},
{303, nullptr, "GetAbstractedPadsState"}, {303, nullptr, "GetAbstractedPadsState"},

View file

@ -116,6 +116,7 @@ IHidServer::IHidServer(Core::System& system_, std::shared_ptr<ResourceManager> r
{134, C<&IHidServer::SetNpadAnalogStickUseCenterClamp>, "SetNpadAnalogStickUseCenterClamp"}, {134, C<&IHidServer::SetNpadAnalogStickUseCenterClamp>, "SetNpadAnalogStickUseCenterClamp"},
{135, C<&IHidServer::SetNpadCaptureButtonAssignment>, "SetNpadCaptureButtonAssignment"}, {135, C<&IHidServer::SetNpadCaptureButtonAssignment>, "SetNpadCaptureButtonAssignment"},
{136, C<&IHidServer::ClearNpadCaptureButtonAssignment>, "ClearNpadCaptureButtonAssignment"}, {136, C<&IHidServer::ClearNpadCaptureButtonAssignment>, "ClearNpadCaptureButtonAssignment"},
{137, nullptr, "SetNpadGcAnalogStick8bitRawValue"}, // 20.0.0+
{200, C<&IHidServer::GetVibrationDeviceInfo>, "GetVibrationDeviceInfo"}, {200, C<&IHidServer::GetVibrationDeviceInfo>, "GetVibrationDeviceInfo"},
{201, C<&IHidServer::SendVibrationValue>, "SendVibrationValue"}, {201, C<&IHidServer::SendVibrationValue>, "SendVibrationValue"},
{202, C<&IHidServer::GetActualVibrationValue>, "GetActualVibrationValue"}, {202, C<&IHidServer::GetActualVibrationValue>, "GetActualVibrationValue"},
@ -183,7 +184,8 @@ IHidServer::IHidServer(Core::System& system_, std::shared_ptr<ResourceManager> r
{1001, C<&IHidServer::GetNpadCommunicationMode>, "GetNpadCommunicationMode"}, {1001, C<&IHidServer::GetNpadCommunicationMode>, "GetNpadCommunicationMode"},
{1002, C<&IHidServer::SetTouchScreenConfiguration>, "SetTouchScreenConfiguration"}, {1002, C<&IHidServer::SetTouchScreenConfiguration>, "SetTouchScreenConfiguration"},
{1003, C<&IHidServer::IsFirmwareUpdateNeededForNotification>, "IsFirmwareUpdateNeededForNotification"}, {1003, C<&IHidServer::IsFirmwareUpdateNeededForNotification>, "IsFirmwareUpdateNeededForNotification"},
{1004, C<&IHidServer::SetTouchScreenResolution>, "SetTouchScreenResolution"}, {1004, C<&IHidServer::SetTouchScreenOutputRanges>, "SetTouchScreenOutputRanges"}, // 20.0.0+ (17.0.0-19.0.1 SetTouchScreenResolution)
{1005, nullptr, "EnableNxTouchScreenEmulationForTouchEnter"}, // 20.0.0+
{2000, nullptr, "ActivateDigitizer"}, {2000, nullptr, "ActivateDigitizer"},
}; };
// clang-format on // clang-format on
@ -1432,12 +1434,12 @@ Result IHidServer::IsFirmwareUpdateNeededForNotification(Out<bool> out_is_firmwa
R_SUCCEED(); R_SUCCEED();
} }
Result IHidServer::SetTouchScreenResolution(u32 width, u32 height, Result IHidServer::SetTouchScreenOutputRanges(u32 width, u32 height,
ClientAppletResourceUserId aruid) { ClientAppletResourceUserId aruid) {
LOG_INFO(Service_HID, "called, width={}, height={}, applet_resource_user_id={}", width, height, LOG_INFO(Service_HID, "called, width={}, height={}, applet_resource_user_id={}", width, height,
aruid.pid); aruid.pid);
GetResourceManager()->GetTouchScreen()->SetTouchScreenResolution(width, height, aruid.pid); GetResourceManager()->GetTouchScreen()->SetTouchScreenOutputRanges(width, height, aruid.pid);
R_SUCCEED(); R_SUCCEED();
} }

View file

@ -258,7 +258,7 @@ private:
ClientAppletResourceUserId aruid); ClientAppletResourceUserId aruid);
Result IsFirmwareUpdateNeededForNotification(Out<bool> out_is_firmware_update_needed, Result IsFirmwareUpdateNeededForNotification(Out<bool> out_is_firmware_update_needed,
s32 unknown, ClientAppletResourceUserId aruid); s32 unknown, ClientAppletResourceUserId aruid);
Result SetTouchScreenResolution(u32 width, u32 height, ClientAppletResourceUserId aruid); Result SetTouchScreenOutputRanges(u32 width, u32 height, ClientAppletResourceUserId aruid);
std::shared_ptr<ResourceManager> resource_manager; std::shared_ptr<ResourceManager> resource_manager;
std::shared_ptr<HidFirmwareSettings> firmware_settings; std::shared_ptr<HidFirmwareSettings> firmware_settings;

View file

@ -67,6 +67,8 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{328, nullptr, "AttachAbstractedPadToNpad"}, {328, nullptr, "AttachAbstractedPadToNpad"},
{329, nullptr, "DetachAbstractedPadAll"}, {329, nullptr, "DetachAbstractedPadAll"},
{330, nullptr, "CheckAbstractedPadConnection"}, {330, nullptr, "CheckAbstractedPadConnection"},
{333, nullptr, "SetNpadUserSpgApplet"}, // 20.0.0+
{334, nullptr, "AcquireUniquePadButtonStateChangedEventHandle"}, // 20.0.0+
{500, nullptr, "SetAppletResourceUserId"}, {500, nullptr, "SetAppletResourceUserId"},
{501, &IHidSystemServer::RegisterAppletResourceUserId, "RegisterAppletResourceUserId"}, {501, &IHidSystemServer::RegisterAppletResourceUserId, "RegisterAppletResourceUserId"},
{502, &IHidSystemServer::UnregisterAppletResourceUserId, "UnregisterAppletResourceUserId"}, {502, &IHidSystemServer::UnregisterAppletResourceUserId, "UnregisterAppletResourceUserId"},
@ -96,9 +98,12 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{547, nullptr, "GetAllowedBluetoothLinksCount"}, {547, nullptr, "GetAllowedBluetoothLinksCount"},
{548, &IHidSystemServer::GetRegisteredDevices, "GetRegisteredDevices"}, {548, &IHidSystemServer::GetRegisteredDevices, "GetRegisteredDevices"},
{549, nullptr, "GetConnectableRegisteredDevices"}, {549, nullptr, "GetConnectableRegisteredDevices"},
{551, nullptr, "GetRegisteredDevicesForControllerSupport"}, // 20.0.0+
{700, nullptr, "ActivateUniquePad"}, {700, nullptr, "ActivateUniquePad"},
{702, &IHidSystemServer::AcquireUniquePadConnectionEventHandle, "AcquireUniquePadConnectionEventHandle"}, {702, &IHidSystemServer::AcquireUniquePadConnectionEventHandle, "AcquireUniquePadConnectionEventHandle"},
{703, &IHidSystemServer::GetUniquePadIds, "GetUniquePadIds"}, {703, &IHidSystemServer::GetUniquePadIds, "GetUniquePadIds"},
{711, nullptr, "AcquireUniquePadConnectionOnHandheldForNsEventHandle"}, // 20.0.0+
{712, nullptr, "GetUniquePadColor12"}, // 20.0.0+
{751, &IHidSystemServer::AcquireJoyDetachOnBluetoothOffEventHandle, "AcquireJoyDetachOnBluetoothOffEventHandle"}, {751, &IHidSystemServer::AcquireJoyDetachOnBluetoothOffEventHandle, "AcquireJoyDetachOnBluetoothOffEventHandle"},
{800, nullptr, "ListSixAxisSensorHandles"}, {800, nullptr, "ListSixAxisSensorHandles"},
{801, nullptr, "IsSixAxisSensorUserCalibrationSupported"}, {801, nullptr, "IsSixAxisSensorUserCalibrationSupported"},
@ -143,6 +148,7 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{1009, nullptr, "AcquireAudioControlEventHandle"}, {1009, nullptr, "AcquireAudioControlEventHandle"},
{1010, nullptr, "GetAudioControlStates"}, {1010, nullptr, "GetAudioControlStates"},
{1011, nullptr, "DeactivateAudioControl"}, {1011, nullptr, "DeactivateAudioControl"},
{1012, nullptr, "GetFirmwareVersionStringForUserSupportPage"}, // 20.0.0+
{1050, nullptr, "IsSixAxisSensorAccurateUserCalibrationSupported"}, {1050, nullptr, "IsSixAxisSensorAccurateUserCalibrationSupported"},
{1051, nullptr, "StartSixAxisSensorAccurateUserCalibration"}, {1051, nullptr, "StartSixAxisSensorAccurateUserCalibration"},
{1052, nullptr, "CancelSixAxisSensorAccurateUserCalibration"}, {1052, nullptr, "CancelSixAxisSensorAccurateUserCalibration"},
@ -221,6 +227,12 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{1289, nullptr, "SetButtonConfigStorageFull"}, {1289, nullptr, "SetButtonConfigStorageFull"},
{1290, nullptr, "DeleteButtonConfigStorageRight"}, {1290, nullptr, "DeleteButtonConfigStorageRight"},
{1291, nullptr, "DeleteButtonConfigStorageRight"}, {1291, nullptr, "DeleteButtonConfigStorageRight"},
{1308, nullptr, "SetButtonConfigVisible"}, // 18.0.0+
{1309, nullptr, "IsButtonConfigVisible"}, // 18.0.0+
{1320, nullptr, "WakeTouchScreenUp"}, // 17.0.0+
{1321, nullptr, "PutTouchScreenToSleep"}, // 17.0.0+
{1322, nullptr, "AcquireTouchScreenAsyncWakeCompletedEvent"}, // 20.0.0+
{1420, nullptr, "GetAppletResourceProperty"}, // 19.0.0+
}; };
// clang-format on // clang-format on

View file

@ -88,6 +88,8 @@ public:
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, &ILogger::Log, "Log"}, {0, &ILogger::Log, "Log"},
{1, &ILogger::SetDestination, "SetDestination"}, {1, &ILogger::SetDestination, "SetDestination"},
{2, nullptr, "TransmitHashedLog"}, // 20.0.0+
{3, nullptr, "DevNotify"}, // 20.0.0+
}; };
RegisterHandlers(functions); RegisterHandlers(functions);
} }

View file

@ -333,6 +333,8 @@ public:
{15, nullptr, "LoadImage"}, {15, nullptr, "LoadImage"},
{16, nullptr, "AddOrUpdateImage"}, {16, nullptr, "AddOrUpdateImage"},
{17, nullptr, "DeleteImages"}, {17, nullptr, "DeleteImages"},
{19, nullptr, "ClearHeaderForMigration"}, // 20.0.0+
{20, nullptr, "SaveHeaderForMigration"}, // 20.0.0+
{100, nullptr, "DeleteFile"}, {100, nullptr, "DeleteFile"},
{101, nullptr, "DestroyFile"}, {101, nullptr, "DestroyFile"},
{102, nullptr, "ImportFile"}, {102, nullptr, "ImportFile"},

View file

@ -692,9 +692,15 @@ IGeneralService::IGeneralService(Core::System& system_)
{45, nullptr, "IsNetworkEmulationFeatureEnabled"}, // 18.0.0+ {45, nullptr, "IsNetworkEmulationFeatureEnabled"}, // 18.0.0+
{46, nullptr, "SelectActiveNetworkEmulationProfileIdForDebug"}, // 18.0.0+ {46, nullptr, "SelectActiveNetworkEmulationProfileIdForDebug"}, // 18.0.0+
{47, nullptr, "GetActiveNetworkEmulationProfileId"}, // 18.0.0+ {47, nullptr, "GetActiveNetworkEmulationProfileId"}, // 18.0.0+
{48, nullptr, "ResetActiveNetworkEmulationProfileId"}, // 20.0.0+
{50, nullptr, "IsRewriteFeatureEnabled"}, // 18.0.0+ {50, nullptr, "IsRewriteFeatureEnabled"}, // 18.0.0+
{51, nullptr, "CreateRewriteRule"}, // 18.0.0+ {51, nullptr, "CreateRewriteRule"}, // 18.0.0+
{52, nullptr, "DestroyRewriteRule"} // 18.0.0+ {52, nullptr, "DestroyRewriteRule"}, // 18.0.0+
{53, nullptr, "IsActiveNetworkEmulationProfileIdSelected"}, // 20.0.0+
{54, nullptr, "SelectDefaultNetworkEmulationProfileId"}, // 20.0.0+
{55, nullptr, "GetDefaultNetworkEmulationProfileId"}, // 20.0.0+
{56, nullptr, "GetNetworkEmulationProfile"}, // 20.0.0+
{57, nullptr, "SetWowlTcpKeepAliveTimeout"}, // 20.0.0+
}; };
// clang-format on // clang-format on

View file

@ -147,6 +147,7 @@ IPlatformServiceManager::IPlatformServiceManager(Core::System& system_, const ch
{104, nullptr, "RequestApplicationFunctionAuthorizationByProgramId"}, {104, nullptr, "RequestApplicationFunctionAuthorizationByProgramId"},
{105, nullptr, "GetFunctionBlackListSystemVersionToAuthorize"}, {105, nullptr, "GetFunctionBlackListSystemVersionToAuthorize"},
{106, nullptr, "GetFunctionBlackListVersion"}, {106, nullptr, "GetFunctionBlackListVersion"},
{108, nullptr, "GetRequiredApplicationVersion"}, // 20.0.0+
{1000, nullptr, "LoadNgWordDataForPlatformRegionChina"}, {1000, nullptr, "LoadNgWordDataForPlatformRegionChina"},
{1001, nullptr, "GetNgWordDataSizeForPlatformRegionChina"}, {1001, nullptr, "GetNgWordDataSizeForPlatformRegionChina"},
}; };

View file

@ -35,6 +35,8 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1016, nullptr, "ConfirmShowNewsPermission"}, {1016, nullptr, "ConfirmShowNewsPermission"},
{1017, D<&IParentalControlService::EndFreeCommunication>, "EndFreeCommunication"}, {1017, D<&IParentalControlService::EndFreeCommunication>, "EndFreeCommunication"},
{1018, D<&IParentalControlService::IsFreeCommunicationAvailable>, "IsFreeCommunicationAvailable"}, {1018, D<&IParentalControlService::IsFreeCommunicationAvailable>, "IsFreeCommunicationAvailable"},
{1019, nullptr, "ConfirmLaunchApplicationPermission"}, // 20.0.0+
{1020, nullptr, "ConfirmLaunchSharedApplicationPermission"}, // 20.0.0+
{1031, D<&IParentalControlService::IsRestrictionEnabled>, "IsRestrictionEnabled"}, {1031, D<&IParentalControlService::IsRestrictionEnabled>, "IsRestrictionEnabled"},
{1032, D<&IParentalControlService::GetSafetyLevel>, "GetSafetyLevel"}, {1032, D<&IParentalControlService::GetSafetyLevel>, "GetSafetyLevel"},
{1033, nullptr, "SetSafetyLevel"}, {1033, nullptr, "SetSafetyLevel"},
@ -49,9 +51,11 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1044, nullptr, "GetFreeCommunicationApplicationList"}, {1044, nullptr, "GetFreeCommunicationApplicationList"},
{1045, nullptr, "UpdateFreeCommunicationApplicationList"}, {1045, nullptr, "UpdateFreeCommunicationApplicationList"},
{1046, nullptr, "DisableFeaturesForReset"}, {1046, nullptr, "DisableFeaturesForReset"},
{1047, nullptr, "NotifyApplicationDownloadStarted"}, {1047, nullptr, "NotifyApplicationDownloadStartedOld"}, // 20.0.0+ (3.0.0-19.0.1 NotifyApplicationDownloadStarted)
{1048, nullptr, "NotifyNetworkProfileCreated"}, {1048, nullptr, "NotifyNetworkProfileCreated"},
{1049, nullptr, "ResetFreeCommunicationApplicationList"}, {1049, nullptr, "ResetFreeCommunicationApplicationList"},
{1050, nullptr, "AddToFreeCommunicationApplicationList"}, // 20.0.0+
{1051, nullptr, "NotifyApplicationDownloadStarted"}, // 20.0.0+
{1061, D<&IParentalControlService::ConfirmStereoVisionRestrictionConfigurable>, "ConfirmStereoVisionRestrictionConfigurable"}, {1061, D<&IParentalControlService::ConfirmStereoVisionRestrictionConfigurable>, "ConfirmStereoVisionRestrictionConfigurable"},
{1062, D<&IParentalControlService::GetStereoVisionRestriction>, "GetStereoVisionRestriction"}, {1062, D<&IParentalControlService::GetStereoVisionRestriction>, "GetStereoVisionRestriction"},
{1063, D<&IParentalControlService::SetStereoVisionRestriction>, "SetStereoVisionRestriction"}, {1063, D<&IParentalControlService::SetStereoVisionRestriction>, "SetStereoVisionRestriction"},
@ -82,11 +86,13 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1456, D<&IParentalControlService::GetPlayTimerSettingsOld>, "GetPlayTimerSettingsOld"}, {1456, D<&IParentalControlService::GetPlayTimerSettingsOld>, "GetPlayTimerSettingsOld"},
{1457, D<&IParentalControlService::GetPlayTimerEventToRequestSuspension>, "GetPlayTimerEventToRequestSuspension"}, {1457, D<&IParentalControlService::GetPlayTimerEventToRequestSuspension>, "GetPlayTimerEventToRequestSuspension"},
{1458, D<&IParentalControlService::IsPlayTimerAlarmDisabled>, "IsPlayTimerAlarmDisabled"}, {1458, D<&IParentalControlService::IsPlayTimerAlarmDisabled>, "IsPlayTimerAlarmDisabled"},
{1459, nullptr, "GetPlayTimerRemainingTimeDisplayInfo"}, // 20.0.0+
{1471, nullptr, "NotifyWrongPinCodeInputManyTimes"}, {1471, nullptr, "NotifyWrongPinCodeInputManyTimes"},
{1472, nullptr, "CancelNetworkRequest"}, {1472, nullptr, "CancelNetworkRequest"},
{1473, D<&IParentalControlService::GetUnlinkedEvent>, "GetUnlinkedEvent"}, {1473, D<&IParentalControlService::GetUnlinkedEvent>, "GetUnlinkedEvent"},
{1474, nullptr, "ClearUnlinkedEvent"}, {1474, nullptr, "ClearUnlinkedEvent"},
{1475, nullptr, "GetExtendedPlayTimerEvent"}, // 18.0.0+ {1475, nullptr, "GetExtendedPlayTimerEvent"}, // 18.0.0+
{1501, nullptr, "SetTimerEventEnabled"}, // 20.0.0+
{1601, nullptr, "DisableAllFeatures"}, {1601, nullptr, "DisableAllFeatures"},
{1602, nullptr, "PostEnableAllFeatures"}, {1602, nullptr, "PostEnableAllFeatures"},
{1603, nullptr, "IsAllFeaturesDisabled"}, {1603, nullptr, "IsAllFeaturesDisabled"},
@ -106,6 +112,9 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1955, nullptr, "GetBedtimeAlarmTime"}, // 18.0.0+ {1955, nullptr, "GetBedtimeAlarmTime"}, // 18.0.0+
{1956, nullptr, "GetBedtimeAlarmTimeHour"}, // 18.0.0+ {1956, nullptr, "GetBedtimeAlarmTimeHour"}, // 18.0.0+
{1957, nullptr, "GetBedtimeAlarmTimeMinute"}, // 18.0.0+ {1957, nullptr, "GetBedtimeAlarmTimeMinute"}, // 18.0.0+
{1958, nullptr, "GetBedtimeAlarmResetTimeHour"}, // 20.0.0+
{1959, nullptr, "GetBedtimeAlarmResetTimeMinute"}, // 20.0.0+
{1960, nullptr, "GetExtraPlayingTimeForDebug"}, // 20.0.0+
{2001, nullptr, "RequestPairingAsync"}, {2001, nullptr, "RequestPairingAsync"},
{2002, nullptr, "FinishRequestPairing"}, {2002, nullptr, "FinishRequestPairing"},
{2003, nullptr, "AuthorizePairingAsync"}, {2003, nullptr, "AuthorizePairingAsync"},
@ -122,6 +131,15 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{2014, nullptr, "FinishSynchronizeParentalControlSettings"}, {2014, nullptr, "FinishSynchronizeParentalControlSettings"},
{2015, nullptr, "FinishSynchronizeParentalControlSettingsWithLastUpdated"}, {2015, nullptr, "FinishSynchronizeParentalControlSettingsWithLastUpdated"},
{2016, nullptr, "RequestUpdateExemptionListAsync"}, {2016, nullptr, "RequestUpdateExemptionListAsync"},
{2021, nullptr, "RequestCopyPairingAsync"}, // 20.0.0+
{2022, nullptr, "FinishRequestCopyPairing"}, // 20.0.0+
{2023, nullptr, "IsFromPairingActiveDevice"}, // 20.0.0+
{3001, nullptr, "GetErrorContextChangedEvent"}, // 20.0.0+
{9401, nullptr, "GetEvents"}, // 20.0.0+
{9402, nullptr, "GetEventsWithJson"}, // 20.0.0+
{9403, nullptr, "RequestPostEvents"}, // 20.0.0+
{9404, nullptr, "GetPostEventInterval"}, // 20.0.0+
{9405, nullptr, "SetPostEventInterval"}, // 20.0.0+
{145601, D<&IParentalControlService::GetPlayTimerSettings>, "GetPlayTimerSettings"} // 18.0.0+ {145601, D<&IParentalControlService::GetPlayTimerSettings>, "GetPlayTimerSettings"} // 18.0.0+
}; };
// clang-format on // clang-format on
@ -444,4 +462,4 @@ Result IParentalControlService::ResetConfirmedStereoVisionPermission() {
R_SUCCEED(); R_SUCCEED();
} }
} // namespace Service::PCTL } // namespace Service::PCTL

View file

@ -18,6 +18,7 @@ IFirmwareDebugSettingsServer::IFirmwareDebugSettingsServer(Core::System& system_
{21, nullptr, "SetAllowedSslHosts"}, {21, nullptr, "SetAllowedSslHosts"},
{22, nullptr, "SetHostFsMountPoint"}, {22, nullptr, "SetHostFsMountPoint"},
{23, nullptr, "SetMemoryUsageRateFlag"}, {23, nullptr, "SetMemoryUsageRateFlag"},
{24, nullptr, "CommitSettings"}, // 20.0.0+
}; };
// clang-format on // clang-format on

View file

@ -300,6 +300,18 @@ ISystemSettingsServer::ISystemSettingsServer(Core::System& system_)
{208, nullptr, "SetHearingProtectionSafeguardFlag"}, {208, nullptr, "SetHearingProtectionSafeguardFlag"},
{209, nullptr, "GetHearingProtectionSafeguardRemainingTime"}, {209, nullptr, "GetHearingProtectionSafeguardRemainingTime"},
{210, nullptr, "SetHearingProtectionSafeguardRemainingTime"}, {210, nullptr, "SetHearingProtectionSafeguardRemainingTime"},
{221, nullptr, "GetForceMonauralOutputFlag"}, //17.0.0+
{222, nullptr, "SetForceMonauralOutputFlag"}, //17.0.0+
{251, nullptr, "GetAccountIdentificationSettings"}, //18.0.0+
{252, nullptr, "SetAccountIdentificationSettings"}, //18.0.0+
{264, nullptr, "GetVphymDirtyFlags"}, // 20.0.0+
{282, nullptr, "ConvertToProductModel"}, // 20.0.0+
{283, nullptr, "ConvertToProductModelName"}, // 20.0.0+
{289, nullptr, "GetDefaultAccountIdentificationFlagSet"}, // 20.0.0+
{300, nullptr, "AcquirePushNotificationDirtyFlagEventHandle"}, // 20.0.0+
{301, nullptr, "GetPushNotificationDirtyFlags"}, // 20.0.0+
{306, nullptr, "GetPinCodeReregistrationGuideAccounts"}, // 20.0.0+
{307, nullptr, "SetPinCodeReregistrationGuideAccounts"}, // 20.0.0+
}; };
// clang-format on // clang-format on

View file

@ -106,6 +106,8 @@ public:
{33, nullptr, "ExportKeyingMaterial"}, {33, nullptr, "ExportKeyingMaterial"},
{34, nullptr, "SetIoTimeout"}, {34, nullptr, "SetIoTimeout"},
{35, nullptr, "GetIoTimeout"}, {35, nullptr, "GetIoTimeout"},
{36, nullptr, "GetSessionTicket"}, // 20.0.0+
{37, nullptr, "SetSessionTicket"}, // 20.0.0+
}; };
// clang-format on // clang-format on

View file

@ -11,7 +11,7 @@ enum class CaCertificateId : s32 {
All = -1, All = -1,
NintendoCAG3 = 1, NintendoCAG3 = 1,
NintendoClass2CAG3 = 2, NintendoClass2CAG3 = 2,
NintendoRootCAG4 = 3, NintendoRootCAG4 = 3, // [16.0.0+]
AmazonRootCA1 = 1000, AmazonRootCA1 = 1000,
StarfieldServicesRootCertificateAuthorityG2 = 1001, StarfieldServicesRootCertificateAuthorityG2 = 1001,
AddTrustExternalCARoot = 1002, AddTrustExternalCARoot = 1002,
@ -29,10 +29,10 @@ enum class CaCertificateId : s32 {
EntrustnetCertificationAuthority2048 = 1014, EntrustnetCertificationAuthority2048 = 1014,
EntrustRootCertificationAuthority = 1015, EntrustRootCertificationAuthority = 1015,
EntrustRootCertificationAuthorityG2 = 1016, EntrustRootCertificationAuthorityG2 = 1016,
GeoTrustGlobalCA2 = 1017, GeoTrustGlobalCA2 = 1017, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GeoTrustGlobalCA = 1018, GeoTrustGlobalCA = 1018, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GeoTrustPrimaryCertificationAuthorityG3 = 1019, GeoTrustPrimaryCertificationAuthorityG3 = 1019, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GeoTrustPrimaryCertificationAuthority = 1020, GeoTrustPrimaryCertificationAuthority = 1020, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GlobalSignRootCA = 1021, GlobalSignRootCA = 1021,
GlobalSignRootCAR2 = 1022, GlobalSignRootCAR2 = 1022,
GlobalSignRootCAR3 = 1023, GlobalSignRootCAR3 = 1023,
@ -40,38 +40,105 @@ enum class CaCertificateId : s32 {
GoDaddyRootCertificateAuthorityG2 = 1025, GoDaddyRootCertificateAuthorityG2 = 1025,
StarfieldClass2CertificationAuthority = 1026, StarfieldClass2CertificationAuthority = 1026,
StarfieldRootCertificateAuthorityG2 = 1027, StarfieldRootCertificateAuthorityG2 = 1027,
thawtePrimaryRootCAG3 = 1028, thawtePrimaryRootCAG3 = 1028, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
thawtePrimaryRootCA = 1029, thawtePrimaryRootCA = 1029, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
VeriSignClass3PublicPrimaryCertificationAuthorityG3 = 1030, VeriSignClass3PublicPrimaryCertificationAuthorityG3 = 1030, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
VeriSignClass3PublicPrimaryCertificationAuthorityG5 = 1031, VeriSignClass3PublicPrimaryCertificationAuthorityG5 = 1031, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
VeriSignUniversalRootCertificationAuthority = 1032, VeriSignUniversalRootCertificationAuthority = 1032, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
DSTRootCAX3 = 1033, DSTRootCAX3 = 1033, // [6.0.0+]
USERTrustRsaCertificationAuthority = 1034, USERTrustRsaCertificationAuthority = 1034, // [10.0.3+]
ISRGRootX10 = 1035, ISRGRootX10 = 1035, // [10.1.0+]
USERTrustEccCertificationAuthority = 1036, USERTrustEccCertificationAuthority = 1036, // [10.1.0+]
COMODORsaCertificationAuthority = 1037, COMODORsaCertificationAuthority = 1037, // [10.1.0+]
COMODOEccCertificationAuthority = 1038, COMODOEccCertificationAuthority = 1038, // [10.1.0+]
AmazonRootCA2 = 1039, AmazonRootCA2 = 1039, // [11.0.0+]
AmazonRootCA3 = 1040, AmazonRootCA3 = 1040, // [11.0.0+]
AmazonRootCA4 = 1041, AmazonRootCA4 = 1041, // [11.0.0+]
DigiCertAssuredIDRootG3 = 1042, DigiCertAssuredIDRootG3 = 1042, // [11.0.0+]
DigiCertGlobalRootG3 = 1043, DigiCertGlobalRootG3 = 1043, // [11.0.0+]
DigiCertTrustedRootG4 = 1044, DigiCertTrustedRootG4 = 1044, // [11.0.0+]
EntrustRootCertificationAuthorityEC1 = 1045, EntrustRootCertificationAuthorityEC1 = 1045, // [11.0.0+]
EntrustRootCertificationAuthorityG4 = 1046, EntrustRootCertificationAuthorityG4 = 1046, // [11.0.0+]
GlobalSignECCRootCAR4 = 1047, GlobalSignECCRootCAR4 = 1047, // [11.0.0+]
GlobalSignECCRootCAR5 = 1048, GlobalSignECCRootCAR5 = 1048, // [11.0.0+]
GlobalSignECCRootCAR6 = 1049, GlobalSignECCRootCAR6 = 1049, // [11.0.0+]
GTSRootR1 = 1050, GTSRootR1 = 1050, // [11.0.0+]
GTSRootR2 = 1051, GTSRootR2 = 1051, // [11.0.0+]
GTSRootR3 = 1052, GTSRootR3 = 1052, // [11.0.0+]
GTSRootR4 = 1053, GTSRootR4 = 1053, // [11.0.0+]
SecurityCommunicationRootCA = 1054, SecurityCommunicationRootCA = 1054, // [12.0.0+]
GlobalSignRootE4 = 1055, GlobalSignRootE4 = 1055, // [15.0.0+]
GlobalSignRootR4 = 1056, GlobalSignRootR4 = 1056, // [15.0.0+]
TTeleSecGlobalRootClass2 = 1057, TTeleSecGlobalRootClass2 = 1057, // [15.0.0+]
DigiCertTLSECCP384RootG5 = 1058, DigiCertTLSECCP384RootG5 = 1058, // [16.0.0+]
DigiCertTLSRSA4096RootG5 = 1059, DigiCertTLSRSA4096RootG5 = 1059, // [16.0.0+]
NintendoTempRootCAG4 = 65536, // [16.0.0+] ([19.0.0+] Removed)
// Nintendo round-robin certificates [20.0.0+]
NintendoRR01 = 32801,
NintendoRR02 = 32802,
NintendoRR03 = 32803,
NintendoRR04 = 32804,
NintendoRR05 = 32805,
NintendoRR06 = 32806,
NintendoRR07 = 32807,
NintendoRR08 = 32808,
NintendoRR09 = 32809,
NintendoRR10 = 32810,
NintendoRR11 = 32811,
NintendoRR12 = 32812,
NintendoRR13 = 32813,
NintendoRR14 = 32814,
NintendoRR15 = 32815,
NintendoRR16 = 32816,
NintendoRR17 = 32817,
NintendoRR18 = 32818,
NintendoRR19 = 32819,
NintendoRR20 = 32820,
NintendoRR21 = 32821,
NintendoRR22 = 32822,
NintendoRR23 = 32823,
NintendoRR24 = 32824,
NintendoRR25 = 32825,
NintendoRR26 = 32826,
NintendoRR27 = 32827,
NintendoRR28 = 32828,
NintendoRR29 = 32829,
NintendoRR30 = 32830,
NintendoRR31 = 32831,
NintendoRR32 = 32832,
NintendoRR33 = 32833,
NintendoRR34 = 32834,
NintendoRR35 = 32835,
NintendoRR36 = 32836,
NintendoRR37 = 32837,
NintendoRR38 = 32838,
NintendoRR39 = 32839,
NintendoRR40 = 32840,
NintendoRR41 = 32841,
NintendoRR42 = 32842,
NintendoRR43 = 32843,
NintendoRR44 = 32844,
NintendoRR45 = 32845,
NintendoRR46 = 32846,
NintendoRR47 = 32847,
NintendoRR48 = 32848,
NintendoRR49 = 32849,
NintendoRR50 = 32850,
NintendoRR51 = 32851,
NintendoRR52 = 32852,
NintendoRR53 = 32853,
NintendoRR54 = 32854,
NintendoRR55 = 32855,
NintendoRR56 = 32856,
NintendoRR57 = 32857,
NintendoRR58 = 32858,
NintendoRR59 = 32859,
NintendoRR60 = 32860,
NintendoRR61 = 32861,
NintendoRR62 = 32862,
NintendoRR63 = 32863,
NintendoRR64 = 32864,
}; };
enum class TrustedCertStatus : s32 { enum class TrustedCertStatus : s32 {
@ -104,4 +171,4 @@ struct CertStoreEntry {
}; };
static_assert(sizeof(CertStoreEntry) == 0x10, "CertStoreEntry has incorrect size."); static_assert(sizeof(CertStoreEntry) == 0x10, "CertStoreEntry has incorrect size.");
} // namespace Service::SSL } // namespace Service::SSL