forked from eden-emu/eden
Compare commits
6 commits
Author | SHA1 | Date | |
---|---|---|---|
63a82fe2fb | |||
0d746d446a | |||
d250421904 | |||
9450fbf04e | |||
46d11eaeaf | |||
233b6801aa |
77 changed files with 988 additions and 251 deletions
|
@ -17,6 +17,7 @@ struct CNMTHeader;
|
||||||
struct OptionalHeader;
|
struct OptionalHeader;
|
||||||
|
|
||||||
enum class TitleType : u8 {
|
enum class TitleType : u8 {
|
||||||
|
Invalid = 0x00,
|
||||||
SystemProgram = 0x01,
|
SystemProgram = 0x01,
|
||||||
SystemDataArchive = 0x02,
|
SystemDataArchive = 0x02,
|
||||||
SystemUpdate = 0x03,
|
SystemUpdate = 0x03,
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
namespace FileSys::SystemArchive {
|
namespace FileSys::SystemArchive {
|
||||||
|
|
||||||
constexpr u64 SYSTEM_ARCHIVE_BASE_TITLE_ID = 0x0100000000000800;
|
constexpr u64 SYSTEM_ARCHIVE_BASE_TITLE_ID = 0x0100000000000800;
|
||||||
constexpr std::size_t SYSTEM_ARCHIVE_COUNT = 0x28;
|
constexpr std::size_t SYSTEM_ARCHIVE_COUNT = 0x30;
|
||||||
|
|
||||||
using SystemArchiveSupplier = VirtualDir (*)();
|
using SystemArchiveSupplier = VirtualDir (*)();
|
||||||
|
|
||||||
|
@ -64,6 +64,14 @@ constexpr std::array<SystemArchiveDescriptor, SYSTEM_ARCHIVE_COUNT> SYSTEM_ARCHI
|
||||||
{0x0100000000000825, "ApplicationBlackList", nullptr},
|
{0x0100000000000825, "ApplicationBlackList", nullptr},
|
||||||
{0x0100000000000826, "RebootlessSystemUpdateVersion", nullptr},
|
{0x0100000000000826, "RebootlessSystemUpdateVersion", nullptr},
|
||||||
{0x0100000000000827, "ContentActionTable", nullptr},
|
{0x0100000000000827, "ContentActionTable", nullptr},
|
||||||
|
{0x0100000000000828, "FunctionBlackList", nullptr},
|
||||||
|
{0x0100000000000829, "PlatformConfigCalcio", nullptr},
|
||||||
|
{0x0100000000000830, "NgWordT", nullptr},
|
||||||
|
{0x0100000000000831, "PlatformConfigAula", nullptr},
|
||||||
|
{0x0100000000000832, "CradleFirmware", nullptr},
|
||||||
|
{0x0100000000000835, "ErrorMessageUtf8", nullptr},
|
||||||
|
{0x0100000000000859, "Unknown859", nullptr}, // 20.0.0+
|
||||||
|
{0x010000000000085C, "Unknown85C", nullptr}, // 20.0.0+
|
||||||
}};
|
}};
|
||||||
|
|
||||||
VirtualFile SynthesizeSystemArchive(const u64 title_id) {
|
VirtualFile SynthesizeSystemArchive(const u64 title_id) {
|
||||||
|
|
|
@ -153,7 +153,8 @@ enum class InfoType : u32 {
|
||||||
ThreadTickCount = 25,
|
ThreadTickCount = 25,
|
||||||
IsSvcPermitted = 26,
|
IsSvcPermitted = 26,
|
||||||
IoRegionHint = 27,
|
IoRegionHint = 27,
|
||||||
AliasRegionExtraSize = 28,
|
AliasRegionExtraSize = 28,
|
||||||
|
TransferMemoryHint = 34,
|
||||||
|
|
||||||
MesosphereMeta = 65000,
|
MesosphereMeta = 65000,
|
||||||
MesosphereCurrentProcess = 65001,
|
MesosphereCurrentProcess = 65001,
|
||||||
|
@ -643,6 +644,9 @@ enum class CreateProcessFlag : u32 {
|
||||||
// 11.x+ DisableDeviceAddressSpaceMerge.
|
// 11.x+ DisableDeviceAddressSpaceMerge.
|
||||||
DisableDeviceAddressSpaceMerge = (1 << 12),
|
DisableDeviceAddressSpaceMerge = (1 << 12),
|
||||||
|
|
||||||
|
EnableAliasRegionExtraSize = (1 << 13),
|
||||||
|
PreventCodeReads = (1 << 14),
|
||||||
|
|
||||||
// Mask of all flags.
|
// Mask of all flags.
|
||||||
All = Is64Bit | AddressSpaceMask | EnableDebug | EnableAslr | IsApplication |
|
All = Is64Bit | AddressSpaceMask | EnableDebug | EnableAslr | IsApplication |
|
||||||
PoolPartitionMask | OptimizeMemoryAllocation | DisableDeviceAddressSpaceMerge,
|
PoolPartitionMask | OptimizeMemoryAllocation | DisableDeviceAddressSpaceMerge,
|
||||||
|
|
|
@ -107,7 +107,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
|
||||||
|
|
||||||
|
@ -197,6 +199,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"},
|
||||||
|
@ -308,6 +316,7 @@ public:
|
||||||
{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
|
||||||
|
|
||||||
|
@ -340,9 +349,9 @@ public:
|
||||||
{1, &IProfileCommon::GetBase, "GetBase"},
|
{1, &IProfileCommon::GetBase, "GetBase"},
|
||||||
{10, &IProfileCommon::GetImageSize, "GetImageSize"},
|
{10, &IProfileCommon::GetImageSize, "GetImageSize"},
|
||||||
{11, &IProfileCommon::LoadImage, "LoadImage"},
|
{11, &IProfileCommon::LoadImage, "LoadImage"},
|
||||||
{20, &IProfileCommon::Unknown20, "Unknown20"},
|
{20, &IProfileCommon::GetLargeImageSize, "GetLargeImageSize"},
|
||||||
{21, &IProfileCommon::Unknown21, "Unknown21"},
|
{21, &IProfileCommon::LoadLargeImage, "LoadLargeImage"},
|
||||||
{30, &IProfileCommon::Unknown30, "Unknown30"}
|
{30, &IProfileCommon::GetImageId, "GetImageId"}
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
|
@ -352,7 +361,7 @@ public:
|
||||||
static const FunctionInfo editor_functions[] = {
|
static const FunctionInfo editor_functions[] = {
|
||||||
{100, &IProfileCommon::Store, "Store"},
|
{100, &IProfileCommon::Store, "Store"},
|
||||||
{101, &IProfileCommon::StoreWithImage, "StoreWithImage"},
|
{101, &IProfileCommon::StoreWithImage, "StoreWithImage"},
|
||||||
{110, &IProfileCommon::Unknown110, "Unknown110"}
|
{110, &IProfileCommon::StoreWithLargeImage, "StoreWithLargeImage"}
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
@ -361,7 +370,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void Unknown20(HLERequestContext& ctx) {
|
void GetLargeImageSize(HLERequestContext& ctx) {
|
||||||
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
||||||
|
|
||||||
// TODO (jarrodnorwell)
|
// TODO (jarrodnorwell)
|
||||||
|
@ -371,7 +380,7 @@ protected:
|
||||||
rb.Push(ResultSuccess);
|
rb.Push(ResultSuccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unknown21(HLERequestContext& ctx) {
|
void LoadLargeImage(HLERequestContext& ctx) {
|
||||||
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
||||||
|
|
||||||
// TODO (jarrodnorwell)
|
// TODO (jarrodnorwell)
|
||||||
|
@ -381,7 +390,7 @@ protected:
|
||||||
rb.Push(ResultSuccess);
|
rb.Push(ResultSuccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unknown30(HLERequestContext& ctx) {
|
void GetImageId(HLERequestContext& ctx) {
|
||||||
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
||||||
|
|
||||||
// TODO (jarrodnorwell)
|
// TODO (jarrodnorwell)
|
||||||
|
@ -391,7 +400,7 @@ protected:
|
||||||
rb.Push(ResultSuccess);
|
rb.Push(ResultSuccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unknown110(HLERequestContext& ctx) {
|
void StoreWithLargeImage(HLERequestContext& ctx) {
|
||||||
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
||||||
|
|
||||||
// TODO (jarrodnorwell)
|
// TODO (jarrodnorwell)
|
||||||
|
@ -763,7 +772,7 @@ 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+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -56,15 +56,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"},
|
||||||
|
|
|
@ -19,6 +19,7 @@ ACC_U0::ACC_U0(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
|
||||||
{6, nullptr, "GetProfileDigest"}, // 3.0.0+
|
{6, nullptr, "GetProfileDigest"}, // 3.0.0+
|
||||||
{50, &ACC_U0::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
|
{50, &ACC_U0::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
|
||||||
{51, &ACC_U0::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"},
|
{51, &ACC_U0::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"},
|
||||||
|
{52, nullptr, "TrySelectUserWithoutInteraction"}, // 19.0.0+
|
||||||
{60, &ACC_U0::ListOpenContextStoredUsers, "ListOpenContextStoredUsers"}, // 5.0.0 - 5.1.0
|
{60, &ACC_U0::ListOpenContextStoredUsers, "ListOpenContextStoredUsers"}, // 5.0.0 - 5.1.0
|
||||||
{99, nullptr, "DebugActivateOpenContextRetention"}, // 6.0.0+
|
{99, nullptr, "DebugActivateOpenContextRetention"}, // 6.0.0+
|
||||||
{100, &ACC_U0::InitializeApplicationInfo, "InitializeApplicationInfo"},
|
{100, &ACC_U0::InitializeApplicationInfo, "InitializeApplicationInfo"},
|
||||||
|
|
|
@ -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"},
|
||||||
|
|
|
@ -90,6 +90,7 @@ enum class AppletId : u32 {
|
||||||
LoginShare = 0x18,
|
LoginShare = 0x18,
|
||||||
WebAuth = 0x19,
|
WebAuth = 0x19,
|
||||||
MyPage = 0x1A,
|
MyPage = 0x1A,
|
||||||
|
Splay = 0x64,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class AppletProgramId : u64 {
|
enum class AppletProgramId : u64 {
|
||||||
|
@ -114,6 +115,7 @@ enum class AppletProgramId : u64 {
|
||||||
Starter = 0x0100000000001012ull,
|
Starter = 0x0100000000001012ull,
|
||||||
MyPage = 0x0100000000001013ull,
|
MyPage = 0x0100000000001013ull,
|
||||||
MaxProgramId = 0x0100000000001FFFull,
|
MaxProgramId = 0x0100000000001FFFull,
|
||||||
|
Splay = 0x0100000000001048ull,
|
||||||
};
|
};
|
||||||
|
|
||||||
// This is nn::am::AppletMessage
|
// This is nn::am::AppletMessage
|
||||||
|
|
|
@ -12,7 +12,7 @@ Applet::Applet(Core::System& system, std::unique_ptr<Process> process_, bool is_
|
||||||
process(std::move(process_)), hid_registration(system, *process),
|
process(std::move(process_)), hid_registration(system, *process),
|
||||||
gpu_error_detected_event(context), friend_invitation_storage_channel_event(context),
|
gpu_error_detected_event(context), friend_invitation_storage_channel_event(context),
|
||||||
notification_storage_channel_event(context), health_warning_disappeared_system_event(context),
|
notification_storage_channel_event(context), health_warning_disappeared_system_event(context),
|
||||||
acquired_sleep_lock_event(context), pop_from_general_channel_event(context),
|
unkown210_event(context), acquired_sleep_lock_event(context), pop_from_general_channel_event(context),
|
||||||
library_applet_launchable_event(context), accumulated_suspended_tick_changed_event(context),
|
library_applet_launchable_event(context), accumulated_suspended_tick_changed_event(context),
|
||||||
sleep_lock_event(context), state_changed_event(context) {
|
sleep_lock_event(context), state_changed_event(context) {
|
||||||
|
|
||||||
|
|
|
@ -119,6 +119,7 @@ struct Applet {
|
||||||
Event friend_invitation_storage_channel_event;
|
Event friend_invitation_storage_channel_event;
|
||||||
Event notification_storage_channel_event;
|
Event notification_storage_channel_event;
|
||||||
Event health_warning_disappeared_system_event;
|
Event health_warning_disappeared_system_event;
|
||||||
|
Event unkown210_event;
|
||||||
Event acquired_sleep_lock_event;
|
Event acquired_sleep_lock_event;
|
||||||
Event pop_from_general_channel_event;
|
Event pop_from_general_channel_event;
|
||||||
Event library_applet_launchable_event;
|
Event library_applet_launchable_event;
|
||||||
|
|
|
@ -18,6 +18,7 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{100, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxy>, "OpenSystemAppletProxy"},
|
{100, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxy>, "OpenSystemAppletProxy"},
|
||||||
|
{110, D<&IAllSystemAppletProxiesService::Unknown110>, "Unknown110"}, // 20.0.0+
|
||||||
{200, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxyOld>, "OpenLibraryAppletProxyOld"},
|
{200, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxyOld>, "OpenLibraryAppletProxyOld"},
|
||||||
{201, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxy>, "OpenLibraryAppletProxy"},
|
{201, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxy>, "OpenLibraryAppletProxy"},
|
||||||
{300, nullptr, "OpenOverlayAppletProxy"},
|
{300, nullptr, "OpenOverlayAppletProxy"},
|
||||||
|
@ -25,6 +26,7 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
|
||||||
{400, nullptr, "CreateSelfLibraryAppletCreatorForDevelop"},
|
{400, nullptr, "CreateSelfLibraryAppletCreatorForDevelop"},
|
||||||
{410, nullptr, "GetSystemAppletControllerForDebug"},
|
{410, nullptr, "GetSystemAppletControllerForDebug"},
|
||||||
{450, D<&IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions>, "GetSystemProcessCommonFunctions"}, // 19.0.0+
|
{450, D<&IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions>, "GetSystemProcessCommonFunctions"}, // 19.0.0+
|
||||||
|
{460, D<&IAllSystemAppletProxiesService::Unknown460>, "Unknown460"}, // 20.0.0+
|
||||||
{1000, nullptr, "GetDebugFunctions"},
|
{1000, nullptr, "GetDebugFunctions"},
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
@ -49,6 +51,26 @@ Result IAllSystemAppletProxiesService::OpenSystemAppletProxy(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result IAllSystemAppletProxiesService::Unknown110(
|
||||||
|
Out<SharedPointer<ISystemAppletProxy>> out_proxy, ClientProcessId pid) {
|
||||||
|
LOG_DEBUG(Service_AM, "called");
|
||||||
|
|
||||||
|
auto process = system.ApplicationProcess();
|
||||||
|
if (!process) {
|
||||||
|
LOG_ERROR(Service_AM, "No application process available");
|
||||||
|
R_THROW(ResultUnknown);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (const auto applet = GetAppletFromProcessId(pid)) {
|
||||||
|
*out_proxy = std::make_shared<ISystemAppletProxy>(
|
||||||
|
system, applet, process, m_window_system);
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
LOG_ERROR(Service_AM, "Applet not found for pid={}", pid.pid);
|
||||||
|
R_THROW(ResultUnknown);
|
||||||
|
}
|
||||||
|
|
||||||
Result IAllSystemAppletProxiesService::OpenLibraryAppletProxy(
|
Result IAllSystemAppletProxiesService::OpenLibraryAppletProxy(
|
||||||
Out<SharedPointer<ILibraryAppletProxy>> out_library_applet_proxy, ClientProcessId pid,
|
Out<SharedPointer<ILibraryAppletProxy>> out_library_applet_proxy, ClientProcessId pid,
|
||||||
InCopyHandle<Kernel::KProcess> process_handle,
|
InCopyHandle<Kernel::KProcess> process_handle,
|
||||||
|
@ -99,6 +121,11 @@ Result IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions() {
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result IAllSystemAppletProxiesService::Unknown460() {
|
||||||
|
LOG_DEBUG(Service_AM, "(STUBBED) called.");
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
std::shared_ptr<Applet> IAllSystemAppletProxiesService::GetAppletFromProcessId(
|
std::shared_ptr<Applet> IAllSystemAppletProxiesService::GetAppletFromProcessId(
|
||||||
ProcessId process_id) {
|
ProcessId process_id) {
|
||||||
return m_window_system.GetByAppletResourceUserId(process_id.pid);
|
return m_window_system.GetByAppletResourceUserId(process_id.pid);
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
#include "core/hle/service/cmif_types.h"
|
#include "core/hle/service/cmif_types.h"
|
||||||
#include "core/hle/service/service.h"
|
#include "core/hle/service/service.h"
|
||||||
|
#include "core/hle/service/am/service/applet_common_functions.h"
|
||||||
|
|
||||||
namespace Service {
|
namespace Service {
|
||||||
|
|
||||||
|
@ -27,6 +28,7 @@ private:
|
||||||
Result OpenSystemAppletProxy(Out<SharedPointer<ISystemAppletProxy>> out_system_applet_proxy,
|
Result OpenSystemAppletProxy(Out<SharedPointer<ISystemAppletProxy>> out_system_applet_proxy,
|
||||||
ClientProcessId pid,
|
ClientProcessId pid,
|
||||||
InCopyHandle<Kernel::KProcess> process_handle);
|
InCopyHandle<Kernel::KProcess> process_handle);
|
||||||
|
Result Unknown110(Out<SharedPointer<ISystemAppletProxy>> out_proxy, ClientProcessId pid);
|
||||||
Result OpenLibraryAppletProxy(Out<SharedPointer<ILibraryAppletProxy>> out_library_applet_proxy,
|
Result OpenLibraryAppletProxy(Out<SharedPointer<ILibraryAppletProxy>> out_library_applet_proxy,
|
||||||
ClientProcessId pid,
|
ClientProcessId pid,
|
||||||
InCopyHandle<Kernel::KProcess> process_handle,
|
InCopyHandle<Kernel::KProcess> process_handle,
|
||||||
|
@ -39,6 +41,7 @@ private:
|
||||||
InCopyHandle<Kernel::KProcess> process_handle,
|
InCopyHandle<Kernel::KProcess> process_handle,
|
||||||
InLargeData<AppletAttribute, BufferAttr_HipcMapAlias> attribute);
|
InLargeData<AppletAttribute, BufferAttr_HipcMapAlias> attribute);
|
||||||
Result GetSystemProcessCommonFunctions();
|
Result GetSystemProcessCommonFunctions();
|
||||||
|
Result Unknown460();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<Applet> GetAppletFromProcessId(ProcessId pid);
|
std::shared_ptr<Applet> GetAppletFromProcessId(ProcessId pid);
|
||||||
|
|
|
@ -31,10 +31,20 @@ IAppletCommonFunctions::IAppletCommonFunctions(Core::System& system_,
|
||||||
{90, nullptr, "OpenNamedChannelAsParent"},
|
{90, nullptr, "OpenNamedChannelAsParent"},
|
||||||
{91, nullptr, "OpenNamedChannelAsChild"},
|
{91, nullptr, "OpenNamedChannelAsChild"},
|
||||||
{100, nullptr, "SetApplicationCoreUsageMode"},
|
{100, nullptr, "SetApplicationCoreUsageMode"},
|
||||||
|
{160, nullptr, "GetNotificationReceiverService"}, // 18.0.0+
|
||||||
|
{161, nullptr, "GetNotificationSenderService"}, // 18.0.0+
|
||||||
{300, D<&IAppletCommonFunctions::GetCurrentApplicationId>, "GetCurrentApplicationId"},
|
{300, D<&IAppletCommonFunctions::GetCurrentApplicationId>, "GetCurrentApplicationId"},
|
||||||
{310, nullptr, "IsSystemAppletHomeMenu"}, //19.0.0+
|
{310, nullptr, "IsSystemAppletHomeMenu"}, // 19.0.0+
|
||||||
{320, nullptr, "SetGpuTimeSliceBoost"}, //19.0.0+
|
{311, nullptr, "Unknown311"}, // 20.0.0+
|
||||||
{321, nullptr, "SetGpuTimeSliceBoostDueToApplication"}, //19.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
|
// clang-format on
|
||||||
|
|
||||||
|
@ -70,4 +80,12 @@ Result IAppletCommonFunctions::GetCurrentApplicationId(Out<u64> out_application_
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result IAppletCommonFunctions::Unknown350(Out<u16> out_unknown) {
|
||||||
|
LOG_WARNING(Service_AM, "(STUBBED) called");
|
||||||
|
|
||||||
|
*out_unknown = 0;
|
||||||
|
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Service::AM
|
} // namespace Service::AM
|
||||||
|
|
|
@ -20,6 +20,7 @@ private:
|
||||||
Result GetHomeButtonDoubleClickEnabled(Out<bool> out_home_button_double_click_enabled);
|
Result GetHomeButtonDoubleClickEnabled(Out<bool> out_home_button_double_click_enabled);
|
||||||
Result SetCpuBoostRequestPriority(s32 priority);
|
Result SetCpuBoostRequestPriority(s32 priority);
|
||||||
Result GetCurrentApplicationId(Out<u64> out_application_id);
|
Result GetCurrentApplicationId(Out<u64> out_application_id);
|
||||||
|
Result Unknown350(Out<u16> out_unknown);
|
||||||
|
|
||||||
const std::shared_ptr<Applet> applet;
|
const std::shared_ptr<Applet> applet;
|
||||||
};
|
};
|
||||||
|
|
|
@ -47,6 +47,8 @@ IApplicationAccessor::IApplicationAccessor(Core::System& system_, std::shared_pt
|
||||||
{190, nullptr, "PushToNotificationStorageChannel"},
|
{190, nullptr, "PushToNotificationStorageChannel"},
|
||||||
{200, nullptr, "RequestApplicationSoftReset"},
|
{200, nullptr, "RequestApplicationSoftReset"},
|
||||||
{201, nullptr, "RestartApplicationTimer"},
|
{201, nullptr, "RestartApplicationTimer"},
|
||||||
|
{300, nullptr, "Unknown300"}, // 20.0.0+
|
||||||
|
{301, nullptr, "Unknown301"} // 20.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -68,6 +68,8 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_, std::shared_
|
||||||
{102, D<&IApplicationFunctions::SetApplicationCopyrightVisibility>, "SetApplicationCopyrightVisibility"},
|
{102, D<&IApplicationFunctions::SetApplicationCopyrightVisibility>, "SetApplicationCopyrightVisibility"},
|
||||||
{110, D<&IApplicationFunctions::QueryApplicationPlayStatistics>, "QueryApplicationPlayStatistics"},
|
{110, D<&IApplicationFunctions::QueryApplicationPlayStatistics>, "QueryApplicationPlayStatistics"},
|
||||||
{111, D<&IApplicationFunctions::QueryApplicationPlayStatisticsByUid>, "QueryApplicationPlayStatisticsByUid"},
|
{111, D<&IApplicationFunctions::QueryApplicationPlayStatisticsByUid>, "QueryApplicationPlayStatisticsByUid"},
|
||||||
|
{112, nullptr, "Unknown112"}, //20.0.0+
|
||||||
|
{113, nullptr, "Unknown113"}, //20.0.0+
|
||||||
{120, D<&IApplicationFunctions::ExecuteProgram>, "ExecuteProgram"},
|
{120, D<&IApplicationFunctions::ExecuteProgram>, "ExecuteProgram"},
|
||||||
{121, D<&IApplicationFunctions::ClearUserChannel>, "ClearUserChannel"},
|
{121, D<&IApplicationFunctions::ClearUserChannel>, "ClearUserChannel"},
|
||||||
{122, D<&IApplicationFunctions::UnpopToUserChannel>, "UnpopToUserChannel"},
|
{122, D<&IApplicationFunctions::UnpopToUserChannel>, "UnpopToUserChannel"},
|
||||||
|
@ -85,6 +87,11 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_, std::shared_
|
||||||
{181, nullptr, "UpgradeLaunchRequiredVersion"},
|
{181, nullptr, "UpgradeLaunchRequiredVersion"},
|
||||||
{190, nullptr, "SendServerMaintenanceOverlayNotification"},
|
{190, nullptr, "SendServerMaintenanceOverlayNotification"},
|
||||||
{200, nullptr, "GetLastApplicationExitReason"},
|
{200, nullptr, "GetLastApplicationExitReason"},
|
||||||
|
{210, D<&IApplicationFunctions::Unknown210>, "Unknown210"}, //20.0.0+
|
||||||
|
{220, nullptr, "Unknown220"}, //20.0.0+
|
||||||
|
{300, nullptr, "CreateMovieWriter"}, //19.0.0+
|
||||||
|
{310, nullptr, "Unknown310"}, //20.0.0+
|
||||||
|
{320, nullptr, "Unknown320"}, //20.0.0+
|
||||||
{500, nullptr, "StartContinuousRecordingFlushForDebug"},
|
{500, nullptr, "StartContinuousRecordingFlushForDebug"},
|
||||||
{1000, nullptr, "CreateMovieMaker"},
|
{1000, nullptr, "CreateMovieMaker"},
|
||||||
{1001, D<&IApplicationFunctions::PrepareForJit>, "PrepareForJit"},
|
{1001, D<&IApplicationFunctions::PrepareForJit>, "PrepareForJit"},
|
||||||
|
@ -474,6 +481,13 @@ Result IApplicationFunctions::GetHealthWarningDisappearedSystemEvent(
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result IApplicationFunctions::Unknown210(
|
||||||
|
OutCopyHandle<Kernel::KReadableEvent> out_event) {
|
||||||
|
LOG_DEBUG(Service_AM, "called");
|
||||||
|
*out_event = m_applet->unkown210_event.GetHandle();
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
Result IApplicationFunctions::PrepareForJit() {
|
Result IApplicationFunctions::PrepareForJit() {
|
||||||
LOG_WARNING(Service_AM, "(STUBBED) called");
|
LOG_WARNING(Service_AM, "(STUBBED) called");
|
||||||
|
|
||||||
|
|
|
@ -76,6 +76,7 @@ private:
|
||||||
Result TryPopFromFriendInvitationStorageChannel(Out<SharedPointer<IStorage>> out_storage);
|
Result TryPopFromFriendInvitationStorageChannel(Out<SharedPointer<IStorage>> out_storage);
|
||||||
Result GetNotificationStorageChannelEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
Result GetNotificationStorageChannelEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||||
Result GetHealthWarningDisappearedSystemEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
Result GetHealthWarningDisappearedSystemEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||||
|
Result Unknown210(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||||
Result PrepareForJit();
|
Result PrepareForJit();
|
||||||
|
|
||||||
const std::shared_ptr<Applet> m_applet;
|
const std::shared_ptr<Applet> m_applet;
|
||||||
|
|
|
@ -15,6 +15,7 @@ IAudioController::IAudioController(Core::System& system_)
|
||||||
{2, D<&IAudioController::GetLibraryAppletExpectedMasterVolume>, "GetLibraryAppletExpectedMasterVolume"},
|
{2, D<&IAudioController::GetLibraryAppletExpectedMasterVolume>, "GetLibraryAppletExpectedMasterVolume"},
|
||||||
{3, D<&IAudioController::ChangeMainAppletMasterVolume>, "ChangeMainAppletMasterVolume"},
|
{3, D<&IAudioController::ChangeMainAppletMasterVolume>, "ChangeMainAppletMasterVolume"},
|
||||||
{4, D<&IAudioController::SetTransparentVolumeRate>, "SetTransparentVolumeRate"},
|
{4, D<&IAudioController::SetTransparentVolumeRate>, "SetTransparentVolumeRate"},
|
||||||
|
{5, nullptr, "Unknown5"}, //20.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ ICommonStateGetter::ICommonStateGetter(Core::System& system_, std::shared_ptr<Ap
|
||||||
{12, nullptr, "ReleaseSleepLockTransiently"},
|
{12, nullptr, "ReleaseSleepLockTransiently"},
|
||||||
{13, D<&ICommonStateGetter::GetAcquiredSleepLockEvent>, "GetAcquiredSleepLockEvent"},
|
{13, D<&ICommonStateGetter::GetAcquiredSleepLockEvent>, "GetAcquiredSleepLockEvent"},
|
||||||
{14, nullptr, "GetWakeupCount"},
|
{14, nullptr, "GetWakeupCount"},
|
||||||
|
{15, nullptr, "Unknown15"}, //19.0.0+
|
||||||
{20, nullptr, "PushToGeneralChannel"},
|
{20, nullptr, "PushToGeneralChannel"},
|
||||||
{30, nullptr, "GetHomeButtonReaderLockAccessor"},
|
{30, nullptr, "GetHomeButtonReaderLockAccessor"},
|
||||||
{31, D<&ICommonStateGetter::GetReaderLockAccessorEx>, "GetReaderLockAccessorEx"},
|
{31, D<&ICommonStateGetter::GetReaderLockAccessorEx>, "GetReaderLockAccessorEx"},
|
||||||
|
@ -69,7 +70,11 @@ ICommonStateGetter::ICommonStateGetter(Core::System& system_, std::shared_ptr<Ap
|
||||||
{501, nullptr, "SuppressDisablingSleepTemporarily"},
|
{501, nullptr, "SuppressDisablingSleepTemporarily"},
|
||||||
{502, nullptr, "IsSleepEnabled"},
|
{502, nullptr, "IsSleepEnabled"},
|
||||||
{503, nullptr, "IsDisablingSleepSuppressed"},
|
{503, nullptr, "IsDisablingSleepSuppressed"},
|
||||||
|
{600, nullptr, "OpenNamedChannelAsChild"}, //20.0.0+ (17.0.0-18.1.0)
|
||||||
{900, D<&ICommonStateGetter::SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled>, "SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled"},
|
{900, D<&ICommonStateGetter::SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled>, "SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled"},
|
||||||
|
{1000, nullptr, "BeginVrMode3d"}, //19.0.0+
|
||||||
|
{1001, nullptr, "EndVrMode3d"}, //19.0.0+
|
||||||
|
{1002, nullptr, "IsVrModeEnabled3d"}, //19.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,13 @@ IDebugFunctions::IDebugFunctions(Core::System& system_)
|
||||||
{140, nullptr, "RestrictPowerOperationForSecureLaunchModeForDebug"},
|
{140, nullptr, "RestrictPowerOperationForSecureLaunchModeForDebug"},
|
||||||
{200, nullptr, "CreateFloatingLibraryAppletAccepterForDebug"},
|
{200, nullptr, "CreateFloatingLibraryAppletAccepterForDebug"},
|
||||||
{300, nullptr, "TerminateAllRunningApplicationsForDebug"},
|
{300, nullptr, "TerminateAllRunningApplicationsForDebug"},
|
||||||
|
{410, nullptr, "CreateGeneralStorageForDebug"}, //18.0.0+
|
||||||
|
{411, nullptr, "ReadGeneralStorageForDebug"}, //18.0.0+
|
||||||
|
{412, nullptr, "WriteGeneralStorageForDebug"}, //18.0.0+
|
||||||
|
{430, nullptr, "Unknown430"}, //20.0.0+
|
||||||
|
{431, nullptr, "Unknown431"}, //20.0.0+
|
||||||
{900, nullptr, "GetGrcProcessLaunchedSystemEvent"},
|
{900, nullptr, "GetGrcProcessLaunchedSystemEvent"},
|
||||||
|
{910, nullptr, "Unknown910"}, //20.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,9 @@ ILibraryAppletAccessor::ILibraryAppletAccessor(Core::System& system_,
|
||||||
{30, D<&ILibraryAppletAccessor::GetResult>, "GetResult"},
|
{30, D<&ILibraryAppletAccessor::GetResult>, "GetResult"},
|
||||||
{50, nullptr, "SetOutOfFocusApplicationSuspendingEnabled"},
|
{50, nullptr, "SetOutOfFocusApplicationSuspendingEnabled"},
|
||||||
{60, D<&ILibraryAppletAccessor::PresetLibraryAppletGpuTimeSliceZero>, "PresetLibraryAppletGpuTimeSliceZero"},
|
{60, D<&ILibraryAppletAccessor::PresetLibraryAppletGpuTimeSliceZero>, "PresetLibraryAppletGpuTimeSliceZero"},
|
||||||
|
{80, nullptr, "RequestForLibraryAppletToGetForeground"}, //19.0.0+
|
||||||
|
{81, nullptr, "GetCurrentChildLibraryApplet"}, //19.0.0+
|
||||||
|
{90, nullptr, "Unknown90"}, //20.0.0+
|
||||||
{100, D<&ILibraryAppletAccessor::PushInData>, "PushInData"},
|
{100, D<&ILibraryAppletAccessor::PushInData>, "PushInData"},
|
||||||
{101, D<&ILibraryAppletAccessor::PopOutData>, "PopOutData"},
|
{101, D<&ILibraryAppletAccessor::PopOutData>, "PopOutData"},
|
||||||
{102, nullptr, "PushExtraStorage"},
|
{102, nullptr, "PushExtraStorage"},
|
||||||
|
|
|
@ -113,9 +113,10 @@ std::shared_ptr<ILibraryAppletAccessor> CreateGuestApplet(Core::System& system,
|
||||||
Firmware1700 = 17,
|
Firmware1700 = 17,
|
||||||
Firmware1800 = 18,
|
Firmware1800 = 18,
|
||||||
Firmware1900 = 19,
|
Firmware1900 = 19,
|
||||||
|
Firmware2000 = 20,
|
||||||
};
|
};
|
||||||
|
|
||||||
auto process = CreateProcess(system, program_id, Firmware1400, Firmware1900);
|
auto process = CreateProcess(system, program_id, Firmware1400, Firmware2000);
|
||||||
if (!process) {
|
if (!process) {
|
||||||
// Couldn't initialize the guest process
|
// Couldn't initialize the guest process
|
||||||
return {};
|
return {};
|
||||||
|
@ -173,6 +174,7 @@ ILibraryAppletCreator::ILibraryAppletCreator(Core::System& system_, std::shared_
|
||||||
{0, D<&ILibraryAppletCreator::CreateLibraryApplet>, "CreateLibraryApplet"},
|
{0, D<&ILibraryAppletCreator::CreateLibraryApplet>, "CreateLibraryApplet"},
|
||||||
{1, nullptr, "TerminateAllLibraryApplets"},
|
{1, nullptr, "TerminateAllLibraryApplets"},
|
||||||
{2, nullptr, "AreAnyLibraryAppletsLeft"},
|
{2, nullptr, "AreAnyLibraryAppletsLeft"},
|
||||||
|
{3, D<&ILibraryAppletCreator::CreateLibraryApplet>, "Unknown3"}, // 20.0.0+
|
||||||
{10, D<&ILibraryAppletCreator::CreateStorage>, "CreateStorage"},
|
{10, D<&ILibraryAppletCreator::CreateStorage>, "CreateStorage"},
|
||||||
{11, D<&ILibraryAppletCreator::CreateTransferMemoryStorage>, "CreateTransferMemoryStorage"},
|
{11, D<&ILibraryAppletCreator::CreateTransferMemoryStorage>, "CreateTransferMemoryStorage"},
|
||||||
{12, D<&ILibraryAppletCreator::CreateHandleStorage>, "CreateHandleStorage"},
|
{12, D<&ILibraryAppletCreator::CreateHandleStorage>, "CreateHandleStorage"},
|
||||||
|
|
|
@ -15,7 +15,7 @@ IProcessWindingController::IProcessWindingController(Core::System& system_,
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, D<&IProcessWindingController::GetLaunchReason>, "GetLaunchReason"},
|
{0, D<&IProcessWindingController::GetLaunchReason>, "GetLaunchReason"},
|
||||||
{11, D<&IProcessWindingController::OpenCallingLibraryApplet>, "OpenCallingLibraryApplet"},
|
{11, D<&IProcessWindingController::OpenCallingLibraryApplet>, "OpenCallingLibraryApplet"},
|
||||||
{21, nullptr, "PushContext"},
|
{21, D<&IProcessWindingController::PushContext>, "PushContext"},
|
||||||
{22, nullptr, "PopContext"},
|
{22, nullptr, "PopContext"},
|
||||||
{23, nullptr, "CancelWindingReservation"},
|
{23, nullptr, "CancelWindingReservation"},
|
||||||
{30, nullptr, "WindAndDoReserved"},
|
{30, nullptr, "WindAndDoReserved"},
|
||||||
|
@ -51,4 +51,9 @@ Result IProcessWindingController::OpenCallingLibraryApplet(
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result IProcessWindingController::PushContext() {
|
||||||
|
LOG_WARNING(Service_AM, "(STUBBED) called");
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Service::AM
|
} // namespace Service::AM
|
||||||
|
|
|
@ -21,7 +21,7 @@ private:
|
||||||
Result GetLaunchReason(Out<AppletProcessLaunchReason> out_launch_reason);
|
Result GetLaunchReason(Out<AppletProcessLaunchReason> out_launch_reason);
|
||||||
Result OpenCallingLibraryApplet(
|
Result OpenCallingLibraryApplet(
|
||||||
Out<SharedPointer<ILibraryAppletAccessor>> out_calling_library_applet);
|
Out<SharedPointer<ILibraryAppletAccessor>> out_calling_library_applet);
|
||||||
|
Result PushContext();
|
||||||
const std::shared_ptr<Applet> m_applet;
|
const std::shared_ptr<Applet> m_applet;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,9 @@ ISelfController::ISelfController(Core::System& system_, std::shared_ptr<Applet>
|
||||||
{19, D<&ISelfController::SetAlbumImageOrientation>, "SetAlbumImageOrientation"},
|
{19, D<&ISelfController::SetAlbumImageOrientation>, "SetAlbumImageOrientation"},
|
||||||
{20, nullptr, "SetDesirableKeyboardLayout"},
|
{20, nullptr, "SetDesirableKeyboardLayout"},
|
||||||
{21, nullptr, "GetScreenShotProgramId"},
|
{21, nullptr, "GetScreenShotProgramId"},
|
||||||
|
{22, nullptr, "GetScreenShotAcdIndex"}, //19.0.0+
|
||||||
|
{23, nullptr, "GetScreenShotApparentPlatform"}, //19.0.0+
|
||||||
|
{24, nullptr, "GetScreenShotApplicationProperty"}, //19.0.0+
|
||||||
{40, D<&ISelfController::CreateManagedDisplayLayer>, "CreateManagedDisplayLayer"},
|
{40, D<&ISelfController::CreateManagedDisplayLayer>, "CreateManagedDisplayLayer"},
|
||||||
{41, D<&ISelfController::IsSystemBufferSharingEnabled>, "IsSystemBufferSharingEnabled"},
|
{41, D<&ISelfController::IsSystemBufferSharingEnabled>, "IsSystemBufferSharingEnabled"},
|
||||||
{42, D<&ISelfController::GetSystemSharedLayerHandle>, "GetSystemSharedLayerHandle"},
|
{42, D<&ISelfController::GetSystemSharedLayerHandle>, "GetSystemSharedLayerHandle"},
|
||||||
|
@ -67,6 +70,12 @@ ISelfController::ISelfController(Core::System& system_, std::shared_ptr<Applet>
|
||||||
{110, nullptr, "SetApplicationAlbumUserData"},
|
{110, nullptr, "SetApplicationAlbumUserData"},
|
||||||
{120, D<&ISelfController::SaveCurrentScreenshot>, "SaveCurrentScreenshot"},
|
{120, D<&ISelfController::SaveCurrentScreenshot>, "SaveCurrentScreenshot"},
|
||||||
{130, D<&ISelfController::SetRecordVolumeMuted>, "SetRecordVolumeMuted"},
|
{130, D<&ISelfController::SetRecordVolumeMuted>, "SetRecordVolumeMuted"},
|
||||||
|
{200, nullptr, "Unknown200"}, //20.0.0+
|
||||||
|
{210, nullptr, "Unknown210"}, //20.0.0+
|
||||||
|
{211, nullptr, "Unknown211"}, //20.0.0+
|
||||||
|
{220, nullptr, "Unknown220"}, //20.0.0+
|
||||||
|
{221, nullptr, "Unknown221"}, //20.0.0+
|
||||||
|
{230, D<&ISelfController::Unknown230>, "Unknown230"}, //20.0.0+
|
||||||
{1000, nullptr, "GetDebugStorageChannel"},
|
{1000, nullptr, "GetDebugStorageChannel"},
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
@ -394,6 +403,10 @@ Result ISelfController::SaveCurrentScreenshot(Capture::AlbumReportOption album_r
|
||||||
|
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
Result ISelfController::Unknown230() {
|
||||||
|
LOG_WARNING(Service_AM, "(STUBBED) called - function 230 (0xE6)");
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
Result ISelfController::SetRecordVolumeMuted(bool muted) {
|
Result ISelfController::SetRecordVolumeMuted(bool muted) {
|
||||||
LOG_WARNING(Service_AM, "(STUBBED) called. muted={}", muted);
|
LOG_WARNING(Service_AM, "(STUBBED) called. muted={}", muted);
|
||||||
|
|
|
@ -62,6 +62,7 @@ private:
|
||||||
Result GetAccumulatedSuspendedTickChangedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
Result GetAccumulatedSuspendedTickChangedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||||
Result SetAlbumImageTakenNotificationEnabled(bool enabled);
|
Result SetAlbumImageTakenNotificationEnabled(bool enabled);
|
||||||
Result SaveCurrentScreenshot(Capture::AlbumReportOption album_report_option);
|
Result SaveCurrentScreenshot(Capture::AlbumReportOption album_report_option);
|
||||||
|
Result Unknown230();
|
||||||
Result SetRecordVolumeMuted(bool muted);
|
Result SetRecordVolumeMuted(bool muted);
|
||||||
|
|
||||||
Kernel::KProcess* const m_process;
|
Kernel::KProcess* const m_process;
|
||||||
|
|
|
@ -20,7 +20,7 @@ IAudioController::IAudioController(Core::System& system_)
|
||||||
{3, D<&IAudioController::GetTargetVolumeMax>, "GetTargetVolumeMax"},
|
{3, D<&IAudioController::GetTargetVolumeMax>, "GetTargetVolumeMax"},
|
||||||
{4, nullptr, "IsTargetMute"},
|
{4, nullptr, "IsTargetMute"},
|
||||||
{5, nullptr, "SetTargetMute"},
|
{5, nullptr, "SetTargetMute"},
|
||||||
{6, nullptr, "IsTargetConnected"},
|
{6, nullptr, "IsTargetConnected"}, // [20.0.0+] ([1.0.0-17.0.1] IsTargetConnected)
|
||||||
{7, nullptr, "SetDefaultTarget"},
|
{7, nullptr, "SetDefaultTarget"},
|
||||||
{8, nullptr, "GetDefaultTarget"},
|
{8, nullptr, "GetDefaultTarget"},
|
||||||
{9, D<&IAudioController::GetAudioOutputMode>, "GetAudioOutputMode"},
|
{9, D<&IAudioController::GetAudioOutputMode>, "GetAudioOutputMode"},
|
||||||
|
@ -37,9 +37,9 @@ IAudioController::IAudioController(Core::System& system_)
|
||||||
{20, nullptr, "AcquireAudioOutputDeviceUpdateEventForPlayReport"},
|
{20, nullptr, "AcquireAudioOutputDeviceUpdateEventForPlayReport"},
|
||||||
{21, nullptr, "GetAudioOutputTargetForPlayReport"},
|
{21, nullptr, "GetAudioOutputTargetForPlayReport"},
|
||||||
{22, D<&IAudioController::NotifyHeadphoneVolumeWarningDisplayedEvent>, "NotifyHeadphoneVolumeWarningDisplayedEvent"},
|
{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"},
|
{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"},
|
{26, nullptr, "UpdateHeadphoneSettings"},
|
||||||
{27, nullptr, "SetVolumeMappingTableForDev"},
|
{27, nullptr, "SetVolumeMappingTableForDev"},
|
||||||
{28, nullptr, "GetAudioOutputChannelCountForPlayReport"},
|
{28, nullptr, "GetAudioOutputChannelCountForPlayReport"},
|
||||||
|
@ -54,10 +54,10 @@ IAudioController::IAudioController(Core::System& system_)
|
||||||
{37, nullptr, "SetHearingProtectionSafeguardEnabled"},
|
{37, nullptr, "SetHearingProtectionSafeguardEnabled"},
|
||||||
{38, nullptr, "IsHearingProtectionSafeguardEnabled"},
|
{38, nullptr, "IsHearingProtectionSafeguardEnabled"},
|
||||||
{39, nullptr, "IsHearingProtectionSafeguardMonitoringOutputForDebug"},
|
{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"},
|
{41, nullptr, "SetVolumeButtonLongPressTime"},
|
||||||
{42, nullptr, "SetNativeVolumeForDebug"},
|
{42, nullptr, "SetNativeVolumeForDebug"},
|
||||||
{5000, D<&IAudioController::Unknown5000>, "Unknown5000"},
|
{5000, D<&IAudioController::Unknown5000>, "Unknown5000"}, // 19.0.0+
|
||||||
{10000, nullptr, "NotifyAudioOutputTargetForPlayReport"},
|
{10000, nullptr, "NotifyAudioOutputTargetForPlayReport"},
|
||||||
{10001, nullptr, "NotifyAudioOutputChannelCountForPlayReport"},
|
{10001, nullptr, "NotifyAudioOutputChannelCountForPlayReport"},
|
||||||
{10002, nullptr, "NotifyUnsupportedUsbOutputDeviceAttachedForPlayReport"},
|
{10002, nullptr, "NotifyUnsupportedUsbOutputDeviceAttachedForPlayReport"},
|
||||||
|
@ -68,6 +68,7 @@ IAudioController::IAudioController(Core::System& system_)
|
||||||
{10104, nullptr, "GetAudioOutputChannelCountForPlayReport"},
|
{10104, nullptr, "GetAudioOutputChannelCountForPlayReport"},
|
||||||
{10105, nullptr, "BindAudioOutputChannelCountUpdateEventForPlayReport"},
|
{10105, nullptr, "BindAudioOutputChannelCountUpdateEventForPlayReport"},
|
||||||
{10106, nullptr, "GetDefaultAudioOutputTargetForPlayReport"},
|
{10106, nullptr, "GetDefaultAudioOutputTargetForPlayReport"},
|
||||||
|
{10200, nullptr, "Unknown10200"}, // 20.0.0+
|
||||||
{50000, nullptr, "SetAnalogInputBoostGainForPrototyping"},
|
{50000, nullptr, "SetAnalogInputBoostGainForPrototyping"},
|
||||||
{50001, nullptr, "OverrideDefaultTargetForDebug"},
|
{50001, nullptr, "OverrideDefaultTargetForDebug"},
|
||||||
{50003, nullptr, "SetForceOverrideExternalDeviceNameForDebug"},
|
{50003, nullptr, "SetForceOverrideExternalDeviceNameForDebug"},
|
||||||
|
|
|
@ -49,12 +49,12 @@ IBcatService::IBcatService(Core::System& system_, BcatBackend& backend_)
|
||||||
{30210, nullptr, "SetDeliveryTaskTimer"},
|
{30210, nullptr, "SetDeliveryTaskTimer"},
|
||||||
{30300, D<&IBcatService::RegisterSystemApplicationDeliveryTasks>, "RegisterSystemApplicationDeliveryTasks"},
|
{30300, D<&IBcatService::RegisterSystemApplicationDeliveryTasks>, "RegisterSystemApplicationDeliveryTasks"},
|
||||||
{90100, nullptr, "EnumerateBackgroundDeliveryTask"},
|
{90100, nullptr, "EnumerateBackgroundDeliveryTask"},
|
||||||
{90101, nullptr, "Unknown90101"},
|
{90101, nullptr, "GetDeliveryTaskListForSystem"},
|
||||||
{90200, nullptr, "GetDeliveryList"},
|
{90200, nullptr, "GetDeliveryList"},
|
||||||
{90201, D<&IBcatService::ClearDeliveryCacheStorage>, "ClearDeliveryCacheStorage"},
|
{90201, D<&IBcatService::ClearDeliveryCacheStorage>, "ClearDeliveryCacheStorage"},
|
||||||
{90202, nullptr, "ClearDeliveryTaskSubscriptionStatus"},
|
{90202, nullptr, "ClearDeliveryTaskSubscriptionStatus"},
|
||||||
{90300, nullptr, "GetPushNotificationLog"},
|
{90300, nullptr, "GetPushNotificationLog"},
|
||||||
{90301, nullptr, "Unknown90301"},
|
{90301, nullptr, "GetDeliveryCacheStorageUsage"},
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
|
|
|
@ -33,15 +33,32 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_,
|
||||||
{15, nullptr, "GetAlbumUsage3"},
|
{15, nullptr, "GetAlbumUsage3"},
|
||||||
{16, nullptr, "GetAlbumMountResult"},
|
{16, nullptr, "GetAlbumMountResult"},
|
||||||
{17, nullptr, "GetAlbumUsage16"},
|
{17, nullptr, "GetAlbumUsage16"},
|
||||||
{18, C<&IAlbumAccessorService::Unknown18>, "Unknown18"},
|
{18, C<&IAlbumAccessorService::GetAppletProgramIdTable>, "GetAppletProgramIdTable"},
|
||||||
{19, nullptr, "Unknown19"},
|
{19, nullptr, "GetAlbumFileName"},
|
||||||
|
{20, nullptr, "Unknown20"}, // 20.0.0+
|
||||||
{100, nullptr, "GetAlbumFileCountEx0"},
|
{100, nullptr, "GetAlbumFileCountEx0"},
|
||||||
{101, C<&IAlbumAccessorService::GetAlbumFileListEx0>, "GetAlbumFileListEx0"},
|
{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"},
|
{202, nullptr, "SaveEditedScreenShot"},
|
||||||
{301, nullptr, "GetLastThumbnail"},
|
{301, nullptr, "GetLastThumbnail"},
|
||||||
{302, nullptr, "GetLastOverlayMovieThumbnail"},
|
{302, nullptr, "GetLastOverlayMovieThumbnail"},
|
||||||
{401, C<&IAlbumAccessorService::GetAutoSavingStorage>, "GetAutoSavingStorage"},
|
{401, C<&IAlbumAccessorService::GetAutoSavingStorage>, "GetAutoSavingStorage"},
|
||||||
{501, nullptr, "GetRequiredStorageSpaceSizeToCopyAll"},
|
{501, nullptr, "GetRequiredStorageSpaceSizeToCopyAll"},
|
||||||
|
{502, nullptr, "Unknown502"}, // 20.0.0+
|
||||||
|
{600, nullptr, "Unknown600"}, // 20.0.0+
|
||||||
{1001, nullptr, "LoadAlbumScreenShotThumbnailImageEx0"},
|
{1001, nullptr, "LoadAlbumScreenShotThumbnailImageEx0"},
|
||||||
{1002, C<&IAlbumAccessorService::LoadAlbumScreenShotImageEx1>, "LoadAlbumScreenShotImageEx1"},
|
{1002, C<&IAlbumAccessorService::LoadAlbumScreenShotImageEx1>, "LoadAlbumScreenShotImageEx1"},
|
||||||
{1003, C<&IAlbumAccessorService::LoadAlbumScreenShotThumbnailImageEx1>, "LoadAlbumScreenShotThumbnailImageEx1"},
|
{1003, C<&IAlbumAccessorService::LoadAlbumScreenShotThumbnailImageEx1>, "LoadAlbumScreenShotThumbnailImageEx1"},
|
||||||
|
@ -51,8 +68,20 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_,
|
||||||
{8012, nullptr, "GetAlbumCache"},
|
{8012, nullptr, "GetAlbumCache"},
|
||||||
{8013, nullptr, "GetAlbumCacheEx"},
|
{8013, nullptr, "GetAlbumCacheEx"},
|
||||||
{8021, nullptr, "GetAlbumEntryFromApplicationAlbumEntryAruid"},
|
{8021, nullptr, "GetAlbumEntryFromApplicationAlbumEntryAruid"},
|
||||||
|
{8022, nullptr, "Unknown8022"}, // 19.0.0+
|
||||||
|
{8031, nullptr, "Unknown8031"}, // 20.0.0+
|
||||||
|
{8032, nullptr, "Unknown8032"}, // 20.0.0+
|
||||||
{10011, nullptr, "SetInternalErrorConversionEnabled"},
|
{10011, nullptr, "SetInternalErrorConversionEnabled"},
|
||||||
{50000, nullptr, "LoadMakerNoteInfoForDebug"},
|
{50000, nullptr, "LoadMakerNoteInfoForDebug"},
|
||||||
|
{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"},
|
{60002, nullptr, "OpenAccessorSession"},
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
@ -87,7 +116,7 @@ Result IAlbumAccessorService::IsAlbumMounted(Out<bool> out_is_mounted, AlbumStor
|
||||||
R_RETURN(TranslateResult(result));
|
R_RETURN(TranslateResult(result));
|
||||||
}
|
}
|
||||||
|
|
||||||
Result IAlbumAccessorService::Unknown18(
|
Result IAlbumAccessorService::GetAppletProgramIdTable(
|
||||||
Out<u32> out_buffer_size,
|
Out<u32> out_buffer_size,
|
||||||
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_buffer) {
|
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_buffer) {
|
||||||
LOG_WARNING(Service_Capture, "(STUBBED) called");
|
LOG_WARNING(Service_Capture, "(STUBBED) called");
|
||||||
|
@ -137,6 +166,15 @@ Result IAlbumAccessorService::LoadAlbumScreenShotThumbnailImageEx1(
|
||||||
R_RETURN(TranslateResult(result));
|
R_RETURN(TranslateResult(result));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result IAlbumAccessorService::GetAlbumAccessResultForDebug() {
|
||||||
|
LOG_DEBUG(Service_Capture, "(STUBBED) called.");
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IAlbumAccessorService::SetAlbumAccessResultForDebug() {
|
||||||
|
LOG_DEBUG(Service_Capture, "(STUBBED) called.");
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
Result IAlbumAccessorService::TranslateResult(Result in_result) {
|
Result IAlbumAccessorService::TranslateResult(Result in_result) {
|
||||||
if (in_result.IsSuccess()) {
|
if (in_result.IsSuccess()) {
|
||||||
return in_result;
|
return in_result;
|
||||||
|
|
|
@ -28,7 +28,7 @@ private:
|
||||||
|
|
||||||
Result IsAlbumMounted(Out<bool> out_is_mounted, AlbumStorage storage);
|
Result IsAlbumMounted(Out<bool> out_is_mounted, AlbumStorage storage);
|
||||||
|
|
||||||
Result Unknown18(
|
Result GetAppletProgramIdTable(
|
||||||
Out<u32> out_buffer_size,
|
Out<u32> out_buffer_size,
|
||||||
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure>
|
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure>
|
||||||
out_buffer);
|
out_buffer);
|
||||||
|
@ -50,6 +50,10 @@ private:
|
||||||
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_image,
|
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_image,
|
||||||
OutArray<u8, BufferAttr_HipcMapAlias> out_buffer);
|
OutArray<u8, BufferAttr_HipcMapAlias> out_buffer);
|
||||||
|
|
||||||
|
Result GetAlbumAccessResultForDebug();
|
||||||
|
|
||||||
|
Result SetAlbumAccessResultForDebug();
|
||||||
|
|
||||||
Result TranslateResult(Result in_result);
|
Result TranslateResult(Result in_result);
|
||||||
|
|
||||||
std::shared_ptr<AlbumManager> manager = nullptr;
|
std::shared_ptr<AlbumManager> manager = nullptr;
|
||||||
|
|
|
@ -28,12 +28,18 @@ IAlbumControlService::IAlbumControlService(Core::System& system_,
|
||||||
{2012, nullptr, "UnregisterAppletResourceUserId"},
|
{2012, nullptr, "UnregisterAppletResourceUserId"},
|
||||||
{2013, nullptr, "GetApplicationIdFromAruid"},
|
{2013, nullptr, "GetApplicationIdFromAruid"},
|
||||||
{2014, nullptr, "CheckApplicationIdRegistered"},
|
{2014, nullptr, "CheckApplicationIdRegistered"},
|
||||||
|
{2015, nullptr, "Unknown2015"}, // 20.0.0+
|
||||||
|
{2016, nullptr, "Unknown2016"}, // 20.0.0+
|
||||||
{2101, nullptr, "GenerateCurrentAlbumFileId"},
|
{2101, nullptr, "GenerateCurrentAlbumFileId"},
|
||||||
{2102, nullptr, "GenerateApplicationAlbumEntry"},
|
{2102, nullptr, "GenerateApplicationAlbumEntry"},
|
||||||
|
{2103, nullptr, "Unknown2103"}, // 19.0.0+
|
||||||
|
{2104, nullptr, "Unknown2104"}, // 19.0.0+
|
||||||
{2201, nullptr, "SaveAlbumScreenShotFile"},
|
{2201, nullptr, "SaveAlbumScreenShotFile"},
|
||||||
{2202, nullptr, "SaveAlbumScreenShotFileEx"},
|
{2202, nullptr, "SaveAlbumScreenShotFileEx"},
|
||||||
{2301, nullptr, "SetOverlayScreenShotThumbnailData"},
|
{2301, nullptr, "SetOverlayScreenShotThumbnailData"},
|
||||||
{2302, nullptr, "SetOverlayMovieThumbnailData"},
|
{2302, nullptr, "SetOverlayMovieThumbnailData"},
|
||||||
|
{2401, nullptr, "Unknown2401"}, // 19.0.0+
|
||||||
|
{2501, nullptr, "GetAlbumAccessResultForDebug"}, // 19.0.0+
|
||||||
{60001, nullptr, "OpenControlSession"},
|
{60001, nullptr, "OpenControlSession"},
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
|
@ -9,26 +9,35 @@ IScreenShotControlService::IScreenShotControlService(Core::System& system_)
|
||||||
: ServiceFramework{system_, "caps:sc"} {
|
: ServiceFramework{system_, "caps:sc"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{1, nullptr, "CaptureRawImage"},
|
{1, nullptr, "CaptureRawImageRgba32IntoArray"},
|
||||||
{2, nullptr, "CaptureRawImageWithTimeout"},
|
{2, nullptr, "CaptureRawImageRgba32IntoArrayWithTimeout"},
|
||||||
{3, nullptr, "AttachSharedBuffer"},
|
{3, nullptr, "AttachSharedBufferToCaptureModule"}, // 5.0.0+
|
||||||
{5, nullptr, "CaptureRawImageToAttachedSharedBuffer"},
|
{5, nullptr, "CaptureRawImageToAttachedSharedBuffer"}, // 5.0.0+
|
||||||
{210, nullptr, "Unknown210"},
|
{210, nullptr, "SaveScreenShotEx2ViaAm"}, // 6.0.0+
|
||||||
{1001, nullptr, "RequestTakingScreenShot"},
|
{1001, nullptr, "RequestTakingScreenShot"}, // 2.0.0-4.1.0
|
||||||
{1002, nullptr, "RequestTakingScreenShotWithTimeout"},
|
{1002, nullptr, "RequestTakingScreenShotWithTimeout"}, // 2.0.0-4.1.0
|
||||||
{1003, nullptr, "RequestTakingScreenShotEx"},
|
{1003, nullptr, "RequestTakingScreenShotEx"}, // 3.0.0-4.1.0
|
||||||
{1004, nullptr, "RequestTakingScreenShotEx1"},
|
{1004, nullptr, "RequestTakingScreenShotEx1"}, // 5.0.0+
|
||||||
{1009, nullptr, "CancelTakingScreenShot"},
|
{1009, nullptr, "CancelTakingScreenShot"}, // 5.0.0+
|
||||||
{1010, nullptr, "SetTakingScreenShotCancelState"},
|
{1010, nullptr, "SetTakingScreenShotCancelState"}, // 5.0.0+
|
||||||
{1011, nullptr, "NotifyTakingScreenShotRefused"},
|
{1011, nullptr, "NotifyTakingScreenShotRefused"},
|
||||||
{1012, nullptr, "NotifyTakingScreenShotFailed"},
|
{1012, nullptr, "NotifyTakingScreenShotFailed"},
|
||||||
{1101, nullptr, "SetupOverlayMovieThumbnail"},
|
{1100, nullptr, "Unknown1100"}, // 18.0.0+
|
||||||
{1106, nullptr, "Unknown1106"},
|
{1101, nullptr, "SetupOverlayMovieThumbnail"}, // 4.0.0+
|
||||||
{1107, nullptr, "Unknown1107"},
|
{1106, nullptr, "CreateProtoMovieMetaDataNv12Ex2"}, // 4.0.0+
|
||||||
{1201, nullptr, "OpenRawScreenShotReadStream"},
|
{1107, nullptr, "CreateProtoMovieMetaDataRgbaEx2"}, // 4.0.0+
|
||||||
{1202, nullptr, "CloseRawScreenShotReadStream"},
|
{1108, nullptr, "Unknown1108"}, // 18.0.0+
|
||||||
{1203, nullptr, "ReadRawScreenShotReadStream"},
|
{1109, nullptr, "Unknown1109"}, // 19.0.0+
|
||||||
{1204, nullptr, "Unknown1204"},
|
{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
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@ IScreenShotService::IScreenShotService(Core::System& system_,
|
||||||
{203, C<&IScreenShotService::SaveScreenShotEx0>, "SaveScreenShotEx0"},
|
{203, C<&IScreenShotService::SaveScreenShotEx0>, "SaveScreenShotEx0"},
|
||||||
{204, nullptr, "SaveEditedScreenShotEx0"},
|
{204, nullptr, "SaveEditedScreenShotEx0"},
|
||||||
{206, C<&IScreenShotService::SaveEditedScreenShotEx1>, "SaveEditedScreenShotEx1"},
|
{206, C<&IScreenShotService::SaveEditedScreenShotEx1>, "SaveEditedScreenShotEx1"},
|
||||||
{208, nullptr, "SaveScreenShotOfMovieEx1"},
|
{1000, nullptr, "RequestTakingScreenShotForApplet"}, // 13.0.0+ [19.0.0+] Now takes an additional 8-bytes of input.
|
||||||
{1000, nullptr, "Unknown1000"},
|
{2000, nullptr, "Unknown2000"} // 20.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -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"},
|
||||||
|
|
|
@ -57,50 +57,81 @@ public:
|
||||||
{38, nullptr, "OwnTicket3"},
|
{38, nullptr, "OwnTicket3"},
|
||||||
{39, nullptr, "DeleteAllInactivePersonalizedTicket"},
|
{39, nullptr, "DeleteAllInactivePersonalizedTicket"},
|
||||||
{40, nullptr, "DeletePrepurchaseRecordByNintendoAccountId"},
|
{40, nullptr, "DeletePrepurchaseRecordByNintendoAccountId"},
|
||||||
{501, nullptr, "Unknown501"},
|
{101, nullptr, "Unknown101"}, // 18.0.0+
|
||||||
{502, nullptr, "Unknown502"},
|
{102, nullptr, "Unknown102"}, // 18.0.0+
|
||||||
{503, nullptr, "GetTitleKey"},
|
{103, nullptr, "Unknown103"}, // 18.0.0+
|
||||||
{504, nullptr, "Unknown504"},
|
{104, nullptr, "Unknown104"}, // 18.0.0+
|
||||||
{508, nullptr, "Unknown508"},
|
{105, nullptr, "Unknown105"}, // 20.0.0+
|
||||||
{509, nullptr, "Unknown509"},
|
{201, nullptr, "Unknown201"}, // 18.0.0+
|
||||||
{510, nullptr, "Unknown510"},
|
{202, nullptr, "Unknown202"}, // 18.0.0+
|
||||||
{511, nullptr, "Unknown511"},
|
{203, nullptr, "Unknown203"}, // 18.0.0+
|
||||||
{1001, nullptr, "Unknown1001"},
|
{204, nullptr, "Unknown204"}, // 18.0.0+
|
||||||
{1002, nullptr, "Unknown1001"},
|
{501, nullptr, "Unknown501"}, // 6.0.0+
|
||||||
{1003, nullptr, "Unknown1003"},
|
{502, nullptr, "Unknown502"}, // 6.0.0+
|
||||||
{1004, nullptr, "Unknown1004"},
|
{503, nullptr, "GetTitleKey"}, // 6.0.0+
|
||||||
{1005, nullptr, "Unknown1005"},
|
{504, nullptr, "Unknown504"}, // 6.0.0+
|
||||||
{1006, nullptr, "Unknown1006"},
|
{508, nullptr, "Unknown508"}, // 6.0.0+
|
||||||
{1007, nullptr, "Unknown1007"},
|
{509, nullptr, "Unknown509"}, // 6.0.0+
|
||||||
{1009, nullptr, "Unknown1009"},
|
{510, nullptr, "Unknown510"}, // 6.0.0+
|
||||||
{1010, nullptr, "Unknown1010"},
|
{511, nullptr, "Unknown511"}, // 9.0.0+
|
||||||
{1011, nullptr, "Unknown1011"},
|
{1001, nullptr, "Unknown1001"}, // 6.0.0+
|
||||||
{1012, nullptr, "Unknown1012"},
|
{1002, nullptr, "Unknown1002"}, // 6.0.0+
|
||||||
{1013, nullptr, "Unknown1013"},
|
{1003, nullptr, "GetIAsyncValue"}, // 6.0.0+
|
||||||
{1014, nullptr, "Unknown1014"},
|
{1004, nullptr, "Unknown1004"}, // 6.0.0+
|
||||||
{1015, nullptr, "Unknown1015"},
|
{1005, nullptr, "Unknown1005"}, // 6.0.0+
|
||||||
{1016, nullptr, "Unknown1016"},
|
{1006, nullptr, "Unknown1006"}, // 6.0.0+
|
||||||
{1017, nullptr, "Unknown1017"},
|
{1007, nullptr, "Unknown1007"}, // 6.0.0+
|
||||||
{1018, nullptr, "Unknown1018"},
|
{1009, nullptr, "Unknown1009"}, // 6.0.0+
|
||||||
{1019, nullptr, "Unknown1019"},
|
{1010, nullptr, "Unknown1010"}, // 6.0.0+
|
||||||
{1020, nullptr, "Unknown1020"},
|
{1011, nullptr, "Unknown1011"}, // 6.0.0+
|
||||||
{1021, nullptr, "Unknown1021"},
|
{1012, nullptr, "Unknown1012"}, // 6.0.0+
|
||||||
{1501, nullptr, "Unknown1501"},
|
{1013, nullptr, "Unknown1013"}, // 6.0.0+
|
||||||
{1502, nullptr, "Unknown1502"},
|
{1014, nullptr, "Unknown1014"}, // 6.0.0+
|
||||||
{1503, nullptr, "Unknown1503"},
|
{1015, nullptr, "Unknown1015"}, // 6.0.0+
|
||||||
{1504, nullptr, "Unknown1504"},
|
{1016, nullptr, "Unknown1016"}, // 6.0.0+
|
||||||
{1505, nullptr, "Unknown1505"},
|
{1017, nullptr, "Unknown1017"}, // 9.0.0+
|
||||||
{1506, nullptr, "Unknown1506"},
|
{1018, nullptr, "Unknown1018"}, // 9.0.0+
|
||||||
{2000, nullptr, "Unknown2000"},
|
{1019, nullptr, "Unknown1019"}, // 9.0.0+
|
||||||
{2001, nullptr, "Unknown2001"},
|
{1020, nullptr, "Unknown1020"}, // 9.0.0+
|
||||||
{2002, nullptr, "Unknown2002"},
|
{1021, nullptr, "Unknown1021"}, // 9.0.0+
|
||||||
{2003, nullptr, "Unknown2003"},
|
{1022, nullptr, "Unknown1022"}, // 15.0.0+
|
||||||
{2100, nullptr, "Unknown2100"},
|
{1023, nullptr, "Unknown1023"}, // 17.0.0+
|
||||||
{2501, nullptr, "Unknown2501"},
|
{1024, nullptr, "Unknown1024"}, // 17.0.0+
|
||||||
{2502, nullptr, "Unknown2502"},
|
{1025, nullptr, "Unknown1025"}, // 17.0.0+
|
||||||
{2601, nullptr, "Unknown2601"},
|
{1026, nullptr, "Unknown1026"}, // 17.0.0+
|
||||||
{3001, nullptr, "Unknown3001"},
|
{1027, nullptr, "Unknown1027"}, // 17.0.0+
|
||||||
{3002, nullptr, "Unknown3002"},
|
{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
|
// clang-format on
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
|
|
|
@ -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"},
|
||||||
|
|
|
@ -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
|
|
@ -227,6 +227,8 @@ INotificationServices::INotificationServices(Core::System& system_)
|
||||||
{2001, nullptr, "GetAlarmSettingWithApplicationParameter"},
|
{2001, nullptr, "GetAlarmSettingWithApplicationParameter"},
|
||||||
{2010, nullptr, "MuteAlarmSetting"},
|
{2010, nullptr, "MuteAlarmSetting"},
|
||||||
{2020, nullptr, "IsAlarmSettingReady"},
|
{2020, nullptr, "IsAlarmSettingReady"},
|
||||||
|
{3000, nullptr, "Unknown3000"}, // 20.0.0+
|
||||||
|
{3010, nullptr, "Unknown3010"}, // 20.0.0+
|
||||||
{8000, nullptr, "RegisterAppletResourceUserId"},
|
{8000, nullptr, "RegisterAppletResourceUserId"},
|
||||||
{8010, nullptr, "UnregisterAppletResourceUserId"},
|
{8010, nullptr, "UnregisterAppletResourceUserId"},
|
||||||
{8999, nullptr, "GetCurrentTime"},
|
{8999, nullptr, "GetCurrentTime"},
|
||||||
|
|
|
@ -87,6 +87,8 @@ IHidDebugServer::IHidDebugServer(Core::System& system_, std::shared_ptr<Resource
|
||||||
{210, nullptr, "IsFirmwareUpdatingDevice"},
|
{210, nullptr, "IsFirmwareUpdatingDevice"},
|
||||||
{211, nullptr, "StartFirmwareUpdateIndividual"},
|
{211, nullptr, "StartFirmwareUpdateIndividual"},
|
||||||
{212, nullptr, "GetDetailFirmwareVersion"}, // 19.0.0+
|
{212, nullptr, "GetDetailFirmwareVersion"}, // 19.0.0+
|
||||||
|
{213, nullptr, "GetFirmwareVersionStringForDevMenu"}, // 20.0.0+
|
||||||
|
{214, nullptr, "Unknown214"}, // 20.1.0+
|
||||||
{215, nullptr, "SetUsbFirmwareForceUpdateEnabled"},
|
{215, nullptr, "SetUsbFirmwareForceUpdateEnabled"},
|
||||||
{216, nullptr, "SetAllKuinaDevicesToFirmwareUpdateMode"},
|
{216, nullptr, "SetAllKuinaDevicesToFirmwareUpdateMode"},
|
||||||
{221, nullptr, "UpdateControllerColor"},
|
{221, nullptr, "UpdateControllerColor"},
|
||||||
|
|
|
@ -119,6 +119,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"},
|
||||||
|
@ -186,7 +187,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::SetTouchScreenResolution>, "SetTouchScreenResolution"}, // 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
|
||||||
|
|
|
@ -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,11 +148,14 @@ 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"},
|
||||||
{1053, nullptr, "GetSixAxisSensorAccurateUserCalibrationState"},
|
{1053, nullptr, "GetSixAxisSensorAccurateUserCalibrationState"},
|
||||||
{1100, nullptr, "GetHidbusSystemServiceObject"},
|
{1100, nullptr, "GetHidbusSystemServiceObject"},
|
||||||
|
{1158, nullptr, "Unknown1158"}, //20.1.0+
|
||||||
|
{1159, nullptr, "Unknown1159"}, //20.1.0+
|
||||||
{1120, &IHidSystemServer::SetFirmwareHotfixUpdateSkipEnabled, "SetFirmwareHotfixUpdateSkipEnabled"},
|
{1120, &IHidSystemServer::SetFirmwareHotfixUpdateSkipEnabled, "SetFirmwareHotfixUpdateSkipEnabled"},
|
||||||
{1130, &IHidSystemServer::InitializeUsbFirmwareUpdate, "InitializeUsbFirmwareUpdate"},
|
{1130, &IHidSystemServer::InitializeUsbFirmwareUpdate, "InitializeUsbFirmwareUpdate"},
|
||||||
{1131, &IHidSystemServer::FinalizeUsbFirmwareUpdate, "FinalizeUsbFirmwareUpdate"},
|
{1131, &IHidSystemServer::FinalizeUsbFirmwareUpdate, "FinalizeUsbFirmwareUpdate"},
|
||||||
|
@ -225,6 +233,7 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
|
||||||
{1309, nullptr, "IsButtonConfigVisible"}, // 18.0.0+
|
{1309, nullptr, "IsButtonConfigVisible"}, // 18.0.0+
|
||||||
{1320, nullptr, "WakeTouchScreenUp"}, // 17.0.0+
|
{1320, nullptr, "WakeTouchScreenUp"}, // 17.0.0+
|
||||||
{1321, nullptr, "PutTouchScreenToSleep"}, // 17.0.0+
|
{1321, nullptr, "PutTouchScreenToSleep"}, // 17.0.0+
|
||||||
|
{1322, nullptr, "AcquireTouchScreenAsyncWakeCompletedEvent"}, // 20.0.0+
|
||||||
{1420, nullptr, "GetAppletResourceProperty"}, // 19.0.0+
|
{1420, nullptr, "GetAppletResourceProperty"}, // 19.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
|
@ -18,7 +18,8 @@ public:
|
||||||
explicit IMonitorServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:m"} {
|
explicit IMonitorServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:m"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, C<&IMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"}
|
{0, C<&IMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"},
|
||||||
|
{1, nullptr, "CreateClientProcessMonitor"} // 18.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ ISystemLocalCommunicationService::ISystemLocalCommunicationService(Core::System&
|
||||||
{401, nullptr, "FinalizeSystem"},
|
{401, nullptr, "FinalizeSystem"},
|
||||||
{402, nullptr, "SetOperationMode"},
|
{402, nullptr, "SetOperationMode"},
|
||||||
{403, C<&ISystemLocalCommunicationService::InitializeSystem2>, "InitializeSystem2"},
|
{403, C<&ISystemLocalCommunicationService::InitializeSystem2>, "InitializeSystem2"},
|
||||||
|
{404, nullptr, "InitializeWithPriority"}, // 19.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,8 @@ IUserLocalCommunicationService::IUserLocalCommunicationService(Core::System& sys
|
||||||
{400, C<&IUserLocalCommunicationService::Initialize>, "Initialize"},
|
{400, C<&IUserLocalCommunicationService::Initialize>, "Initialize"},
|
||||||
{401, C<&IUserLocalCommunicationService::Finalize>, "Finalize"},
|
{401, C<&IUserLocalCommunicationService::Finalize>, "Finalize"},
|
||||||
{402, C<&IUserLocalCommunicationService::Initialize2>, "Initialize2"},
|
{402, C<&IUserLocalCommunicationService::Initialize2>, "Initialize2"},
|
||||||
|
{403, nullptr, "InitializeWithPriority"}, // 19.0.0+
|
||||||
|
{500, nullptr, "EnableActionFrame"}, // 18.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,17 +14,42 @@ public:
|
||||||
explicit MIG_USR(Core::System& system_) : ServiceFramework{system_, "mig:usr"} {
|
explicit MIG_USR(Core::System& system_) : ServiceFramework{system_, "mig:usr"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{10, nullptr, "TryGetLastMigrationInfo"},
|
{0, nullptr, "Unknown0"}, // 19.0.0+
|
||||||
{100, nullptr, "CreateServer"},
|
{1, nullptr, "Unknown1"}, // 20.0.0+
|
||||||
{101, nullptr, "ResumeServer"},
|
{2, nullptr, "Unknown2"}, // 20.0.0+
|
||||||
{200, nullptr, "CreateClient"},
|
{10, nullptr, "TryGetLastUserMigrationInfo"}, // 7.0.0-19.0.1 (was TryGetLastMigrationInfo in 4.0.0-6.2.0)
|
||||||
{201, nullptr, "ResumeClient"},
|
{11, nullptr, "Unknown11"}, // 20.0.0+
|
||||||
{1001, nullptr, "Unknown1001"},
|
{100, nullptr, "CreateUserMigrationServer"}, // 7.0.0+ (was CreateServer in 4.0.0-6.2.0)
|
||||||
{1010, nullptr, "Unknown1010"},
|
{101, nullptr, "ResumeUserMigrationServer"}, // 7.0.0+ (was ResumeServer in 4.0.0-6.2.0)
|
||||||
{1100, nullptr, "Unknown1100"},
|
{200, nullptr, "CreateUserMigrationClient"}, // 7.0.0+ (was CreateClient in 4.0.0-6.2.0)
|
||||||
{1101, nullptr, "Unknown1101"},
|
{201, nullptr, "ResumeUserMigrationClient"}, // 7.0.0+ (was ResumeClient in 4.0.0-6.2.0)
|
||||||
{1200, nullptr, "Unknown1200"},
|
{1001, nullptr, "GetSaveDataMigrationPolicyInfoAsync"}, // 8.0.0+
|
||||||
{1201, nullptr, "Unknown1201"}
|
{1010, nullptr, "TryGetLastSaveDataMigrationInfo"}, // 7.0.0+
|
||||||
|
{1100, nullptr, "CreateSaveDataMigrationServer"}, // 7.0.0-19.0.1
|
||||||
|
{1101, nullptr, "ResumeSaveDataMigrationServer"}, // 7.0.0+
|
||||||
|
{1110, nullptr, "Unknown1110"}, // 17.0.0+
|
||||||
|
{1200, nullptr, "CreateSaveDataMigrationClient"}, // 7.0.0+
|
||||||
|
{1201, nullptr, "ResumeSaveDataMigrationClient"}, // 7.0.0+
|
||||||
|
{2001, nullptr, "Unknown2001"}, // 20.0.0+
|
||||||
|
{2010, nullptr, "Unknown2010"}, // 20.0.0+
|
||||||
|
{2100, nullptr, "Unknown2100"}, // 20.0.0+
|
||||||
|
{2110, nullptr, "Unknown2110"}, // 20.0.0+
|
||||||
|
{2200, nullptr, "Unknown2200"}, // 20.0.0+
|
||||||
|
{2210, nullptr, "Unknown2210"}, // 20.0.0+
|
||||||
|
{2220, nullptr, "Unknown2220"}, // 20.0.0+
|
||||||
|
{2230, nullptr, "Unknown2230"}, // 20.0.0+
|
||||||
|
{2231, nullptr, "Unknown2231"}, // 20.0.0+
|
||||||
|
{2232, nullptr, "Unknown2232"}, // 20.0.0+
|
||||||
|
{2233, nullptr, "Unknown2233"}, // 20.0.0+
|
||||||
|
{2234, nullptr, "Unknown2234"}, // 20.0.0+
|
||||||
|
{2250, nullptr, "Unknown2250"}, // 20.0.0+
|
||||||
|
{2260, nullptr, "Unknown2260"}, // 20.0.0+
|
||||||
|
{2270, nullptr, "Unknown2270"}, // 20.0.0+
|
||||||
|
{2280, nullptr, "Unknown2280"}, // 20.0.0+
|
||||||
|
{2300, nullptr, "Unknown2300"}, // 20.0.0+
|
||||||
|
{2310, nullptr, "Unknown2310"}, // 20.0.0+
|
||||||
|
{2400, nullptr, "Unknown2400"}, // 20.0.0+
|
||||||
|
{2420, nullptr, "Unknown2420"} // 20.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -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"},
|
||||||
|
|
|
@ -1076,10 +1076,16 @@ IGeneralService::IGeneralService(Core::System& system_)
|
||||||
{44, nullptr, "IsWiredConnectionAvailable"}, // 18.0.0+
|
{44, nullptr, "IsWiredConnectionAvailable"}, // 18.0.0+
|
||||||
{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, &IGeneralService::GetScanDataV3, "GetScanData"}, // 19.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
|
||||||
|
|
||||||
|
|
|
@ -111,7 +111,7 @@ public:
|
||||||
{28, nullptr, "RequestApplicationControl"},
|
{28, nullptr, "RequestApplicationControl"},
|
||||||
{29, nullptr, "RequestLatestApplicationControl"},
|
{29, nullptr, "RequestLatestApplicationControl"},
|
||||||
{30, nullptr, "RequestVersionList"},
|
{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"},
|
{32, nullptr, "DestroyApplyDeltaTask"},
|
||||||
{33, nullptr, "ListApplicationApplyDeltaTask"},
|
{33, nullptr, "ListApplicationApplyDeltaTask"},
|
||||||
{34, nullptr, "RequestApplyDeltaTaskRun"},
|
{34, nullptr, "RequestApplyDeltaTaskRun"},
|
||||||
|
@ -167,54 +167,139 @@ public:
|
||||||
{84, nullptr, "Unknown84"},
|
{84, nullptr, "Unknown84"},
|
||||||
{85, nullptr, "ListNetworkInstallTaskContentMetaFromInstallMeta"},
|
{85, nullptr, "ListNetworkInstallTaskContentMetaFromInstallMeta"},
|
||||||
{86, nullptr, "ListNetworkInstallTaskOccupiedSize"},
|
{86, nullptr, "ListNetworkInstallTaskOccupiedSize"},
|
||||||
{87, nullptr, "Unknown87"},
|
{87, nullptr, "RequestQueryAvailableELicenses"}, // 6.0.0+
|
||||||
{88, nullptr, "Unknown88"},
|
{88, nullptr, "RequestAssignELicenses"}, // 6.0.0+
|
||||||
{89, nullptr, "Unknown89"},
|
{89, nullptr, "RequestExtendELicenses"}, // 6.0.0+
|
||||||
{90, nullptr, "Unknown90"},
|
{90, nullptr, "RequestSyncELicenses"}, // 6.0.0+
|
||||||
{91, nullptr, "Unknown91"},
|
{91, nullptr, "Unknown91"}, // 6.0.0-14.1.2
|
||||||
{92, nullptr, "Unknown92"},
|
{92, nullptr, "RequestQueryRevokeReason"}, // 6.0.0-19.0.1
|
||||||
{93, nullptr, "Unknown93"},
|
{93, nullptr, "RequestReportActiveELicenses"}, // 6.0.0+
|
||||||
{94, nullptr, "Unknown94"},
|
{94, nullptr, "RequestReportActiveELicensesPassively"}, // 6.0.0+
|
||||||
{95, nullptr, "Unknown95"},
|
{95, nullptr, "RequestRegisterDynamicRightsNotificationToken"}, // 6.0.0+
|
||||||
{96, nullptr, "Unknown96"},
|
{96, nullptr, "RequestAssignAllDeviceLinkedELicenses"}, // 6.0.0+
|
||||||
{97, nullptr, "Unknown97"},
|
{97, nullptr, "RequestRevokeAllELicenses"}, // 6.0.0+
|
||||||
{98, nullptr, "Unknown98"},
|
{98, nullptr, "RequestPrefetchForDynamicRights"}, // 6.0.0+
|
||||||
{99, nullptr, "Unknown99"},
|
{99, nullptr, "CreateNetworkInstallTask"}, // 7.0.0+
|
||||||
{100, nullptr, "Unknown100"},
|
{100, nullptr, "ListNetworkInstallTaskRightsIds"}, // 9.0.0+
|
||||||
{101, nullptr, "Unknown101"},
|
{101, nullptr, "RequestDownloadETickets"}, // 9.0.0+
|
||||||
{102, nullptr, "Unknown102"},
|
{102, nullptr, "RequestQueryDownloadableContents"}, // 9.0.0+
|
||||||
{103, nullptr, "Unknown103"},
|
{103, nullptr, "DeleteNetworkInstallTaskContentMeta"}, // 9.0.0+
|
||||||
{104, nullptr, "Unknown104"},
|
{104, nullptr, "RequestIssueEdgeTokenForDebug"}, // 9.0.0+
|
||||||
{105, nullptr, "Unknown105"},
|
{105, nullptr, "RequestQueryAvailableELicenses2"}, // 9.0.0+
|
||||||
{106, nullptr, "Unknown106"},
|
{106, nullptr, "RequestAssignELicenses2"}, // 9.0.0+
|
||||||
{107, nullptr, "Unknown107"},
|
{107, nullptr, "GetNetworkInstallTaskStateCounter"}, // 10.0.0+
|
||||||
{108, nullptr, "Unknown108"},
|
{108, nullptr, "InvalidateDynamicRightsNaIdTokenCacheForDebug"}, // 10.0.0+
|
||||||
{109, nullptr, "Unknown109"},
|
{109, nullptr, "ListNetworkInstallTaskPartialInstallContentMeta"}, // 10.0.0+
|
||||||
{110, nullptr, "Unknown110"},
|
{110, nullptr, "ListNetworkInstallTaskRightsIdsFromIndex"}, // 10.0.0+
|
||||||
{111, nullptr, "Unknown111"},
|
{111, nullptr, "AddNetworkInstallTaskContentMetaForUser"}, // 10.0.0+
|
||||||
{112, nullptr, "Unknown112"},
|
{112, nullptr, "RequestAssignELicensesAndDownloadETickets"}, // 10.0.0+
|
||||||
{113, nullptr, "Unknown113"},
|
{113, nullptr, "RequestQueryAvailableCommonELicenses"}, // 10.0.0+
|
||||||
{114, nullptr, "Unknown114"},
|
{114, nullptr, "SetNetworkInstallTaskExtendedAttribute"}, // 10.0.0+
|
||||||
{115, nullptr, "Unknown115"},
|
{115, nullptr, "GetNetworkInstallTaskExtendedAttribute"}, // 10.0.0+
|
||||||
{116, nullptr, "Unknown116"},
|
{116, nullptr, "GetAllocatorInfo"}, // 10.0.0+
|
||||||
{117, nullptr, "Unknown117"},
|
{117, nullptr, "RequestQueryDownloadableContentsByApplicationId"}, // 11.0.0+
|
||||||
{118, nullptr, "Unknown118"},
|
{118, nullptr, "MarkNoDownloadRightsErrorResolved"}, // 10.0.0+
|
||||||
{119, nullptr, "Unknown119"},
|
{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, "Unknown120"},
|
{120, nullptr, "PrioritizeNetworkInstallTask"}, // 11.0.0+
|
||||||
{121, nullptr, "Unknown121"},
|
{121, nullptr, "RequestQueryAvailableCommonELicenses2"}, // 10.1.0+
|
||||||
{122, nullptr, "Unknown122"},
|
{122, nullptr, "RequestAssignCommonELicenses"}, // 10.1.0+
|
||||||
{123, nullptr, "Unknown123"},
|
{123, nullptr, "RequestAssignCommonELicenses2"}, // 10.1.0+
|
||||||
{124, nullptr, "Unknown124"},
|
{124, nullptr, "IsNetworkInstallTaskFrontOfQueue"}, // 11.0.0+
|
||||||
{125, nullptr, "Unknown125"},
|
{125, nullptr, "PrioritizeApplyDeltaTask"}, // 11.0.0+
|
||||||
{126, nullptr, "Unknown126"},
|
{126, nullptr, "RerouteDownloadingPatch"}, // 12.0.0+
|
||||||
{127, nullptr, "Unknown127"},
|
{127, nullptr, "UnmarkNoDownloadRightsErrorResolved"}, // 12.0.0+
|
||||||
{128, nullptr, "Unknown128"},
|
{128, nullptr, "RequestContentsSize"}, // 12.0.0+
|
||||||
{129, nullptr, "Unknown129"},
|
{129, nullptr, "RequestContentsAuthorizationToken"}, // 12.0.0+
|
||||||
{130, nullptr, "Unknown130"},
|
{130, nullptr, "RequestCdnVendorDiscovery"}, // 13.0.0+
|
||||||
{131, nullptr, "Unknown131"},
|
{131, nullptr, "RefreshDebugAvailability"}, // 13.0.0+
|
||||||
{132, nullptr, "Unknown132"},
|
{132, nullptr, "ClearResponseSimulationEntry"}, // 13.0.0+
|
||||||
{133, nullptr, "Unknown133"},
|
{133, nullptr, "RegisterResponseSimulationEntry"}, // 13.0.0+
|
||||||
{134, nullptr, "Unknown134"},
|
{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
|
// clang-format on
|
||||||
|
|
||||||
|
@ -232,7 +317,7 @@ public:
|
||||||
{2, nullptr, "ClearDebugResponse"},
|
{2, nullptr, "ClearDebugResponse"},
|
||||||
{3, nullptr, "RegisterDebugResponse"},
|
{3, nullptr, "RegisterDebugResponse"},
|
||||||
{4, &NIM_ECA::IsLargeResourceAvailable, "IsLargeResourceAvailable"},
|
{4, &NIM_ECA::IsLargeResourceAvailable, "IsLargeResourceAvailable"},
|
||||||
{5, &NIM_ECA::CreateServerInterface2, "CreateServerInterface2"} // 17.0.0+
|
{5, &NIM_ECA::CreateServerInterface2, "CreateServerInterface2"} // 17.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
@ -241,7 +326,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void CreateServerInterface(HLERequestContext& ctx) {
|
void CreateServerInterface(HLERequestContext& ctx) {
|
||||||
LOG_DEBUG(Service_NIM, "(STUBBED) called");
|
LOG_DEBUG(Service_NIM, "(STUBBED) called");
|
||||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||||
rb.Push(ResultSuccess);
|
rb.Push(ResultSuccess);
|
||||||
rb.PushIpcInterface<IShopServiceAccessServer>(system);
|
rb.PushIpcInterface<IShopServiceAccessServer>(system);
|
||||||
|
@ -258,14 +343,14 @@ private:
|
||||||
rb.Push(ResultSuccess);
|
rb.Push(ResultSuccess);
|
||||||
rb.Push(false);
|
rb.Push(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreateServerInterface2(HLERequestContext& ctx) {
|
void CreateServerInterface2(HLERequestContext& ctx) {
|
||||||
LOG_DEBUG(Service_NIM, "(STUBBED) called.");
|
LOG_DEBUG(Service_NIM, "(STUBBED) called.");
|
||||||
|
|
||||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||||
rb.Push(ResultSuccess);
|
rb.Push(ResultSuccess);
|
||||||
rb.PushIpcInterface<IShopServiceAccessServer>(system);
|
rb.PushIpcInterface<IShopServiceAccessServer>(system);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class NIM_SHP final : public ServiceFramework<NIM_SHP> {
|
class NIM_SHP final : public ServiceFramework<NIM_SHP> {
|
||||||
|
@ -301,6 +386,8 @@ public:
|
||||||
{503, nullptr, "RequestSyncTicket"},
|
{503, nullptr, "RequestSyncTicket"},
|
||||||
{504, nullptr, "RequestDownloadTicketForPrepurchasedContents2"},
|
{504, nullptr, "RequestDownloadTicketForPrepurchasedContents2"},
|
||||||
{505, nullptr, "RequestDownloadTicketForPrepurchasedContentsForAccount"},
|
{505, nullptr, "RequestDownloadTicketForPrepurchasedContentsForAccount"},
|
||||||
|
{600, nullptr, "IsInitialLaunchFinished"}, // 14.0.0+
|
||||||
|
{601, nullptr, "NotifyFinishInitialLaunch"}, // 14.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -53,8 +53,13 @@ public:
|
||||||
{42, nullptr, "SetNetworkServiceAccountIdTokenSuccess"}, // 17.0.0+
|
{42, nullptr, "SetNetworkServiceAccountIdTokenSuccess"}, // 17.0.0+
|
||||||
{43, nullptr, "SetNetworkServiceAccountIdTokenFailure"}, // 17.0.0+
|
{43, nullptr, "SetNetworkServiceAccountIdTokenFailure"}, // 17.0.0+
|
||||||
{44, nullptr, "SetUidList"}, // 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+
|
{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"},
|
{101, nullptr, "Suspend"},
|
||||||
{102, nullptr, "Resume"},
|
{102, nullptr, "Resume"},
|
||||||
{103, C<&INpnsSystem::GetState>, "GetState"},
|
{103, C<&INpnsSystem::GetState>, "GetState"},
|
||||||
|
@ -68,6 +73,13 @@ public:
|
||||||
{114, nullptr, "AttachJid"},
|
{114, nullptr, "AttachJid"},
|
||||||
{115, nullptr, "DetachJid"},
|
{115, nullptr, "DetachJid"},
|
||||||
{120, nullptr, "CreateNotificationReceiver"},
|
{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"},
|
{151, nullptr, "GetStateWithHandover"},
|
||||||
{152, nullptr, "GetStateChangeEventWithHandover"},
|
{152, nullptr, "GetStateChangeEventWithHandover"},
|
||||||
{153, nullptr, "GetDropEventWithHandover"},
|
{153, nullptr, "GetDropEventWithHandover"},
|
||||||
|
@ -78,6 +90,7 @@ public:
|
||||||
{162, nullptr, "RequestChangeStateForceTimedWithCancelEvent"},
|
{162, nullptr, "RequestChangeStateForceTimedWithCancelEvent"},
|
||||||
{201, nullptr, "RequestChangeStateForceTimed"},
|
{201, nullptr, "RequestChangeStateForceTimed"},
|
||||||
{202, nullptr, "RequestChangeStateForceAsync"},
|
{202, nullptr, "RequestChangeStateForceAsync"},
|
||||||
|
{203, nullptr, "Unknown203"}, // 20.0.0+
|
||||||
{301, nullptr, "GetPassword"}, // 18.0.0+
|
{301, nullptr, "GetPassword"}, // 18.0.0+
|
||||||
{302, nullptr, "GetAllImmigration"}, // 18.0.0+
|
{302, nullptr, "GetAllImmigration"}, // 18.0.0+
|
||||||
{303, nullptr, "GetNotificationHistories"}, // 18.0.0+
|
{303, nullptr, "GetNotificationHistories"}, // 18.0.0+
|
||||||
|
|
|
@ -115,7 +115,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{301, nullptr, "PopApplicationShellEventInfo"},
|
{301, nullptr, "PopApplicationShellEventInfo"},
|
||||||
{302, nullptr, "LaunchLibraryApplet"},
|
{302, nullptr, "LaunchLibraryApplet"},
|
||||||
{303, nullptr, "TerminateLibraryApplet"},
|
{303, nullptr, "TerminateLibraryApplet"},
|
||||||
{304, nullptr, "LaunchSystemApplet"},
|
{304, nullptr, "LaunchSystemApplet"}, // [20.0.0+] ns.applet!system_applet_id_gen2
|
||||||
{305, nullptr, "TerminateSystemApplet"},
|
{305, nullptr, "TerminateSystemApplet"},
|
||||||
{306, nullptr, "LaunchOverlayApplet"},
|
{306, nullptr, "LaunchOverlayApplet"},
|
||||||
{307, nullptr, "TerminateOverlayApplet"},
|
{307, nullptr, "TerminateOverlayApplet"},
|
||||||
|
@ -128,6 +128,23 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{406, nullptr, "GetApplicationControlProperty"},
|
{406, nullptr, "GetApplicationControlProperty"},
|
||||||
{407, nullptr, "ListApplicationTitle"},
|
{407, nullptr, "ListApplicationTitle"},
|
||||||
{408, nullptr, "ListApplicationIcon"},
|
{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"},
|
{502, nullptr, "RequestCheckGameCardRegistration"},
|
||||||
{503, nullptr, "RequestGameCardRegistrationGoldPoint"},
|
{503, nullptr, "RequestGameCardRegistrationGoldPoint"},
|
||||||
{504, nullptr, "RequestRegisterGameCard"},
|
{504, nullptr, "RequestRegisterGameCard"},
|
||||||
|
@ -137,6 +154,9 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{508, nullptr, "GetLastGameCardMountFailureResult"},
|
{508, nullptr, "GetLastGameCardMountFailureResult"},
|
||||||
{509, nullptr, "ListApplicationIdOnGameCard"},
|
{509, nullptr, "ListApplicationIdOnGameCard"},
|
||||||
{510, nullptr, "GetGameCardPlatformRegion"},
|
{510, nullptr, "GetGameCardPlatformRegion"},
|
||||||
|
{513, nullptr, "Unknown513"}, // 20.0.0+
|
||||||
|
{514, nullptr, "Unknown514"}, // 20.0.0+
|
||||||
|
{515, nullptr, "Unknown515"}, // 20.0.0+
|
||||||
{600, nullptr, "CountApplicationContentMeta"},
|
{600, nullptr, "CountApplicationContentMeta"},
|
||||||
{601, nullptr, "ListApplicationContentMetaStatus"},
|
{601, nullptr, "ListApplicationContentMetaStatus"},
|
||||||
{602, nullptr, "ListAvailableAddOnContent"},
|
{602, nullptr, "ListAvailableAddOnContent"},
|
||||||
|
@ -174,6 +194,18 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{914, nullptr, "HideApplicationRecord"},
|
{914, nullptr, "HideApplicationRecord"},
|
||||||
{915, nullptr, "ShowApplicationRecord"},
|
{915, nullptr, "ShowApplicationRecord"},
|
||||||
{916, nullptr, "IsApplicationAutoDeleteDisabled"},
|
{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"},
|
{1000, nullptr, "RequestVerifyApplicationDeprecated"},
|
||||||
{1001, nullptr, "CorruptApplicationForDebug"},
|
{1001, nullptr, "CorruptApplicationForDebug"},
|
||||||
{1002, nullptr, "RequestVerifyAddOnContentsRights"},
|
{1002, nullptr, "RequestVerifyAddOnContentsRights"},
|
||||||
|
@ -202,6 +234,11 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{1504, nullptr, "InsertSdCard"},
|
{1504, nullptr, "InsertSdCard"},
|
||||||
{1505, nullptr, "RemoveSdCard"},
|
{1505, nullptr, "RemoveSdCard"},
|
||||||
{1506, nullptr, "GetSdCardStartupStatus"},
|
{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"},
|
{1600, nullptr, "GetSystemSeedForPseudoDeviceId"},
|
||||||
{1601, nullptr, "ResetSystemSeedForPseudoDeviceId"},
|
{1601, nullptr, "ResetSystemSeedForPseudoDeviceId"},
|
||||||
{1700, nullptr, "ListApplicationDownloadingContentMeta"},
|
{1700, nullptr, "ListApplicationDownloadingContentMeta"},
|
||||||
|
@ -210,6 +247,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{1703, nullptr, "GetApplicationViewDownloadErrorContext"},
|
{1703, nullptr, "GetApplicationViewDownloadErrorContext"},
|
||||||
{1704, D<&IApplicationManagerInterface::GetApplicationViewWithPromotionInfo>, "GetApplicationViewWithPromotionInfo"},
|
{1704, D<&IApplicationManagerInterface::GetApplicationViewWithPromotionInfo>, "GetApplicationViewWithPromotionInfo"},
|
||||||
{1705, nullptr, "IsPatchAutoDeletableApplication"},
|
{1705, nullptr, "IsPatchAutoDeletableApplication"},
|
||||||
|
{1706, nullptr, "Unknown1706"}, // 20.0.0+
|
||||||
{1800, nullptr, "IsNotificationSetupCompleted"},
|
{1800, nullptr, "IsNotificationSetupCompleted"},
|
||||||
{1801, nullptr, "GetLastNotificationInfoCount"},
|
{1801, nullptr, "GetLastNotificationInfoCount"},
|
||||||
{1802, nullptr, "ListLastNotificationInfo"},
|
{1802, nullptr, "ListLastNotificationInfo"},
|
||||||
|
@ -218,7 +256,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{1901, nullptr, "RequestDownloadApplicationPrepurchasedRights"},
|
{1901, nullptr, "RequestDownloadApplicationPrepurchasedRights"},
|
||||||
{1902, nullptr, "GetApplicationTicketInfo"},
|
{1902, nullptr, "GetApplicationTicketInfo"},
|
||||||
{1903, nullptr, "RequestDownloadApplicationPrepurchasedRightsForAccount"},
|
{1903, nullptr, "RequestDownloadApplicationPrepurchasedRightsForAccount"},
|
||||||
{2000, nullptr, "GetSystemDeliveryInfo"},
|
{2000, nullptr, "GetSystemDeliveryInfo"}, // Always set to 0x1 by #GetSystemDeliveryInfo with [20.0.0+].
|
||||||
{2001, nullptr, "SelectLatestSystemDeliveryInfo"},
|
{2001, nullptr, "SelectLatestSystemDeliveryInfo"},
|
||||||
{2002, nullptr, "VerifyDeliveryProtocolVersion"},
|
{2002, nullptr, "VerifyDeliveryProtocolVersion"},
|
||||||
{2003, nullptr, "GetApplicationDeliveryInfo"},
|
{2003, nullptr, "GetApplicationDeliveryInfo"},
|
||||||
|
@ -237,8 +275,11 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{2016, nullptr, "ListNotCommittedContentMeta"},
|
{2016, nullptr, "ListNotCommittedContentMeta"},
|
||||||
{2017, nullptr, "CreateDownloadTask"},
|
{2017, nullptr, "CreateDownloadTask"},
|
||||||
{2018, nullptr, "GetApplicationDeliveryInfoHash"},
|
{2018, nullptr, "GetApplicationDeliveryInfoHash"},
|
||||||
|
{2019, nullptr, "Unknown2019"}, // 20.0.0+
|
||||||
{2050, D<&IApplicationManagerInterface::GetApplicationRightsOnClient>, "GetApplicationRightsOnClient"},
|
{2050, D<&IApplicationManagerInterface::GetApplicationRightsOnClient>, "GetApplicationRightsOnClient"},
|
||||||
{2051, nullptr, "InvalidateRightsIdCache"},
|
{2051, nullptr, "InvalidateRightsIdCache"},
|
||||||
|
{2052, nullptr, "Unknown2052"}, // 20.0.0+
|
||||||
|
{2053, nullptr, "Unknown2053"}, // 20.0.0+
|
||||||
{2100, D<&IApplicationManagerInterface::GetApplicationTerminateResult>, "GetApplicationTerminateResult"},
|
{2100, D<&IApplicationManagerInterface::GetApplicationTerminateResult>, "GetApplicationTerminateResult"},
|
||||||
{2101, nullptr, "GetRawApplicationTerminateResult"},
|
{2101, nullptr, "GetRawApplicationTerminateResult"},
|
||||||
{2150, nullptr, "CreateRightsEnvironment"},
|
{2150, nullptr, "CreateRightsEnvironment"},
|
||||||
|
@ -255,6 +296,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{2180, nullptr, "RequestExtendRightsInRightsEnvironment"},
|
{2180, nullptr, "RequestExtendRightsInRightsEnvironment"},
|
||||||
{2181, nullptr, "GetResultOfExtendRightsInRightsEnvironment"},
|
{2181, nullptr, "GetResultOfExtendRightsInRightsEnvironment"},
|
||||||
{2182, nullptr, "SetActiveRightsContextUsingStateToRightsEnvironment"},
|
{2182, nullptr, "SetActiveRightsContextUsingStateToRightsEnvironment"},
|
||||||
|
{2183, nullptr, "Unknown2183"}, // 20.1.0+
|
||||||
{2190, nullptr, "GetRightsEnvironmentHandleForApplication"},
|
{2190, nullptr, "GetRightsEnvironmentHandleForApplication"},
|
||||||
{2199, nullptr, "GetRightsEnvironmentCountForDebug"},
|
{2199, nullptr, "GetRightsEnvironmentCountForDebug"},
|
||||||
{2200, nullptr, "GetGameCardApplicationCopyIdentifier"},
|
{2200, nullptr, "GetGameCardApplicationCopyIdentifier"},
|
||||||
|
@ -271,9 +313,18 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{2357, nullptr, "EnableMultiCoreDownload"},
|
{2357, nullptr, "EnableMultiCoreDownload"},
|
||||||
{2358, nullptr, "DisableMultiCoreDownload"},
|
{2358, nullptr, "DisableMultiCoreDownload"},
|
||||||
{2359, nullptr, "IsMultiCoreDownloadEnabled"},
|
{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"},
|
{2400, nullptr, "GetPromotionInfo"},
|
||||||
{2401, nullptr, "CountPromotionInfo"},
|
{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"},
|
{2403, nullptr, "ImportPromotionJsonForDebug"},
|
||||||
{2404, nullptr, "ClearPromotionInfoForDebug"},
|
{2404, nullptr, "ClearPromotionInfoForDebug"},
|
||||||
{2500, nullptr, "ConfirmAvailableTime"},
|
{2500, nullptr, "ConfirmAvailableTime"},
|
||||||
|
@ -289,6 +340,9 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{2520, nullptr, "IsQualificationTransitionSupportedByProcessId"},
|
{2520, nullptr, "IsQualificationTransitionSupportedByProcessId"},
|
||||||
{2521, nullptr, "GetRightsUserChangedEvent"},
|
{2521, nullptr, "GetRightsUserChangedEvent"},
|
||||||
{2522, nullptr, "IsRomRedirectionAvailable"},
|
{2522, nullptr, "IsRomRedirectionAvailable"},
|
||||||
|
{2523, nullptr, "GetProgramId"}, // 17.0.0+
|
||||||
|
{2524, nullptr, "Unknown2524"}, // 19.0.0+
|
||||||
|
{2525, nullptr, "Unknown2525"}, // 20.0.0+
|
||||||
{2800, nullptr, "GetApplicationIdOfPreomia"},
|
{2800, nullptr, "GetApplicationIdOfPreomia"},
|
||||||
{3000, nullptr, "RegisterDeviceLockKey"},
|
{3000, nullptr, "RegisterDeviceLockKey"},
|
||||||
{3001, nullptr, "UnregisterDeviceLockKey"},
|
{3001, nullptr, "UnregisterDeviceLockKey"},
|
||||||
|
@ -306,6 +360,95 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||||
{3013, nullptr, "IsGameCardEnabled"},
|
{3013, nullptr, "IsGameCardEnabled"},
|
||||||
{3014, nullptr, "IsLocalContentShareEnabled"},
|
{3014, nullptr, "IsLocalContentShareEnabled"},
|
||||||
{3050, nullptr, "ListAssignELicenseTaskResult"},
|
{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"},
|
{9999, nullptr, "GetApplicationCertificate"},
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
@ -516,6 +659,23 @@ Result IApplicationManagerInterface::CheckApplicationLaunchVersion(u64 applicati
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result IApplicationManagerInterface::Unknown4022(Out<u32> out_unknown) {
|
||||||
|
LOG_WARNING(Service_NS, "(STUBBED) Unknown4022 called");
|
||||||
|
*out_unknown = 0;
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result IApplicationManagerInterface::Unknown4023(Out<u32> out_unknown) {
|
||||||
|
LOG_WARNING(Service_NS, "(STUBBED) Unknown4022 called");
|
||||||
|
|
||||||
|
*out_unknown = 0;
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
Result IApplicationManagerInterface::Unknown4088() {
|
||||||
|
LOG_WARNING(Service_NS, "(STUBBED) Unknown4088 called");
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
Result IApplicationManagerInterface::GetApplicationTerminateResult(Out<Result> out_result,
|
Result IApplicationManagerInterface::GetApplicationTerminateResult(Out<Result> out_result,
|
||||||
u64 application_id) {
|
u64 application_id) {
|
||||||
LOG_WARNING(Service_NS, "(STUBBED) called. application_id={:016X}", application_id);
|
LOG_WARNING(Service_NS, "(STUBBED) called. application_id={:016X}", application_id);
|
||||||
|
|
|
@ -52,6 +52,9 @@ public:
|
||||||
Result IsApplicationUpdateRequested(Out<bool> out_update_required, Out<u32> out_update_version,
|
Result IsApplicationUpdateRequested(Out<bool> out_update_required, Out<u32> out_update_version,
|
||||||
u64 application_id);
|
u64 application_id);
|
||||||
Result CheckApplicationLaunchVersion(u64 application_id);
|
Result CheckApplicationLaunchVersion(u64 application_id);
|
||||||
|
Result Unknown4022(Out<u32> out_unknown);
|
||||||
|
Result Unknown4023(Out<u32> out_unknown);
|
||||||
|
Result Unknown4088();
|
||||||
Result GetApplicationTerminateResult(Out<Result> out_result, u64 application_id);
|
Result GetApplicationTerminateResult(Out<Result> out_result, u64 application_id);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -18,6 +18,8 @@ IContentManagementInterface::IContentManagementInterface(Core::System& system_)
|
||||||
{43, D<&IContentManagementInterface::CheckSdCardMountStatus>, "CheckSdCardMountStatus"},
|
{43, D<&IContentManagementInterface::CheckSdCardMountStatus>, "CheckSdCardMountStatus"},
|
||||||
{47, D<&IContentManagementInterface::GetTotalSpaceSize>, "GetTotalSpaceSize"},
|
{47, D<&IContentManagementInterface::GetTotalSpaceSize>, "GetTotalSpaceSize"},
|
||||||
{48, D<&IContentManagementInterface::GetFreeSpaceSize>, "GetFreeSpaceSize"},
|
{48, D<&IContentManagementInterface::GetFreeSpaceSize>, "GetFreeSpaceSize"},
|
||||||
|
{58, nullptr, "Unknown58"}, // 20.1.0+
|
||||||
|
{71, nullptr, "Unknown71"}, // 20.1.0+
|
||||||
{600, nullptr, "CountApplicationContentMeta"},
|
{600, nullptr, "CountApplicationContentMeta"},
|
||||||
{601, nullptr, "ListApplicationContentMetaStatus"},
|
{601, nullptr, "ListApplicationContentMetaStatus"},
|
||||||
{605, nullptr, "ListApplicationContentMetaStatusWithRightsCheck"},
|
{605, nullptr, "ListApplicationContentMetaStatusWithRightsCheck"},
|
||||||
|
|
|
@ -27,6 +27,12 @@ IDevelopInterface::IDevelopInterface(Core::System& system_) : ServiceFramework{s
|
||||||
{17, nullptr, "PrepareLaunchApplicationFromHost"},
|
{17, nullptr, "PrepareLaunchApplicationFromHost"},
|
||||||
{18, nullptr, "GetLaunchEvent"},
|
{18, nullptr, "GetLaunchEvent"},
|
||||||
{19, nullptr, "GetLaunchResult"},
|
{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
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ IDownloadTaskInterface::IDownloadTaskInterface(Core::System& system_)
|
||||||
{707, D<&IDownloadTaskInterface::EnableAutoCommit>, "EnableAutoCommit"},
|
{707, D<&IDownloadTaskInterface::EnableAutoCommit>, "EnableAutoCommit"},
|
||||||
{708, D<&IDownloadTaskInterface::DisableAutoCommit>, "DisableAutoCommit"},
|
{708, D<&IDownloadTaskInterface::DisableAutoCommit>, "DisableAutoCommit"},
|
||||||
{709, nullptr, "TriggerDynamicCommitEvent"},
|
{709, nullptr, "TriggerDynamicCommitEvent"},
|
||||||
|
{710, nullptr, "Unknown710"} // 20.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,9 @@ IDynamicRightsInterface::IDynamicRightsInterface(Core::System& system_)
|
||||||
{23, nullptr, "GetLimitedApplicationLicenseUpgradableEvent"},
|
{23, nullptr, "GetLimitedApplicationLicenseUpgradableEvent"},
|
||||||
{24, nullptr, "NotifyLimitedApplicationLicenseUpgradableEventForDebug"},
|
{24, nullptr, "NotifyLimitedApplicationLicenseUpgradableEventForDebug"},
|
||||||
{25, nullptr, "RequestProceedDynamicRightsState"},
|
{25, nullptr, "RequestProceedDynamicRightsState"},
|
||||||
{26, D<&IDynamicRightsInterface::HasAccountRestrictedRightsInRunningApplications>, "HasAccountRestrictedRightsInRunningApplications"}
|
{26, D<&IDynamicRightsInterface::HasAccountRestrictedRightsInRunningApplications>, "HasAccountRestrictedRightsInRunningApplications"},
|
||||||
|
{27, nullptr, "Unknown27"}, // 20.0.0+
|
||||||
|
{28, nullptr, "Unknown28"}, // 20.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,13 @@ IECommerceInterface::IECommerceInterface(Core::System& system_)
|
||||||
{4, nullptr, "RequestUnlinkDevice"},
|
{4, nullptr, "RequestUnlinkDevice"},
|
||||||
{5, nullptr, "RequestRevokeAllELicense"},
|
{5, nullptr, "RequestRevokeAllELicense"},
|
||||||
{6, nullptr, "RequestSyncRightsBasedOnAssignedELicenses"},
|
{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
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,8 @@ IFactoryResetInterface::IFactoryResetInterface(Core::System& system_)
|
||||||
{104, nullptr, "ResetToFactorySettingsWithPlatformRegionAuthentication"},
|
{104, nullptr, "ResetToFactorySettingsWithPlatformRegionAuthentication"},
|
||||||
{105, nullptr, "RequestResetToFactorySettingsSecurely"},
|
{105, nullptr, "RequestResetToFactorySettingsSecurely"},
|
||||||
{106, nullptr, "RequestResetToFactorySettingsWithPlatformRegionAuthenticationSecurely"},
|
{106, nullptr, "RequestResetToFactorySettingsWithPlatformRegionAuthenticationSecurely"},
|
||||||
|
{107, nullptr, "Unknown7"}, // 20.0.0+
|
||||||
|
{108, nullptr, "Unknown8"}, // 20.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -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"},
|
||||||
};
|
};
|
||||||
|
|
|
@ -32,6 +32,10 @@ IQueryService::IQueryService(Core::System& system_) : ServiceFramework{system_,
|
||||||
{17, nullptr, "QueryLastPlayTime"},
|
{17, nullptr, "QueryLastPlayTime"},
|
||||||
{18, nullptr, "QueryApplicationPlayStatisticsForSystem"},
|
{18, nullptr, "QueryApplicationPlayStatisticsForSystem"},
|
||||||
{19, nullptr, "QueryApplicationPlayStatisticsByUserAccountIdForSystem"},
|
{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
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,19 @@ IReadOnlyApplicationControlDataInterface::IReadOnlyApplicationControlDataInterfa
|
||||||
{2, D<&IReadOnlyApplicationControlDataInterface::ConvertApplicationLanguageToLanguageCode>, "ConvertApplicationLanguageToLanguageCode"},
|
{2, D<&IReadOnlyApplicationControlDataInterface::ConvertApplicationLanguageToLanguageCode>, "ConvertApplicationLanguageToLanguageCode"},
|
||||||
{3, nullptr, "ConvertLanguageCodeToApplicationLanguage"},
|
{3, nullptr, "ConvertLanguageCodeToApplicationLanguage"},
|
||||||
{4, nullptr, "SelectApplicationDesiredLanguage"},
|
{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
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,8 @@ IReadOnlyApplicationRecordInterface::IReadOnlyApplicationRecordInterface(Core::S
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, D<&IReadOnlyApplicationRecordInterface::HasApplicationRecord>, "HasApplicationRecord"},
|
{0, D<&IReadOnlyApplicationRecordInterface::HasApplicationRecord>, "HasApplicationRecord"},
|
||||||
{1, nullptr, "NotifyApplicationFailure"},
|
{1, nullptr, "NotifyApplicationFailure"},
|
||||||
{2, D<&IReadOnlyApplicationRecordInterface::IsDataCorruptedResult>,
|
{2, D<&IReadOnlyApplicationRecordInterface::IsDataCorruptedResult>, "IsDataCorruptedResult"},
|
||||||
"IsDataCorruptedResult"},
|
{3, nullptr, "Unknown3"}, // 20.0.0 +
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,9 @@ IVulnerabilityManagerInterface::IVulnerabilityManagerInterface(Core::System& sys
|
||||||
{1200, D<&IVulnerabilityManagerInterface::NeedsUpdateVulnerability>, "NeedsUpdateVulnerability"},
|
{1200, D<&IVulnerabilityManagerInterface::NeedsUpdateVulnerability>, "NeedsUpdateVulnerability"},
|
||||||
{1201, nullptr, "UpdateSafeSystemVersionForDebug"},
|
{1201, nullptr, "UpdateSafeSystemVersionForDebug"},
|
||||||
{1202, nullptr, "GetSafeSystemVersion"},
|
{1202, nullptr, "GetSafeSystemVersion"},
|
||||||
|
{3100, nullptr, "Unknown7"}, // 18.0.0+
|
||||||
|
{3101, nullptr, "Unknown8"}, // 18.0.0+
|
||||||
|
{3102, nullptr, "Unknown8"}, // 18.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -10,16 +10,17 @@ IDaemonController::IDaemonController(Core::System& system_)
|
||||||
: ServiceFramework{system_, "IDaemonController"} {
|
: ServiceFramework{system_, "IDaemonController"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, D<&IDaemonController::GetAutoTransferEnabledForAccountAndApplication>, "GetAutoTransferEnabledForAccountAndApplication"},
|
{0, D<&IDaemonController::GetApplicationAutoTransferSetting>, "GetApplicationAutoTransferSetting"},
|
||||||
{1, nullptr, "SetAutoTransferEnabledForAccountAndApplication"},
|
{1, nullptr, "SetApplicationAutoTransferSetting"},
|
||||||
{2, nullptr, "GetGlobalUploadEnabledForAccount"},
|
{2, nullptr, "GetGlobalAutoUploadSetting"},
|
||||||
{3, nullptr, "SetGlobalUploadEnabledForAccount"},
|
{3, nullptr, "SetGlobalAutoUploadSetting"},
|
||||||
{4, nullptr, "TouchAccount"},
|
{4, nullptr, "RunTransferTaskAutonomyRegistration"},
|
||||||
{5, nullptr, "GetGlobalDownloadEnabledForAccount"},
|
{5, nullptr, "GetGlobalAutoDownloadSetting"}, // 11.0.0+
|
||||||
{6, nullptr, "SetGlobalDownloadEnabledForAccount"},
|
{6, nullptr, "SetGlobalAutoDownloadSetting"}, // 11.0.0+
|
||||||
{10, nullptr, "GetForbiddenSaveDataIndication"},
|
{10, nullptr, "CreateForbiddenSaveDataInidication"},
|
||||||
{11, nullptr, "GetStopperObject"},
|
{11, nullptr, "StopAutonomyTaskExecution"},
|
||||||
{12, nullptr, "GetState"},
|
{12, nullptr, "GetAutonomyTaskStatus"},
|
||||||
|
{13, nullptr, "Unknown13"}, // 20.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
@ -28,7 +29,7 @@ IDaemonController::IDaemonController(Core::System& system_)
|
||||||
|
|
||||||
IDaemonController::~IDaemonController() = default;
|
IDaemonController::~IDaemonController() = default;
|
||||||
|
|
||||||
Result IDaemonController::GetAutoTransferEnabledForAccountAndApplication(Out<bool> out_is_enabled,
|
Result IDaemonController::GetApplicationAutoTransferSetting(Out<bool> out_is_enabled,
|
||||||
Common::UUID user_id,
|
Common::UUID user_id,
|
||||||
u64 application_id) {
|
u64 application_id) {
|
||||||
LOG_WARNING(Service_OLSC, "(STUBBED) called, user_id={} application_id={:016X}",
|
LOG_WARNING(Service_OLSC, "(STUBBED) called, user_id={} application_id={:016X}",
|
||||||
|
|
|
@ -13,7 +13,7 @@ public:
|
||||||
~IDaemonController() override;
|
~IDaemonController() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Result GetAutoTransferEnabledForAccountAndApplication(Out<bool> out_is_enabled,
|
Result GetApplicationAutoTransferSetting(Out<bool> out_is_enabled,
|
||||||
Common::UUID user_id, u64 application_id);
|
Common::UUID user_id, u64 application_id);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -10,30 +10,35 @@ IRemoteStorageController::IRemoteStorageController(Core::System& system_)
|
||||||
: ServiceFramework{system_, "IRemoteStorageController"} {
|
: ServiceFramework{system_, "IRemoteStorageController"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, nullptr, "GetSaveDataArchiveInfoBySaveDataId"},
|
{0, nullptr, "RegisterUploadSaveDataTransferTask"},
|
||||||
{1, nullptr, "GetSaveDataArchiveInfoByApplicationId"},
|
{1, nullptr, "RegisterDownloadSaveDataTransferTask"},
|
||||||
{3, nullptr, "GetSaveDataArchiveCount"},
|
{2, nullptr, "Unknown2"}, // 6.0.0-7.0.1
|
||||||
{6, nullptr, "CleanupSaveDataArchives"},
|
{3, nullptr, "GetCount"},
|
||||||
{7, nullptr, "CreateSaveDataArchiveCacheUpdationTask"},
|
{4, nullptr, "Unknown4"}, // 6.0.0-7.0.1
|
||||||
{8, nullptr, "CreateSaveDataArchiveCacheUpdationForSpecifiedApplicationTask"},
|
{6, nullptr, "ClearDataInfoCache"},
|
||||||
{9, nullptr, "Delete"},
|
{7, nullptr, "RequestUpdateDataInfoCacheAsync"},
|
||||||
{10, nullptr, "GetSeriesInfo"},
|
{8, nullptr, "RequestUpdateDataInfoCacheOfSpecifiedApplicationAsync"},
|
||||||
{11, nullptr, "CreateDeleteDataTask"},
|
{9, nullptr, "DeleteDataInfoCache"},
|
||||||
{12, nullptr, "DeleteSeriesInfo"},
|
{10, nullptr, "GetDataNewness"},
|
||||||
{13, nullptr, "CreateRegisterNotificationTokenTask"},
|
{11, nullptr, "RequestDeleteDataAsync"},
|
||||||
{14, nullptr, "UpdateSeriesInfo"},
|
{12, nullptr, "RegisterUploadSaveDataTransferTaskDetail"},
|
||||||
|
{13, nullptr, "RequestRegisterNotificationTokenAsync"},
|
||||||
|
{14, nullptr, "GetDataNewnessByApplicationId"},
|
||||||
{15, nullptr, "RegisterUploadSaveDataTransferTaskForAutonomyRegistration"},
|
{15, nullptr, "RegisterUploadSaveDataTransferTaskForAutonomyRegistration"},
|
||||||
{16, nullptr, "CreateCleanupToDeleteSaveDataArchiveInfoTask"},
|
{16, nullptr, "RequestCleanupToDeleteSaveDataArchiveAsync"},
|
||||||
{17, nullptr, "ListDataInfo"},
|
{17, nullptr, "ListDataInfo"}, // 7.0.0+
|
||||||
{18, nullptr, "GetDataInfo"},
|
{18, nullptr, "GetDataInfo"}, // 7.0.0+
|
||||||
{19, nullptr, "Unknown19"},
|
{19, nullptr, "GetDataInfoCacheUpdateNativeHandleHolder"}, // 7.0.0+
|
||||||
{20, nullptr, "CreateSaveDataArchiveInfoCacheForSaveDataBackupUpdationTask"},
|
{20, nullptr, "RequestUpdateSaveDataBackupInfoCacheAsync"}, // 10.1.0+
|
||||||
{21, nullptr, "ListSecondarySaves"},
|
{21, nullptr, "ListLoadedDataInfo"}, // 11.0.0+
|
||||||
{22, D<&IRemoteStorageController::GetSecondarySave>, "GetSecondarySave"},
|
{22, D<&IRemoteStorageController::GetLoadedDataInfo>, "GetLoadedDataInfo"},
|
||||||
{23, nullptr, "TouchSecondarySave"},
|
{23, nullptr, "ApplyLoadedData"}, // 11.0.0+
|
||||||
{24, nullptr, "GetSecondarySaveDataInfo"},
|
{24, nullptr, "DeleteLoadedData"}, // 11.0.0+
|
||||||
{25, nullptr, "RegisterDownloadSaveDataTransferTaskForAutonomyRegistration"},
|
{25, nullptr, "RegisterDownloadSaveDataTransferTaskForAutonomyRegistration"}, // 11.0.0+
|
||||||
{900, nullptr, "Unknown900"},
|
{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
|
// clang-format on
|
||||||
|
|
||||||
|
@ -42,7 +47,7 @@ IRemoteStorageController::IRemoteStorageController(Core::System& system_)
|
||||||
|
|
||||||
IRemoteStorageController::~IRemoteStorageController() = default;
|
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,
|
Out<std::array<u64, 3>> out_unknown,
|
||||||
u64 application_id) {
|
u64 application_id) {
|
||||||
LOG_ERROR(Service_OLSC, "(STUBBED) called, application_id={:016X}", application_id);
|
LOG_ERROR(Service_OLSC, "(STUBBED) called, application_id={:016X}", application_id);
|
||||||
|
|
|
@ -12,7 +12,7 @@ public:
|
||||||
~IRemoteStorageController() override;
|
~IRemoteStorageController() override;
|
||||||
|
|
||||||
private:
|
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);
|
u64 application_id);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -11,32 +11,37 @@ ITransferTaskListController::ITransferTaskListController(Core::System& system_)
|
||||||
: ServiceFramework{system_, "ITransferTaskListController"} {
|
: ServiceFramework{system_, "ITransferTaskListController"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, nullptr, "Unknown0"},
|
{0, nullptr, "GetTransferTaskCountForOcean"},
|
||||||
{1, nullptr, "Unknown1"},
|
{1, nullptr, "GetTransferTaskInfoForOcean"},
|
||||||
{2, nullptr, "Unknown2"},
|
{2, nullptr, "ListTransferTaskInfoForOcean"},
|
||||||
{3, nullptr, "Unknown3"},
|
{3, nullptr, "DeleteTransferTaskForOcean"},
|
||||||
{4, nullptr, "Unknown4"},
|
{4, nullptr, "RaiseTransferTaskPriorityForOcean"},
|
||||||
{5, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder"},
|
{5, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetTransferTaskEndEventNativeHandleHolder"},
|
||||||
{6, nullptr, "Unknown6"},
|
{6, nullptr, "GetTransferTaskProgressForOcean"},
|
||||||
{7, nullptr, "Unknown7"},
|
{7, nullptr, "GetTransferTaskLastResultForOcean"},
|
||||||
{8, nullptr, "GetRemoteStorageController"},
|
{8, nullptr, "StopNextTransferTaskExecution"},
|
||||||
{9, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder2"},
|
{9, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetTransferTaskStartEventNativeHandleHolder"},
|
||||||
{10, nullptr, "Unknown10"},
|
{10, nullptr, "SuspendTransferTaskForOcean"},
|
||||||
{11, nullptr, "Unknown11"},
|
{11, nullptr, "GetCurrentTransferTaskInfoForOcean"},
|
||||||
{12, nullptr, "Unknown12"},
|
{12, nullptr, "FindTransferTaskInfoForOcean"},
|
||||||
{13, nullptr, "Unknown13"},
|
{13, nullptr, "CancelCurrentRepairTransferTask"}, // 9.0.0+
|
||||||
{14, nullptr, "Unknown14"},
|
{14, nullptr, "GetRepairTransferTaskProgress"}, // 9.0.0+
|
||||||
{15, nullptr, "Unknown15"},
|
{15, nullptr, "EnsureExecutableForRepairTransferTask"}, // 9.0.0+
|
||||||
{16, nullptr, "Unknown16"},
|
{16, nullptr, "GetTransferTaskCount"}, // 10.1.0+
|
||||||
{17, nullptr, "Unknown17"},
|
{17, nullptr, "GetTransferTaskInfo"}, // 10.1.0+
|
||||||
{18, nullptr, "Unknown18"},
|
{18, nullptr, "ListTransferTaskInfo"}, // 10.1.0+
|
||||||
{19, nullptr, "Unknown19"},
|
{19, nullptr, "DeleteTransferTask"}, // 10.1.0+
|
||||||
{20, nullptr, "Unknown20"},
|
{20, nullptr, "RaiseTransferTaskPriority"}, // 10.1.0+
|
||||||
{21, nullptr, "Unknown21"},
|
{21, nullptr, "GetTransferTaskProgress"}, // 10.1.0+
|
||||||
{22, nullptr, "Unknown22"},
|
{22, nullptr, "GetTransferTaskLastResult"}, // 10.1.0+
|
||||||
{23, nullptr, "Unknown23"},
|
{23, nullptr, "SuspendTransferTask"}, // 10.1.0+
|
||||||
{24, nullptr, "Unknown24"},
|
{24, nullptr, "GetCurrentTransferTaskInfo"}, // 10.1.0+
|
||||||
{25, nullptr, "Unknown25"},
|
{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
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,13 @@ IOperationModeManager::IOperationModeManager(Core::System& system_)
|
||||||
{26, nullptr, "GetOperationModeSystemInfo"},
|
{26, nullptr, "GetOperationModeSystemInfo"},
|
||||||
{27, nullptr, "GetAppletFullAwakingSystemEvent"},
|
{27, nullptr, "GetAppletFullAwakingSystemEvent"},
|
||||||
{28, nullptr, "CreateCradleFirmwareUpdater"},
|
{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
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,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"},
|
||||||
|
@ -52,9 +54,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"},
|
||||||
|
@ -80,16 +84,18 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
|
||||||
{1451, D<&IParentalControlService::StartPlayTimer>, "StartPlayTimer"},
|
{1451, D<&IParentalControlService::StartPlayTimer>, "StartPlayTimer"},
|
||||||
{1452, D<&IParentalControlService::StopPlayTimer>, "StopPlayTimer"},
|
{1452, D<&IParentalControlService::StopPlayTimer>, "StopPlayTimer"},
|
||||||
{1453, D<&IParentalControlService::IsPlayTimerEnabled>, "IsPlayTimerEnabled"},
|
{1453, D<&IParentalControlService::IsPlayTimerEnabled>, "IsPlayTimerEnabled"},
|
||||||
{1454, nullptr, "GetPlayTimerRemainingTime"},
|
{1454, D<&IParentalControlService::GetPlayTimerRemainingTime>, "GetPlayTimerRemainingTime"},
|
||||||
{1455, D<&IParentalControlService::IsRestrictedByPlayTimer>, "IsRestrictedByPlayTimer"},
|
{1455, D<&IParentalControlService::IsRestrictedByPlayTimer>, "IsRestrictedByPlayTimer"},
|
||||||
{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, D<&IParentalControlService::GetPlayTimerRemainingTimeDisplayInfo>, "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"},
|
||||||
|
@ -109,6 +115,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"},
|
||||||
|
@ -125,6 +134,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
|
||||||
|
@ -378,6 +396,12 @@ Result IParentalControlService::IsPlayTimerEnabled(Out<bool> out_is_play_timer_e
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result IParentalControlService::GetPlayTimerRemainingTime(Out<s32> out_remaining_minutes) {
|
||||||
|
*out_remaining_minutes = 0;
|
||||||
|
LOG_WARNING(Service_PCTL, "(STUBBED) called, remaining_minutes={}", *out_remaining_minutes);
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
Result IParentalControlService::IsRestrictedByPlayTimer(Out<bool> out_is_restricted_by_play_timer) {
|
Result IParentalControlService::IsRestrictedByPlayTimer(Out<bool> out_is_restricted_by_play_timer) {
|
||||||
*out_is_restricted_by_play_timer = false;
|
*out_is_restricted_by_play_timer = false;
|
||||||
LOG_WARNING(Service_PCTL, "(STUBBED) called, restricted={}", *out_is_restricted_by_play_timer);
|
LOG_WARNING(Service_PCTL, "(STUBBED) called, restricted={}", *out_is_restricted_by_play_timer);
|
||||||
|
@ -412,6 +436,15 @@ Result IParentalControlService::IsPlayTimerAlarmDisabled(Out<bool> out_play_time
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result IParentalControlService::GetPlayTimerRemainingTimeDisplayInfo(
|
||||||
|
Out<s32> out_remaining_minutes, Out<u32> out_unknown) {
|
||||||
|
*out_remaining_minutes = 0;
|
||||||
|
*out_unknown = 0;
|
||||||
|
LOG_WARNING(Service_PCTL, "(STUBBED) called, remaining_minutes={}, unknown={}",
|
||||||
|
*out_remaining_minutes, *out_unknown);
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
Result IParentalControlService::GetUnlinkedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event) {
|
Result IParentalControlService::GetUnlinkedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event) {
|
||||||
LOG_INFO(Service_PCTL, "called");
|
LOG_INFO(Service_PCTL, "called");
|
||||||
*out_event = unlinked_event.GetHandle();
|
*out_event = unlinked_event.GetHandle();
|
||||||
|
@ -452,4 +485,4 @@ Result IParentalControlService::ResetConfirmedStereoVisionPermission() {
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Service::PCTL
|
} // namespace Service::PCTL
|
|
@ -49,10 +49,12 @@ private:
|
||||||
Result StartPlayTimer();
|
Result StartPlayTimer();
|
||||||
Result StopPlayTimer();
|
Result StopPlayTimer();
|
||||||
Result IsPlayTimerEnabled(Out<bool> out_is_play_timer_enabled);
|
Result IsPlayTimerEnabled(Out<bool> out_is_play_timer_enabled);
|
||||||
|
Result GetPlayTimerRemainingTime(Out<s32> out_remaining_minutes);
|
||||||
Result IsRestrictedByPlayTimer(Out<bool> out_is_restricted_by_play_timer);
|
Result IsRestrictedByPlayTimer(Out<bool> out_is_restricted_by_play_timer);
|
||||||
Result GetPlayTimerSettingsOld(Out<PlayTimerSettings> out_play_timer_settings);
|
Result GetPlayTimerSettingsOld(Out<PlayTimerSettings> out_play_timer_settings);
|
||||||
Result GetPlayTimerEventToRequestSuspension(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
Result GetPlayTimerEventToRequestSuspension(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||||
Result IsPlayTimerAlarmDisabled(Out<bool> out_play_timer_alarm_disabled);
|
Result IsPlayTimerAlarmDisabled(Out<bool> out_play_timer_alarm_disabled);
|
||||||
|
Result GetPlayTimerRemainingTimeDisplayInfo(Out<s32> out_remaining_minutes, Out<u32> out_unknown);
|
||||||
Result GetUnlinkedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
Result GetUnlinkedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||||
Result GetStereoVisionRestriction(Out<bool> out_stereo_vision_restriction);
|
Result GetStereoVisionRestriction(Out<bool> out_stereo_vision_restriction);
|
||||||
Result SetStereoVisionRestriction(bool stereo_vision_restriction);
|
Result SetStereoVisionRestriction(bool stereo_vision_restriction);
|
||||||
|
|
|
@ -27,6 +27,7 @@ public:
|
||||||
{2, &IPsmSession::SetChargerTypeChangeEventEnabled, "SetChargerTypeChangeEventEnabled"},
|
{2, &IPsmSession::SetChargerTypeChangeEventEnabled, "SetChargerTypeChangeEventEnabled"},
|
||||||
{3, &IPsmSession::SetPowerSupplyChangeEventEnabled, "SetPowerSupplyChangeEventEnabled"},
|
{3, &IPsmSession::SetPowerSupplyChangeEventEnabled, "SetPowerSupplyChangeEventEnabled"},
|
||||||
{4, &IPsmSession::SetBatteryVoltageStateChangeEventEnabled, "SetBatteryVoltageStateChangeEventEnabled"},
|
{4, &IPsmSession::SetBatteryVoltageStateChangeEventEnabled, "SetBatteryVoltageStateChangeEventEnabled"},
|
||||||
|
{5, nullptr, "Unknown5"}, // 20.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
@ -141,6 +142,12 @@ PSM::PSM(Core::System& system_) : ServiceFramework{system_, "psm"} {
|
||||||
{16, nullptr, "GetBatteryChargeInfoEvent"},
|
{16, nullptr, "GetBatteryChargeInfoEvent"},
|
||||||
{17, nullptr, "GetBatteryChargeInfoFields"},
|
{17, nullptr, "GetBatteryChargeInfoFields"},
|
||||||
{18, nullptr, "GetBatteryChargeCalibratedEvent"},
|
{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
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -304,6 +304,15 @@ ISystemSettingsServer::ISystemSettingsServer(Core::System& system_)
|
||||||
{222, nullptr, "SetForceMonauralOutputFlag"}, //17.0.0+
|
{222, nullptr, "SetForceMonauralOutputFlag"}, //17.0.0+
|
||||||
{251, nullptr, "GetAccountIdentificationSettings"}, //18.0.0+
|
{251, nullptr, "GetAccountIdentificationSettings"}, //18.0.0+
|
||||||
{252, nullptr, "SetAccountIdentificationSettings"}, //18.0.0+
|
{252, nullptr, "SetAccountIdentificationSettings"}, //18.0.0+
|
||||||
|
{263, nullptr, "AcquireVphymDirtyFlagEventHandle"}, // 20.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
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ void LoopProcess(Core::System& system) {
|
||||||
|
|
||||||
server_manager->RegisterNamedService("bsd:s", std::make_shared<BSD>(system, "bsd:s"));
|
server_manager->RegisterNamedService("bsd:s", std::make_shared<BSD>(system, "bsd:s"));
|
||||||
server_manager->RegisterNamedService("bsd:u", std::make_shared<BSD>(system, "bsd:u"));
|
server_manager->RegisterNamedService("bsd:u", std::make_shared<BSD>(system, "bsd:u"));
|
||||||
|
server_manager->RegisterNamedService("bsd:a", std::make_shared<BSD>(system, "bsd:a"));
|
||||||
server_manager->RegisterNamedService("bsdcfg", std::make_shared<BSDCFG>(system));
|
server_manager->RegisterNamedService("bsdcfg", std::make_shared<BSDCFG>(system));
|
||||||
server_manager->RegisterNamedService("nsd:a", std::make_shared<NSD>(system, "nsd:a"));
|
server_manager->RegisterNamedService("nsd:a", std::make_shared<NSD>(system, "nsd:a"));
|
||||||
server_manager->RegisterNamedService("nsd:u", std::make_shared<NSD>(system, "nsd:u"));
|
server_manager->RegisterNamedService("nsd:u", std::make_shared<NSD>(system, "nsd:u"));
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
@ -73,6 +73,72 @@ enum class CaCertificateId : s32 {
|
||||||
DigiCertTLSECCP384RootG5 = 1058, // [16.0.0+]
|
DigiCertTLSECCP384RootG5 = 1058, // [16.0.0+]
|
||||||
DigiCertTLSRSA4096RootG5 = 1059, // [16.0.0+]
|
DigiCertTLSRSA4096RootG5 = 1059, // [16.0.0+]
|
||||||
NintendoTempRootCAG4 = 65536, // [16.0.0+] ([19.0.0+] Removed)
|
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 {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue