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"},
{161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"},
{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
@ -194,6 +196,12 @@ public:
{161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"},
{170, nullptr, "CreateDeviceHistoryRequest"}, // 17.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"},
{201, nullptr, "RegisterAsync"},
{202, nullptr, "UnregisterAsync"},
@ -301,6 +309,11 @@ public:
{101, nullptr, "IsNetworkServiceAccountReplaced"},
{199, nullptr, "GetUrlForIntroductionOfExtraMembership"}, // 2.0.0 - 5.1.0
{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
@ -755,7 +768,8 @@ public:
{210, nullptr, "IsProfileAvailable"}, // 17.0.0+
{220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 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

View file

@ -53,15 +53,26 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
{212, nullptr, "ResumeProcedureToRegisterUserWithNintendoAccount"},
{230, nullptr, "AuthenticateServiceAsync"},
{250, nullptr, "GetBaasAccountAdministrator"},
{251, nullptr, "SynchronizeNetworkServiceAccountsSnapshotAsync"}, // 20.0.0+
{290, nullptr, "ProxyProcedureForGuestLoginWithNintendoAccount"},
{291, nullptr, "ProxyProcedureForFloatingRegistrationWithNintendoAccount"},
{292, nullptr, "ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser"}, // 20.0.0+
{293, nullptr, "ProxyProcedureForDeviceMigrationDownload"}, // 20.0.0+
{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+
{401, nullptr, "GetPinCodeLength"}, // 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+
{411, nullptr, "ResetPinCodeErrorCount"}, // 18.0.0+
{412, nullptr, "IncrementPinCodeErrorCount"}, // 18.0.0+
{413, nullptr, "SetPinCodeErrorCount"}, // 20.0.0+
{900, nullptr, "SetUserUnqualifiedForDebug"},
{901, nullptr, "UnsetUserUnqualifiedForDebug"},
{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;
} // 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"},
{401, nullptr, "GetPinCodeLength"}, // 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"},
{998, nullptr, "DebugSetUserStateClose"},
{999, nullptr, "DebugSetUserStateOpen"},

View file

@ -38,7 +38,7 @@ ICommonStateGetter::ICommonStateGetter(Core::System& system_, std::shared_ptr<Ap
{30, nullptr, "GetHomeButtonReaderLockAccessor"},
{31, D<&ICommonStateGetter::GetReaderLockAccessorEx>, "GetReaderLockAccessorEx"},
{32, D<&ICommonStateGetter::GetWriterLockAccessorEx>, "GetWriterLockAccessorEx"},
{40, nullptr, "GetCradleFwVersion"},
{40, D<&ICommonStateGetter::GetCradleFwVersion>, "GetCradleFwVersion"},
{50, D<&ICommonStateGetter::IsVrModeEnabled>, "IsVrModeEnabled"},
{51, D<&ICommonStateGetter::SetVrModeEnabled>, "SetVrModeEnabled"},
{52, D<&ICommonStateGetter::SetLcdBacklighOffEnabled>, "SetLcdBacklighOffEnabled"},
@ -172,6 +172,17 @@ Result ICommonStateGetter::GetBootMode(Out<PM::SystemBootMode> out_boot_mode) {
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) {
LOG_DEBUG(Service_AM, "called");

View file

@ -39,6 +39,7 @@ private:
Result GetHdcpAuthenticationStateChangeEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result GetOperationMode(Out<OperationMode> out_operation_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 IsVrModeEnabled(Out<bool> out_is_vr_mode_enabled);
Result SetVrModeEnabled(bool is_vr_mode_enabled);

View file

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

View file

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

View file

@ -50,16 +50,19 @@ public:
{20102, nullptr, "GetFriendDetailedInfo"},
{20103, nullptr, "SyncFriendList"},
{20104, &IFriendService::RequestSyncFriendList, "RequestSyncFriendList"},
{20107, nullptr, "GetFriendDetailedInfoV2"}, // 20.0.0+
{20110, nullptr, "LoadFriendSetting"},
{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"},
{20301, nullptr, "GetNintendoNetworkIdInfo"},
{20302, nullptr, "GetSnsAccountLinkage"},
{20303, nullptr, "GetSnsAccountProfile"},
{20304, nullptr, "GetSnsAccountFriendList"},
{20400, nullptr, "GetBlockedUserList"},
{20400, nullptr, "GetBlockedUserListV1"}, // 20.0.0+ (1.0.0-19.0.1 GetBlockedUserList)
{20401, nullptr, "SyncBlockedUserList"},
{20402, nullptr, "GetBlockedUserListV2"}, // 20.0.0+
{20500, nullptr, "GetProfileExtraList"},
{20501, nullptr, "GetRelationship"},
{20600, &IFriendService::GetUserPresenceView, "GetUserPresenceView"},
@ -78,7 +81,7 @@ public:
{30120, nullptr, "ChangeFriendFavoriteFlag"},
{30121, nullptr, "ChangeFriendOnlineNotificationFlag"},
{30200, nullptr, "SendFriendRequest"},
{30201, nullptr, "SendFriendRequestWithApplicationInfo"},
{30201, nullptr, "SendFriendRequestWithApplicationInfoV1"}, // 20.0.0+ (1.0.0-19.0.1 SendFriendRequestWithApplicationInfo)
{30202, nullptr, "CancelFriendRequest"},
{30203, nullptr, "AcceptFriendRequest"},
{30204, nullptr, "RejectFriendRequest"},
@ -91,11 +94,13 @@ public:
{30215, nullptr, "SendFriendRequestWithExternalApplicationCatalogId"},
{30216, nullptr, "ResendFacedFriendRequest"},
{30217, nullptr, "SendFriendRequestWithNintendoNetworkIdInfo"},
{30218, nullptr, "SendFriendRequestWithApplicationInfoV2"}, // 20.0.0+
{30300, nullptr, "GetSnsAccountLinkPageUrl"},
{30301, nullptr, "UnlinkSnsAccount"},
{30400, nullptr, "BlockUser"},
{30401, nullptr, "BlockUserWithApplicationInfo"},
{30401, nullptr, "BlockUserWithApplicationInfoV1"}, // 20.0.0+ (1.0.0-19.0.1 BlockUserWithApplicationInfo)
{30402, nullptr, "UnblockUser"},
{30403, nullptr, "BlockUserWithApplicationInfoV2"}, // 20.0.0+
{30500, nullptr, "GetProfileExtraFromFriendCode"},
{30700, nullptr, "DeletePlayHistory"},
{30810, nullptr, "ChangePresencePermission"},
@ -473,4 +478,4 @@ void LoopProcess(Core::System& system) {
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"},
{210, nullptr, "IsFirmwareUpdatingDevice"},
{211, nullptr, "StartFirmwareUpdateIndividual"},
{212, nullptr, "GetDetailFirmwareVersion"}, // 19.0.0+
{213, nullptr, "GetFirmwareVersionStringForDevMenu"}, // 20.0.0+
{215, nullptr, "SetUsbFirmwareForceUpdateEnabled"},
{216, nullptr, "SetAllKuinaDevicesToFirmwareUpdateMode"},
{221, nullptr, "UpdateControllerColor"},
@ -119,6 +121,7 @@ IHidDebugServer::IHidDebugServer(Core::System& system_, std::shared_ptr<Resource
{249, nullptr, "ConnectUniquePad"},
{250, nullptr, "IsVirtual"},
{251, nullptr, "GetAnalogStickModuleParam"},
{253, nullptr, "ClearStorageForShipment"}, //19.0.0+
{301, nullptr, "GetAbstractedPadHandles"},
{302, nullptr, "GetAbstractedPadState"},
{303, nullptr, "GetAbstractedPadsState"},

View file

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

View file

@ -258,7 +258,7 @@ private:
ClientAppletResourceUserId aruid);
Result IsFirmwareUpdateNeededForNotification(Out<bool> out_is_firmware_update_needed,
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<HidFirmwareSettings> firmware_settings;

View file

@ -67,6 +67,8 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{328, nullptr, "AttachAbstractedPadToNpad"},
{329, nullptr, "DetachAbstractedPadAll"},
{330, nullptr, "CheckAbstractedPadConnection"},
{333, nullptr, "SetNpadUserSpgApplet"}, // 20.0.0+
{334, nullptr, "AcquireUniquePadButtonStateChangedEventHandle"}, // 20.0.0+
{500, nullptr, "SetAppletResourceUserId"},
{501, &IHidSystemServer::RegisterAppletResourceUserId, "RegisterAppletResourceUserId"},
{502, &IHidSystemServer::UnregisterAppletResourceUserId, "UnregisterAppletResourceUserId"},
@ -96,9 +98,12 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{547, nullptr, "GetAllowedBluetoothLinksCount"},
{548, &IHidSystemServer::GetRegisteredDevices, "GetRegisteredDevices"},
{549, nullptr, "GetConnectableRegisteredDevices"},
{551, nullptr, "GetRegisteredDevicesForControllerSupport"}, // 20.0.0+
{700, nullptr, "ActivateUniquePad"},
{702, &IHidSystemServer::AcquireUniquePadConnectionEventHandle, "AcquireUniquePadConnectionEventHandle"},
{703, &IHidSystemServer::GetUniquePadIds, "GetUniquePadIds"},
{711, nullptr, "AcquireUniquePadConnectionOnHandheldForNsEventHandle"}, // 20.0.0+
{712, nullptr, "GetUniquePadColor12"}, // 20.0.0+
{751, &IHidSystemServer::AcquireJoyDetachOnBluetoothOffEventHandle, "AcquireJoyDetachOnBluetoothOffEventHandle"},
{800, nullptr, "ListSixAxisSensorHandles"},
{801, nullptr, "IsSixAxisSensorUserCalibrationSupported"},
@ -143,6 +148,7 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{1009, nullptr, "AcquireAudioControlEventHandle"},
{1010, nullptr, "GetAudioControlStates"},
{1011, nullptr, "DeactivateAudioControl"},
{1012, nullptr, "GetFirmwareVersionStringForUserSupportPage"}, // 20.0.0+
{1050, nullptr, "IsSixAxisSensorAccurateUserCalibrationSupported"},
{1051, nullptr, "StartSixAxisSensorAccurateUserCalibration"},
{1052, nullptr, "CancelSixAxisSensorAccurateUserCalibration"},
@ -221,6 +227,12 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{1289, nullptr, "SetButtonConfigStorageFull"},
{1290, 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

View file

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

View file

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

View file

@ -692,9 +692,15 @@ IGeneralService::IGeneralService(Core::System& system_)
{45, nullptr, "IsNetworkEmulationFeatureEnabled"}, // 18.0.0+
{46, nullptr, "SelectActiveNetworkEmulationProfileIdForDebug"}, // 18.0.0+
{47, nullptr, "GetActiveNetworkEmulationProfileId"}, // 18.0.0+
{48, nullptr, "ResetActiveNetworkEmulationProfileId"}, // 20.0.0+
{50, nullptr, "IsRewriteFeatureEnabled"}, // 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

View file

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

View file

@ -35,6 +35,8 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1016, nullptr, "ConfirmShowNewsPermission"},
{1017, D<&IParentalControlService::EndFreeCommunication>, "EndFreeCommunication"},
{1018, D<&IParentalControlService::IsFreeCommunicationAvailable>, "IsFreeCommunicationAvailable"},
{1019, nullptr, "ConfirmLaunchApplicationPermission"}, // 20.0.0+
{1020, nullptr, "ConfirmLaunchSharedApplicationPermission"}, // 20.0.0+
{1031, D<&IParentalControlService::IsRestrictionEnabled>, "IsRestrictionEnabled"},
{1032, D<&IParentalControlService::GetSafetyLevel>, "GetSafetyLevel"},
{1033, nullptr, "SetSafetyLevel"},
@ -49,9 +51,11 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1044, nullptr, "GetFreeCommunicationApplicationList"},
{1045, nullptr, "UpdateFreeCommunicationApplicationList"},
{1046, nullptr, "DisableFeaturesForReset"},
{1047, nullptr, "NotifyApplicationDownloadStarted"},
{1047, nullptr, "NotifyApplicationDownloadStartedOld"}, // 20.0.0+ (3.0.0-19.0.1 NotifyApplicationDownloadStarted)
{1048, nullptr, "NotifyNetworkProfileCreated"},
{1049, nullptr, "ResetFreeCommunicationApplicationList"},
{1050, nullptr, "AddToFreeCommunicationApplicationList"}, // 20.0.0+
{1051, nullptr, "NotifyApplicationDownloadStarted"}, // 20.0.0+
{1061, D<&IParentalControlService::ConfirmStereoVisionRestrictionConfigurable>, "ConfirmStereoVisionRestrictionConfigurable"},
{1062, D<&IParentalControlService::GetStereoVisionRestriction>, "GetStereoVisionRestriction"},
{1063, D<&IParentalControlService::SetStereoVisionRestriction>, "SetStereoVisionRestriction"},
@ -82,11 +86,13 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1456, D<&IParentalControlService::GetPlayTimerSettingsOld>, "GetPlayTimerSettingsOld"},
{1457, D<&IParentalControlService::GetPlayTimerEventToRequestSuspension>, "GetPlayTimerEventToRequestSuspension"},
{1458, D<&IParentalControlService::IsPlayTimerAlarmDisabled>, "IsPlayTimerAlarmDisabled"},
{1459, nullptr, "GetPlayTimerRemainingTimeDisplayInfo"}, // 20.0.0+
{1471, nullptr, "NotifyWrongPinCodeInputManyTimes"},
{1472, nullptr, "CancelNetworkRequest"},
{1473, D<&IParentalControlService::GetUnlinkedEvent>, "GetUnlinkedEvent"},
{1474, nullptr, "ClearUnlinkedEvent"},
{1475, nullptr, "GetExtendedPlayTimerEvent"}, // 18.0.0+
{1501, nullptr, "SetTimerEventEnabled"}, // 20.0.0+
{1601, nullptr, "DisableAllFeatures"},
{1602, nullptr, "PostEnableAllFeatures"},
{1603, nullptr, "IsAllFeaturesDisabled"},
@ -106,6 +112,9 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1955, nullptr, "GetBedtimeAlarmTime"}, // 18.0.0+
{1956, nullptr, "GetBedtimeAlarmTimeHour"}, // 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"},
{2002, nullptr, "FinishRequestPairing"},
{2003, nullptr, "AuthorizePairingAsync"},
@ -122,6 +131,15 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{2014, nullptr, "FinishSynchronizeParentalControlSettings"},
{2015, nullptr, "FinishSynchronizeParentalControlSettingsWithLastUpdated"},
{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+
};
// clang-format on
@ -444,4 +462,4 @@ Result IParentalControlService::ResetConfirmedStereoVisionPermission() {
R_SUCCEED();
}
} // namespace Service::PCTL
} // namespace Service::PCTL

View file

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

View file

@ -300,6 +300,18 @@ ISystemSettingsServer::ISystemSettingsServer(Core::System& system_)
{208, nullptr, "SetHearingProtectionSafeguardFlag"},
{209, nullptr, "GetHearingProtectionSafeguardRemainingTime"},
{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

View file

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

View file

@ -11,7 +11,7 @@ enum class CaCertificateId : s32 {
All = -1,
NintendoCAG3 = 1,
NintendoClass2CAG3 = 2,
NintendoRootCAG4 = 3,
NintendoRootCAG4 = 3, // [16.0.0+]
AmazonRootCA1 = 1000,
StarfieldServicesRootCertificateAuthorityG2 = 1001,
AddTrustExternalCARoot = 1002,
@ -29,10 +29,10 @@ enum class CaCertificateId : s32 {
EntrustnetCertificationAuthority2048 = 1014,
EntrustRootCertificationAuthority = 1015,
EntrustRootCertificationAuthorityG2 = 1016,
GeoTrustGlobalCA2 = 1017,
GeoTrustGlobalCA = 1018,
GeoTrustPrimaryCertificationAuthorityG3 = 1019,
GeoTrustPrimaryCertificationAuthority = 1020,
GeoTrustGlobalCA2 = 1017, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GeoTrustGlobalCA = 1018, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GeoTrustPrimaryCertificationAuthorityG3 = 1019, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GeoTrustPrimaryCertificationAuthority = 1020, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GlobalSignRootCA = 1021,
GlobalSignRootCAR2 = 1022,
GlobalSignRootCAR3 = 1023,
@ -40,38 +40,105 @@ enum class CaCertificateId : s32 {
GoDaddyRootCertificateAuthorityG2 = 1025,
StarfieldClass2CertificationAuthority = 1026,
StarfieldRootCertificateAuthorityG2 = 1027,
thawtePrimaryRootCAG3 = 1028,
thawtePrimaryRootCA = 1029,
VeriSignClass3PublicPrimaryCertificationAuthorityG3 = 1030,
VeriSignClass3PublicPrimaryCertificationAuthorityG5 = 1031,
VeriSignUniversalRootCertificationAuthority = 1032,
DSTRootCAX3 = 1033,
USERTrustRsaCertificationAuthority = 1034,
ISRGRootX10 = 1035,
USERTrustEccCertificationAuthority = 1036,
COMODORsaCertificationAuthority = 1037,
COMODOEccCertificationAuthority = 1038,
AmazonRootCA2 = 1039,
AmazonRootCA3 = 1040,
AmazonRootCA4 = 1041,
DigiCertAssuredIDRootG3 = 1042,
DigiCertGlobalRootG3 = 1043,
DigiCertTrustedRootG4 = 1044,
EntrustRootCertificationAuthorityEC1 = 1045,
EntrustRootCertificationAuthorityG4 = 1046,
GlobalSignECCRootCAR4 = 1047,
GlobalSignECCRootCAR5 = 1048,
GlobalSignECCRootCAR6 = 1049,
GTSRootR1 = 1050,
GTSRootR2 = 1051,
GTSRootR3 = 1052,
GTSRootR4 = 1053,
SecurityCommunicationRootCA = 1054,
GlobalSignRootE4 = 1055,
GlobalSignRootR4 = 1056,
TTeleSecGlobalRootClass2 = 1057,
DigiCertTLSECCP384RootG5 = 1058,
DigiCertTLSRSA4096RootG5 = 1059,
thawtePrimaryRootCAG3 = 1028, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
thawtePrimaryRootCA = 1029, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
VeriSignClass3PublicPrimaryCertificationAuthorityG3 = 1030, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
VeriSignClass3PublicPrimaryCertificationAuthorityG5 = 1031, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
VeriSignUniversalRootCertificationAuthority = 1032, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
DSTRootCAX3 = 1033, // [6.0.0+]
USERTrustRsaCertificationAuthority = 1034, // [10.0.3+]
ISRGRootX10 = 1035, // [10.1.0+]
USERTrustEccCertificationAuthority = 1036, // [10.1.0+]
COMODORsaCertificationAuthority = 1037, // [10.1.0+]
COMODOEccCertificationAuthority = 1038, // [10.1.0+]
AmazonRootCA2 = 1039, // [11.0.0+]
AmazonRootCA3 = 1040, // [11.0.0+]
AmazonRootCA4 = 1041, // [11.0.0+]
DigiCertAssuredIDRootG3 = 1042, // [11.0.0+]
DigiCertGlobalRootG3 = 1043, // [11.0.0+]
DigiCertTrustedRootG4 = 1044, // [11.0.0+]
EntrustRootCertificationAuthorityEC1 = 1045, // [11.0.0+]
EntrustRootCertificationAuthorityG4 = 1046, // [11.0.0+]
GlobalSignECCRootCAR4 = 1047, // [11.0.0+]
GlobalSignECCRootCAR5 = 1048, // [11.0.0+]
GlobalSignECCRootCAR6 = 1049, // [11.0.0+]
GTSRootR1 = 1050, // [11.0.0+]
GTSRootR2 = 1051, // [11.0.0+]
GTSRootR3 = 1052, // [11.0.0+]
GTSRootR4 = 1053, // [11.0.0+]
SecurityCommunicationRootCA = 1054, // [12.0.0+]
GlobalSignRootE4 = 1055, // [15.0.0+]
GlobalSignRootR4 = 1056, // [15.0.0+]
TTeleSecGlobalRootClass2 = 1057, // [15.0.0+]
DigiCertTLSECCP384RootG5 = 1058, // [16.0.0+]
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 {
@ -104,4 +171,4 @@ struct CertStoreEntry {
};
static_assert(sizeof(CertStoreEntry) == 0x10, "CertStoreEntry has incorrect size.");
} // namespace Service::SSL
} // namespace Service::SSL