rewrote according to the switchbrew

This commit is contained in:
Pavel Barabanov 2025-06-17 02:05:22 +03:00 committed by crueter
parent 233b6801aa
commit 46d11eaeaf
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
35 changed files with 613 additions and 230 deletions

View file

@ -349,9 +349,9 @@ public:
{1, &IProfileCommon::GetBase, "GetBase"},
{10, &IProfileCommon::GetImageSize, "GetImageSize"},
{11, &IProfileCommon::LoadImage, "LoadImage"},
{20, &IProfileCommon::Unknown20, "Unknown20"},
{21, &IProfileCommon::Unknown21, "Unknown21"},
{30, &IProfileCommon::Unknown30, "Unknown30"}
{20, &IProfileCommon::GetLargeImageSize, "GetLargeImageSize"},
{21, &IProfileCommon::LoadLargeImage, "LoadLargeImage"},
{30, &IProfileCommon::GetImageId, "GetImageId"}
};
// clang-format on
RegisterHandlers(functions);
@ -361,7 +361,7 @@ public:
static const FunctionInfo editor_functions[] = {
{100, &IProfileCommon::Store, "Store"},
{101, &IProfileCommon::StoreWithImage, "StoreWithImage"},
{110, &IProfileCommon::Unknown110, "Unknown110"}
{110, &IProfileCommon::StoreWithLargeImage, "StoreWithLargeImage"}
};
// clang-format on
@ -370,7 +370,7 @@ public:
}
protected:
void Unknown20(HLERequestContext& ctx) {
void GetLargeImageSize(HLERequestContext& ctx) {
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
// TODO (jarrodnorwell)
@ -380,7 +380,7 @@ protected:
rb.Push(ResultSuccess);
}
void Unknown21(HLERequestContext& ctx) {
void LoadLargeImage(HLERequestContext& ctx) {
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
// TODO (jarrodnorwell)
@ -390,7 +390,7 @@ protected:
rb.Push(ResultSuccess);
}
void Unknown30(HLERequestContext& ctx) {
void GetImageId(HLERequestContext& ctx) {
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
// TODO (jarrodnorwell)
@ -400,7 +400,7 @@ protected:
rb.Push(ResultSuccess);
}
void Unknown110(HLERequestContext& ctx) {
void StoreWithLargeImage(HLERequestContext& ctx) {
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
// TODO (jarrodnorwell)
@ -773,7 +773,6 @@ public:
{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

View file

@ -19,6 +19,7 @@ ACC_U0::ACC_U0(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
{6, nullptr, "GetProfileDigest"}, // 3.0.0+
{50, &ACC_U0::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
{51, &ACC_U0::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"},
{52, nullptr, "TrySelectUserWithoutInteraction"}, // 19.0.0+
{60, &ACC_U0::ListOpenContextStoredUsers, "ListOpenContextStoredUsers"}, // 5.0.0 - 5.1.0
{99, nullptr, "DebugActivateOpenContextRetention"}, // 6.0.0+
{100, &ACC_U0::InitializeApplicationInfo, "InitializeApplicationInfo"},

View file

@ -18,7 +18,7 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
// clang-format off
static const FunctionInfo functions[] = {
{100, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxy>, "OpenSystemAppletProxy"},
{110, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxyForDebug>, "OpenSystemAppletProxyForDebug"},
{110, D<&IAllSystemAppletProxiesService::Unknown110>, "Unknown110"},
{200, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxyOld>, "OpenLibraryAppletProxyOld"},
{201, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxy>, "OpenLibraryAppletProxy"},
{300, nullptr, "OpenOverlayAppletProxy"},
@ -51,9 +51,9 @@ Result IAllSystemAppletProxiesService::OpenSystemAppletProxy(
}
}
Result IAllSystemAppletProxiesService::OpenSystemAppletProxyForDebug(
Result IAllSystemAppletProxiesService::Unknown110(
Out<SharedPointer<ISystemAppletProxy>> out_proxy, ClientProcessId pid) {
LOG_DEBUG(Service_AM, "OpenSystemAppletProxyForDebug called");
LOG_DEBUG(Service_AM, "called");
auto process = system.ApplicationProcess();
if (!process) {

View file

@ -28,7 +28,7 @@ private:
Result OpenSystemAppletProxy(Out<SharedPointer<ISystemAppletProxy>> out_system_applet_proxy,
ClientProcessId pid,
InCopyHandle<Kernel::KProcess> process_handle);
Result OpenSystemAppletProxyForDebug(Out<SharedPointer<ISystemAppletProxy>> out_proxy, ClientProcessId pid);
Result Unknown110(Out<SharedPointer<ISystemAppletProxy>> out_proxy, ClientProcessId pid);
Result OpenLibraryAppletProxy(Out<SharedPointer<ILibraryAppletProxy>> out_library_applet_proxy,
ClientProcessId pid,
InCopyHandle<Kernel::KProcess> process_handle,

View file

@ -31,18 +31,20 @@ IAppletCommonFunctions::IAppletCommonFunctions(Core::System& system_,
{90, nullptr, "OpenNamedChannelAsParent"},
{91, nullptr, "OpenNamedChannelAsChild"},
{100, nullptr, "SetApplicationCoreUsageMode"},
{160, nullptr, "GetNotificationReceiverService"}, // 18.0.0+
{161, nullptr, "GetNotificationSenderService"}, // 18.0.0+
{300, D<&IAppletCommonFunctions::GetCurrentApplicationId>, "GetCurrentApplicationId"},
{310, nullptr, "IsSystemAppletHomeMenu"}, //19.0.0+
{311, nullptr, "Unknown311"},
{320, nullptr, "SetGpuTimeSliceBoost"}, //19.0.0+
{321, nullptr, "SetGpuTimeSliceBoostDueToApplication"}, //19.0.0+
{322, nullptr, "Unknown322"},
{330, nullptr, "Unknown330"}, //19.0.0+
{340, nullptr, "Unknown340"},
{341, nullptr, "Unknown341"},
{342, nullptr, "Unknown342"},
{350, D<&IAppletCommonFunctions::Unknown350>, "Unknown350"},
{360, nullptr, "Unknown360"},
{310, nullptr, "IsSystemAppletHomeMenu"}, // 19.0.0+
{311, nullptr, "Unknown311"}, // 20.0.0+
{320, nullptr, "SetGpuTimeSliceBoost"}, // 19.0.0+
{321, nullptr, "SetGpuTimeSliceBoostDueToApplication"}, // 19.0.0+
{322, nullptr, "Unknown322"}, // 20.0.0+
{330, nullptr, "Unknown330"}, // 19.0.0+
{340, nullptr, "Unknown340"}, // 20.0.0+
{341, nullptr, "Unknown341"}, // 20.0.0+
{342, nullptr, "Unknown342"}, // 20.0.0+
{350, D<&IAppletCommonFunctions::Unknown350>, "Unknown350"}, // 20.0.0+
{360, nullptr, "Unknown360"} // 20.0.0+
};
// clang-format on

View file

@ -47,8 +47,8 @@ IApplicationAccessor::IApplicationAccessor(Core::System& system_, std::shared_pt
{190, nullptr, "PushToNotificationStorageChannel"},
{200, nullptr, "RequestApplicationSoftReset"},
{201, nullptr, "RestartApplicationTimer"},
{300, nullptr, "Unknown300"},
{301, nullptr, "Unknown301"},
{300, nullptr, "Unknown300"}, // 20.0.0+
{301, nullptr, "Unknown301"} // 20.0.0+
};
// clang-format on

View file

@ -20,7 +20,7 @@ IAudioController::IAudioController(Core::System& system_)
{3, D<&IAudioController::GetTargetVolumeMax>, "GetTargetVolumeMax"},
{4, nullptr, "IsTargetMute"},
{5, nullptr, "SetTargetMute"},
{6, nullptr, "IsTargetConnected"},
{6, nullptr, "IsTargetConnected"}, // [20.0.0+] ([1.0.0-17.0.1] IsTargetConnected)
{7, nullptr, "SetDefaultTarget"},
{8, nullptr, "GetDefaultTarget"},
{9, D<&IAudioController::GetAudioOutputMode>, "GetAudioOutputMode"},
@ -37,9 +37,9 @@ IAudioController::IAudioController(Core::System& system_)
{20, nullptr, "AcquireAudioOutputDeviceUpdateEventForPlayReport"},
{21, nullptr, "GetAudioOutputTargetForPlayReport"},
{22, D<&IAudioController::NotifyHeadphoneVolumeWarningDisplayedEvent>, "NotifyHeadphoneVolumeWarningDisplayedEvent"},
{23, nullptr, "SetSystemOutputMasterVolume"},
{23, nullptr, "SetSystemOutputMasterVolume"}, // [20.0.0+] Originally any input was accepted, now input must be in range 0.0-1.0 otherwise it's replaced by nearest accepted value.
{24, nullptr, "GetSystemOutputMasterVolume"},
{25, nullptr, "GetAudioVolumeDataForPlayReport"},
{25, nullptr, "GetAudioVolumeDataForPlayReport"}, // [20.0.0+] Now takes a 0x400-bytes type-0x16 output buffer and no longer returns any output.
{26, nullptr, "UpdateHeadphoneSettings"},
{27, nullptr, "SetVolumeMappingTableForDev"},
{28, nullptr, "GetAudioOutputChannelCountForPlayReport"},
@ -54,10 +54,10 @@ IAudioController::IAudioController(Core::System& system_)
{37, nullptr, "SetHearingProtectionSafeguardEnabled"},
{38, nullptr, "IsHearingProtectionSafeguardEnabled"},
{39, nullptr, "IsHearingProtectionSafeguardMonitoringOutputForDebug"},
{40, nullptr, "GetSystemInformationForDebug"},
{40, nullptr, "GetSystemInformationForDebug"}, // [20.0.0+] Now takes a total of 0x40-bytes of input and the type-0x16 output buffer is now 0x2000-bytes instead of 0x1000-bytes.
{41, nullptr, "SetVolumeButtonLongPressTime"},
{42, nullptr, "SetNativeVolumeForDebug"},
{5000, D<&IAudioController::Unknown5000>, "Unknown5000"},
{5000, D<&IAudioController::Unknown5000>, "Unknown5000"}, // 19.0.0+
{10000, nullptr, "NotifyAudioOutputTargetForPlayReport"},
{10001, nullptr, "NotifyAudioOutputChannelCountForPlayReport"},
{10002, nullptr, "NotifyUnsupportedUsbOutputDeviceAttachedForPlayReport"},
@ -68,6 +68,7 @@ IAudioController::IAudioController(Core::System& system_)
{10104, nullptr, "GetAudioOutputChannelCountForPlayReport"},
{10105, nullptr, "BindAudioOutputChannelCountUpdateEventForPlayReport"},
{10106, nullptr, "GetDefaultAudioOutputTargetForPlayReport"},
{10200, nullptr, "Unknown10200"}, // 20.0.0+
{50000, nullptr, "SetAnalogInputBoostGainForPrototyping"},
{50001, nullptr, "OverrideDefaultTargetForDebug"},
{50003, nullptr, "SetForceOverrideExternalDeviceNameForDebug"},

View file

@ -33,15 +33,32 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_,
{15, nullptr, "GetAlbumUsage3"},
{16, nullptr, "GetAlbumMountResult"},
{17, nullptr, "GetAlbumUsage16"},
{18, C<&IAlbumAccessorService::Unknown18>, "Unknown18"},
{19, nullptr, "Unknown19"},
{18, C<&IAlbumAccessorService::GetAppletProgramIdTable>, "GetAppletProgramIdTable"},
{19, nullptr, "GetAlbumFileName"},
{20, nullptr, "Unknown20"}, // 20.0.0+
{100, nullptr, "GetAlbumFileCountEx0"},
{101, C<&IAlbumAccessorService::GetAlbumFileListEx0>, "GetAlbumFileListEx0"},
{110, nullptr, "GetAlbumFileListEx1"}, // 15.0.0+
{120, nullptr, "GetAlbumFileListEx2"}, // 17.0.0+
{121, nullptr, "Unknown121"}, // 20.0.0+
{122, nullptr, "Unknown122"}, // 20.0.0+
{123, nullptr, "Unknown123"}, // 20.0.0+
{130, nullptr, "LoadAlbumFileRawData"}, // 17.0.0+
{140, nullptr, "GetAlbumFileCreatedEvent"}, // 17.0.0+
{141, nullptr, "Unknown141"}, // 18.0.0+
{150, nullptr, "LoadAlbumSystemReservedInfo"}, // 17.0.0+
{151, nullptr, "Unknown151"}, // 18.0.0+
{160, nullptr, "Unknown160"}, // 18.0.0+
{170, nullptr, "Unknown170"}, // 20.0.0+
{171, nullptr, "Unknown171"}, // 20.0.0+
{172, nullptr, "Unknown172"}, // 20.0.0+
{202, nullptr, "SaveEditedScreenShot"},
{301, nullptr, "GetLastThumbnail"},
{302, nullptr, "GetLastOverlayMovieThumbnail"},
{401, C<&IAlbumAccessorService::GetAutoSavingStorage>, "GetAutoSavingStorage"},
{501, nullptr, "GetRequiredStorageSpaceSizeToCopyAll"},
{502, nullptr, "Unknown502"}, // 20.0.0+
{600, nullptr, "Unknown600"}, // 20.0.0+
{1001, nullptr, "LoadAlbumScreenShotThumbnailImageEx0"},
{1002, C<&IAlbumAccessorService::LoadAlbumScreenShotImageEx1>, "LoadAlbumScreenShotImageEx1"},
{1003, C<&IAlbumAccessorService::LoadAlbumScreenShotThumbnailImageEx1>, "LoadAlbumScreenShotThumbnailImageEx1"},
@ -51,10 +68,20 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_,
{8012, nullptr, "GetAlbumCache"},
{8013, nullptr, "GetAlbumCacheEx"},
{8021, nullptr, "GetAlbumEntryFromApplicationAlbumEntryAruid"},
{8022, nullptr, "Unknown8022"}, // 19.0.0+
{8031, nullptr, "Unknown8031"}, // 20.0.0+
{8032, nullptr, "Unknown8032"}, // 20.0.0+
{10011, nullptr, "SetInternalErrorConversionEnabled"},
{50000, nullptr, "LoadMakerNoteInfoForDebug"},
{50011, C<&IAlbumAccessorService::GetAlbumAccessResultForDebug>, "GetAlbumAccessResultForDebug"},
{50012, C<&IAlbumAccessorService::SetAlbumAccessResultForDebug>, "SetAlbumAccessResultForDebug"},
{50001, nullptr, "Unknown50001"}, // 19.0.0+
{50011, C<&IAlbumAccessorService::GetAlbumAccessResultForDebug>, "GetAlbumAccessResultForDebug"}, // 19.0.0+
{50012, C<&IAlbumAccessorService::SetAlbumAccessResultForDebug>, "SetAlbumAccessResultForDebug"}, // 19.0.0+
{50021, nullptr, "Unknown50021"}, // 20.0.0+
{50022, nullptr, "Unknown50022"}, // 20.0.0+
{50023, nullptr, "Unknown50023"}, // 20.0.0+
{50024, nullptr, "Unknown50024"}, // 20.0.0+
{50031, nullptr, "Unknown50031"}, // 20.0.0+
{50032, nullptr, "Unknown50032"}, // 20.0.0+
{60002, nullptr, "OpenAccessorSession"},
};
// clang-format on
@ -89,7 +116,7 @@ Result IAlbumAccessorService::IsAlbumMounted(Out<bool> out_is_mounted, AlbumStor
R_RETURN(TranslateResult(result));
}
Result IAlbumAccessorService::Unknown18(
Result IAlbumAccessorService::GetAppletProgramIdTable(
Out<u32> out_buffer_size,
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_buffer) {
LOG_WARNING(Service_Capture, "(STUBBED) called");

View file

@ -28,7 +28,7 @@ private:
Result IsAlbumMounted(Out<bool> out_is_mounted, AlbumStorage storage);
Result Unknown18(
Result GetAppletProgramIdTable(
Out<u32> out_buffer_size,
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure>
out_buffer);

View file

@ -28,12 +28,18 @@ IAlbumControlService::IAlbumControlService(Core::System& system_,
{2012, nullptr, "UnregisterAppletResourceUserId"},
{2013, nullptr, "GetApplicationIdFromAruid"},
{2014, nullptr, "CheckApplicationIdRegistered"},
{2015, nullptr, "Unknown2015"}, // 20.0.0+
{2016, nullptr, "Unknown2016"}, // 20.0.0+
{2101, nullptr, "GenerateCurrentAlbumFileId"},
{2102, nullptr, "GenerateApplicationAlbumEntry"},
{2103, nullptr, "Unknown2103"}, // 19.0.0+
{2104, nullptr, "Unknown2104"}, // 19.0.0+
{2201, nullptr, "SaveAlbumScreenShotFile"},
{2202, nullptr, "SaveAlbumScreenShotFileEx"},
{2301, nullptr, "SetOverlayScreenShotThumbnailData"},
{2302, nullptr, "SetOverlayMovieThumbnailData"},
{2401, nullptr, "Unknown2401"}, // 19.0.0+
{2501, nullptr, "GetAlbumAccessResultForDebug"}, // 19.0.0+
{60001, nullptr, "OpenControlSession"},
};
// clang-format on

View file

@ -9,26 +9,35 @@ IScreenShotControlService::IScreenShotControlService(Core::System& system_)
: ServiceFramework{system_, "caps:sc"} {
// clang-format off
static const FunctionInfo functions[] = {
{1, nullptr, "CaptureRawImage"},
{2, nullptr, "CaptureRawImageWithTimeout"},
{3, nullptr, "AttachSharedBuffer"},
{5, nullptr, "CaptureRawImageToAttachedSharedBuffer"},
{210, nullptr, "Unknown210"},
{1001, nullptr, "RequestTakingScreenShot"},
{1002, nullptr, "RequestTakingScreenShotWithTimeout"},
{1003, nullptr, "RequestTakingScreenShotEx"},
{1004, nullptr, "RequestTakingScreenShotEx1"},
{1009, nullptr, "CancelTakingScreenShot"},
{1010, nullptr, "SetTakingScreenShotCancelState"},
{1, nullptr, "CaptureRawImageRgba32IntoArray"},
{2, nullptr, "CaptureRawImageRgba32IntoArrayWithTimeout"},
{3, nullptr, "AttachSharedBufferToCaptureModule"}, // 5.0.0+
{5, nullptr, "CaptureRawImageToAttachedSharedBuffer"}, // 5.0.0+
{210, nullptr, "SaveScreenShotEx2ViaAm"}, // 6.0.0+
{1001, nullptr, "RequestTakingScreenShot"}, // 2.0.0-4.1.0
{1002, nullptr, "RequestTakingScreenShotWithTimeout"}, // 2.0.0-4.1.0
{1003, nullptr, "RequestTakingScreenShotEx"}, // 3.0.0-4.1.0
{1004, nullptr, "RequestTakingScreenShotEx1"}, // 5.0.0+
{1009, nullptr, "CancelTakingScreenShot"}, // 5.0.0+
{1010, nullptr, "SetTakingScreenShotCancelState"}, // 5.0.0+
{1011, nullptr, "NotifyTakingScreenShotRefused"},
{1012, nullptr, "NotifyTakingScreenShotFailed"},
{1101, nullptr, "SetupOverlayMovieThumbnail"},
{1106, nullptr, "Unknown1106"},
{1107, nullptr, "Unknown1107"},
{1201, nullptr, "OpenRawScreenShotReadStream"},
{1202, nullptr, "CloseRawScreenShotReadStream"},
{1203, nullptr, "ReadRawScreenShotReadStream"},
{1204, nullptr, "Unknown1204"},
{1100, nullptr, "Unknown1100"}, // 18.0.0+
{1101, nullptr, "SetupOverlayMovieThumbnail"}, // 4.0.0+
{1106, nullptr, "CreateProtoMovieMetaDataNv12Ex2"}, // 4.0.0+
{1107, nullptr, "CreateProtoMovieMetaDataRgbaEx2"}, // 4.0.0+
{1108, nullptr, "Unknown1108"}, // 18.0.0+
{1109, nullptr, "Unknown1109"}, // 19.0.0+
{1110, nullptr, "Unknown1110"}, // 19.0.0+
{1111, nullptr, "Unknown1111"}, // 19.0.0+
{1112, nullptr, "Unknown1112"}, // 19.0.0+
{1113, nullptr, "Unknown1113"}, // 19.0.0+
{1114, nullptr, "Unknown1114"}, // 19.0.0+
{1201, nullptr, "OpenRawScreenShotReadStream"}, // 3.0.0+
{1202, nullptr, "CloseRawScreenShotReadStream"}, // 3.0.0+
{1203, nullptr, "ReadRawScreenShotReadStream"}, // 3.0.0+
{1204, nullptr, "CaptureCrashScreenShot"}, // 9.0.0+
{9000, nullptr, "Unknown9000"} // 20.0.0+
};
// clang-format on

View file

@ -19,8 +19,8 @@ IScreenShotService::IScreenShotService(Core::System& system_,
{203, C<&IScreenShotService::SaveScreenShotEx0>, "SaveScreenShotEx0"},
{204, nullptr, "SaveEditedScreenShotEx0"},
{206, C<&IScreenShotService::SaveEditedScreenShotEx1>, "SaveEditedScreenShotEx1"},
{208, nullptr, "SaveScreenShotOfMovieEx1"},
{1000, nullptr, "Unknown1000"},
{1000, nullptr, "RequestTakingScreenShotForApplet"}, // 13.0.0+ [19.0.0+] Now takes an additional 8-bytes of input.
{2000, nullptr, "Unknown2000"} // 20.0.0+
};
// clang-format on

View file

@ -57,50 +57,81 @@ public:
{38, nullptr, "OwnTicket3"},
{39, nullptr, "DeleteAllInactivePersonalizedTicket"},
{40, nullptr, "DeletePrepurchaseRecordByNintendoAccountId"},
{501, nullptr, "Unknown501"},
{502, nullptr, "Unknown502"},
{503, nullptr, "GetTitleKey"},
{504, nullptr, "Unknown504"},
{508, nullptr, "Unknown508"},
{509, nullptr, "Unknown509"},
{510, nullptr, "Unknown510"},
{511, nullptr, "Unknown511"},
{1001, nullptr, "Unknown1001"},
{1002, nullptr, "Unknown1001"},
{1003, nullptr, "Unknown1003"},
{1004, nullptr, "Unknown1004"},
{1005, nullptr, "Unknown1005"},
{1006, nullptr, "Unknown1006"},
{1007, nullptr, "Unknown1007"},
{1009, nullptr, "Unknown1009"},
{1010, nullptr, "Unknown1010"},
{1011, nullptr, "Unknown1011"},
{1012, nullptr, "Unknown1012"},
{1013, nullptr, "Unknown1013"},
{1014, nullptr, "Unknown1014"},
{1015, nullptr, "Unknown1015"},
{1016, nullptr, "Unknown1016"},
{1017, nullptr, "Unknown1017"},
{1018, nullptr, "Unknown1018"},
{1019, nullptr, "Unknown1019"},
{1020, nullptr, "Unknown1020"},
{1021, nullptr, "Unknown1021"},
{1501, nullptr, "Unknown1501"},
{1502, nullptr, "Unknown1502"},
{1503, nullptr, "Unknown1503"},
{1504, nullptr, "Unknown1504"},
{1505, nullptr, "Unknown1505"},
{1506, nullptr, "Unknown1506"},
{2000, nullptr, "Unknown2000"},
{2001, nullptr, "Unknown2001"},
{2002, nullptr, "Unknown2002"},
{2003, nullptr, "Unknown2003"},
{2100, nullptr, "Unknown2100"},
{2501, nullptr, "Unknown2501"},
{2502, nullptr, "Unknown2502"},
{2601, nullptr, "Unknown2601"},
{3001, nullptr, "Unknown3001"},
{3002, nullptr, "Unknown3002"},
{101, nullptr, "Unknown101"}, // 18.0.0+
{102, nullptr, "Unknown102"}, // 18.0.0+
{103, nullptr, "Unknown103"}, // 18.0.0+
{104, nullptr, "Unknown104"}, // 18.0.0+
{105, nullptr, "Unknown105"}, // 20.0.0+
{201, nullptr, "Unknown201"}, // 18.0.0+
{202, nullptr, "Unknown202"}, // 18.0.0+
{203, nullptr, "Unknown203"}, // 18.0.0+
{204, nullptr, "Unknown204"}, // 18.0.0+
{501, nullptr, "Unknown501"}, // 6.0.0+
{502, nullptr, "Unknown502"}, // 6.0.0+
{503, nullptr, "GetTitleKey"}, // 6.0.0+
{504, nullptr, "Unknown504"}, // 6.0.0+
{508, nullptr, "Unknown508"}, // 6.0.0+
{509, nullptr, "Unknown509"}, // 6.0.0+
{510, nullptr, "Unknown510"}, // 6.0.0+
{511, nullptr, "Unknown511"}, // 9.0.0+
{1001, nullptr, "Unknown1001"}, // 6.0.0+
{1002, nullptr, "Unknown1002"}, // 6.0.0+
{1003, nullptr, "GetIAsyncValue"}, // 6.0.0+
{1004, nullptr, "Unknown1004"}, // 6.0.0+
{1005, nullptr, "Unknown1005"}, // 6.0.0+
{1006, nullptr, "Unknown1006"}, // 6.0.0+
{1007, nullptr, "Unknown1007"}, // 6.0.0+
{1009, nullptr, "Unknown1009"}, // 6.0.0+
{1010, nullptr, "Unknown1010"}, // 6.0.0+
{1011, nullptr, "Unknown1011"}, // 6.0.0+
{1012, nullptr, "Unknown1012"}, // 6.0.0+
{1013, nullptr, "Unknown1013"}, // 6.0.0+
{1014, nullptr, "Unknown1014"}, // 6.0.0+
{1015, nullptr, "Unknown1015"}, // 6.0.0+
{1016, nullptr, "Unknown1016"}, // 6.0.0+
{1017, nullptr, "Unknown1017"}, // 9.0.0+
{1018, nullptr, "Unknown1018"}, // 9.0.0+
{1019, nullptr, "Unknown1019"}, // 9.0.0+
{1020, nullptr, "Unknown1020"}, // 9.0.0+
{1021, nullptr, "Unknown1021"}, // 9.0.0+
{1022, nullptr, "Unknown1022"}, // 15.0.0+
{1023, nullptr, "Unknown1023"}, // 17.0.0+
{1024, nullptr, "Unknown1024"}, // 17.0.0+
{1025, nullptr, "Unknown1025"}, // 17.0.0+
{1026, nullptr, "Unknown1026"}, // 17.0.0+
{1027, nullptr, "Unknown1027"}, // 17.0.0+
{1028, nullptr, "Unknown1028"}, // 18.0.0+
{1029, nullptr, "Unknown1029"}, // 19.0.0+
{1030, nullptr, "Unknown1030"}, // 20.0.0+
{1031, nullptr, "Unknown1031"}, // 20.0.0+
{1032, nullptr, "Unknown1032"}, // 20.0.0+
{1033, nullptr, "Unknown1033"}, // 20.0.0+
{1034, nullptr, "Unknown1034"}, // 20.0.0+
{1035, nullptr, "Unknown1035"}, // 20.0.0+
{1036, nullptr, "Unknown1036"}, // 20.0.0+
{1037, nullptr, "Unknown1037"}, // 20.0.0+
{1501, nullptr, "Unknown1501"}, // 6.0.0+
{1502, nullptr, "Unknown1502"}, // 6.0.0+
{1503, nullptr, "Unknown1503"}, // 6.0.0+
{1504, nullptr, "Unknown1504"}, // 6.0.0+
{1505, nullptr, "Unknown1505"}, // 6.0.0+
{1506, nullptr, "Unknown1506"}, // 13.0.0+
{1601, nullptr, "Unknown1601"}, // 20.0.0+
{1602, nullptr, "Unknown1602"}, // 20.0.0+
{1603, nullptr, "Unknown1603"}, // 20.0.0+
{1604, nullptr, "Unknown1604"}, // 20.0.0+
{1605, nullptr, "Unknown1605"}, // 20.0.0+
{1606, nullptr, "Unknown1606"}, // 20.0.0+
{2000, nullptr, "GetIActiveRightsContext"}, // 6.0.0+
{2001, nullptr, "GetIActiveRightsContext2"}, // 9.0.0+
{2002, nullptr, "Unknown2002"}, // 13.0.0-16.1.0
{2003, nullptr, "Unknown2003"}, // 13.0.0-16.1.0
{2100, nullptr, "Unknown2100"}, // 7.0.0+
{2501, nullptr, "Unknown2501"}, // 6.0.0+
{2502, nullptr, "Unknown2502"}, // 6.0.0+
{2601, nullptr, "Unknown2601"}, // 13.0.0+
{3001, nullptr, "Unknown3001"}, // 7.0.0-15.0.1
{3002, nullptr, "Unknown3002"} // 7.0.0-15.0.1
};
// clang-format on
RegisterHandlers(functions);

View file

@ -227,6 +227,8 @@ INotificationServices::INotificationServices(Core::System& system_)
{2001, nullptr, "GetAlarmSettingWithApplicationParameter"},
{2010, nullptr, "MuteAlarmSetting"},
{2020, nullptr, "IsAlarmSettingReady"},
{3000, nullptr, "Unknown3000"}, // 20.0.0+
{3010, nullptr, "Unknown3010"}, // 20.0.0+
{8000, nullptr, "RegisterAppletResourceUserId"},
{8010, nullptr, "UnregisterAppletResourceUserId"},
{8999, nullptr, "GetCurrentTime"},

View file

@ -154,6 +154,8 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{1052, nullptr, "CancelSixAxisSensorAccurateUserCalibration"},
{1053, nullptr, "GetSixAxisSensorAccurateUserCalibrationState"},
{1100, nullptr, "GetHidbusSystemServiceObject"},
{1158, nullptr, "Unknown1158"}, //20.1.0+
{1159, nullptr, "Unknown1159"}, //20.1.0+
{1120, &IHidSystemServer::SetFirmwareHotfixUpdateSkipEnabled, "SetFirmwareHotfixUpdateSkipEnabled"},
{1130, &IHidSystemServer::InitializeUsbFirmwareUpdate, "InitializeUsbFirmwareUpdate"},
{1131, &IHidSystemServer::FinalizeUsbFirmwareUpdate, "FinalizeUsbFirmwareUpdate"},

View file

@ -18,7 +18,7 @@ public:
explicit IMonitorServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:m"} {
// clang-format off
static const FunctionInfo functions[] = {
{0, C<&IMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"}
{0, C<&IMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"},
{1, nullptr, "CreateClientProcessMonitor"} // 18.0.0+
};
// clang-format on

View file

@ -111,7 +111,7 @@ public:
{28, nullptr, "RequestApplicationControl"},
{29, nullptr, "RequestLatestApplicationControl"},
{30, nullptr, "RequestVersionList"},
{31, nullptr, "CreateApplyDeltaTask"},
{31, nullptr, "CreateApplyDeltaTask"}, // [20.0.0+] The type-0x5 input buffer is now 0x18-bytes instead of 0x10-bytes.
{32, nullptr, "DestroyApplyDeltaTask"},
{33, nullptr, "ListApplicationApplyDeltaTask"},
{34, nullptr, "RequestApplyDeltaTaskRun"},
@ -167,54 +167,139 @@ public:
{84, nullptr, "Unknown84"},
{85, nullptr, "ListNetworkInstallTaskContentMetaFromInstallMeta"},
{86, nullptr, "ListNetworkInstallTaskOccupiedSize"},
{87, nullptr, "Unknown87"},
{88, nullptr, "Unknown88"},
{89, nullptr, "Unknown89"},
{90, nullptr, "Unknown90"},
{91, nullptr, "Unknown91"},
{92, nullptr, "Unknown92"},
{93, nullptr, "Unknown93"},
{94, nullptr, "Unknown94"},
{95, nullptr, "Unknown95"},
{96, nullptr, "Unknown96"},
{97, nullptr, "Unknown97"},
{98, nullptr, "Unknown98"},
{99, nullptr, "Unknown99"},
{100, nullptr, "Unknown100"},
{101, nullptr, "Unknown101"},
{102, nullptr, "Unknown102"},
{103, nullptr, "Unknown103"},
{104, nullptr, "Unknown104"},
{105, nullptr, "Unknown105"},
{106, nullptr, "Unknown106"},
{107, nullptr, "Unknown107"},
{108, nullptr, "Unknown108"},
{109, nullptr, "Unknown109"},
{110, nullptr, "Unknown110"},
{111, nullptr, "Unknown111"},
{112, nullptr, "Unknown112"},
{113, nullptr, "Unknown113"},
{114, nullptr, "Unknown114"},
{115, nullptr, "Unknown115"},
{116, nullptr, "Unknown116"},
{117, nullptr, "Unknown117"},
{118, nullptr, "Unknown118"},
{119, nullptr, "Unknown119"},
{120, nullptr, "Unknown120"},
{121, nullptr, "Unknown121"},
{122, nullptr, "Unknown122"},
{123, nullptr, "Unknown123"},
{124, nullptr, "Unknown124"},
{125, nullptr, "Unknown125"},
{126, nullptr, "Unknown126"},
{127, nullptr, "Unknown127"},
{128, nullptr, "Unknown128"},
{129, nullptr, "Unknown129"},
{130, nullptr, "Unknown130"},
{131, nullptr, "Unknown131"},
{132, nullptr, "Unknown132"},
{133, nullptr, "Unknown133"},
{134, nullptr, "Unknown134"},
{87, nullptr, "RequestQueryAvailableELicenses"}, // 6.0.0+
{88, nullptr, "RequestAssignELicenses"}, // 6.0.0+
{89, nullptr, "RequestExtendELicenses"}, // 6.0.0+
{90, nullptr, "RequestSyncELicenses"}, // 6.0.0+
{91, nullptr, "Unknown91"}, // 6.0.0-14.1.2
{92, nullptr, "RequestQueryRevokeReason"}, // 6.0.0-19.0.1
{93, nullptr, "RequestReportActiveELicenses"}, // 6.0.0+
{94, nullptr, "RequestReportActiveELicensesPassively"}, // 6.0.0+
{95, nullptr, "RequestRegisterDynamicRightsNotificationToken"}, // 6.0.0+
{96, nullptr, "RequestAssignAllDeviceLinkedELicenses"}, // 6.0.0+
{97, nullptr, "RequestRevokeAllELicenses"}, // 6.0.0+
{98, nullptr, "RequestPrefetchForDynamicRights"}, // 6.0.0+
{99, nullptr, "CreateNetworkInstallTask"}, // 7.0.0+
{100, nullptr, "ListNetworkInstallTaskRightsIds"}, // 9.0.0+
{101, nullptr, "RequestDownloadETickets"}, // 9.0.0+
{102, nullptr, "RequestQueryDownloadableContents"}, // 9.0.0+
{103, nullptr, "DeleteNetworkInstallTaskContentMeta"}, // 9.0.0+
{104, nullptr, "RequestIssueEdgeTokenForDebug"}, // 9.0.0+
{105, nullptr, "RequestQueryAvailableELicenses2"}, // 9.0.0+
{106, nullptr, "RequestAssignELicenses2"}, // 9.0.0+
{107, nullptr, "GetNetworkInstallTaskStateCounter"}, // 10.0.0+
{108, nullptr, "InvalidateDynamicRightsNaIdTokenCacheForDebug"}, // 10.0.0+
{109, nullptr, "ListNetworkInstallTaskPartialInstallContentMeta"}, // 10.0.0+
{110, nullptr, "ListNetworkInstallTaskRightsIdsFromIndex"}, // 10.0.0+
{111, nullptr, "AddNetworkInstallTaskContentMetaForUser"}, // 10.0.0+
{112, nullptr, "RequestAssignELicensesAndDownloadETickets"}, // 10.0.0+
{113, nullptr, "RequestQueryAvailableCommonELicenses"}, // 10.0.0+
{114, nullptr, "SetNetworkInstallTaskExtendedAttribute"}, // 10.0.0+
{115, nullptr, "GetNetworkInstallTaskExtendedAttribute"}, // 10.0.0+
{116, nullptr, "GetAllocatorInfo"}, // 10.0.0+
{117, nullptr, "RequestQueryDownloadableContentsByApplicationId"}, // 11.0.0+
{118, nullptr, "MarkNoDownloadRightsErrorResolved"}, // 10.0.0+
{119, nullptr, "GetApplyDeltaTaskAllAppliedContentMeta"}, // 11.0.0+ [20.0.0+] Now takes a 0x18-bytes type-0x6 output buffer and returns 4-bytes of output instead of 0x18-bytes.
{120, nullptr, "PrioritizeNetworkInstallTask"}, // 11.0.0+
{121, nullptr, "RequestQueryAvailableCommonELicenses2"}, // 10.1.0+
{122, nullptr, "RequestAssignCommonELicenses"}, // 10.1.0+
{123, nullptr, "RequestAssignCommonELicenses2"}, // 10.1.0+
{124, nullptr, "IsNetworkInstallTaskFrontOfQueue"}, // 11.0.0+
{125, nullptr, "PrioritizeApplyDeltaTask"}, // 11.0.0+
{126, nullptr, "RerouteDownloadingPatch"}, // 12.0.0+
{127, nullptr, "UnmarkNoDownloadRightsErrorResolved"}, // 12.0.0+
{128, nullptr, "RequestContentsSize"}, // 12.0.0+
{129, nullptr, "RequestContentsAuthorizationToken"}, // 12.0.0+
{130, nullptr, "RequestCdnVendorDiscovery"}, // 13.0.0+
{131, nullptr, "RefreshDebugAvailability"}, // 13.0.0+
{132, nullptr, "ClearResponseSimulationEntry"}, // 13.0.0+
{133, nullptr, "RegisterResponseSimulationEntry"}, // 13.0.0+
{134, nullptr, "GetProcessedCdnVendors"}, // 13.0.0+
{135, nullptr, "RefreshRuntimeBehaviorsForDebug"}, // 14.0.0+
{136, nullptr, "RequestOnlineSubscriptionFreeTrialAvailability"}, // 14.0.0+
{137, nullptr, "GetNetworkInstallTaskContentMetaCount"}, // 14.0.0+
{138, nullptr, "RequestRevokeELicenses"}, // 15.0.0+
{139, nullptr, "EnableNetworkConnectionToUseApplicationCore"}, // 15.0.0+
{140, nullptr, "DisableNetworkConnectionToUseApplicationCore"}, // 15.0.0+
{141, nullptr, "IsNetworkConnectionEnabledToUseApplicationCore"}, // 15.0.0+
{142, nullptr, "RequestCheckSafeSystemVersion"}, // 17.0.0+
{143, nullptr, "RequestApplicationIcon"}, // 17.0.0+ [20.0.0+] Now takes 0x20-bytes of input instead of 0x18-bytes.
{144, nullptr, "RequestDownloadIdbeIconFile"}, // 17.0.0+
{147, nullptr, "Unknown147"}, // 18.0.0+
{148, nullptr, "Unknown148"}, // 18.0.0+
{150, nullptr, "Unknown150"}, // 19.0.0+
{151, nullptr, "Unknown151"}, // 20.0.0+
{152, nullptr, "Unknown152"}, // 20.0.0+
{153, nullptr, "Unknown153"}, // 20.0.0+
{154, nullptr, "Unknown154"}, // 20.0.0+
{155, nullptr, "Unknown155"}, // 20.0.0+
{156, nullptr, "Unknown156"}, // 20.0.0+
{157, nullptr, "Unknown157"}, // 20.0.0+
{158, nullptr, "Unknown158"}, // 20.0.0+
{159, nullptr, "Unknown159"}, // 20.0.0+
{160, nullptr, "Unknown160"}, // 20.0.0+
{161, nullptr, "Unknown161"}, // 20.0.0+
{162, nullptr, "Unknown162"}, // 20.0.0+
{163, nullptr, "Unknown163"}, // 20.0.0+
{164, nullptr, "Unknown164"}, // 20.0.0+
{165, nullptr, "Unknown165"}, // 20.0.0+
{166, nullptr, "Unknown166"}, // 20.0.0+
{167, nullptr, "Unknown167"}, // 20.0.0+
{168, nullptr, "Unknown168"}, // 20.0.0+
{169, nullptr, "Unknown169"}, // 20.0.0+
{170, nullptr, "Unknown170"}, // 20.0.0+
{171, nullptr, "Unknown171"}, // 20.0.0+
{172, nullptr, "Unknown172"}, // 20.0.0+
{173, nullptr, "Unknown173"}, // 20.1.0+
{2000, nullptr, "Unknown2000"}, // 20.0.0+
{2001, nullptr, "Unknown2001"}, // 20.0.0+
{2002, nullptr, "Unknown2002"}, // 20.0.0+
{2003, nullptr, "Unknown2003"}, // 20.0.0+
{2004, nullptr, "Unknown2004"}, // 20.0.0+
{2007, nullptr, "Unknown2007"}, // 20.0.0+
{2011, nullptr, "Unknown2011"}, // 20.0.0+
{2012, nullptr, "Unknown2012"}, // 20.0.0+
{2013, nullptr, "Unknown2013"}, // 20.0.0+
{2014, nullptr, "Unknown2014"}, // 20.0.0+
{2015, nullptr, "Unknown2015"}, // 20.0.0+
{2016, nullptr, "Unknown2016"}, // 20.0.0+
{2017, nullptr, "Unknown2017"}, // 20.0.0+
{2018, nullptr, "Unknown2018"}, // 20.0.0+
{2019, nullptr, "Unknown2019"}, // 20.0.0+
{2020, nullptr, "Unknown2020"}, // 20.0.0+
{2021, nullptr, "Unknown2021"}, // 20.0.0+
{2022, nullptr, "Unknown2022"}, // 20.0.0+
{2023, nullptr, "Unknown2023"}, // 20.0.0+
{2024, nullptr, "Unknown2024"}, // 20.0.0+
{2025, nullptr, "Unknown2025"}, // 20.0.0+
{2026, nullptr, "Unknown2026"}, // 20.0.0+
{2027, nullptr, "Unknown2027"}, // 20.0.0+
{2028, nullptr, "Unknown2028"}, // 20.0.0+
{2029, nullptr, "Unknown2029"}, // 20.0.0+
{2030, nullptr, "Unknown2030"}, // 20.0.0+
{2031, nullptr, "Unknown2031"}, // 20.0.0+
{2032, nullptr, "Unknown2032"}, // 20.0.0+
{2033, nullptr, "Unknown2033"}, // 20.0.0+
{2034, nullptr, "Unknown2034"}, // 20.0.0+
{2035, nullptr, "Unknown2035"}, // 20.0.0+
{2036, nullptr, "Unknown2036"}, // 20.0.0+
{2037, nullptr, "Unknown2037"}, // 20.0.0+
{2038, nullptr, "Unknown2038"}, // 20.0.0+
{2039, nullptr, "Unknown2039"}, // 20.0.0+
{2040, nullptr, "Unknown2040"}, // 20.0.0+
{2041, nullptr, "Unknown2041"}, // 20.0.0+
{2042, nullptr, "Unknown2042"}, // 20.0.0+
{2043, nullptr, "Unknown2043"}, // 20.0.0+
{2044, nullptr, "Unknown2044"}, // 20.0.0+
{2045, nullptr, "Unknown2045"}, // 20.0.0+
{2046, nullptr, "Unknown2046"}, // 20.0.0+
{2047, nullptr, "Unknown2047"}, // 20.0.0+
{2048, nullptr, "Unknown2048"}, // 20.0.0+
{2049, nullptr, "Unknown2049"}, // 20.0.0+
{2050, nullptr, "Unknown2050"}, // 20.0.0+
{2051, nullptr, "Unknown2051"}, // 20.0.0+
{3000, nullptr, "RequestLatestApplicationIcon"}, // 17.0.0+
{3001, nullptr, "RequestDownloadIdbeLatestIconFile"} // 17.0.0+
};
// clang-format on
@ -232,7 +317,7 @@ public:
{2, nullptr, "ClearDebugResponse"},
{3, nullptr, "RegisterDebugResponse"},
{4, &NIM_ECA::IsLargeResourceAvailable, "IsLargeResourceAvailable"},
{5, &NIM_ECA::CreateServerInterface2, "CreateServerInterface2"} // 17.0.0+
{5, &NIM_ECA::CreateServerInterface2, "CreateServerInterface2"} // 17.0.0+
};
// clang-format on
@ -241,7 +326,7 @@ public:
private:
void CreateServerInterface(HLERequestContext& ctx) {
LOG_DEBUG(Service_NIM, "(STUBBED) called");
LOG_DEBUG(Service_NIM, "(STUBBED) called");
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
rb.Push(ResultSuccess);
rb.PushIpcInterface<IShopServiceAccessServer>(system);
@ -258,14 +343,14 @@ private:
rb.Push(ResultSuccess);
rb.Push(false);
}
void CreateServerInterface2(HLERequestContext& ctx) {
LOG_DEBUG(Service_NIM, "(STUBBED) called.");
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
rb.Push(ResultSuccess);
rb.PushIpcInterface<IShopServiceAccessServer>(system);
}
void CreateServerInterface2(HLERequestContext& ctx) {
LOG_DEBUG(Service_NIM, "(STUBBED) called.");
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
rb.Push(ResultSuccess);
rb.PushIpcInterface<IShopServiceAccessServer>(system);
}
};
class NIM_SHP final : public ServiceFramework<NIM_SHP> {
@ -301,6 +386,8 @@ public:
{503, nullptr, "RequestSyncTicket"},
{504, nullptr, "RequestDownloadTicketForPrepurchasedContents2"},
{505, nullptr, "RequestDownloadTicketForPrepurchasedContentsForAccount"},
{600, nullptr, "IsInitialLaunchFinished"}, // 14.0.0+
{601, nullptr, "NotifyFinishInitialLaunch"}, // 14.0.0+
};
// clang-format on

View file

@ -53,8 +53,13 @@ public:
{42, nullptr, "SetNetworkServiceAccountIdTokenSuccess"}, // 17.0.0+
{43, nullptr, "SetNetworkServiceAccountIdTokenFailure"}, // 17.0.0+
{44, nullptr, "SetUidList"}, // 17.0.0+
{45, nullptr, "PutDigitalTwinKeyValue"}, // 17.0.0+
{45, nullptr, "PutDigitalTwinKeyValue"}, // [20.0.0+] ([17.0.0-18.1.0] PutDigitalTwinKeyValue)
{51, nullptr, "DeleteDigitalTwinKeyValue"}, // 18.0.0+
{52, nullptr, "Unknown52"}, // 20.0.0+
{53, nullptr, "Unknown53"}, // 20.0.0+
{60, nullptr, "Unknown60"}, // 19.0.0+
{61, nullptr, "Unknown61"}, // 19.0.0+
{70, nullptr, "Unknown70"}, // 20.0.0+
{101, nullptr, "Suspend"},
{102, nullptr, "Resume"},
{103, C<&INpnsSystem::GetState>, "GetState"},
@ -68,6 +73,13 @@ public:
{114, nullptr, "AttachJid"},
{115, nullptr, "DetachJid"},
{120, nullptr, "CreateNotificationReceiver"},
{141, nullptr, "Unknown141"}, // 19.0.0+
{142, nullptr, "Unknown142"}, // 19.0.0+
{143, nullptr, "Unknown143"}, // 19.0.0+
{144, nullptr, "Unknown144"}, // 19.0.0+
{145, nullptr, "Unknown145"}, // 19.0.0+
{146, nullptr, "Unknown146"}, // 20.0.0+
{147, nullptr, "Unknown147"}, // 20.0.0+
{151, nullptr, "GetStateWithHandover"},
{152, nullptr, "GetStateChangeEventWithHandover"},
{153, nullptr, "GetDropEventWithHandover"},
@ -78,6 +90,7 @@ public:
{162, nullptr, "RequestChangeStateForceTimedWithCancelEvent"},
{201, nullptr, "RequestChangeStateForceTimed"},
{202, nullptr, "RequestChangeStateForceAsync"},
{203, nullptr, "Unknown203"}, // 20.0.0+
{301, nullptr, "GetPassword"}, // 18.0.0+
{302, nullptr, "GetAllImmigration"}, // 18.0.0+
{303, nullptr, "GetNotificationHistories"}, // 18.0.0+

View file

@ -115,7 +115,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{301, nullptr, "PopApplicationShellEventInfo"},
{302, nullptr, "LaunchLibraryApplet"},
{303, nullptr, "TerminateLibraryApplet"},
{304, nullptr, "LaunchSystemApplet"},
{304, nullptr, "LaunchSystemApplet"}, // [20.0.0+] ns.applet!system_applet_id_gen2
{305, nullptr, "TerminateSystemApplet"},
{306, nullptr, "LaunchOverlayApplet"},
{307, nullptr, "TerminateOverlayApplet"},
@ -128,6 +128,23 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{406, nullptr, "GetApplicationControlProperty"},
{407, nullptr, "ListApplicationTitle"},
{408, nullptr, "ListApplicationIcon"},
{411, nullptr, "Unknown411"}, // 19.0.0+
{412, nullptr, "Unknown412"}, // 19.0.0+
{413, nullptr, "Unknown413"}, // 19.0.0+
{414, nullptr, "Unknown414"}, // 19.0.0+
{415, nullptr, "Unknown415"}, // 19.0.0+
{416, nullptr, "Unknown416"}, // 19.0.0+
{417, nullptr, "InvalidateAllApplicationControlCacheOfTheStage"}, // 19.0.0+
{418, nullptr, "InvalidateApplicationControlCacheOfTheStage"}, // 19.0.0+
{419, nullptr, "RequestDownloadApplicationControlDataInBackground"}, // 19.0.0+
{420, nullptr, "CloneApplicationControlDataCacheForDebug"}, // 19.0.0+
{421, nullptr, "Unknown421"}, // 20.0.0+
{422, nullptr, "Unknown422"}, // 20.0.0+
{423, nullptr, "Unknown423"}, // 20.0.0+
{424, nullptr, "Unknown424"}, // 20.0.0+
{425, nullptr, "Unknown425"}, // 20.0.0+
{426, nullptr, "Unknown426"}, // 20.0.0+
{427, nullptr, "Unknown427"}, // 20.0.0+
{502, nullptr, "RequestCheckGameCardRegistration"},
{503, nullptr, "RequestGameCardRegistrationGoldPoint"},
{504, nullptr, "RequestRegisterGameCard"},
@ -137,6 +154,9 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{508, nullptr, "GetLastGameCardMountFailureResult"},
{509, nullptr, "ListApplicationIdOnGameCard"},
{510, nullptr, "GetGameCardPlatformRegion"},
{513, nullptr, "Unknown513"}, // 20.0.0+
{514, nullptr, "Unknown514"}, // 20.0.0+
{515, nullptr, "Unknown515"}, // 20.0.0+
{600, nullptr, "CountApplicationContentMeta"},
{601, nullptr, "ListApplicationContentMetaStatus"},
{602, nullptr, "ListAvailableAddOnContent"},
@ -174,6 +194,18 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{914, nullptr, "HideApplicationRecord"},
{915, nullptr, "ShowApplicationRecord"},
{916, nullptr, "IsApplicationAutoDeleteDisabled"},
{917, nullptr, "Unknown917"}, // 20.0.0+
{918, nullptr, "Unknown918"}, // 20.0.0+
{919, nullptr, "Unknown919"}, // 20.0.0+
{920, nullptr, "Unknown920"}, // 20.0.0+
{921, nullptr, "Unknown921"}, // 20.0.0+
{922, nullptr, "Unknown922"}, // 20.0.0+
{923, nullptr, "Unknown923"}, // 20.0.0+
{928, nullptr, "Unknown928"}, // 20.0.0+
{929, nullptr, "Unknown929"}, // 20.0.0+
{930, nullptr, "Unknown930"}, // 20.0.0+
{931, nullptr, "Unknown931"}, // 20.0.0+
{933, nullptr, "Unknown933"}, // 20.1.0+
{1000, nullptr, "RequestVerifyApplicationDeprecated"},
{1001, nullptr, "CorruptApplicationForDebug"},
{1002, nullptr, "RequestVerifyAddOnContentsRights"},
@ -202,6 +234,11 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{1504, nullptr, "InsertSdCard"},
{1505, nullptr, "RemoveSdCard"},
{1506, nullptr, "GetSdCardStartupStatus"},
{1508, nullptr, "Unknown1508"}, // 20.0.0+
{1509, nullptr, "Unknown1509"}, // 20.0.0+
{1510, nullptr, "Unknown1510"}, // 20.0.0+
{1511, nullptr, "Unknown1511"}, // 20.0.0+
{1512, nullptr, "Unknown1512"}, // 20.0.0+
{1600, nullptr, "GetSystemSeedForPseudoDeviceId"},
{1601, nullptr, "ResetSystemSeedForPseudoDeviceId"},
{1700, nullptr, "ListApplicationDownloadingContentMeta"},
@ -210,6 +247,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{1703, nullptr, "GetApplicationViewDownloadErrorContext"},
{1704, D<&IApplicationManagerInterface::GetApplicationViewWithPromotionInfo>, "GetApplicationViewWithPromotionInfo"},
{1705, nullptr, "IsPatchAutoDeletableApplication"},
{1706, nullptr, "Unknown1706"}, // 20.0.0+
{1800, nullptr, "IsNotificationSetupCompleted"},
{1801, nullptr, "GetLastNotificationInfoCount"},
{1802, nullptr, "ListLastNotificationInfo"},
@ -218,7 +256,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{1901, nullptr, "RequestDownloadApplicationPrepurchasedRights"},
{1902, nullptr, "GetApplicationTicketInfo"},
{1903, nullptr, "RequestDownloadApplicationPrepurchasedRightsForAccount"},
{2000, nullptr, "GetSystemDeliveryInfo"},
{2000, nullptr, "GetSystemDeliveryInfo"}, // Always set to 0x1 by #GetSystemDeliveryInfo with [20.0.0+].
{2001, nullptr, "SelectLatestSystemDeliveryInfo"},
{2002, nullptr, "VerifyDeliveryProtocolVersion"},
{2003, nullptr, "GetApplicationDeliveryInfo"},
@ -237,8 +275,11 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{2016, nullptr, "ListNotCommittedContentMeta"},
{2017, nullptr, "CreateDownloadTask"},
{2018, nullptr, "GetApplicationDeliveryInfoHash"},
{2019, nullptr, "Unknown2019"}, // 20.0.0+
{2050, D<&IApplicationManagerInterface::GetApplicationRightsOnClient>, "GetApplicationRightsOnClient"},
{2051, nullptr, "InvalidateRightsIdCache"},
{2052, nullptr, "Unknown2052"}, // 20.0.0+
{2053, nullptr, "Unknown2053"}, // 20.0.0+
{2100, D<&IApplicationManagerInterface::GetApplicationTerminateResult>, "GetApplicationTerminateResult"},
{2101, nullptr, "GetRawApplicationTerminateResult"},
{2150, nullptr, "CreateRightsEnvironment"},
@ -255,6 +296,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{2180, nullptr, "RequestExtendRightsInRightsEnvironment"},
{2181, nullptr, "GetResultOfExtendRightsInRightsEnvironment"},
{2182, nullptr, "SetActiveRightsContextUsingStateToRightsEnvironment"},
{2183, nullptr, "Unknown2183"}, // 20.1.0+
{2190, nullptr, "GetRightsEnvironmentHandleForApplication"},
{2199, nullptr, "GetRightsEnvironmentCountForDebug"},
{2200, nullptr, "GetGameCardApplicationCopyIdentifier"},
@ -271,9 +313,18 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{2357, nullptr, "EnableMultiCoreDownload"},
{2358, nullptr, "DisableMultiCoreDownload"},
{2359, nullptr, "IsMultiCoreDownloadEnabled"},
{2360, nullptr, "GetApplicationDownloadTaskCount"}, // 19.0.0+
{2361, nullptr, "GetMaxApplicationDownloadTaskCount"}, // 19.0.0+
{2362, nullptr, "Unknown2362"}, // 20.0.0+
{2363, nullptr, "Unknown2363"}, // 20.0.0+
{2364, nullptr, "Unknown2364"}, // 20.0.0+
{2365, nullptr, "Unknown2365"}, // 20.0.0+
{2366, nullptr, "Unknown2366"}, // 20.0.0+
{2367, nullptr, "Unknown2367"}, // 20.0.0+
{2368, nullptr, "Unknown2368"}, // 20.0.0+
{2400, nullptr, "GetPromotionInfo"},
{2401, nullptr, "CountPromotionInfo"},
{2402, nullptr, "ListPromotionInfo"},
{2402, nullptr, "ListPromotionInfo"}, // [20.0.0+] The struct size for the output buffer array is now 0x28-bytes instead of 0x20-bytes.
{2403, nullptr, "ImportPromotionJsonForDebug"},
{2404, nullptr, "ClearPromotionInfoForDebug"},
{2500, nullptr, "ConfirmAvailableTime"},
@ -289,6 +340,9 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{2520, nullptr, "IsQualificationTransitionSupportedByProcessId"},
{2521, nullptr, "GetRightsUserChangedEvent"},
{2522, nullptr, "IsRomRedirectionAvailable"},
{2523, nullptr, "GetProgramId"}, // 17.0.0+
{2524, nullptr, "Unknown2524"}, // 19.0.0+
{2525, nullptr, "Unknown2525"}, // 20.0.0+
{2800, nullptr, "GetApplicationIdOfPreomia"},
{3000, nullptr, "RegisterDeviceLockKey"},
{3001, nullptr, "UnregisterDeviceLockKey"},
@ -306,9 +360,95 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{3013, nullptr, "IsGameCardEnabled"},
{3014, nullptr, "IsLocalContentShareEnabled"},
{3050, nullptr, "ListAssignELicenseTaskResult"},
{4000, nullptr, "Unknown4000"}, // 20.0.0+
{4004, nullptr, "Unknown4004"}, // 20.0.0+
{4006, nullptr, "Unknown4006"}, // 20.0.0+
{4007, nullptr, "Unknown4007"}, // 20.0.0+
{4008, nullptr, "Unknown4008"}, // 20.0.0+
{4009, nullptr, "Unknown4009"}, // 20.0.0+
{4010, nullptr, "Unknown4010"}, // 20.0.0+
{4011, nullptr, "Unknown4011"}, // 20.0.0+
{4012, nullptr, "Unknown4012"}, // 20.0.0+
{4013, nullptr, "Unknown4013"}, // 20.0.0+
{4015, nullptr, "Unknown4015"}, // 20.0.0+
{4017, nullptr, "Unknown4017"}, // 20.0.0+
{4019, nullptr, "Unknown4019"}, // 20.0.0+
{4020, nullptr, "Unknown4020"}, // 20.0.0+
{4021, nullptr, "Unknown4021"}, // 20.0.0+
{4022, D<&IApplicationManagerInterface::Unknown4022>, "Unknown4022"},
{4023, D<&IApplicationManagerInterface::Unknown4023>, "Unknown4023"},
{4024, nullptr, "Unknown4024"}, // 20.0.0+
{4025, nullptr, "Unknown4025"}, // 20.0.0+
{4026, nullptr, "Unknown4026"}, // 20.0.0+
{4027, nullptr, "Unknown4027"}, // 20.0.0+
{4028, nullptr, "Unknown4028"}, // 20.0.0+
{4029, nullptr, "Unknown4029"}, // 20.0.0+
{4030, nullptr, "Unknown4030"}, // 20.0.0+
{4031, nullptr, "Unknown4031"}, // 20.0.0+
{4032, nullptr, "Unknown4032"}, // 20.0.0+
{4033, nullptr, "Unknown4033"}, // 20.0.0+
{4034, nullptr, "Unknown4034"}, // 20.0.0+
{4035, nullptr, "Unknown4035"}, // 20.0.0+
{4037, nullptr, "Unknown4037"}, // 20.0.0+
{4038, nullptr, "Unknown4038"}, // 20.0.0+
{4039, nullptr, "Unknown4039"}, // 20.0.0+
{4040, nullptr, "Unknown4040"}, // 20.0.0+
{4041, nullptr, "Unknown4041"}, // 20.0.0+
{4042, nullptr, "Unknown4042"}, // 20.0.0+
{4043, nullptr, "Unknown4043"}, // 20.0.0+
{4044, nullptr, "Unknown4044"}, // 20.0.0+
{4045, nullptr, "Unknown4045"}, // 20.0.0+
{4046, nullptr, "Unknown4046"}, // 20.0.0+
{4049, nullptr, "Unknown4049"}, // 20.0.0+
{4050, nullptr, "Unknown4050"}, // 20.0.0+
{4051, nullptr, "Unknown4051"}, // 20.0.0+
{4052, nullptr, "Unknown4052"}, // 20.0.0+
{4053, nullptr, "Unknown4053"}, // 20.0.0+
{4054, nullptr, "Unknown4054"}, // 20.0.0+
{4055, nullptr, "Unknown4055"}, // 20.0.0+
{4056, nullptr, "Unknown4056"}, // 20.0.0+
{4057, nullptr, "Unknown4057"}, // 20.0.0+
{4058, nullptr, "Unknown4058"}, // 20.0.0+
{4059, nullptr, "Unknown4059"}, // 20.0.0+
{4060, nullptr, "Unknown4060"}, // 20.0.0+
{4061, nullptr, "Unknown4061"}, // 20.0.0+
{4062, nullptr, "Unknown4062"}, // 20.0.0+
{4063, nullptr, "Unknown4063"}, // 20.0.0+
{4064, nullptr, "Unknown4064"}, // 20.0.0+
{4065, nullptr, "Unknown4065"}, // 20.0.0+
{4066, nullptr, "Unknown4066"}, // 20.0.0+
{4067, nullptr, "Unknown4067"}, // 20.0.0+
{4068, nullptr, "Unknown4068"}, // 20.0.0+
{4069, nullptr, "Unknown4069"}, // 20.0.0+
{4070, nullptr, "Unknown4070"}, // 20.0.0+
{4071, nullptr, "Unknown4071"}, // 20.0.0+
{4072, nullptr, "Unknown4072"}, // 20.0.0+
{4073, nullptr, "Unknown4073"}, // 20.0.0+
{4074, nullptr, "Unknown4074"}, // 20.0.0+
{4075, nullptr, "Unknown4075"}, // 20.0.0+
{4076, nullptr, "Unknown4076"}, // 20.0.0+
{4077, nullptr, "Unknown4077"}, // 20.0.0+
{4078, nullptr, "Unknown4078"}, // 20.0.0+
{4079, nullptr, "Unknown4079"}, // 20.0.0+
{4080, nullptr, "Unknown4080"}, // 20.0.0+
{4081, nullptr, "Unknown4081"}, // 20.0.0+
{4083, nullptr, "Unknown4083"}, // 20.0.0+
{4084, nullptr, "Unknown4084"}, // 20.0.0+
{4085, nullptr, "Unknown4085"}, // 20.0.0+
{4086, nullptr, "Unknown4086"}, // 20.0.0+
{4087, nullptr, "Unknown4087"}, // 20.0.0+
{4088, D<&IApplicationManagerInterface::Unknown4088>, "Unknown4088"},
{4089, nullptr, "Unknown4089"}, // 20.0.0+
{4090, nullptr, "Unknown4090"}, // 20.0.0+
{4091, nullptr, "Unknown4091"}, // 20.0.0+
{4092, nullptr, "Unknown4092"}, // 20.0.0+
{4093, nullptr, "Unknown4093"}, // 20.0.0+
{4094, nullptr, "Unknown4094"}, // 20.0.0+
{4095, nullptr, "Unknown4095"}, // 20.0.0+
{4096, nullptr, "Unknown4096"}, // 20.0.0+
{4097, nullptr, "Unknown4097"}, // 20.0.0+
{5000, nullptr, "Unknown5000"}, // 18.0.0+
{5001, nullptr, "Unknown5001"}, // 18.0.0+
{9999, nullptr, "GetApplicationCertificate"},
};
// clang-format on

View file

@ -27,6 +27,12 @@ IDevelopInterface::IDevelopInterface(Core::System& system_) : ServiceFramework{s
{17, nullptr, "PrepareLaunchApplicationFromHost"},
{18, nullptr, "GetLaunchEvent"},
{19, nullptr, "GetLaunchResult"},
{19, nullptr, "GetLaunchResult"}, // 12.0.0+
{20, nullptr, "GetProgramId"}, // 14.0.0+
{21, nullptr, "PrepareLaunchApplication"}, // 18.0.0+
{22, nullptr, "LaunchApplication"}, // 18.0.0+
{23, nullptr, "GetProgramIdByApplicationLaunchInfo"}, // 18.0.0+
{24, nullptr, "DestroyApplicationLaunchPreparation"}, // 18.0.0+
};
// clang-format on

View file

@ -19,6 +19,7 @@ IDownloadTaskInterface::IDownloadTaskInterface(Core::System& system_)
{707, D<&IDownloadTaskInterface::EnableAutoCommit>, "EnableAutoCommit"},
{708, D<&IDownloadTaskInterface::DisableAutoCommit>, "DisableAutoCommit"},
{709, nullptr, "TriggerDynamicCommitEvent"},
{710, nullptr, "Unknown710"} // 20.0.0+
};
// clang-format on

View file

@ -38,6 +38,8 @@ IDynamicRightsInterface::IDynamicRightsInterface(Core::System& system_)
{24, nullptr, "NotifyLimitedApplicationLicenseUpgradableEventForDebug"},
{25, nullptr, "RequestProceedDynamicRightsState"},
{26, D<&IDynamicRightsInterface::HasAccountRestrictedRightsInRunningApplications>, "HasAccountRestrictedRightsInRunningApplications"}
{27, nullptr, "Unknown27"}, // 20.0.0+
{28, nullptr, "Unknown28"}, // 20.0.0+
};
// clang-format on

View file

@ -16,6 +16,13 @@ IECommerceInterface::IECommerceInterface(Core::System& system_)
{4, nullptr, "RequestUnlinkDevice"},
{5, nullptr, "RequestRevokeAllELicense"},
{6, nullptr, "RequestSyncRightsBasedOnAssignedELicenses"},
{7, nullptr, "RequestOnlineSubscriptionFreeTrialAvailability"}, // 14.0.0+
{8, nullptr, "Unknown8"}, // 20.0.0+
{9, nullptr, "Unknown9"}, // 20.0.0+
{10, nullptr, "Unknown10"}, // 20.0.0+
{11, nullptr, "Unknown11"}, // 20.0.0+
{12, nullptr, "Unknown12"}, // 20.0.0+
{13, nullptr, "Unknown13"}, // 20.0.0+
};
// clang-format on

View file

@ -16,6 +16,8 @@ IFactoryResetInterface::IFactoryResetInterface(Core::System& system_)
{104, nullptr, "ResetToFactorySettingsWithPlatformRegionAuthentication"},
{105, nullptr, "RequestResetToFactorySettingsSecurely"},
{106, nullptr, "RequestResetToFactorySettingsWithPlatformRegionAuthenticationSecurely"},
{107, nullptr, "Unknown7"}, // 20.0.0+
{108, nullptr, "Unknown8"}, // 20.0.0+
};
// clang-format on

View file

@ -32,6 +32,10 @@ IQueryService::IQueryService(Core::System& system_) : ServiceFramework{system_,
{17, nullptr, "QueryLastPlayTime"},
{18, nullptr, "QueryApplicationPlayStatisticsForSystem"},
{19, nullptr, "QueryApplicationPlayStatisticsByUserAccountIdForSystem"},
{100, nullptr, "Unknown100"}, // 20.0.0+
{110, nullptr, "Unknown110"}, // 20.0.0+
{118, nullptr, "Unknown118"}, // 20.0.0+
{119, nullptr, "Unknown119"} // 20.0.0+
};
// clang-format on

View file

@ -23,6 +23,19 @@ IReadOnlyApplicationControlDataInterface::IReadOnlyApplicationControlDataInterfa
{2, D<&IReadOnlyApplicationControlDataInterface::ConvertApplicationLanguageToLanguageCode>, "ConvertApplicationLanguageToLanguageCode"},
{3, nullptr, "ConvertLanguageCodeToApplicationLanguage"},
{4, nullptr, "SelectApplicationDesiredLanguage"},
{5, nullptr, "Unknown5"}, // 19.0.0+
{6, nullptr, "Unknown6"}, // 19.0.0+
{7, nullptr, "Unknown7"}, // 20.0.0+
{8, nullptr, "Unknown8"}, // 20.0.0+
{9, nullptr, "Unknown9"}, // 20.0.0+
{10, nullptr, "Unknown10"}, // 20.0.0+
{11, nullptr, "Unknown11"}, // 20.0.0+
{12, nullptr, "Unknown12"}, // 20.0.0+
{13, nullptr, "Unknown13"}, // 20.0.0+
{14, nullptr, "Unknown14"}, // 20.0.0+
{15, nullptr, "Unknown15"}, // 20.0.0+
{16, nullptr, "Unknown16"}, // 20.0.0+
{17, nullptr, "Unknown17"}, // 20.1.0+
};
// clang-format on

View file

@ -11,8 +11,8 @@ IReadOnlyApplicationRecordInterface::IReadOnlyApplicationRecordInterface(Core::S
static const FunctionInfo functions[] = {
{0, D<&IReadOnlyApplicationRecordInterface::HasApplicationRecord>, "HasApplicationRecord"},
{1, nullptr, "NotifyApplicationFailure"},
{2, D<&IReadOnlyApplicationRecordInterface::IsDataCorruptedResult>,
"IsDataCorruptedResult"},
{2, D<&IReadOnlyApplicationRecordInterface::IsDataCorruptedResult>, "IsDataCorruptedResult"},
{3, nullptr, "Unknown3"}, // 20.0.0 +
};
// clang-format on

View file

@ -13,6 +13,9 @@ IVulnerabilityManagerInterface::IVulnerabilityManagerInterface(Core::System& sys
{1200, D<&IVulnerabilityManagerInterface::NeedsUpdateVulnerability>, "NeedsUpdateVulnerability"},
{1201, nullptr, "UpdateSafeSystemVersionForDebug"},
{1202, nullptr, "GetSafeSystemVersion"},
{3100, nullptr, "Unknown7"}, // 18.0.0+
{3101, nullptr, "Unknown8"}, // 18.0.0+
{3102, nullptr, "Unknown8"}, // 18.0.0+
};
// clang-format on

View file

@ -10,16 +10,17 @@ IDaemonController::IDaemonController(Core::System& system_)
: ServiceFramework{system_, "IDaemonController"} {
// clang-format off
static const FunctionInfo functions[] = {
{0, D<&IDaemonController::GetAutoTransferEnabledForAccountAndApplication>, "GetAutoTransferEnabledForAccountAndApplication"},
{1, nullptr, "SetAutoTransferEnabledForAccountAndApplication"},
{2, nullptr, "GetGlobalUploadEnabledForAccount"},
{3, nullptr, "SetGlobalUploadEnabledForAccount"},
{4, nullptr, "TouchAccount"},
{5, nullptr, "GetGlobalDownloadEnabledForAccount"},
{6, nullptr, "SetGlobalDownloadEnabledForAccount"},
{10, nullptr, "GetForbiddenSaveDataIndication"},
{11, nullptr, "GetStopperObject"},
{12, nullptr, "GetState"},
{0, D<&IDaemonController::GetApplicationAutoTransferSetting>, "GetApplicationAutoTransferSetting"},
{1, nullptr, "SetApplicationAutoTransferSetting"},
{2, nullptr, "GetGlobalAutoUploadSetting"},
{3, nullptr, "SetGlobalAutoUploadSetting"},
{4, nullptr, "RunTransferTaskAutonomyRegistration"},
{5, nullptr, "GetGlobalAutoDownloadSetting"}, // 11.0.0+
{6, nullptr, "SetGlobalAutoDownloadSetting"}, // 11.0.0+
{10, nullptr, "CreateForbiddenSaveDataInidication"},
{11, nullptr, "StopAutonomyTaskExecution"},
{12, nullptr, "GetAutonomyTaskStatus"},
{13, nullptr, "Unknown13"}, // 20.0.0+
};
// clang-format on
@ -28,7 +29,7 @@ IDaemonController::IDaemonController(Core::System& system_)
IDaemonController::~IDaemonController() = default;
Result IDaemonController::GetAutoTransferEnabledForAccountAndApplication(Out<bool> out_is_enabled,
Result IDaemonController::GetApplicationAutoTransferSetting(Out<bool> out_is_enabled,
Common::UUID user_id,
u64 application_id) {
LOG_WARNING(Service_OLSC, "(STUBBED) called, user_id={} application_id={:016X}",

View file

@ -13,7 +13,7 @@ public:
~IDaemonController() override;
private:
Result GetAutoTransferEnabledForAccountAndApplication(Out<bool> out_is_enabled,
Result GetApplicationAutoTransferSetting(Out<bool> out_is_enabled,
Common::UUID user_id, u64 application_id);
};

View file

@ -10,30 +10,35 @@ IRemoteStorageController::IRemoteStorageController(Core::System& system_)
: ServiceFramework{system_, "IRemoteStorageController"} {
// clang-format off
static const FunctionInfo functions[] = {
{0, nullptr, "GetSaveDataArchiveInfoBySaveDataId"},
{1, nullptr, "GetSaveDataArchiveInfoByApplicationId"},
{3, nullptr, "GetSaveDataArchiveCount"},
{6, nullptr, "CleanupSaveDataArchives"},
{7, nullptr, "CreateSaveDataArchiveCacheUpdationTask"},
{8, nullptr, "CreateSaveDataArchiveCacheUpdationForSpecifiedApplicationTask"},
{9, nullptr, "Delete"},
{10, nullptr, "GetSeriesInfo"},
{11, nullptr, "CreateDeleteDataTask"},
{12, nullptr, "DeleteSeriesInfo"},
{13, nullptr, "CreateRegisterNotificationTokenTask"},
{14, nullptr, "UpdateSeriesInfo"},
{0, nullptr, "RegisterUploadSaveDataTransferTask"},
{1, nullptr, "RegisterDownloadSaveDataTransferTask"},
{2, nullptr, "Unknown2"}, // 6.0.0-7.0.1
{3, nullptr, "GetCount"},
{4, nullptr, "Unknown4"}, // 6.0.0-7.0.1
{6, nullptr, "ClearDataInfoCache"},
{7, nullptr, "RequestUpdateDataInfoCacheAsync"},
{8, nullptr, "RequestUpdateDataInfoCacheOfSpecifiedApplicationAsync"},
{9, nullptr, "DeleteDataInfoCache"},
{10, nullptr, "GetDataNewness"},
{11, nullptr, "RequestDeleteDataAsync"},
{12, nullptr, "RegisterUploadSaveDataTransferTaskDetail"},
{13, nullptr, "RequestRegisterNotificationTokenAsync"},
{14, nullptr, "GetDataNewnessByApplicationId"},
{15, nullptr, "RegisterUploadSaveDataTransferTaskForAutonomyRegistration"},
{16, nullptr, "CreateCleanupToDeleteSaveDataArchiveInfoTask"},
{17, nullptr, "ListDataInfo"},
{18, nullptr, "GetDataInfo"},
{19, nullptr, "Unknown19"},
{20, nullptr, "CreateSaveDataArchiveInfoCacheForSaveDataBackupUpdationTask"},
{21, nullptr, "ListSecondarySaves"},
{22, D<&IRemoteStorageController::GetSecondarySave>, "GetSecondarySave"},
{23, nullptr, "TouchSecondarySave"},
{24, nullptr, "GetSecondarySaveDataInfo"},
{25, nullptr, "RegisterDownloadSaveDataTransferTaskForAutonomyRegistration"},
{900, nullptr, "Unknown900"},
{16, nullptr, "RequestCleanupToDeleteSaveDataArchiveAsync"},
{17, nullptr, "ListDataInfo"}, // 7.0.0+
{18, nullptr, "GetDataInfo"}, // 7.0.0+
{19, nullptr, "GetDataInfoCacheUpdateNativeHandleHolder"}, // 7.0.0+
{20, nullptr, "RequestUpdateSaveDataBackupInfoCacheAsync"}, // 10.1.0+
{21, nullptr, "ListLoadedDataInfo"}, // 11.0.0+
{22, D<&IRemoteStorageController::GetLoadedDataInfo>, "GetLoadedDataInfo"},
{23, nullptr, "ApplyLoadedData"}, // 11.0.0+
{24, nullptr, "DeleteLoadedData"}, // 11.0.0+
{25, nullptr, "RegisterDownloadSaveDataTransferTaskForAutonomyRegistration"}, // 11.0.0+
{26, nullptr, "Unknown26"}, // 20.0.0+
{27, nullptr, "Unknown27"}, // 20.0.0+
{800, nullptr, "Unknown800"}, // 20.0.0+
{900, nullptr, "SetLoadedDataMissing"} // 11.0.0+
};
// clang-format on
@ -42,7 +47,7 @@ IRemoteStorageController::IRemoteStorageController(Core::System& system_)
IRemoteStorageController::~IRemoteStorageController() = default;
Result IRemoteStorageController::GetSecondarySave(Out<bool> out_has_secondary_save,
Result IRemoteStorageController::GetLoadedDataInfo(Out<bool> out_has_secondary_save,
Out<std::array<u64, 3>> out_unknown,
u64 application_id) {
LOG_ERROR(Service_OLSC, "(STUBBED) called, application_id={:016X}", application_id);

View file

@ -12,7 +12,7 @@ public:
~IRemoteStorageController() override;
private:
Result GetSecondarySave(Out<bool> out_has_secondary_save, Out<std::array<u64, 3>> out_unknown,
Result GetLoadedDataInfo(Out<bool> out_has_secondary_save, Out<std::array<u64, 3>> out_unknown,
u64 application_id);
};

View file

@ -11,32 +11,37 @@ ITransferTaskListController::ITransferTaskListController(Core::System& system_)
: ServiceFramework{system_, "ITransferTaskListController"} {
// clang-format off
static const FunctionInfo functions[] = {
{0, nullptr, "Unknown0"},
{1, nullptr, "Unknown1"},
{2, nullptr, "Unknown2"},
{3, nullptr, "Unknown3"},
{4, nullptr, "Unknown4"},
{5, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder"},
{6, nullptr, "Unknown6"},
{7, nullptr, "Unknown7"},
{8, nullptr, "GetRemoteStorageController"},
{9, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder2"},
{10, nullptr, "Unknown10"},
{11, nullptr, "Unknown11"},
{12, nullptr, "Unknown12"},
{13, nullptr, "Unknown13"},
{14, nullptr, "Unknown14"},
{15, nullptr, "Unknown15"},
{16, nullptr, "Unknown16"},
{17, nullptr, "Unknown17"},
{18, nullptr, "Unknown18"},
{19, nullptr, "Unknown19"},
{20, nullptr, "Unknown20"},
{21, nullptr, "Unknown21"},
{22, nullptr, "Unknown22"},
{23, nullptr, "Unknown23"},
{24, nullptr, "Unknown24"},
{25, nullptr, "Unknown25"},
{0, nullptr, "GetTransferTaskCountForOcean"},
{1, nullptr, "GetTransferTaskInfoForOcean"},
{2, nullptr, "ListTransferTaskInfoForOcean"},
{3, nullptr, "DeleteTransferTaskForOcean"},
{4, nullptr, "RaiseTransferTaskPriorityForOcean"},
{5, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetTransferTaskEndEventNativeHandleHolder"},
{6, nullptr, "GetTransferTaskProgressForOcean"},
{7, nullptr, "GetTransferTaskLastResultForOcean"},
{8, nullptr, "StopNextTransferTaskExecution"},
{9, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetTransferTaskStartEventNativeHandleHolder"},
{10, nullptr, "SuspendTransferTaskForOcean"},
{11, nullptr, "GetCurrentTransferTaskInfoForOcean"},
{12, nullptr, "FindTransferTaskInfoForOcean"},
{13, nullptr, "CancelCurrentRepairTransferTask"}, // 9.0.0+
{14, nullptr, "GetRepairTransferTaskProgress"}, // 9.0.0+
{15, nullptr, "EnsureExecutableForRepairTransferTask"}, // 9.0.0+
{16, nullptr, "GetTransferTaskCount"}, // 10.1.0+
{17, nullptr, "GetTransferTaskInfo"}, // 10.1.0+
{18, nullptr, "ListTransferTaskInfo"}, // 10.1.0+
{19, nullptr, "DeleteTransferTask"}, // 10.1.0+
{20, nullptr, "RaiseTransferTaskPriority"}, // 10.1.0+
{21, nullptr, "GetTransferTaskProgress"}, // 10.1.0+
{22, nullptr, "GetTransferTaskLastResult"}, // 10.1.0+
{23, nullptr, "SuspendTransferTask"}, // 10.1.0+
{24, nullptr, "GetCurrentTransferTaskInfo"}, // 10.1.0+
{25, nullptr, "FindTransferTaskInfo"}, // 10.1.0+
{26, nullptr, "Unknown26"}, // 20.1.0+
{27, nullptr, "Unknown27"}, // 20.1.0+
{28, nullptr, "Unknown28"}, // 20.1.0+
{29, nullptr, "Unknown29"}, // 20.1.0+
{30, nullptr, "Unknown30"}, // 20.1.0+
};
// clang-format on

View file

@ -38,6 +38,13 @@ IOperationModeManager::IOperationModeManager(Core::System& system_)
{26, nullptr, "GetOperationModeSystemInfo"},
{27, nullptr, "GetAppletFullAwakingSystemEvent"},
{28, nullptr, "CreateCradleFirmwareUpdater"},
{29, nullptr, "GetCradleStatusChangeEvent"}, // 19.0.0+
{40, nullptr, "Unknown40"}, // 20.0.0+
{41, nullptr, "Unknown41"}, // 20.0.0+
{50, nullptr, "Unknown50"}, // 20.1.0+
{500, nullptr, "LblSwitchBacklightOnForAm"}, // 14.0.0+
{501, nullptr, "LblSwitchBacklightOffForAm"}, // 14.0.0+
{900, nullptr, "HideStartupLogo"} // 14.0.0+
};
// clang-format on

View file

@ -27,6 +27,7 @@ public:
{2, &IPsmSession::SetChargerTypeChangeEventEnabled, "SetChargerTypeChangeEventEnabled"},
{3, &IPsmSession::SetPowerSupplyChangeEventEnabled, "SetPowerSupplyChangeEventEnabled"},
{4, &IPsmSession::SetBatteryVoltageStateChangeEventEnabled, "SetBatteryVoltageStateChangeEventEnabled"},
{5, nullptr, "Unknown5"}, // 20.0.0+
};
// clang-format on
@ -141,6 +142,12 @@ PSM::PSM(Core::System& system_) : ServiceFramework{system_, "psm"} {
{16, nullptr, "GetBatteryChargeInfoEvent"},
{17, nullptr, "GetBatteryChargeInfoFields"},
{18, nullptr, "GetBatteryChargeCalibratedEvent"},
{19, nullptr, "Unknown19"}, // 18.0.0+
{20, nullptr, "Unknown20"}, // 18.0.0+
{21, nullptr, "Unknown21"}, // 19.0.0-19.0.1
{22, nullptr, "Unknown22"}, // 19.0.0+
{23, nullptr, "Unknown23"}, // 19.0.0+
{24, nullptr, "Unknown24"} // 20.0.0+
};
// clang-format on