mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-10-06 00:02:44 +02:00
Compare commits
6 Commits
d1bac2308f
...
FW20-WIP
Author | SHA1 | Date | |
---|---|---|---|
|
b080acf6d9 | ||
|
75bb9d9790 | ||
|
1da32cf231 | ||
|
3859799a8c | ||
|
18c848176a | ||
|
3c16ac28c2 |
@@ -17,6 +17,7 @@ struct CNMTHeader;
|
||||
struct OptionalHeader;
|
||||
|
||||
enum class TitleType : u8 {
|
||||
Invalid = 0x00,
|
||||
SystemProgram = 0x01,
|
||||
SystemDataArchive = 0x02,
|
||||
SystemUpdate = 0x03,
|
||||
|
@@ -13,7 +13,7 @@
|
||||
namespace FileSys::SystemArchive {
|
||||
|
||||
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 (*)();
|
||||
|
||||
@@ -64,6 +64,14 @@ constexpr std::array<SystemArchiveDescriptor, SYSTEM_ARCHIVE_COUNT> SYSTEM_ARCHI
|
||||
{0x0100000000000825, "ApplicationBlackList", nullptr},
|
||||
{0x0100000000000826, "RebootlessSystemUpdateVersion", 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) {
|
||||
|
@@ -153,7 +153,8 @@ enum class InfoType : u32 {
|
||||
ThreadTickCount = 25,
|
||||
IsSvcPermitted = 26,
|
||||
IoRegionHint = 27,
|
||||
AliasRegionExtraSize = 28,
|
||||
AliasRegionExtraSize = 28,
|
||||
TransferMemoryHint = 34,
|
||||
|
||||
MesosphereMeta = 65000,
|
||||
MesosphereCurrentProcess = 65001,
|
||||
@@ -643,6 +644,9 @@ enum class CreateProcessFlag : u32 {
|
||||
// 11.x+ DisableDeviceAddressSpaceMerge.
|
||||
DisableDeviceAddressSpaceMerge = (1 << 12),
|
||||
|
||||
EnableAliasRegionExtraSize = (1 << 13),
|
||||
PreventCodeReads = (1 << 14),
|
||||
|
||||
// Mask of all flags.
|
||||
All = Is64Bit | AddressSpaceMask | EnableDebug | EnableAslr | IsApplication |
|
||||
PoolPartitionMask | OptimizeMemoryAllocation | DisableDeviceAddressSpaceMerge,
|
||||
|
@@ -107,7 +107,9 @@ public:
|
||||
{160, nullptr, "RequiresUpdateNetworkServiceAccountIdTokenCache"},
|
||||
{161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"},
|
||||
{170, nullptr, "CreateDeviceHistoryRequest"}, // 17.0.0+
|
||||
{180, nullptr, "GetRequestForNintendoAccountReauthentication"} // 18.0.0+
|
||||
{180, nullptr, "GetRequestForNintendoAccountReauthentication"}, // 18.0.0+
|
||||
{181, nullptr, "CreateProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
|
||||
{182, nullptr, "ResumeProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -197,6 +199,12 @@ public:
|
||||
{161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"},
|
||||
{170, nullptr, "CreateDeviceHistoryRequest"}, // 17.0.0+
|
||||
{180, nullptr, "GetRequestForNintendoAccountReauthentication"}, // 18.0.0+
|
||||
{181, nullptr, "CreateProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
|
||||
{182, nullptr, "ResumeProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
|
||||
{183, nullptr, "GetNintendoAccountReauthenticationRequest"}, // 20.0.0+
|
||||
{190, nullptr, "GetDeviceMigrationInfo"}, // 20.0.0+
|
||||
{191, nullptr, "CheckDeviceMigrationAvailabilityAsync"}, // 20.0.0+
|
||||
{192, nullptr, "StartDeviceMigrationAsync"}, // 20.0.0+
|
||||
{200, nullptr, "IsRegistered"},
|
||||
{201, nullptr, "RegisterAsync"},
|
||||
{202, nullptr, "UnregisterAsync"},
|
||||
@@ -308,6 +316,7 @@ public:
|
||||
{220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+
|
||||
{221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+
|
||||
{230, nullptr, "RegisterUserWithLargeImageProfileAsync"}, // 18.0.0+
|
||||
{240, nullptr, "RegisterUserWithReauthenticationAsync"}, // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -340,9 +349,9 @@ public:
|
||||
{1, &IProfileCommon::GetBase, "GetBase"},
|
||||
{10, &IProfileCommon::GetImageSize, "GetImageSize"},
|
||||
{11, &IProfileCommon::LoadImage, "LoadImage"},
|
||||
{20, &IProfileCommon::Unknown20, "Unknown20"},
|
||||
{21, &IProfileCommon::Unknown21, "Unknown21"},
|
||||
{30, &IProfileCommon::Unknown30, "Unknown30"}
|
||||
{20, &IProfileCommon::GetLargeImageSize, "GetLargeImageSize"},
|
||||
{21, &IProfileCommon::LoadLargeImage, "LoadLargeImage"},
|
||||
{30, &IProfileCommon::GetImageId, "GetImageId"}
|
||||
};
|
||||
// clang-format on
|
||||
RegisterHandlers(functions);
|
||||
@@ -352,7 +361,7 @@ public:
|
||||
static const FunctionInfo editor_functions[] = {
|
||||
{100, &IProfileCommon::Store, "Store"},
|
||||
{101, &IProfileCommon::StoreWithImage, "StoreWithImage"},
|
||||
{110, &IProfileCommon::Unknown110, "Unknown110"}
|
||||
{110, &IProfileCommon::StoreWithLargeImage, "StoreWithLargeImage"}
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -361,7 +370,7 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
void Unknown20(HLERequestContext& ctx) {
|
||||
void GetLargeImageSize(HLERequestContext& ctx) {
|
||||
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
||||
|
||||
// TODO (jarrodnorwell)
|
||||
@@ -371,7 +380,7 @@ protected:
|
||||
rb.Push(ResultSuccess);
|
||||
}
|
||||
|
||||
void Unknown21(HLERequestContext& ctx) {
|
||||
void LoadLargeImage(HLERequestContext& ctx) {
|
||||
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
||||
|
||||
// TODO (jarrodnorwell)
|
||||
@@ -381,7 +390,7 @@ protected:
|
||||
rb.Push(ResultSuccess);
|
||||
}
|
||||
|
||||
void Unknown30(HLERequestContext& ctx) {
|
||||
void GetImageId(HLERequestContext& ctx) {
|
||||
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
||||
|
||||
// TODO (jarrodnorwell)
|
||||
@@ -391,7 +400,7 @@ protected:
|
||||
rb.Push(ResultSuccess);
|
||||
}
|
||||
|
||||
void Unknown110(HLERequestContext& ctx) {
|
||||
void StoreWithLargeImage(HLERequestContext& ctx) {
|
||||
LOG_DEBUG(Service_ACC, "(STUBBED) called.");
|
||||
|
||||
// TODO (jarrodnorwell)
|
||||
@@ -763,7 +772,7 @@ public:
|
||||
{210, nullptr, "IsProfileAvailable"}, // 17.0.0+
|
||||
{220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+
|
||||
{221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+
|
||||
{230, nullptr, "RegisterUserWithLargeImageProfileAsync"} // 18.0.0+
|
||||
{230, nullptr, "RegisterUserWithLargeImageProfileAsync"}, // 18.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -56,15 +56,26 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
|
||||
{212, nullptr, "ResumeProcedureToRegisterUserWithNintendoAccount"},
|
||||
{230, nullptr, "AuthenticateServiceAsync"},
|
||||
{250, nullptr, "GetBaasAccountAdministrator"},
|
||||
{251, nullptr, "SynchronizeNetworkServiceAccountsSnapshotAsync"}, // 20.0.0+
|
||||
{290, nullptr, "ProxyProcedureForGuestLoginWithNintendoAccount"},
|
||||
{291, nullptr, "ProxyProcedureForFloatingRegistrationWithNintendoAccount"},
|
||||
{292, nullptr, "ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser"}, // 20.0.0+
|
||||
{293, nullptr, "ProxyProcedureForDeviceMigrationDownload"}, // 20.0.0+
|
||||
{299, nullptr, "SuspendBackgroundDaemon"},
|
||||
{350, nullptr, "CreateDeviceMigrationUserExportRequest"}, // 20.0.0+
|
||||
{351, nullptr, "UploadNasCredential"}, // 20.0.0+
|
||||
{352, nullptr, "CreateDeviceMigrationUserImportRequest"}, // 20.0.0+
|
||||
{353, nullptr, "DeleteUserMigrationSaveData"}, // 20.0.0+
|
||||
{400, nullptr, "SetPinCode"}, // 18.0.0+
|
||||
{401, nullptr, "GetPinCodeLength"}, // 18.0.0+
|
||||
{402, nullptr, "GetPinCode"}, // 18.0.0+
|
||||
{403, nullptr, "GetPinCodeParity"}, // 20.0.0+
|
||||
{404, nullptr, "VerifyPinCode"}, // 20.0.0+
|
||||
{405, nullptr, "IsPinCodeVerificationForbidden"}, // 20.0.0+
|
||||
{410, nullptr, "GetPinCodeErrorCount"}, // 18.0.0+
|
||||
{411, nullptr, "ResetPinCodeErrorCount"}, // 18.0.0+
|
||||
{412, nullptr, "IncrementPinCodeErrorCount"}, // 18.0.0+
|
||||
{413, nullptr, "SetPinCodeErrorCount"}, // 20.0.0+
|
||||
{900, nullptr, "SetUserUnqualifiedForDebug"},
|
||||
{901, nullptr, "UnsetUserUnqualifiedForDebug"},
|
||||
{902, nullptr, "ListUsersUnqualifiedForDebug"},
|
||||
|
@@ -19,6 +19,7 @@ ACC_U0::ACC_U0(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
|
||||
{6, nullptr, "GetProfileDigest"}, // 3.0.0+
|
||||
{50, &ACC_U0::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
|
||||
{51, &ACC_U0::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"},
|
||||
{52, nullptr, "TrySelectUserWithoutInteraction"}, // 19.0.0+
|
||||
{60, &ACC_U0::ListOpenContextStoredUsers, "ListOpenContextStoredUsers"}, // 5.0.0 - 5.1.0
|
||||
{99, nullptr, "DebugActivateOpenContextRetention"}, // 6.0.0+
|
||||
{100, &ACC_U0::InitializeApplicationInfo, "InitializeApplicationInfo"},
|
||||
|
@@ -42,6 +42,9 @@ ACC_U1::ACC_U1(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
|
||||
{191, nullptr, "ActivateOpenContextHolder"},
|
||||
{401, nullptr, "GetPinCodeLength"}, // 18.0.0+
|
||||
{402, nullptr, "GetPinCode"}, // 18.0.0+
|
||||
{403, nullptr, "GetPinCodeParity"}, // 20.0.0+
|
||||
{404, nullptr, "VerifyPinCode"}, // 20.0.0+
|
||||
{405, nullptr, "IsPinCodeVerificationForbidden"}, // 20.0.0+
|
||||
{997, nullptr, "DebugInvalidateTokenCacheForUser"},
|
||||
{998, nullptr, "DebugSetUserStateClose"},
|
||||
{999, nullptr, "DebugSetUserStateOpen"},
|
||||
|
@@ -90,6 +90,7 @@ enum class AppletId : u32 {
|
||||
LoginShare = 0x18,
|
||||
WebAuth = 0x19,
|
||||
MyPage = 0x1A,
|
||||
Splay = 0x64,
|
||||
};
|
||||
|
||||
enum class AppletProgramId : u64 {
|
||||
@@ -114,6 +115,7 @@ enum class AppletProgramId : u64 {
|
||||
Starter = 0x0100000000001012ull,
|
||||
MyPage = 0x0100000000001013ull,
|
||||
MaxProgramId = 0x0100000000001FFFull,
|
||||
Splay = 0x0100000000001048ull,
|
||||
};
|
||||
|
||||
// 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),
|
||||
gpu_error_detected_event(context), friend_invitation_storage_channel_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),
|
||||
sleep_lock_event(context), state_changed_event(context) {
|
||||
|
||||
|
@@ -120,6 +120,7 @@ struct Applet {
|
||||
Event friend_invitation_storage_channel_event;
|
||||
Event notification_storage_channel_event;
|
||||
Event health_warning_disappeared_system_event;
|
||||
Event unkown210_event;
|
||||
Event acquired_sleep_lock_event;
|
||||
Event pop_from_general_channel_event;
|
||||
Event library_applet_launchable_event;
|
||||
|
@@ -18,6 +18,7 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{100, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxy>, "OpenSystemAppletProxy"},
|
||||
{110, D<&IAllSystemAppletProxiesService::Unknown110>, "Unknown110"}, // 20.0.0+
|
||||
{200, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxyOld>, "OpenLibraryAppletProxyOld"},
|
||||
{201, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxy>, "OpenLibraryAppletProxy"},
|
||||
{300, nullptr, "OpenOverlayAppletProxy"},
|
||||
@@ -25,6 +26,7 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
|
||||
{400, nullptr, "CreateSelfLibraryAppletCreatorForDevelop"},
|
||||
{410, nullptr, "GetSystemAppletControllerForDebug"},
|
||||
{450, D<&IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions>, "GetSystemProcessCommonFunctions"}, // 19.0.0+
|
||||
{460, D<&IAllSystemAppletProxiesService::Unknown460>, "Unknown460"}, // 20.0.0+
|
||||
{1000, nullptr, "GetDebugFunctions"},
|
||||
};
|
||||
// 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(
|
||||
Out<SharedPointer<ILibraryAppletProxy>> out_library_applet_proxy, ClientProcessId pid,
|
||||
InCopyHandle<Kernel::KProcess> process_handle,
|
||||
@@ -99,6 +121,11 @@ Result IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions() {
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result IAllSystemAppletProxiesService::Unknown460() {
|
||||
LOG_DEBUG(Service_AM, "(STUBBED) called.");
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
std::shared_ptr<Applet> IAllSystemAppletProxiesService::GetAppletFromProcessId(
|
||||
ProcessId process_id) {
|
||||
return m_window_system.GetByAppletResourceUserId(process_id.pid);
|
||||
|
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "core/hle/service/cmif_types.h"
|
||||
#include "core/hle/service/service.h"
|
||||
#include "core/hle/service/am/service/applet_common_functions.h"
|
||||
|
||||
namespace Service {
|
||||
|
||||
@@ -27,6 +28,7 @@ private:
|
||||
Result OpenSystemAppletProxy(Out<SharedPointer<ISystemAppletProxy>> out_system_applet_proxy,
|
||||
ClientProcessId pid,
|
||||
InCopyHandle<Kernel::KProcess> process_handle);
|
||||
Result Unknown110(Out<SharedPointer<ISystemAppletProxy>> out_proxy, ClientProcessId pid);
|
||||
Result OpenLibraryAppletProxy(Out<SharedPointer<ILibraryAppletProxy>> out_library_applet_proxy,
|
||||
ClientProcessId pid,
|
||||
InCopyHandle<Kernel::KProcess> process_handle,
|
||||
@@ -39,6 +41,7 @@ private:
|
||||
InCopyHandle<Kernel::KProcess> process_handle,
|
||||
InLargeData<AppletAttribute, BufferAttr_HipcMapAlias> attribute);
|
||||
Result GetSystemProcessCommonFunctions();
|
||||
Result Unknown460();
|
||||
|
||||
private:
|
||||
std::shared_ptr<Applet> GetAppletFromProcessId(ProcessId pid);
|
||||
|
@@ -31,10 +31,20 @@ IAppletCommonFunctions::IAppletCommonFunctions(Core::System& system_,
|
||||
{90, nullptr, "OpenNamedChannelAsParent"},
|
||||
{91, nullptr, "OpenNamedChannelAsChild"},
|
||||
{100, nullptr, "SetApplicationCoreUsageMode"},
|
||||
{160, nullptr, "GetNotificationReceiverService"}, // 18.0.0+
|
||||
{161, nullptr, "GetNotificationSenderService"}, // 18.0.0+
|
||||
{300, D<&IAppletCommonFunctions::GetCurrentApplicationId>, "GetCurrentApplicationId"},
|
||||
{310, nullptr, "IsSystemAppletHomeMenu"}, //19.0.0+
|
||||
{320, nullptr, "SetGpuTimeSliceBoost"}, //19.0.0+
|
||||
{321, nullptr, "SetGpuTimeSliceBoostDueToApplication"}, //19.0.0+
|
||||
{310, nullptr, "IsSystemAppletHomeMenu"}, // 19.0.0+
|
||||
{311, nullptr, "Unknown311"}, // 20.0.0+
|
||||
{320, nullptr, "SetGpuTimeSliceBoost"}, // 19.0.0+
|
||||
{321, nullptr, "SetGpuTimeSliceBoostDueToApplication"}, // 19.0.0+
|
||||
{322, nullptr, "Unknown322"}, // 20.0.0+
|
||||
{330, nullptr, "Unknown330"}, // 19.0.0+
|
||||
{340, nullptr, "Unknown340"}, // 20.0.0+
|
||||
{341, nullptr, "Unknown341"}, // 20.0.0+
|
||||
{342, nullptr, "Unknown342"}, // 20.0.0+
|
||||
{350, D<&IAppletCommonFunctions::Unknown350>, "Unknown350"}, // 20.0.0+
|
||||
{360, nullptr, "Unknown360"} // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -70,4 +80,12 @@ Result IAppletCommonFunctions::GetCurrentApplicationId(Out<u64> out_application_
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result IAppletCommonFunctions::Unknown350(Out<u16> out_unknown) {
|
||||
LOG_WARNING(Service_AM, "(STUBBED) called");
|
||||
|
||||
*out_unknown = 0;
|
||||
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
} // namespace Service::AM
|
||||
|
@@ -20,6 +20,7 @@ private:
|
||||
Result GetHomeButtonDoubleClickEnabled(Out<bool> out_home_button_double_click_enabled);
|
||||
Result SetCpuBoostRequestPriority(s32 priority);
|
||||
Result GetCurrentApplicationId(Out<u64> out_application_id);
|
||||
Result Unknown350(Out<u16> out_unknown);
|
||||
|
||||
const std::shared_ptr<Applet> applet;
|
||||
};
|
||||
|
@@ -47,6 +47,8 @@ IApplicationAccessor::IApplicationAccessor(Core::System& system_, std::shared_pt
|
||||
{190, nullptr, "PushToNotificationStorageChannel"},
|
||||
{200, nullptr, "RequestApplicationSoftReset"},
|
||||
{201, nullptr, "RestartApplicationTimer"},
|
||||
{300, nullptr, "Unknown300"}, // 20.0.0+
|
||||
{301, nullptr, "Unknown301"} // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -68,6 +68,8 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_, std::shared_
|
||||
{102, D<&IApplicationFunctions::SetApplicationCopyrightVisibility>, "SetApplicationCopyrightVisibility"},
|
||||
{110, D<&IApplicationFunctions::QueryApplicationPlayStatistics>, "QueryApplicationPlayStatistics"},
|
||||
{111, D<&IApplicationFunctions::QueryApplicationPlayStatisticsByUid>, "QueryApplicationPlayStatisticsByUid"},
|
||||
{112, nullptr, "Unknown112"}, //20.0.0+
|
||||
{113, nullptr, "Unknown113"}, //20.0.0+
|
||||
{120, D<&IApplicationFunctions::ExecuteProgram>, "ExecuteProgram"},
|
||||
{121, D<&IApplicationFunctions::ClearUserChannel>, "ClearUserChannel"},
|
||||
{122, D<&IApplicationFunctions::UnpopToUserChannel>, "UnpopToUserChannel"},
|
||||
@@ -85,6 +87,11 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_, std::shared_
|
||||
{181, nullptr, "UpgradeLaunchRequiredVersion"},
|
||||
{190, nullptr, "SendServerMaintenanceOverlayNotification"},
|
||||
{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"},
|
||||
{1000, nullptr, "CreateMovieMaker"},
|
||||
{1001, D<&IApplicationFunctions::PrepareForJit>, "PrepareForJit"},
|
||||
@@ -487,6 +494,13 @@ Result IApplicationFunctions::GetHealthWarningDisappearedSystemEvent(
|
||||
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() {
|
||||
LOG_WARNING(Service_AM, "(STUBBED) called");
|
||||
|
||||
|
@@ -76,6 +76,7 @@ private:
|
||||
Result TryPopFromFriendInvitationStorageChannel(Out<SharedPointer<IStorage>> out_storage);
|
||||
Result GetNotificationStorageChannelEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||
Result GetHealthWarningDisappearedSystemEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||
Result Unknown210(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||
Result PrepareForJit();
|
||||
|
||||
const std::shared_ptr<Applet> m_applet;
|
||||
|
@@ -15,6 +15,7 @@ IAudioController::IAudioController(Core::System& system_)
|
||||
{2, D<&IAudioController::GetLibraryAppletExpectedMasterVolume>, "GetLibraryAppletExpectedMasterVolume"},
|
||||
{3, D<&IAudioController::ChangeMainAppletMasterVolume>, "ChangeMainAppletMasterVolume"},
|
||||
{4, D<&IAudioController::SetTransparentVolumeRate>, "SetTransparentVolumeRate"},
|
||||
{5, nullptr, "Unknown5"}, //20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -34,6 +34,7 @@ ICommonStateGetter::ICommonStateGetter(Core::System& system_, std::shared_ptr<Ap
|
||||
{12, nullptr, "ReleaseSleepLockTransiently"},
|
||||
{13, D<&ICommonStateGetter::GetAcquiredSleepLockEvent>, "GetAcquiredSleepLockEvent"},
|
||||
{14, nullptr, "GetWakeupCount"},
|
||||
{15, nullptr, "Unknown15"}, //19.0.0+
|
||||
{20, nullptr, "PushToGeneralChannel"},
|
||||
{30, nullptr, "GetHomeButtonReaderLockAccessor"},
|
||||
{31, D<&ICommonStateGetter::GetReaderLockAccessorEx>, "GetReaderLockAccessorEx"},
|
||||
@@ -69,7 +70,11 @@ ICommonStateGetter::ICommonStateGetter(Core::System& system_, std::shared_ptr<Ap
|
||||
{501, nullptr, "SuppressDisablingSleepTemporarily"},
|
||||
{502, nullptr, "IsSleepEnabled"},
|
||||
{503, nullptr, "IsDisablingSleepSuppressed"},
|
||||
{600, nullptr, "OpenNamedChannelAsChild"}, //20.0.0+ (17.0.0-18.1.0)
|
||||
{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
|
||||
|
||||
|
@@ -31,7 +31,13 @@ IDebugFunctions::IDebugFunctions(Core::System& system_)
|
||||
{140, nullptr, "RestrictPowerOperationForSecureLaunchModeForDebug"},
|
||||
{200, nullptr, "CreateFloatingLibraryAppletAccepterForDebug"},
|
||||
{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"},
|
||||
{910, nullptr, "Unknown910"}, //20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -25,6 +25,9 @@ ILibraryAppletAccessor::ILibraryAppletAccessor(Core::System& system_,
|
||||
{30, D<&ILibraryAppletAccessor::GetResult>, "GetResult"},
|
||||
{50, nullptr, "SetOutOfFocusApplicationSuspendingEnabled"},
|
||||
{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"},
|
||||
{101, D<&ILibraryAppletAccessor::PopOutData>, "PopOutData"},
|
||||
{102, nullptr, "PushExtraStorage"},
|
||||
|
@@ -113,9 +113,10 @@ std::shared_ptr<ILibraryAppletAccessor> CreateGuestApplet(Core::System& system,
|
||||
Firmware1700 = 17,
|
||||
Firmware1800 = 18,
|
||||
Firmware1900 = 19,
|
||||
Firmware2000 = 20,
|
||||
};
|
||||
|
||||
auto process = CreateProcess(system, program_id, Firmware1400, Firmware1900);
|
||||
auto process = CreateProcess(system, program_id, Firmware1400, Firmware2000);
|
||||
if (!process) {
|
||||
// Couldn't initialize the guest process
|
||||
return {};
|
||||
@@ -173,6 +174,7 @@ ILibraryAppletCreator::ILibraryAppletCreator(Core::System& system_, std::shared_
|
||||
{0, D<&ILibraryAppletCreator::CreateLibraryApplet>, "CreateLibraryApplet"},
|
||||
{1, nullptr, "TerminateAllLibraryApplets"},
|
||||
{2, nullptr, "AreAnyLibraryAppletsLeft"},
|
||||
{3, D<&ILibraryAppletCreator::CreateLibraryApplet>, "Unknown3"}, // 20.0.0+
|
||||
{10, D<&ILibraryAppletCreator::CreateStorage>, "CreateStorage"},
|
||||
{11, D<&ILibraryAppletCreator::CreateTransferMemoryStorage>, "CreateTransferMemoryStorage"},
|
||||
{12, D<&ILibraryAppletCreator::CreateHandleStorage>, "CreateHandleStorage"},
|
||||
|
@@ -15,7 +15,7 @@ IProcessWindingController::IProcessWindingController(Core::System& system_,
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, D<&IProcessWindingController::GetLaunchReason>, "GetLaunchReason"},
|
||||
{11, D<&IProcessWindingController::OpenCallingLibraryApplet>, "OpenCallingLibraryApplet"},
|
||||
{21, nullptr, "PushContext"},
|
||||
{21, D<&IProcessWindingController::PushContext>, "PushContext"},
|
||||
{22, nullptr, "PopContext"},
|
||||
{23, nullptr, "CancelWindingReservation"},
|
||||
{30, nullptr, "WindAndDoReserved"},
|
||||
@@ -51,4 +51,9 @@ Result IProcessWindingController::OpenCallingLibraryApplet(
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result IProcessWindingController::PushContext() {
|
||||
LOG_WARNING(Service_AM, "(STUBBED) called");
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
} // namespace Service::AM
|
||||
|
@@ -21,7 +21,7 @@ private:
|
||||
Result GetLaunchReason(Out<AppletProcessLaunchReason> out_launch_reason);
|
||||
Result OpenCallingLibraryApplet(
|
||||
Out<SharedPointer<ILibraryAppletAccessor>> out_calling_library_applet);
|
||||
|
||||
Result PushContext();
|
||||
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"},
|
||||
{20, nullptr, "SetDesirableKeyboardLayout"},
|
||||
{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"},
|
||||
{41, D<&ISelfController::IsSystemBufferSharingEnabled>, "IsSystemBufferSharingEnabled"},
|
||||
{42, D<&ISelfController::GetSystemSharedLayerHandle>, "GetSystemSharedLayerHandle"},
|
||||
@@ -67,6 +70,12 @@ ISelfController::ISelfController(Core::System& system_, std::shared_ptr<Applet>
|
||||
{110, nullptr, "SetApplicationAlbumUserData"},
|
||||
{120, D<&ISelfController::SaveCurrentScreenshot>, "SaveCurrentScreenshot"},
|
||||
{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"},
|
||||
};
|
||||
// clang-format on
|
||||
@@ -394,6 +403,10 @@ Result ISelfController::SaveCurrentScreenshot(Capture::AlbumReportOption album_r
|
||||
|
||||
R_SUCCEED();
|
||||
}
|
||||
Result ISelfController::Unknown230() {
|
||||
LOG_WARNING(Service_AM, "(STUBBED) called - function 230 (0xE6)");
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result ISelfController::SetRecordVolumeMuted(bool muted) {
|
||||
LOG_WARNING(Service_AM, "(STUBBED) called. muted={}", muted);
|
||||
|
@@ -62,6 +62,7 @@ private:
|
||||
Result GetAccumulatedSuspendedTickChangedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||
Result SetAlbumImageTakenNotificationEnabled(bool enabled);
|
||||
Result SaveCurrentScreenshot(Capture::AlbumReportOption album_report_option);
|
||||
Result Unknown230();
|
||||
Result SetRecordVolumeMuted(bool muted);
|
||||
|
||||
Kernel::KProcess* const m_process;
|
||||
|
@@ -20,7 +20,7 @@ IAudioController::IAudioController(Core::System& system_)
|
||||
{3, D<&IAudioController::GetTargetVolumeMax>, "GetTargetVolumeMax"},
|
||||
{4, nullptr, "IsTargetMute"},
|
||||
{5, nullptr, "SetTargetMute"},
|
||||
{6, nullptr, "IsTargetConnected"},
|
||||
{6, nullptr, "IsTargetConnected"}, // [20.0.0+] ([1.0.0-17.0.1] IsTargetConnected)
|
||||
{7, nullptr, "SetDefaultTarget"},
|
||||
{8, nullptr, "GetDefaultTarget"},
|
||||
{9, D<&IAudioController::GetAudioOutputMode>, "GetAudioOutputMode"},
|
||||
@@ -37,9 +37,9 @@ IAudioController::IAudioController(Core::System& system_)
|
||||
{20, nullptr, "AcquireAudioOutputDeviceUpdateEventForPlayReport"},
|
||||
{21, nullptr, "GetAudioOutputTargetForPlayReport"},
|
||||
{22, D<&IAudioController::NotifyHeadphoneVolumeWarningDisplayedEvent>, "NotifyHeadphoneVolumeWarningDisplayedEvent"},
|
||||
{23, nullptr, "SetSystemOutputMasterVolume"},
|
||||
{23, nullptr, "SetSystemOutputMasterVolume"}, // [20.0.0+] Originally any input was accepted, now input must be in range 0.0-1.0 otherwise it's replaced by nearest accepted value.
|
||||
{24, nullptr, "GetSystemOutputMasterVolume"},
|
||||
{25, nullptr, "GetAudioVolumeDataForPlayReport"},
|
||||
{25, nullptr, "GetAudioVolumeDataForPlayReport"}, // [20.0.0+] Now takes a 0x400-bytes type-0x16 output buffer and no longer returns any output.
|
||||
{26, nullptr, "UpdateHeadphoneSettings"},
|
||||
{27, nullptr, "SetVolumeMappingTableForDev"},
|
||||
{28, nullptr, "GetAudioOutputChannelCountForPlayReport"},
|
||||
@@ -54,10 +54,10 @@ IAudioController::IAudioController(Core::System& system_)
|
||||
{37, nullptr, "SetHearingProtectionSafeguardEnabled"},
|
||||
{38, nullptr, "IsHearingProtectionSafeguardEnabled"},
|
||||
{39, nullptr, "IsHearingProtectionSafeguardMonitoringOutputForDebug"},
|
||||
{40, nullptr, "GetSystemInformationForDebug"},
|
||||
{40, nullptr, "GetSystemInformationForDebug"}, // [20.0.0+] Now takes a total of 0x40-bytes of input and the type-0x16 output buffer is now 0x2000-bytes instead of 0x1000-bytes.
|
||||
{41, nullptr, "SetVolumeButtonLongPressTime"},
|
||||
{42, nullptr, "SetNativeVolumeForDebug"},
|
||||
{5000, D<&IAudioController::Unknown5000>, "Unknown5000"},
|
||||
{5000, D<&IAudioController::Unknown5000>, "Unknown5000"}, // 19.0.0+
|
||||
{10000, nullptr, "NotifyAudioOutputTargetForPlayReport"},
|
||||
{10001, nullptr, "NotifyAudioOutputChannelCountForPlayReport"},
|
||||
{10002, nullptr, "NotifyUnsupportedUsbOutputDeviceAttachedForPlayReport"},
|
||||
@@ -68,6 +68,7 @@ IAudioController::IAudioController(Core::System& system_)
|
||||
{10104, nullptr, "GetAudioOutputChannelCountForPlayReport"},
|
||||
{10105, nullptr, "BindAudioOutputChannelCountUpdateEventForPlayReport"},
|
||||
{10106, nullptr, "GetDefaultAudioOutputTargetForPlayReport"},
|
||||
{10200, nullptr, "Unknown10200"}, // 20.0.0+
|
||||
{50000, nullptr, "SetAnalogInputBoostGainForPrototyping"},
|
||||
{50001, nullptr, "OverrideDefaultTargetForDebug"},
|
||||
{50003, nullptr, "SetForceOverrideExternalDeviceNameForDebug"},
|
||||
|
@@ -49,12 +49,12 @@ IBcatService::IBcatService(Core::System& system_, BcatBackend& backend_)
|
||||
{30210, nullptr, "SetDeliveryTaskTimer"},
|
||||
{30300, D<&IBcatService::RegisterSystemApplicationDeliveryTasks>, "RegisterSystemApplicationDeliveryTasks"},
|
||||
{90100, nullptr, "EnumerateBackgroundDeliveryTask"},
|
||||
{90101, nullptr, "Unknown90101"},
|
||||
{90101, nullptr, "GetDeliveryTaskListForSystem"},
|
||||
{90200, nullptr, "GetDeliveryList"},
|
||||
{90201, D<&IBcatService::ClearDeliveryCacheStorage>, "ClearDeliveryCacheStorage"},
|
||||
{90202, nullptr, "ClearDeliveryTaskSubscriptionStatus"},
|
||||
{90300, nullptr, "GetPushNotificationLog"},
|
||||
{90301, nullptr, "Unknown90301"},
|
||||
{90301, nullptr, "GetDeliveryCacheStorageUsage"},
|
||||
};
|
||||
// clang-format on
|
||||
RegisterHandlers(functions);
|
||||
|
@@ -33,15 +33,32 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_,
|
||||
{15, nullptr, "GetAlbumUsage3"},
|
||||
{16, nullptr, "GetAlbumMountResult"},
|
||||
{17, nullptr, "GetAlbumUsage16"},
|
||||
{18, C<&IAlbumAccessorService::Unknown18>, "Unknown18"},
|
||||
{19, nullptr, "Unknown19"},
|
||||
{18, C<&IAlbumAccessorService::GetAppletProgramIdTable>, "GetAppletProgramIdTable"},
|
||||
{19, nullptr, "GetAlbumFileName"},
|
||||
{20, nullptr, "Unknown20"}, // 20.0.0+
|
||||
{100, nullptr, "GetAlbumFileCountEx0"},
|
||||
{101, C<&IAlbumAccessorService::GetAlbumFileListEx0>, "GetAlbumFileListEx0"},
|
||||
{110, nullptr, "GetAlbumFileListEx1"}, // 15.0.0+
|
||||
{120, nullptr, "GetAlbumFileListEx2"}, // 17.0.0+
|
||||
{121, nullptr, "Unknown121"}, // 20.0.0+
|
||||
{122, nullptr, "Unknown122"}, // 20.0.0+
|
||||
{123, nullptr, "Unknown123"}, // 20.0.0+
|
||||
{130, nullptr, "LoadAlbumFileRawData"}, // 17.0.0+
|
||||
{140, nullptr, "GetAlbumFileCreatedEvent"}, // 17.0.0+
|
||||
{141, nullptr, "Unknown141"}, // 18.0.0+
|
||||
{150, nullptr, "LoadAlbumSystemReservedInfo"}, // 17.0.0+
|
||||
{151, nullptr, "Unknown151"}, // 18.0.0+
|
||||
{160, nullptr, "Unknown160"}, // 18.0.0+
|
||||
{170, nullptr, "Unknown170"}, // 20.0.0+
|
||||
{171, nullptr, "Unknown171"}, // 20.0.0+
|
||||
{172, nullptr, "Unknown172"}, // 20.0.0+
|
||||
{202, nullptr, "SaveEditedScreenShot"},
|
||||
{301, nullptr, "GetLastThumbnail"},
|
||||
{302, nullptr, "GetLastOverlayMovieThumbnail"},
|
||||
{401, C<&IAlbumAccessorService::GetAutoSavingStorage>, "GetAutoSavingStorage"},
|
||||
{501, nullptr, "GetRequiredStorageSpaceSizeToCopyAll"},
|
||||
{502, nullptr, "Unknown502"}, // 20.0.0+
|
||||
{600, nullptr, "Unknown600"}, // 20.0.0+
|
||||
{1001, nullptr, "LoadAlbumScreenShotThumbnailImageEx0"},
|
||||
{1002, C<&IAlbumAccessorService::LoadAlbumScreenShotImageEx1>, "LoadAlbumScreenShotImageEx1"},
|
||||
{1003, C<&IAlbumAccessorService::LoadAlbumScreenShotThumbnailImageEx1>, "LoadAlbumScreenShotThumbnailImageEx1"},
|
||||
@@ -51,8 +68,20 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_,
|
||||
{8012, nullptr, "GetAlbumCache"},
|
||||
{8013, nullptr, "GetAlbumCacheEx"},
|
||||
{8021, nullptr, "GetAlbumEntryFromApplicationAlbumEntryAruid"},
|
||||
{8022, nullptr, "Unknown8022"}, // 19.0.0+
|
||||
{8031, nullptr, "Unknown8031"}, // 20.0.0+
|
||||
{8032, nullptr, "Unknown8032"}, // 20.0.0+
|
||||
{10011, nullptr, "SetInternalErrorConversionEnabled"},
|
||||
{50000, nullptr, "LoadMakerNoteInfoForDebug"},
|
||||
{50001, nullptr, "Unknown50001"}, // 19.0.0+
|
||||
{50011, C<&IAlbumAccessorService::GetAlbumAccessResultForDebug>, "GetAlbumAccessResultForDebug"}, // 19.0.0+
|
||||
{50012, C<&IAlbumAccessorService::SetAlbumAccessResultForDebug>, "SetAlbumAccessResultForDebug"}, // 19.0.0+
|
||||
{50021, nullptr, "Unknown50021"}, // 20.0.0+
|
||||
{50022, nullptr, "Unknown50022"}, // 20.0.0+
|
||||
{50023, nullptr, "Unknown50023"}, // 20.0.0+
|
||||
{50024, nullptr, "Unknown50024"}, // 20.0.0+
|
||||
{50031, nullptr, "Unknown50031"}, // 20.0.0+
|
||||
{50032, nullptr, "Unknown50032"}, // 20.0.0+
|
||||
{60002, nullptr, "OpenAccessorSession"},
|
||||
};
|
||||
// clang-format on
|
||||
@@ -87,7 +116,7 @@ Result IAlbumAccessorService::IsAlbumMounted(Out<bool> out_is_mounted, AlbumStor
|
||||
R_RETURN(TranslateResult(result));
|
||||
}
|
||||
|
||||
Result IAlbumAccessorService::Unknown18(
|
||||
Result IAlbumAccessorService::GetAppletProgramIdTable(
|
||||
Out<u32> out_buffer_size,
|
||||
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_buffer) {
|
||||
LOG_WARNING(Service_Capture, "(STUBBED) called");
|
||||
@@ -137,6 +166,15 @@ Result IAlbumAccessorService::LoadAlbumScreenShotThumbnailImageEx1(
|
||||
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) {
|
||||
if (in_result.IsSuccess()) {
|
||||
return in_result;
|
||||
|
@@ -28,7 +28,7 @@ private:
|
||||
|
||||
Result IsAlbumMounted(Out<bool> out_is_mounted, AlbumStorage storage);
|
||||
|
||||
Result Unknown18(
|
||||
Result GetAppletProgramIdTable(
|
||||
Out<u32> out_buffer_size,
|
||||
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure>
|
||||
out_buffer);
|
||||
@@ -50,6 +50,10 @@ private:
|
||||
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_image,
|
||||
OutArray<u8, BufferAttr_HipcMapAlias> out_buffer);
|
||||
|
||||
Result GetAlbumAccessResultForDebug();
|
||||
|
||||
Result SetAlbumAccessResultForDebug();
|
||||
|
||||
Result TranslateResult(Result in_result);
|
||||
|
||||
std::shared_ptr<AlbumManager> manager = nullptr;
|
||||
|
@@ -28,12 +28,18 @@ IAlbumControlService::IAlbumControlService(Core::System& system_,
|
||||
{2012, nullptr, "UnregisterAppletResourceUserId"},
|
||||
{2013, nullptr, "GetApplicationIdFromAruid"},
|
||||
{2014, nullptr, "CheckApplicationIdRegistered"},
|
||||
{2015, nullptr, "Unknown2015"}, // 20.0.0+
|
||||
{2016, nullptr, "Unknown2016"}, // 20.0.0+
|
||||
{2101, nullptr, "GenerateCurrentAlbumFileId"},
|
||||
{2102, nullptr, "GenerateApplicationAlbumEntry"},
|
||||
{2103, nullptr, "Unknown2103"}, // 19.0.0+
|
||||
{2104, nullptr, "Unknown2104"}, // 19.0.0+
|
||||
{2201, nullptr, "SaveAlbumScreenShotFile"},
|
||||
{2202, nullptr, "SaveAlbumScreenShotFileEx"},
|
||||
{2301, nullptr, "SetOverlayScreenShotThumbnailData"},
|
||||
{2302, nullptr, "SetOverlayMovieThumbnailData"},
|
||||
{2401, nullptr, "Unknown2401"}, // 19.0.0+
|
||||
{2501, nullptr, "GetAlbumAccessResultForDebug"}, // 19.0.0+
|
||||
{60001, nullptr, "OpenControlSession"},
|
||||
};
|
||||
// clang-format on
|
||||
|
@@ -9,26 +9,35 @@ IScreenShotControlService::IScreenShotControlService(Core::System& system_)
|
||||
: ServiceFramework{system_, "caps:sc"} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{1, nullptr, "CaptureRawImage"},
|
||||
{2, nullptr, "CaptureRawImageWithTimeout"},
|
||||
{3, nullptr, "AttachSharedBuffer"},
|
||||
{5, nullptr, "CaptureRawImageToAttachedSharedBuffer"},
|
||||
{210, nullptr, "Unknown210"},
|
||||
{1001, nullptr, "RequestTakingScreenShot"},
|
||||
{1002, nullptr, "RequestTakingScreenShotWithTimeout"},
|
||||
{1003, nullptr, "RequestTakingScreenShotEx"},
|
||||
{1004, nullptr, "RequestTakingScreenShotEx1"},
|
||||
{1009, nullptr, "CancelTakingScreenShot"},
|
||||
{1010, nullptr, "SetTakingScreenShotCancelState"},
|
||||
{1, nullptr, "CaptureRawImageRgba32IntoArray"},
|
||||
{2, nullptr, "CaptureRawImageRgba32IntoArrayWithTimeout"},
|
||||
{3, nullptr, "AttachSharedBufferToCaptureModule"}, // 5.0.0+
|
||||
{5, nullptr, "CaptureRawImageToAttachedSharedBuffer"}, // 5.0.0+
|
||||
{210, nullptr, "SaveScreenShotEx2ViaAm"}, // 6.0.0+
|
||||
{1001, nullptr, "RequestTakingScreenShot"}, // 2.0.0-4.1.0
|
||||
{1002, nullptr, "RequestTakingScreenShotWithTimeout"}, // 2.0.0-4.1.0
|
||||
{1003, nullptr, "RequestTakingScreenShotEx"}, // 3.0.0-4.1.0
|
||||
{1004, nullptr, "RequestTakingScreenShotEx1"}, // 5.0.0+
|
||||
{1009, nullptr, "CancelTakingScreenShot"}, // 5.0.0+
|
||||
{1010, nullptr, "SetTakingScreenShotCancelState"}, // 5.0.0+
|
||||
{1011, nullptr, "NotifyTakingScreenShotRefused"},
|
||||
{1012, nullptr, "NotifyTakingScreenShotFailed"},
|
||||
{1101, nullptr, "SetupOverlayMovieThumbnail"},
|
||||
{1106, nullptr, "Unknown1106"},
|
||||
{1107, nullptr, "Unknown1107"},
|
||||
{1201, nullptr, "OpenRawScreenShotReadStream"},
|
||||
{1202, nullptr, "CloseRawScreenShotReadStream"},
|
||||
{1203, nullptr, "ReadRawScreenShotReadStream"},
|
||||
{1204, nullptr, "Unknown1204"},
|
||||
{1100, nullptr, "Unknown1100"}, // 18.0.0+
|
||||
{1101, nullptr, "SetupOverlayMovieThumbnail"}, // 4.0.0+
|
||||
{1106, nullptr, "CreateProtoMovieMetaDataNv12Ex2"}, // 4.0.0+
|
||||
{1107, nullptr, "CreateProtoMovieMetaDataRgbaEx2"}, // 4.0.0+
|
||||
{1108, nullptr, "Unknown1108"}, // 18.0.0+
|
||||
{1109, nullptr, "Unknown1109"}, // 19.0.0+
|
||||
{1110, nullptr, "Unknown1110"}, // 19.0.0+
|
||||
{1111, nullptr, "Unknown1111"}, // 19.0.0+
|
||||
{1112, nullptr, "Unknown1112"}, // 19.0.0+
|
||||
{1113, nullptr, "Unknown1113"}, // 19.0.0+
|
||||
{1114, nullptr, "Unknown1114"}, // 19.0.0+
|
||||
{1201, nullptr, "OpenRawScreenShotReadStream"}, // 3.0.0+
|
||||
{1202, nullptr, "CloseRawScreenShotReadStream"}, // 3.0.0+
|
||||
{1203, nullptr, "ReadRawScreenShotReadStream"}, // 3.0.0+
|
||||
{1204, nullptr, "CaptureCrashScreenShot"}, // 9.0.0+
|
||||
{9000, nullptr, "Unknown9000"} // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -19,8 +19,8 @@ IScreenShotService::IScreenShotService(Core::System& system_,
|
||||
{203, C<&IScreenShotService::SaveScreenShotEx0>, "SaveScreenShotEx0"},
|
||||
{204, nullptr, "SaveEditedScreenShotEx0"},
|
||||
{206, C<&IScreenShotService::SaveEditedScreenShotEx1>, "SaveEditedScreenShotEx1"},
|
||||
{208, nullptr, "SaveScreenShotOfMovieEx1"},
|
||||
{1000, nullptr, "Unknown1000"},
|
||||
{1000, nullptr, "RequestTakingScreenShotForApplet"}, // 13.0.0+ [19.0.0+] Now takes an additional 8-bytes of input.
|
||||
{2000, nullptr, "Unknown2000"} // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -30,6 +30,8 @@ public:
|
||||
{10, nullptr, "CreateReportWithAttachments"},
|
||||
{11, C<&ErrorReportContext::CreateReportV1>, "CreateReportV1"},
|
||||
{12, C<&ErrorReportContext::CreateReport>, "CreateReport"},
|
||||
{13, nullptr, "SubmitAttachmentWithLz4Compression"}, // 20.0.0+
|
||||
{14, nullptr, "CreateReportWithSpecifiedReprotId"}, // 20.0.0+
|
||||
{20, nullptr, "RegisterRunningApplet"},
|
||||
{21, nullptr, "UnregisterRunningApplet"},
|
||||
{22, nullptr, "UpdateAppletSuspendedDuration"},
|
||||
|
@@ -57,50 +57,81 @@ public:
|
||||
{38, nullptr, "OwnTicket3"},
|
||||
{39, nullptr, "DeleteAllInactivePersonalizedTicket"},
|
||||
{40, nullptr, "DeletePrepurchaseRecordByNintendoAccountId"},
|
||||
{501, nullptr, "Unknown501"},
|
||||
{502, nullptr, "Unknown502"},
|
||||
{503, nullptr, "GetTitleKey"},
|
||||
{504, nullptr, "Unknown504"},
|
||||
{508, nullptr, "Unknown508"},
|
||||
{509, nullptr, "Unknown509"},
|
||||
{510, nullptr, "Unknown510"},
|
||||
{511, nullptr, "Unknown511"},
|
||||
{1001, nullptr, "Unknown1001"},
|
||||
{1002, nullptr, "Unknown1001"},
|
||||
{1003, nullptr, "Unknown1003"},
|
||||
{1004, nullptr, "Unknown1004"},
|
||||
{1005, nullptr, "Unknown1005"},
|
||||
{1006, nullptr, "Unknown1006"},
|
||||
{1007, nullptr, "Unknown1007"},
|
||||
{1009, nullptr, "Unknown1009"},
|
||||
{1010, nullptr, "Unknown1010"},
|
||||
{1011, nullptr, "Unknown1011"},
|
||||
{1012, nullptr, "Unknown1012"},
|
||||
{1013, nullptr, "Unknown1013"},
|
||||
{1014, nullptr, "Unknown1014"},
|
||||
{1015, nullptr, "Unknown1015"},
|
||||
{1016, nullptr, "Unknown1016"},
|
||||
{1017, nullptr, "Unknown1017"},
|
||||
{1018, nullptr, "Unknown1018"},
|
||||
{1019, nullptr, "Unknown1019"},
|
||||
{1020, nullptr, "Unknown1020"},
|
||||
{1021, nullptr, "Unknown1021"},
|
||||
{1501, nullptr, "Unknown1501"},
|
||||
{1502, nullptr, "Unknown1502"},
|
||||
{1503, nullptr, "Unknown1503"},
|
||||
{1504, nullptr, "Unknown1504"},
|
||||
{1505, nullptr, "Unknown1505"},
|
||||
{1506, nullptr, "Unknown1506"},
|
||||
{2000, nullptr, "Unknown2000"},
|
||||
{2001, nullptr, "Unknown2001"},
|
||||
{2002, nullptr, "Unknown2002"},
|
||||
{2003, nullptr, "Unknown2003"},
|
||||
{2100, nullptr, "Unknown2100"},
|
||||
{2501, nullptr, "Unknown2501"},
|
||||
{2502, nullptr, "Unknown2502"},
|
||||
{2601, nullptr, "Unknown2601"},
|
||||
{3001, nullptr, "Unknown3001"},
|
||||
{3002, nullptr, "Unknown3002"},
|
||||
{101, nullptr, "Unknown101"}, // 18.0.0+
|
||||
{102, nullptr, "Unknown102"}, // 18.0.0+
|
||||
{103, nullptr, "Unknown103"}, // 18.0.0+
|
||||
{104, nullptr, "Unknown104"}, // 18.0.0+
|
||||
{105, nullptr, "Unknown105"}, // 20.0.0+
|
||||
{201, nullptr, "Unknown201"}, // 18.0.0+
|
||||
{202, nullptr, "Unknown202"}, // 18.0.0+
|
||||
{203, nullptr, "Unknown203"}, // 18.0.0+
|
||||
{204, nullptr, "Unknown204"}, // 18.0.0+
|
||||
{501, nullptr, "Unknown501"}, // 6.0.0+
|
||||
{502, nullptr, "Unknown502"}, // 6.0.0+
|
||||
{503, nullptr, "GetTitleKey"}, // 6.0.0+
|
||||
{504, nullptr, "Unknown504"}, // 6.0.0+
|
||||
{508, nullptr, "Unknown508"}, // 6.0.0+
|
||||
{509, nullptr, "Unknown509"}, // 6.0.0+
|
||||
{510, nullptr, "Unknown510"}, // 6.0.0+
|
||||
{511, nullptr, "Unknown511"}, // 9.0.0+
|
||||
{1001, nullptr, "Unknown1001"}, // 6.0.0+
|
||||
{1002, nullptr, "Unknown1002"}, // 6.0.0+
|
||||
{1003, nullptr, "GetIAsyncValue"}, // 6.0.0+
|
||||
{1004, nullptr, "Unknown1004"}, // 6.0.0+
|
||||
{1005, nullptr, "Unknown1005"}, // 6.0.0+
|
||||
{1006, nullptr, "Unknown1006"}, // 6.0.0+
|
||||
{1007, nullptr, "Unknown1007"}, // 6.0.0+
|
||||
{1009, nullptr, "Unknown1009"}, // 6.0.0+
|
||||
{1010, nullptr, "Unknown1010"}, // 6.0.0+
|
||||
{1011, nullptr, "Unknown1011"}, // 6.0.0+
|
||||
{1012, nullptr, "Unknown1012"}, // 6.0.0+
|
||||
{1013, nullptr, "Unknown1013"}, // 6.0.0+
|
||||
{1014, nullptr, "Unknown1014"}, // 6.0.0+
|
||||
{1015, nullptr, "Unknown1015"}, // 6.0.0+
|
||||
{1016, nullptr, "Unknown1016"}, // 6.0.0+
|
||||
{1017, nullptr, "Unknown1017"}, // 9.0.0+
|
||||
{1018, nullptr, "Unknown1018"}, // 9.0.0+
|
||||
{1019, nullptr, "Unknown1019"}, // 9.0.0+
|
||||
{1020, nullptr, "Unknown1020"}, // 9.0.0+
|
||||
{1021, nullptr, "Unknown1021"}, // 9.0.0+
|
||||
{1022, nullptr, "Unknown1022"}, // 15.0.0+
|
||||
{1023, nullptr, "Unknown1023"}, // 17.0.0+
|
||||
{1024, nullptr, "Unknown1024"}, // 17.0.0+
|
||||
{1025, nullptr, "Unknown1025"}, // 17.0.0+
|
||||
{1026, nullptr, "Unknown1026"}, // 17.0.0+
|
||||
{1027, nullptr, "Unknown1027"}, // 17.0.0+
|
||||
{1028, nullptr, "Unknown1028"}, // 18.0.0+
|
||||
{1029, nullptr, "Unknown1029"}, // 19.0.0+
|
||||
{1030, nullptr, "Unknown1030"}, // 20.0.0+
|
||||
{1031, nullptr, "Unknown1031"}, // 20.0.0+
|
||||
{1032, nullptr, "Unknown1032"}, // 20.0.0+
|
||||
{1033, nullptr, "Unknown1033"}, // 20.0.0+
|
||||
{1034, nullptr, "Unknown1034"}, // 20.0.0+
|
||||
{1035, nullptr, "Unknown1035"}, // 20.0.0+
|
||||
{1036, nullptr, "Unknown1036"}, // 20.0.0+
|
||||
{1037, nullptr, "Unknown1037"}, // 20.0.0+
|
||||
{1501, nullptr, "Unknown1501"}, // 6.0.0+
|
||||
{1502, nullptr, "Unknown1502"}, // 6.0.0+
|
||||
{1503, nullptr, "Unknown1503"}, // 6.0.0+
|
||||
{1504, nullptr, "Unknown1504"}, // 6.0.0+
|
||||
{1505, nullptr, "Unknown1505"}, // 6.0.0+
|
||||
{1506, nullptr, "Unknown1506"}, // 13.0.0+
|
||||
{1601, nullptr, "Unknown1601"}, // 20.0.0+
|
||||
{1602, nullptr, "Unknown1602"}, // 20.0.0+
|
||||
{1603, nullptr, "Unknown1603"}, // 20.0.0+
|
||||
{1604, nullptr, "Unknown1604"}, // 20.0.0+
|
||||
{1605, nullptr, "Unknown1605"}, // 20.0.0+
|
||||
{1606, nullptr, "Unknown1606"}, // 20.0.0+
|
||||
{2000, nullptr, "GetIActiveRightsContext"}, // 6.0.0+
|
||||
{2001, nullptr, "GetIActiveRightsContext2"}, // 9.0.0+
|
||||
{2002, nullptr, "Unknown2002"}, // 13.0.0-16.1.0
|
||||
{2003, nullptr, "Unknown2003"}, // 13.0.0-16.1.0
|
||||
{2100, nullptr, "Unknown2100"}, // 7.0.0+
|
||||
{2501, nullptr, "Unknown2501"}, // 6.0.0+
|
||||
{2502, nullptr, "Unknown2502"}, // 6.0.0+
|
||||
{2601, nullptr, "Unknown2601"}, // 13.0.0+
|
||||
{3001, nullptr, "Unknown3001"}, // 7.0.0-15.0.1
|
||||
{3002, nullptr, "Unknown3002"} // 7.0.0-15.0.1
|
||||
};
|
||||
// clang-format on
|
||||
RegisterHandlers(functions);
|
||||
|
@@ -76,6 +76,7 @@ FSP_SRV::FSP_SRV(Core::System& system_)
|
||||
{34, D<&FSP_SRV::GetCacheStorageSize>, "GetCacheStorageSize"},
|
||||
{35, nullptr, "CreateSaveDataFileSystemByHashSalt"},
|
||||
{36, nullptr, "OpenHostFileSystemWithOption"},
|
||||
{38, nullptr, "DetachSdCard"}, // 20.0.0+
|
||||
{51, D<&FSP_SRV::OpenSaveDataFileSystem>, "OpenSaveDataFileSystem"},
|
||||
{52, D<&FSP_SRV::OpenSaveDataFileSystemBySystemSaveDataId>, "OpenSaveDataFileSystemBySystemSaveDataId"},
|
||||
{53, D<&FSP_SRV::OpenReadOnlySaveDataFileSystem>, "OpenReadOnlySaveDataFileSystem"},
|
||||
@@ -117,6 +118,7 @@ FSP_SRV::FSP_SRV(Core::System& system_)
|
||||
{400, nullptr, "OpenDeviceOperator"},
|
||||
{500, nullptr, "OpenSdCardDetectionEventNotifier"},
|
||||
{501, nullptr, "OpenGameCardDetectionEventNotifier"},
|
||||
{502, nullptr, "OpenSdCardAwakenReadyEventNotifier"}, // 20.0.0+
|
||||
{510, nullptr, "OpenSystemDataUpdateEventNotifier"},
|
||||
{511, nullptr, "NotifySystemDataUpdateEvent"},
|
||||
{520, nullptr, "SimulateGameCardDetectionEvent"},
|
||||
|
@@ -50,16 +50,19 @@ public:
|
||||
{20102, nullptr, "GetFriendDetailedInfo"},
|
||||
{20103, nullptr, "SyncFriendList"},
|
||||
{20104, &IFriendService::RequestSyncFriendList, "RequestSyncFriendList"},
|
||||
{20107, nullptr, "GetFriendDetailedInfoV2"}, // 20.0.0+
|
||||
{20110, nullptr, "LoadFriendSetting"},
|
||||
{20200, &IFriendService::GetReceivedFriendRequestCount, "GetReceivedFriendRequestCount"},
|
||||
{20201, nullptr, "GetFriendRequestList"},
|
||||
{20201, nullptr, "GetFriendRequestListV1"}, // 20.0.0+ (1.0.0-19.0.1 GetFriendRequestList)
|
||||
{20202, nullptr, "GetFriendRequestListV2"}, // 20.0.0+
|
||||
{20300, nullptr, "GetFriendCandidateList"},
|
||||
{20301, nullptr, "GetNintendoNetworkIdInfo"},
|
||||
{20302, nullptr, "GetSnsAccountLinkage"},
|
||||
{20303, nullptr, "GetSnsAccountProfile"},
|
||||
{20304, nullptr, "GetSnsAccountFriendList"},
|
||||
{20400, nullptr, "GetBlockedUserList"},
|
||||
{20400, nullptr, "GetBlockedUserListV1"}, // 20.0.0+ (1.0.0-19.0.1 GetBlockedUserList)
|
||||
{20401, nullptr, "SyncBlockedUserList"},
|
||||
{20402, nullptr, "GetBlockedUserListV2"}, // 20.0.0+
|
||||
{20500, nullptr, "GetProfileExtraList"},
|
||||
{20501, nullptr, "GetRelationship"},
|
||||
{20600, &IFriendService::GetUserPresenceView, "GetUserPresenceView"},
|
||||
@@ -78,7 +81,7 @@ public:
|
||||
{30120, nullptr, "ChangeFriendFavoriteFlag"},
|
||||
{30121, nullptr, "ChangeFriendOnlineNotificationFlag"},
|
||||
{30200, nullptr, "SendFriendRequest"},
|
||||
{30201, nullptr, "SendFriendRequestWithApplicationInfo"},
|
||||
{30201, nullptr, "SendFriendRequestWithApplicationInfoV1"}, // 20.0.0+ (1.0.0-19.0.1 SendFriendRequestWithApplicationInfo)
|
||||
{30202, nullptr, "CancelFriendRequest"},
|
||||
{30203, nullptr, "AcceptFriendRequest"},
|
||||
{30204, nullptr, "RejectFriendRequest"},
|
||||
@@ -91,11 +94,13 @@ public:
|
||||
{30215, nullptr, "SendFriendRequestWithExternalApplicationCatalogId"},
|
||||
{30216, nullptr, "ResendFacedFriendRequest"},
|
||||
{30217, nullptr, "SendFriendRequestWithNintendoNetworkIdInfo"},
|
||||
{30218, nullptr, "SendFriendRequestWithApplicationInfoV2"}, // 20.0.0+
|
||||
{30300, nullptr, "GetSnsAccountLinkPageUrl"},
|
||||
{30301, nullptr, "UnlinkSnsAccount"},
|
||||
{30400, nullptr, "BlockUser"},
|
||||
{30401, nullptr, "BlockUserWithApplicationInfo"},
|
||||
{30401, nullptr, "BlockUserWithApplicationInfoV1"}, // 20.0.0+ (1.0.0-19.0.1 BlockUserWithApplicationInfo)
|
||||
{30402, nullptr, "UnblockUser"},
|
||||
{30403, nullptr, "BlockUserWithApplicationInfoV2"}, // 20.0.0+
|
||||
{30500, nullptr, "GetProfileExtraFromFriendCode"},
|
||||
{30700, nullptr, "DeletePlayHistory"},
|
||||
{30810, nullptr, "ChangePresencePermission"},
|
||||
@@ -473,4 +478,4 @@ void LoopProcess(Core::System& system) {
|
||||
ServerManager::RunServer(std::move(server_manager));
|
||||
}
|
||||
|
||||
} // namespace Service::Friend
|
||||
} // namespace Service::Friend
|
@@ -227,6 +227,8 @@ INotificationServices::INotificationServices(Core::System& system_)
|
||||
{2001, nullptr, "GetAlarmSettingWithApplicationParameter"},
|
||||
{2010, nullptr, "MuteAlarmSetting"},
|
||||
{2020, nullptr, "IsAlarmSettingReady"},
|
||||
{3000, nullptr, "Unknown3000"}, // 20.0.0+
|
||||
{3010, nullptr, "Unknown3010"}, // 20.0.0+
|
||||
{8000, nullptr, "RegisterAppletResourceUserId"},
|
||||
{8010, nullptr, "UnregisterAppletResourceUserId"},
|
||||
{8999, nullptr, "GetCurrentTime"},
|
||||
|
@@ -87,6 +87,8 @@ IHidDebugServer::IHidDebugServer(Core::System& system_, std::shared_ptr<Resource
|
||||
{210, nullptr, "IsFirmwareUpdatingDevice"},
|
||||
{211, nullptr, "StartFirmwareUpdateIndividual"},
|
||||
{212, nullptr, "GetDetailFirmwareVersion"}, // 19.0.0+
|
||||
{213, nullptr, "GetFirmwareVersionStringForDevMenu"}, // 20.0.0+
|
||||
{214, nullptr, "Unknown214"}, // 20.1.0+
|
||||
{215, nullptr, "SetUsbFirmwareForceUpdateEnabled"},
|
||||
{216, nullptr, "SetAllKuinaDevicesToFirmwareUpdateMode"},
|
||||
{221, nullptr, "UpdateControllerColor"},
|
||||
|
@@ -119,6 +119,7 @@ IHidServer::IHidServer(Core::System& system_, std::shared_ptr<ResourceManager> r
|
||||
{134, C<&IHidServer::SetNpadAnalogStickUseCenterClamp>, "SetNpadAnalogStickUseCenterClamp"},
|
||||
{135, C<&IHidServer::SetNpadCaptureButtonAssignment>, "SetNpadCaptureButtonAssignment"},
|
||||
{136, C<&IHidServer::ClearNpadCaptureButtonAssignment>, "ClearNpadCaptureButtonAssignment"},
|
||||
{137, nullptr, "SetNpadGcAnalogStick8bitRawValue"}, // 20.0.0+
|
||||
{200, C<&IHidServer::GetVibrationDeviceInfo>, "GetVibrationDeviceInfo"},
|
||||
{201, C<&IHidServer::SendVibrationValue>, "SendVibrationValue"},
|
||||
{202, C<&IHidServer::GetActualVibrationValue>, "GetActualVibrationValue"},
|
||||
@@ -186,7 +187,8 @@ IHidServer::IHidServer(Core::System& system_, std::shared_ptr<ResourceManager> r
|
||||
{1001, C<&IHidServer::GetNpadCommunicationMode>, "GetNpadCommunicationMode"},
|
||||
{1002, C<&IHidServer::SetTouchScreenConfiguration>, "SetTouchScreenConfiguration"},
|
||||
{1003, C<&IHidServer::IsFirmwareUpdateNeededForNotification>, "IsFirmwareUpdateNeededForNotification"},
|
||||
{1004, C<&IHidServer::SetTouchScreenResolution>, "SetTouchScreenResolution"},
|
||||
{1004, C<&IHidServer::SetTouchScreenResolution>, "SetTouchScreenResolution"}, // 20.0.0+ (17.0.0-19.0.1 SetTouchScreenResolution)
|
||||
{1005, nullptr, "EnableNxTouchScreenEmulationForTouchEnter"}, // 20.0.0+
|
||||
{2000, nullptr, "ActivateDigitizer"},
|
||||
};
|
||||
// clang-format on
|
||||
|
@@ -67,6 +67,8 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
|
||||
{328, nullptr, "AttachAbstractedPadToNpad"},
|
||||
{329, nullptr, "DetachAbstractedPadAll"},
|
||||
{330, nullptr, "CheckAbstractedPadConnection"},
|
||||
{333, nullptr, "SetNpadUserSpgApplet"}, // 20.0.0+
|
||||
{334, nullptr, "AcquireUniquePadButtonStateChangedEventHandle"}, // 20.0.0+
|
||||
{500, nullptr, "SetAppletResourceUserId"},
|
||||
{501, &IHidSystemServer::RegisterAppletResourceUserId, "RegisterAppletResourceUserId"},
|
||||
{502, &IHidSystemServer::UnregisterAppletResourceUserId, "UnregisterAppletResourceUserId"},
|
||||
@@ -96,9 +98,12 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
|
||||
{547, nullptr, "GetAllowedBluetoothLinksCount"},
|
||||
{548, &IHidSystemServer::GetRegisteredDevices, "GetRegisteredDevices"},
|
||||
{549, nullptr, "GetConnectableRegisteredDevices"},
|
||||
{551, nullptr, "GetRegisteredDevicesForControllerSupport"}, // 20.0.0+
|
||||
{700, nullptr, "ActivateUniquePad"},
|
||||
{702, &IHidSystemServer::AcquireUniquePadConnectionEventHandle, "AcquireUniquePadConnectionEventHandle"},
|
||||
{703, &IHidSystemServer::GetUniquePadIds, "GetUniquePadIds"},
|
||||
{711, nullptr, "AcquireUniquePadConnectionOnHandheldForNsEventHandle"}, // 20.0.0+
|
||||
{712, nullptr, "GetUniquePadColor12"}, // 20.0.0+
|
||||
{751, &IHidSystemServer::AcquireJoyDetachOnBluetoothOffEventHandle, "AcquireJoyDetachOnBluetoothOffEventHandle"},
|
||||
{800, nullptr, "ListSixAxisSensorHandles"},
|
||||
{801, nullptr, "IsSixAxisSensorUserCalibrationSupported"},
|
||||
@@ -143,11 +148,14 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
|
||||
{1009, nullptr, "AcquireAudioControlEventHandle"},
|
||||
{1010, nullptr, "GetAudioControlStates"},
|
||||
{1011, nullptr, "DeactivateAudioControl"},
|
||||
{1012, nullptr, "GetFirmwareVersionStringForUserSupportPage"}, // 20.0.0+
|
||||
{1050, nullptr, "IsSixAxisSensorAccurateUserCalibrationSupported"},
|
||||
{1051, nullptr, "StartSixAxisSensorAccurateUserCalibration"},
|
||||
{1052, nullptr, "CancelSixAxisSensorAccurateUserCalibration"},
|
||||
{1053, nullptr, "GetSixAxisSensorAccurateUserCalibrationState"},
|
||||
{1100, nullptr, "GetHidbusSystemServiceObject"},
|
||||
{1158, nullptr, "Unknown1158"}, //20.1.0+
|
||||
{1159, nullptr, "Unknown1159"}, //20.1.0+
|
||||
{1120, &IHidSystemServer::SetFirmwareHotfixUpdateSkipEnabled, "SetFirmwareHotfixUpdateSkipEnabled"},
|
||||
{1130, &IHidSystemServer::InitializeUsbFirmwareUpdate, "InitializeUsbFirmwareUpdate"},
|
||||
{1131, &IHidSystemServer::FinalizeUsbFirmwareUpdate, "FinalizeUsbFirmwareUpdate"},
|
||||
@@ -225,6 +233,7 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
|
||||
{1309, nullptr, "IsButtonConfigVisible"}, // 18.0.0+
|
||||
{1320, nullptr, "WakeTouchScreenUp"}, // 17.0.0+
|
||||
{1321, nullptr, "PutTouchScreenToSleep"}, // 17.0.0+
|
||||
{1322, nullptr, "AcquireTouchScreenAsyncWakeCompletedEvent"}, // 20.0.0+
|
||||
{1420, nullptr, "GetAppletResourceProperty"}, // 19.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
@@ -18,7 +18,8 @@ public:
|
||||
explicit IMonitorServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:m"} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, C<&IMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"}
|
||||
{0, C<&IMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"},
|
||||
{1, nullptr, "CreateClientProcessMonitor"} // 18.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -40,6 +40,7 @@ ISystemLocalCommunicationService::ISystemLocalCommunicationService(Core::System&
|
||||
{401, nullptr, "FinalizeSystem"},
|
||||
{402, nullptr, "SetOperationMode"},
|
||||
{403, C<&ISystemLocalCommunicationService::InitializeSystem2>, "InitializeSystem2"},
|
||||
{404, nullptr, "InitializeWithPriority"}, // 19.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -57,6 +57,8 @@ IUserLocalCommunicationService::IUserLocalCommunicationService(Core::System& sys
|
||||
{400, C<&IUserLocalCommunicationService::Initialize>, "Initialize"},
|
||||
{401, C<&IUserLocalCommunicationService::Finalize>, "Finalize"},
|
||||
{402, C<&IUserLocalCommunicationService::Initialize2>, "Initialize2"},
|
||||
{403, nullptr, "InitializeWithPriority"}, // 19.0.0+
|
||||
{500, nullptr, "EnableActionFrame"}, // 18.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -88,6 +88,8 @@ public:
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, &ILogger::Log, "Log"},
|
||||
{1, &ILogger::SetDestination, "SetDestination"},
|
||||
{2, nullptr, "TransmitHashedLog"}, // 20.0.0+
|
||||
{3, nullptr, "DevNotify"}, // 20.0.0+
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
}
|
||||
|
@@ -14,17 +14,42 @@ public:
|
||||
explicit MIG_USR(Core::System& system_) : ServiceFramework{system_, "mig:usr"} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{10, nullptr, "TryGetLastMigrationInfo"},
|
||||
{100, nullptr, "CreateServer"},
|
||||
{101, nullptr, "ResumeServer"},
|
||||
{200, nullptr, "CreateClient"},
|
||||
{201, nullptr, "ResumeClient"},
|
||||
{1001, nullptr, "Unknown1001"},
|
||||
{1010, nullptr, "Unknown1010"},
|
||||
{1100, nullptr, "Unknown1100"},
|
||||
{1101, nullptr, "Unknown1101"},
|
||||
{1200, nullptr, "Unknown1200"},
|
||||
{1201, nullptr, "Unknown1201"}
|
||||
{0, nullptr, "Unknown0"}, // 19.0.0+
|
||||
{1, nullptr, "Unknown1"}, // 20.0.0+
|
||||
{2, nullptr, "Unknown2"}, // 20.0.0+
|
||||
{10, nullptr, "TryGetLastUserMigrationInfo"}, // 7.0.0-19.0.1 (was TryGetLastMigrationInfo in 4.0.0-6.2.0)
|
||||
{11, nullptr, "Unknown11"}, // 20.0.0+
|
||||
{100, nullptr, "CreateUserMigrationServer"}, // 7.0.0+ (was CreateServer in 4.0.0-6.2.0)
|
||||
{101, nullptr, "ResumeUserMigrationServer"}, // 7.0.0+ (was ResumeServer in 4.0.0-6.2.0)
|
||||
{200, nullptr, "CreateUserMigrationClient"}, // 7.0.0+ (was CreateClient in 4.0.0-6.2.0)
|
||||
{201, nullptr, "ResumeUserMigrationClient"}, // 7.0.0+ (was ResumeClient in 4.0.0-6.2.0)
|
||||
{1001, nullptr, "GetSaveDataMigrationPolicyInfoAsync"}, // 8.0.0+
|
||||
{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
|
||||
|
||||
|
@@ -333,6 +333,8 @@ public:
|
||||
{15, nullptr, "LoadImage"},
|
||||
{16, nullptr, "AddOrUpdateImage"},
|
||||
{17, nullptr, "DeleteImages"},
|
||||
{19, nullptr, "ClearHeaderForMigration"}, // 20.0.0+
|
||||
{20, nullptr, "SaveHeaderForMigration"}, // 20.0.0+
|
||||
{100, nullptr, "DeleteFile"},
|
||||
{101, nullptr, "DestroyFile"},
|
||||
{102, nullptr, "ImportFile"},
|
||||
|
@@ -1094,10 +1094,16 @@ IGeneralService::IGeneralService(Core::System& system_)
|
||||
{44, nullptr, "IsWiredConnectionAvailable"}, // 18.0.0+
|
||||
{45, nullptr, "IsNetworkEmulationFeatureEnabled"}, // 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+
|
||||
{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
|
||||
|
||||
|
@@ -111,7 +111,7 @@ public:
|
||||
{28, nullptr, "RequestApplicationControl"},
|
||||
{29, nullptr, "RequestLatestApplicationControl"},
|
||||
{30, nullptr, "RequestVersionList"},
|
||||
{31, nullptr, "CreateApplyDeltaTask"},
|
||||
{31, nullptr, "CreateApplyDeltaTask"}, // [20.0.0+] The type-0x5 input buffer is now 0x18-bytes instead of 0x10-bytes.
|
||||
{32, nullptr, "DestroyApplyDeltaTask"},
|
||||
{33, nullptr, "ListApplicationApplyDeltaTask"},
|
||||
{34, nullptr, "RequestApplyDeltaTaskRun"},
|
||||
@@ -167,54 +167,139 @@ public:
|
||||
{84, nullptr, "Unknown84"},
|
||||
{85, nullptr, "ListNetworkInstallTaskContentMetaFromInstallMeta"},
|
||||
{86, nullptr, "ListNetworkInstallTaskOccupiedSize"},
|
||||
{87, nullptr, "Unknown87"},
|
||||
{88, nullptr, "Unknown88"},
|
||||
{89, nullptr, "Unknown89"},
|
||||
{90, nullptr, "Unknown90"},
|
||||
{91, nullptr, "Unknown91"},
|
||||
{92, nullptr, "Unknown92"},
|
||||
{93, nullptr, "Unknown93"},
|
||||
{94, nullptr, "Unknown94"},
|
||||
{95, nullptr, "Unknown95"},
|
||||
{96, nullptr, "Unknown96"},
|
||||
{97, nullptr, "Unknown97"},
|
||||
{98, nullptr, "Unknown98"},
|
||||
{99, nullptr, "Unknown99"},
|
||||
{100, nullptr, "Unknown100"},
|
||||
{101, nullptr, "Unknown101"},
|
||||
{102, nullptr, "Unknown102"},
|
||||
{103, nullptr, "Unknown103"},
|
||||
{104, nullptr, "Unknown104"},
|
||||
{105, nullptr, "Unknown105"},
|
||||
{106, nullptr, "Unknown106"},
|
||||
{107, nullptr, "Unknown107"},
|
||||
{108, nullptr, "Unknown108"},
|
||||
{109, nullptr, "Unknown109"},
|
||||
{110, nullptr, "Unknown110"},
|
||||
{111, nullptr, "Unknown111"},
|
||||
{112, nullptr, "Unknown112"},
|
||||
{113, nullptr, "Unknown113"},
|
||||
{114, nullptr, "Unknown114"},
|
||||
{115, nullptr, "Unknown115"},
|
||||
{116, nullptr, "Unknown116"},
|
||||
{117, nullptr, "Unknown117"},
|
||||
{118, nullptr, "Unknown118"},
|
||||
{119, nullptr, "Unknown119"},
|
||||
{120, nullptr, "Unknown120"},
|
||||
{121, nullptr, "Unknown121"},
|
||||
{122, nullptr, "Unknown122"},
|
||||
{123, nullptr, "Unknown123"},
|
||||
{124, nullptr, "Unknown124"},
|
||||
{125, nullptr, "Unknown125"},
|
||||
{126, nullptr, "Unknown126"},
|
||||
{127, nullptr, "Unknown127"},
|
||||
{128, nullptr, "Unknown128"},
|
||||
{129, nullptr, "Unknown129"},
|
||||
{130, nullptr, "Unknown130"},
|
||||
{131, nullptr, "Unknown131"},
|
||||
{132, nullptr, "Unknown132"},
|
||||
{133, nullptr, "Unknown133"},
|
||||
{134, nullptr, "Unknown134"},
|
||||
{87, nullptr, "RequestQueryAvailableELicenses"}, // 6.0.0+
|
||||
{88, nullptr, "RequestAssignELicenses"}, // 6.0.0+
|
||||
{89, nullptr, "RequestExtendELicenses"}, // 6.0.0+
|
||||
{90, nullptr, "RequestSyncELicenses"}, // 6.0.0+
|
||||
{91, nullptr, "Unknown91"}, // 6.0.0-14.1.2
|
||||
{92, nullptr, "RequestQueryRevokeReason"}, // 6.0.0-19.0.1
|
||||
{93, nullptr, "RequestReportActiveELicenses"}, // 6.0.0+
|
||||
{94, nullptr, "RequestReportActiveELicensesPassively"}, // 6.0.0+
|
||||
{95, nullptr, "RequestRegisterDynamicRightsNotificationToken"}, // 6.0.0+
|
||||
{96, nullptr, "RequestAssignAllDeviceLinkedELicenses"}, // 6.0.0+
|
||||
{97, nullptr, "RequestRevokeAllELicenses"}, // 6.0.0+
|
||||
{98, nullptr, "RequestPrefetchForDynamicRights"}, // 6.0.0+
|
||||
{99, nullptr, "CreateNetworkInstallTask"}, // 7.0.0+
|
||||
{100, nullptr, "ListNetworkInstallTaskRightsIds"}, // 9.0.0+
|
||||
{101, nullptr, "RequestDownloadETickets"}, // 9.0.0+
|
||||
{102, nullptr, "RequestQueryDownloadableContents"}, // 9.0.0+
|
||||
{103, nullptr, "DeleteNetworkInstallTaskContentMeta"}, // 9.0.0+
|
||||
{104, nullptr, "RequestIssueEdgeTokenForDebug"}, // 9.0.0+
|
||||
{105, nullptr, "RequestQueryAvailableELicenses2"}, // 9.0.0+
|
||||
{106, nullptr, "RequestAssignELicenses2"}, // 9.0.0+
|
||||
{107, nullptr, "GetNetworkInstallTaskStateCounter"}, // 10.0.0+
|
||||
{108, nullptr, "InvalidateDynamicRightsNaIdTokenCacheForDebug"}, // 10.0.0+
|
||||
{109, nullptr, "ListNetworkInstallTaskPartialInstallContentMeta"}, // 10.0.0+
|
||||
{110, nullptr, "ListNetworkInstallTaskRightsIdsFromIndex"}, // 10.0.0+
|
||||
{111, nullptr, "AddNetworkInstallTaskContentMetaForUser"}, // 10.0.0+
|
||||
{112, nullptr, "RequestAssignELicensesAndDownloadETickets"}, // 10.0.0+
|
||||
{113, nullptr, "RequestQueryAvailableCommonELicenses"}, // 10.0.0+
|
||||
{114, nullptr, "SetNetworkInstallTaskExtendedAttribute"}, // 10.0.0+
|
||||
{115, nullptr, "GetNetworkInstallTaskExtendedAttribute"}, // 10.0.0+
|
||||
{116, nullptr, "GetAllocatorInfo"}, // 10.0.0+
|
||||
{117, nullptr, "RequestQueryDownloadableContentsByApplicationId"}, // 11.0.0+
|
||||
{118, nullptr, "MarkNoDownloadRightsErrorResolved"}, // 10.0.0+
|
||||
{119, nullptr, "GetApplyDeltaTaskAllAppliedContentMeta"}, // 11.0.0+ [20.0.0+] Now takes a 0x18-bytes type-0x6 output buffer and returns 4-bytes of output instead of 0x18-bytes.
|
||||
{120, nullptr, "PrioritizeNetworkInstallTask"}, // 11.0.0+
|
||||
{121, nullptr, "RequestQueryAvailableCommonELicenses2"}, // 10.1.0+
|
||||
{122, nullptr, "RequestAssignCommonELicenses"}, // 10.1.0+
|
||||
{123, nullptr, "RequestAssignCommonELicenses2"}, // 10.1.0+
|
||||
{124, nullptr, "IsNetworkInstallTaskFrontOfQueue"}, // 11.0.0+
|
||||
{125, nullptr, "PrioritizeApplyDeltaTask"}, // 11.0.0+
|
||||
{126, nullptr, "RerouteDownloadingPatch"}, // 12.0.0+
|
||||
{127, nullptr, "UnmarkNoDownloadRightsErrorResolved"}, // 12.0.0+
|
||||
{128, nullptr, "RequestContentsSize"}, // 12.0.0+
|
||||
{129, nullptr, "RequestContentsAuthorizationToken"}, // 12.0.0+
|
||||
{130, nullptr, "RequestCdnVendorDiscovery"}, // 13.0.0+
|
||||
{131, nullptr, "RefreshDebugAvailability"}, // 13.0.0+
|
||||
{132, nullptr, "ClearResponseSimulationEntry"}, // 13.0.0+
|
||||
{133, nullptr, "RegisterResponseSimulationEntry"}, // 13.0.0+
|
||||
{134, nullptr, "GetProcessedCdnVendors"}, // 13.0.0+
|
||||
{135, nullptr, "RefreshRuntimeBehaviorsForDebug"}, // 14.0.0+
|
||||
{136, nullptr, "RequestOnlineSubscriptionFreeTrialAvailability"}, // 14.0.0+
|
||||
{137, nullptr, "GetNetworkInstallTaskContentMetaCount"}, // 14.0.0+
|
||||
{138, nullptr, "RequestRevokeELicenses"}, // 15.0.0+
|
||||
{139, nullptr, "EnableNetworkConnectionToUseApplicationCore"}, // 15.0.0+
|
||||
{140, nullptr, "DisableNetworkConnectionToUseApplicationCore"}, // 15.0.0+
|
||||
{141, nullptr, "IsNetworkConnectionEnabledToUseApplicationCore"}, // 15.0.0+
|
||||
{142, nullptr, "RequestCheckSafeSystemVersion"}, // 17.0.0+
|
||||
{143, nullptr, "RequestApplicationIcon"}, // 17.0.0+ [20.0.0+] Now takes 0x20-bytes of input instead of 0x18-bytes.
|
||||
{144, nullptr, "RequestDownloadIdbeIconFile"}, // 17.0.0+
|
||||
{147, nullptr, "Unknown147"}, // 18.0.0+
|
||||
{148, nullptr, "Unknown148"}, // 18.0.0+
|
||||
{150, nullptr, "Unknown150"}, // 19.0.0+
|
||||
{151, nullptr, "Unknown151"}, // 20.0.0+
|
||||
{152, nullptr, "Unknown152"}, // 20.0.0+
|
||||
{153, nullptr, "Unknown153"}, // 20.0.0+
|
||||
{154, nullptr, "Unknown154"}, // 20.0.0+
|
||||
{155, nullptr, "Unknown155"}, // 20.0.0+
|
||||
{156, nullptr, "Unknown156"}, // 20.0.0+
|
||||
{157, nullptr, "Unknown157"}, // 20.0.0+
|
||||
{158, nullptr, "Unknown158"}, // 20.0.0+
|
||||
{159, nullptr, "Unknown159"}, // 20.0.0+
|
||||
{160, nullptr, "Unknown160"}, // 20.0.0+
|
||||
{161, nullptr, "Unknown161"}, // 20.0.0+
|
||||
{162, nullptr, "Unknown162"}, // 20.0.0+
|
||||
{163, nullptr, "Unknown163"}, // 20.0.0+
|
||||
{164, nullptr, "Unknown164"}, // 20.0.0+
|
||||
{165, nullptr, "Unknown165"}, // 20.0.0+
|
||||
{166, nullptr, "Unknown166"}, // 20.0.0+
|
||||
{167, nullptr, "Unknown167"}, // 20.0.0+
|
||||
{168, nullptr, "Unknown168"}, // 20.0.0+
|
||||
{169, nullptr, "Unknown169"}, // 20.0.0+
|
||||
{170, nullptr, "Unknown170"}, // 20.0.0+
|
||||
{171, nullptr, "Unknown171"}, // 20.0.0+
|
||||
{172, nullptr, "Unknown172"}, // 20.0.0+
|
||||
{173, nullptr, "Unknown173"}, // 20.1.0+
|
||||
{2000, nullptr, "Unknown2000"}, // 20.0.0+
|
||||
{2001, nullptr, "Unknown2001"}, // 20.0.0+
|
||||
{2002, nullptr, "Unknown2002"}, // 20.0.0+
|
||||
{2003, nullptr, "Unknown2003"}, // 20.0.0+
|
||||
{2004, nullptr, "Unknown2004"}, // 20.0.0+
|
||||
{2007, nullptr, "Unknown2007"}, // 20.0.0+
|
||||
{2011, nullptr, "Unknown2011"}, // 20.0.0+
|
||||
{2012, nullptr, "Unknown2012"}, // 20.0.0+
|
||||
{2013, nullptr, "Unknown2013"}, // 20.0.0+
|
||||
{2014, nullptr, "Unknown2014"}, // 20.0.0+
|
||||
{2015, nullptr, "Unknown2015"}, // 20.0.0+
|
||||
{2016, nullptr, "Unknown2016"}, // 20.0.0+
|
||||
{2017, nullptr, "Unknown2017"}, // 20.0.0+
|
||||
{2018, nullptr, "Unknown2018"}, // 20.0.0+
|
||||
{2019, nullptr, "Unknown2019"}, // 20.0.0+
|
||||
{2020, nullptr, "Unknown2020"}, // 20.0.0+
|
||||
{2021, nullptr, "Unknown2021"}, // 20.0.0+
|
||||
{2022, nullptr, "Unknown2022"}, // 20.0.0+
|
||||
{2023, nullptr, "Unknown2023"}, // 20.0.0+
|
||||
{2024, nullptr, "Unknown2024"}, // 20.0.0+
|
||||
{2025, nullptr, "Unknown2025"}, // 20.0.0+
|
||||
{2026, nullptr, "Unknown2026"}, // 20.0.0+
|
||||
{2027, nullptr, "Unknown2027"}, // 20.0.0+
|
||||
{2028, nullptr, "Unknown2028"}, // 20.0.0+
|
||||
{2029, nullptr, "Unknown2029"}, // 20.0.0+
|
||||
{2030, nullptr, "Unknown2030"}, // 20.0.0+
|
||||
{2031, nullptr, "Unknown2031"}, // 20.0.0+
|
||||
{2032, nullptr, "Unknown2032"}, // 20.0.0+
|
||||
{2033, nullptr, "Unknown2033"}, // 20.0.0+
|
||||
{2034, nullptr, "Unknown2034"}, // 20.0.0+
|
||||
{2035, nullptr, "Unknown2035"}, // 20.0.0+
|
||||
{2036, nullptr, "Unknown2036"}, // 20.0.0+
|
||||
{2037, nullptr, "Unknown2037"}, // 20.0.0+
|
||||
{2038, nullptr, "Unknown2038"}, // 20.0.0+
|
||||
{2039, nullptr, "Unknown2039"}, // 20.0.0+
|
||||
{2040, nullptr, "Unknown2040"}, // 20.0.0+
|
||||
{2041, nullptr, "Unknown2041"}, // 20.0.0+
|
||||
{2042, nullptr, "Unknown2042"}, // 20.0.0+
|
||||
{2043, nullptr, "Unknown2043"}, // 20.0.0+
|
||||
{2044, nullptr, "Unknown2044"}, // 20.0.0+
|
||||
{2045, nullptr, "Unknown2045"}, // 20.0.0+
|
||||
{2046, nullptr, "Unknown2046"}, // 20.0.0+
|
||||
{2047, nullptr, "Unknown2047"}, // 20.0.0+
|
||||
{2048, nullptr, "Unknown2048"}, // 20.0.0+
|
||||
{2049, nullptr, "Unknown2049"}, // 20.0.0+
|
||||
{2050, nullptr, "Unknown2050"}, // 20.0.0+
|
||||
{2051, nullptr, "Unknown2051"}, // 20.0.0+
|
||||
{3000, nullptr, "RequestLatestApplicationIcon"}, // 17.0.0+
|
||||
{3001, nullptr, "RequestDownloadIdbeLatestIconFile"} // 17.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -232,7 +317,7 @@ public:
|
||||
{2, nullptr, "ClearDebugResponse"},
|
||||
{3, nullptr, "RegisterDebugResponse"},
|
||||
{4, &NIM_ECA::IsLargeResourceAvailable, "IsLargeResourceAvailable"},
|
||||
{5, &NIM_ECA::CreateServerInterface2, "CreateServerInterface2"} // 17.0.0+
|
||||
{5, &NIM_ECA::CreateServerInterface2, "CreateServerInterface2"} // 17.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -241,7 +326,7 @@ public:
|
||||
|
||||
private:
|
||||
void CreateServerInterface(HLERequestContext& ctx) {
|
||||
LOG_DEBUG(Service_NIM, "(STUBBED) called");
|
||||
LOG_DEBUG(Service_NIM, "(STUBBED) called");
|
||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||
rb.Push(ResultSuccess);
|
||||
rb.PushIpcInterface<IShopServiceAccessServer>(system);
|
||||
@@ -258,14 +343,14 @@ private:
|
||||
rb.Push(ResultSuccess);
|
||||
rb.Push(false);
|
||||
}
|
||||
|
||||
void CreateServerInterface2(HLERequestContext& ctx) {
|
||||
LOG_DEBUG(Service_NIM, "(STUBBED) called.");
|
||||
|
||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||
rb.Push(ResultSuccess);
|
||||
rb.PushIpcInterface<IShopServiceAccessServer>(system);
|
||||
}
|
||||
|
||||
void CreateServerInterface2(HLERequestContext& ctx) {
|
||||
LOG_DEBUG(Service_NIM, "(STUBBED) called.");
|
||||
|
||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||
rb.Push(ResultSuccess);
|
||||
rb.PushIpcInterface<IShopServiceAccessServer>(system);
|
||||
}
|
||||
};
|
||||
|
||||
class NIM_SHP final : public ServiceFramework<NIM_SHP> {
|
||||
@@ -301,6 +386,8 @@ public:
|
||||
{503, nullptr, "RequestSyncTicket"},
|
||||
{504, nullptr, "RequestDownloadTicketForPrepurchasedContents2"},
|
||||
{505, nullptr, "RequestDownloadTicketForPrepurchasedContentsForAccount"},
|
||||
{600, nullptr, "IsInitialLaunchFinished"}, // 14.0.0+
|
||||
{601, nullptr, "NotifyFinishInitialLaunch"}, // 14.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -53,8 +53,13 @@ public:
|
||||
{42, nullptr, "SetNetworkServiceAccountIdTokenSuccess"}, // 17.0.0+
|
||||
{43, nullptr, "SetNetworkServiceAccountIdTokenFailure"}, // 17.0.0+
|
||||
{44, nullptr, "SetUidList"}, // 17.0.0+
|
||||
{45, nullptr, "PutDigitalTwinKeyValue"}, // 17.0.0+
|
||||
{45, nullptr, "PutDigitalTwinKeyValue"}, // [20.0.0+] ([17.0.0-18.1.0] PutDigitalTwinKeyValue)
|
||||
{51, nullptr, "DeleteDigitalTwinKeyValue"}, // 18.0.0+
|
||||
{52, nullptr, "Unknown52"}, // 20.0.0+
|
||||
{53, nullptr, "Unknown53"}, // 20.0.0+
|
||||
{60, nullptr, "Unknown60"}, // 19.0.0+
|
||||
{61, nullptr, "Unknown61"}, // 19.0.0+
|
||||
{70, nullptr, "Unknown70"}, // 20.0.0+
|
||||
{101, nullptr, "Suspend"},
|
||||
{102, nullptr, "Resume"},
|
||||
{103, C<&INpnsSystem::GetState>, "GetState"},
|
||||
@@ -68,6 +73,13 @@ public:
|
||||
{114, nullptr, "AttachJid"},
|
||||
{115, nullptr, "DetachJid"},
|
||||
{120, nullptr, "CreateNotificationReceiver"},
|
||||
{141, nullptr, "Unknown141"}, // 19.0.0+
|
||||
{142, nullptr, "Unknown142"}, // 19.0.0+
|
||||
{143, nullptr, "Unknown143"}, // 19.0.0+
|
||||
{144, nullptr, "Unknown144"}, // 19.0.0+
|
||||
{145, nullptr, "Unknown145"}, // 19.0.0+
|
||||
{146, nullptr, "Unknown146"}, // 20.0.0+
|
||||
{147, nullptr, "Unknown147"}, // 20.0.0+
|
||||
{151, nullptr, "GetStateWithHandover"},
|
||||
{152, nullptr, "GetStateChangeEventWithHandover"},
|
||||
{153, nullptr, "GetDropEventWithHandover"},
|
||||
@@ -78,6 +90,7 @@ public:
|
||||
{162, nullptr, "RequestChangeStateForceTimedWithCancelEvent"},
|
||||
{201, nullptr, "RequestChangeStateForceTimed"},
|
||||
{202, nullptr, "RequestChangeStateForceAsync"},
|
||||
{203, nullptr, "Unknown203"}, // 20.0.0+
|
||||
{301, nullptr, "GetPassword"}, // 18.0.0+
|
||||
{302, nullptr, "GetAllImmigration"}, // 18.0.0+
|
||||
{303, nullptr, "GetNotificationHistories"}, // 18.0.0+
|
||||
|
@@ -115,7 +115,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{301, nullptr, "PopApplicationShellEventInfo"},
|
||||
{302, nullptr, "LaunchLibraryApplet"},
|
||||
{303, nullptr, "TerminateLibraryApplet"},
|
||||
{304, nullptr, "LaunchSystemApplet"},
|
||||
{304, nullptr, "LaunchSystemApplet"}, // [20.0.0+] ns.applet!system_applet_id_gen2
|
||||
{305, nullptr, "TerminateSystemApplet"},
|
||||
{306, nullptr, "LaunchOverlayApplet"},
|
||||
{307, nullptr, "TerminateOverlayApplet"},
|
||||
@@ -128,6 +128,23 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{406, nullptr, "GetApplicationControlProperty"},
|
||||
{407, nullptr, "ListApplicationTitle"},
|
||||
{408, nullptr, "ListApplicationIcon"},
|
||||
{411, nullptr, "Unknown411"}, // 19.0.0+
|
||||
{412, nullptr, "Unknown412"}, // 19.0.0+
|
||||
{413, nullptr, "Unknown413"}, // 19.0.0+
|
||||
{414, nullptr, "Unknown414"}, // 19.0.0+
|
||||
{415, nullptr, "Unknown415"}, // 19.0.0+
|
||||
{416, nullptr, "Unknown416"}, // 19.0.0+
|
||||
{417, nullptr, "InvalidateAllApplicationControlCacheOfTheStage"}, // 19.0.0+
|
||||
{418, nullptr, "InvalidateApplicationControlCacheOfTheStage"}, // 19.0.0+
|
||||
{419, nullptr, "RequestDownloadApplicationControlDataInBackground"}, // 19.0.0+
|
||||
{420, nullptr, "CloneApplicationControlDataCacheForDebug"}, // 19.0.0+
|
||||
{421, nullptr, "Unknown421"}, // 20.0.0+
|
||||
{422, nullptr, "Unknown422"}, // 20.0.0+
|
||||
{423, nullptr, "Unknown423"}, // 20.0.0+
|
||||
{424, nullptr, "Unknown424"}, // 20.0.0+
|
||||
{425, nullptr, "Unknown425"}, // 20.0.0+
|
||||
{426, nullptr, "Unknown426"}, // 20.0.0+
|
||||
{427, nullptr, "Unknown427"}, // 20.0.0+
|
||||
{502, nullptr, "RequestCheckGameCardRegistration"},
|
||||
{503, nullptr, "RequestGameCardRegistrationGoldPoint"},
|
||||
{504, nullptr, "RequestRegisterGameCard"},
|
||||
@@ -137,6 +154,9 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{508, nullptr, "GetLastGameCardMountFailureResult"},
|
||||
{509, nullptr, "ListApplicationIdOnGameCard"},
|
||||
{510, nullptr, "GetGameCardPlatformRegion"},
|
||||
{513, nullptr, "Unknown513"}, // 20.0.0+
|
||||
{514, nullptr, "Unknown514"}, // 20.0.0+
|
||||
{515, nullptr, "Unknown515"}, // 20.0.0+
|
||||
{600, nullptr, "CountApplicationContentMeta"},
|
||||
{601, nullptr, "ListApplicationContentMetaStatus"},
|
||||
{602, nullptr, "ListAvailableAddOnContent"},
|
||||
@@ -174,6 +194,18 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{914, nullptr, "HideApplicationRecord"},
|
||||
{915, nullptr, "ShowApplicationRecord"},
|
||||
{916, nullptr, "IsApplicationAutoDeleteDisabled"},
|
||||
{917, nullptr, "Unknown917"}, // 20.0.0+
|
||||
{918, nullptr, "Unknown918"}, // 20.0.0+
|
||||
{919, nullptr, "Unknown919"}, // 20.0.0+
|
||||
{920, nullptr, "Unknown920"}, // 20.0.0+
|
||||
{921, nullptr, "Unknown921"}, // 20.0.0+
|
||||
{922, nullptr, "Unknown922"}, // 20.0.0+
|
||||
{923, nullptr, "Unknown923"}, // 20.0.0+
|
||||
{928, nullptr, "Unknown928"}, // 20.0.0+
|
||||
{929, nullptr, "Unknown929"}, // 20.0.0+
|
||||
{930, nullptr, "Unknown930"}, // 20.0.0+
|
||||
{931, nullptr, "Unknown931"}, // 20.0.0+
|
||||
{933, nullptr, "Unknown933"}, // 20.1.0+
|
||||
{1000, nullptr, "RequestVerifyApplicationDeprecated"},
|
||||
{1001, nullptr, "CorruptApplicationForDebug"},
|
||||
{1002, nullptr, "RequestVerifyAddOnContentsRights"},
|
||||
@@ -202,6 +234,11 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{1504, nullptr, "InsertSdCard"},
|
||||
{1505, nullptr, "RemoveSdCard"},
|
||||
{1506, nullptr, "GetSdCardStartupStatus"},
|
||||
{1508, nullptr, "Unknown1508"}, // 20.0.0+
|
||||
{1509, nullptr, "Unknown1509"}, // 20.0.0+
|
||||
{1510, nullptr, "Unknown1510"}, // 20.0.0+
|
||||
{1511, nullptr, "Unknown1511"}, // 20.0.0+
|
||||
{1512, nullptr, "Unknown1512"}, // 20.0.0+
|
||||
{1600, nullptr, "GetSystemSeedForPseudoDeviceId"},
|
||||
{1601, nullptr, "ResetSystemSeedForPseudoDeviceId"},
|
||||
{1700, nullptr, "ListApplicationDownloadingContentMeta"},
|
||||
@@ -210,6 +247,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{1703, nullptr, "GetApplicationViewDownloadErrorContext"},
|
||||
{1704, D<&IApplicationManagerInterface::GetApplicationViewWithPromotionInfo>, "GetApplicationViewWithPromotionInfo"},
|
||||
{1705, nullptr, "IsPatchAutoDeletableApplication"},
|
||||
{1706, nullptr, "Unknown1706"}, // 20.0.0+
|
||||
{1800, nullptr, "IsNotificationSetupCompleted"},
|
||||
{1801, nullptr, "GetLastNotificationInfoCount"},
|
||||
{1802, nullptr, "ListLastNotificationInfo"},
|
||||
@@ -218,7 +256,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{1901, nullptr, "RequestDownloadApplicationPrepurchasedRights"},
|
||||
{1902, nullptr, "GetApplicationTicketInfo"},
|
||||
{1903, nullptr, "RequestDownloadApplicationPrepurchasedRightsForAccount"},
|
||||
{2000, nullptr, "GetSystemDeliveryInfo"},
|
||||
{2000, nullptr, "GetSystemDeliveryInfo"}, // Always set to 0x1 by #GetSystemDeliveryInfo with [20.0.0+].
|
||||
{2001, nullptr, "SelectLatestSystemDeliveryInfo"},
|
||||
{2002, nullptr, "VerifyDeliveryProtocolVersion"},
|
||||
{2003, nullptr, "GetApplicationDeliveryInfo"},
|
||||
@@ -237,8 +275,11 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{2016, nullptr, "ListNotCommittedContentMeta"},
|
||||
{2017, nullptr, "CreateDownloadTask"},
|
||||
{2018, nullptr, "GetApplicationDeliveryInfoHash"},
|
||||
{2019, nullptr, "Unknown2019"}, // 20.0.0+
|
||||
{2050, D<&IApplicationManagerInterface::GetApplicationRightsOnClient>, "GetApplicationRightsOnClient"},
|
||||
{2051, nullptr, "InvalidateRightsIdCache"},
|
||||
{2052, nullptr, "Unknown2052"}, // 20.0.0+
|
||||
{2053, nullptr, "Unknown2053"}, // 20.0.0+
|
||||
{2100, D<&IApplicationManagerInterface::GetApplicationTerminateResult>, "GetApplicationTerminateResult"},
|
||||
{2101, nullptr, "GetRawApplicationTerminateResult"},
|
||||
{2150, nullptr, "CreateRightsEnvironment"},
|
||||
@@ -255,6 +296,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{2180, nullptr, "RequestExtendRightsInRightsEnvironment"},
|
||||
{2181, nullptr, "GetResultOfExtendRightsInRightsEnvironment"},
|
||||
{2182, nullptr, "SetActiveRightsContextUsingStateToRightsEnvironment"},
|
||||
{2183, nullptr, "Unknown2183"}, // 20.1.0+
|
||||
{2190, nullptr, "GetRightsEnvironmentHandleForApplication"},
|
||||
{2199, nullptr, "GetRightsEnvironmentCountForDebug"},
|
||||
{2200, nullptr, "GetGameCardApplicationCopyIdentifier"},
|
||||
@@ -271,9 +313,18 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{2357, nullptr, "EnableMultiCoreDownload"},
|
||||
{2358, nullptr, "DisableMultiCoreDownload"},
|
||||
{2359, nullptr, "IsMultiCoreDownloadEnabled"},
|
||||
{2360, nullptr, "GetApplicationDownloadTaskCount"}, // 19.0.0+
|
||||
{2361, nullptr, "GetMaxApplicationDownloadTaskCount"}, // 19.0.0+
|
||||
{2362, nullptr, "Unknown2362"}, // 20.0.0+
|
||||
{2363, nullptr, "Unknown2363"}, // 20.0.0+
|
||||
{2364, nullptr, "Unknown2364"}, // 20.0.0+
|
||||
{2365, nullptr, "Unknown2365"}, // 20.0.0+
|
||||
{2366, nullptr, "Unknown2366"}, // 20.0.0+
|
||||
{2367, nullptr, "Unknown2367"}, // 20.0.0+
|
||||
{2368, nullptr, "Unknown2368"}, // 20.0.0+
|
||||
{2400, nullptr, "GetPromotionInfo"},
|
||||
{2401, nullptr, "CountPromotionInfo"},
|
||||
{2402, nullptr, "ListPromotionInfo"},
|
||||
{2402, nullptr, "ListPromotionInfo"}, // [20.0.0+] The struct size for the output buffer array is now 0x28-bytes instead of 0x20-bytes.
|
||||
{2403, nullptr, "ImportPromotionJsonForDebug"},
|
||||
{2404, nullptr, "ClearPromotionInfoForDebug"},
|
||||
{2500, nullptr, "ConfirmAvailableTime"},
|
||||
@@ -289,6 +340,9 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{2520, nullptr, "IsQualificationTransitionSupportedByProcessId"},
|
||||
{2521, nullptr, "GetRightsUserChangedEvent"},
|
||||
{2522, nullptr, "IsRomRedirectionAvailable"},
|
||||
{2523, nullptr, "GetProgramId"}, // 17.0.0+
|
||||
{2524, nullptr, "Unknown2524"}, // 19.0.0+
|
||||
{2525, nullptr, "Unknown2525"}, // 20.0.0+
|
||||
{2800, nullptr, "GetApplicationIdOfPreomia"},
|
||||
{3000, nullptr, "RegisterDeviceLockKey"},
|
||||
{3001, nullptr, "UnregisterDeviceLockKey"},
|
||||
@@ -306,6 +360,95 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{3013, nullptr, "IsGameCardEnabled"},
|
||||
{3014, nullptr, "IsLocalContentShareEnabled"},
|
||||
{3050, nullptr, "ListAssignELicenseTaskResult"},
|
||||
{4000, nullptr, "Unknown4000"}, // 20.0.0+
|
||||
{4004, nullptr, "Unknown4004"}, // 20.0.0+
|
||||
{4006, nullptr, "Unknown4006"}, // 20.0.0+
|
||||
{4007, nullptr, "Unknown4007"}, // 20.0.0+
|
||||
{4008, nullptr, "Unknown4008"}, // 20.0.0+
|
||||
{4009, nullptr, "Unknown4009"}, // 20.0.0+
|
||||
{4010, nullptr, "Unknown4010"}, // 20.0.0+
|
||||
{4011, nullptr, "Unknown4011"}, // 20.0.0+
|
||||
{4012, nullptr, "Unknown4012"}, // 20.0.0+
|
||||
{4013, nullptr, "Unknown4013"}, // 20.0.0+
|
||||
{4015, nullptr, "Unknown4015"}, // 20.0.0+
|
||||
{4017, nullptr, "Unknown4017"}, // 20.0.0+
|
||||
{4019, nullptr, "Unknown4019"}, // 20.0.0+
|
||||
{4020, nullptr, "Unknown4020"}, // 20.0.0+
|
||||
{4021, nullptr, "Unknown4021"}, // 20.0.0+
|
||||
{4022, D<&IApplicationManagerInterface::Unknown4022>, "Unknown4022"},
|
||||
{4023, D<&IApplicationManagerInterface::Unknown4023>, "Unknown4023"},
|
||||
{4024, nullptr, "Unknown4024"}, // 20.0.0+
|
||||
{4025, nullptr, "Unknown4025"}, // 20.0.0+
|
||||
{4026, nullptr, "Unknown4026"}, // 20.0.0+
|
||||
{4027, nullptr, "Unknown4027"}, // 20.0.0+
|
||||
{4028, nullptr, "Unknown4028"}, // 20.0.0+
|
||||
{4029, nullptr, "Unknown4029"}, // 20.0.0+
|
||||
{4030, nullptr, "Unknown4030"}, // 20.0.0+
|
||||
{4031, nullptr, "Unknown4031"}, // 20.0.0+
|
||||
{4032, nullptr, "Unknown4032"}, // 20.0.0+
|
||||
{4033, nullptr, "Unknown4033"}, // 20.0.0+
|
||||
{4034, nullptr, "Unknown4034"}, // 20.0.0+
|
||||
{4035, nullptr, "Unknown4035"}, // 20.0.0+
|
||||
{4037, nullptr, "Unknown4037"}, // 20.0.0+
|
||||
{4038, nullptr, "Unknown4038"}, // 20.0.0+
|
||||
{4039, nullptr, "Unknown4039"}, // 20.0.0+
|
||||
{4040, nullptr, "Unknown4040"}, // 20.0.0+
|
||||
{4041, nullptr, "Unknown4041"}, // 20.0.0+
|
||||
{4042, nullptr, "Unknown4042"}, // 20.0.0+
|
||||
{4043, nullptr, "Unknown4043"}, // 20.0.0+
|
||||
{4044, nullptr, "Unknown4044"}, // 20.0.0+
|
||||
{4045, nullptr, "Unknown4045"}, // 20.0.0+
|
||||
{4046, nullptr, "Unknown4046"}, // 20.0.0+
|
||||
{4049, nullptr, "Unknown4049"}, // 20.0.0+
|
||||
{4050, nullptr, "Unknown4050"}, // 20.0.0+
|
||||
{4051, nullptr, "Unknown4051"}, // 20.0.0+
|
||||
{4052, nullptr, "Unknown4052"}, // 20.0.0+
|
||||
{4053, nullptr, "Unknown4053"}, // 20.0.0+
|
||||
{4054, nullptr, "Unknown4054"}, // 20.0.0+
|
||||
{4055, nullptr, "Unknown4055"}, // 20.0.0+
|
||||
{4056, nullptr, "Unknown4056"}, // 20.0.0+
|
||||
{4057, nullptr, "Unknown4057"}, // 20.0.0+
|
||||
{4058, nullptr, "Unknown4058"}, // 20.0.0+
|
||||
{4059, nullptr, "Unknown4059"}, // 20.0.0+
|
||||
{4060, nullptr, "Unknown4060"}, // 20.0.0+
|
||||
{4061, nullptr, "Unknown4061"}, // 20.0.0+
|
||||
{4062, nullptr, "Unknown4062"}, // 20.0.0+
|
||||
{4063, nullptr, "Unknown4063"}, // 20.0.0+
|
||||
{4064, nullptr, "Unknown4064"}, // 20.0.0+
|
||||
{4065, nullptr, "Unknown4065"}, // 20.0.0+
|
||||
{4066, nullptr, "Unknown4066"}, // 20.0.0+
|
||||
{4067, nullptr, "Unknown4067"}, // 20.0.0+
|
||||
{4068, nullptr, "Unknown4068"}, // 20.0.0+
|
||||
{4069, nullptr, "Unknown4069"}, // 20.0.0+
|
||||
{4070, nullptr, "Unknown4070"}, // 20.0.0+
|
||||
{4071, nullptr, "Unknown4071"}, // 20.0.0+
|
||||
{4072, nullptr, "Unknown4072"}, // 20.0.0+
|
||||
{4073, nullptr, "Unknown4073"}, // 20.0.0+
|
||||
{4074, nullptr, "Unknown4074"}, // 20.0.0+
|
||||
{4075, nullptr, "Unknown4075"}, // 20.0.0+
|
||||
{4076, nullptr, "Unknown4076"}, // 20.0.0+
|
||||
{4077, nullptr, "Unknown4077"}, // 20.0.0+
|
||||
{4078, nullptr, "Unknown4078"}, // 20.0.0+
|
||||
{4079, nullptr, "Unknown4079"}, // 20.0.0+
|
||||
{4080, nullptr, "Unknown4080"}, // 20.0.0+
|
||||
{4081, nullptr, "Unknown4081"}, // 20.0.0+
|
||||
{4083, nullptr, "Unknown4083"}, // 20.0.0+
|
||||
{4084, nullptr, "Unknown4084"}, // 20.0.0+
|
||||
{4085, nullptr, "Unknown4085"}, // 20.0.0+
|
||||
{4086, nullptr, "Unknown4086"}, // 20.0.0+
|
||||
{4087, nullptr, "Unknown4087"}, // 20.0.0+
|
||||
{4088, D<&IApplicationManagerInterface::Unknown4088>, "Unknown4088"},
|
||||
{4089, nullptr, "Unknown4089"}, // 20.0.0+
|
||||
{4090, nullptr, "Unknown4090"}, // 20.0.0+
|
||||
{4091, nullptr, "Unknown4091"}, // 20.0.0+
|
||||
{4092, nullptr, "Unknown4092"}, // 20.0.0+
|
||||
{4093, nullptr, "Unknown4093"}, // 20.0.0+
|
||||
{4094, nullptr, "Unknown4094"}, // 20.0.0+
|
||||
{4095, nullptr, "Unknown4095"}, // 20.0.0+
|
||||
{4096, nullptr, "Unknown4096"}, // 20.0.0+
|
||||
{4097, nullptr, "Unknown4097"}, // 20.0.0+
|
||||
{5000, nullptr, "Unknown5000"}, // 18.0.0+
|
||||
{5001, nullptr, "Unknown5001"}, // 18.0.0+
|
||||
{9999, nullptr, "GetApplicationCertificate"},
|
||||
};
|
||||
// clang-format on
|
||||
@@ -516,6 +659,23 @@ Result IApplicationManagerInterface::CheckApplicationLaunchVersion(u64 applicati
|
||||
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,
|
||||
u64 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,
|
||||
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);
|
||||
|
||||
private:
|
||||
|
@@ -18,6 +18,8 @@ IContentManagementInterface::IContentManagementInterface(Core::System& system_)
|
||||
{43, D<&IContentManagementInterface::CheckSdCardMountStatus>, "CheckSdCardMountStatus"},
|
||||
{47, D<&IContentManagementInterface::GetTotalSpaceSize>, "GetTotalSpaceSize"},
|
||||
{48, D<&IContentManagementInterface::GetFreeSpaceSize>, "GetFreeSpaceSize"},
|
||||
{58, nullptr, "Unknown58"}, // 20.1.0+
|
||||
{71, nullptr, "Unknown71"}, // 20.1.0+
|
||||
{600, nullptr, "CountApplicationContentMeta"},
|
||||
{601, nullptr, "ListApplicationContentMetaStatus"},
|
||||
{605, nullptr, "ListApplicationContentMetaStatusWithRightsCheck"},
|
||||
|
@@ -27,6 +27,12 @@ IDevelopInterface::IDevelopInterface(Core::System& system_) : ServiceFramework{s
|
||||
{17, nullptr, "PrepareLaunchApplicationFromHost"},
|
||||
{18, nullptr, "GetLaunchEvent"},
|
||||
{19, nullptr, "GetLaunchResult"},
|
||||
{19, nullptr, "GetLaunchResult"}, // 12.0.0+
|
||||
{20, nullptr, "GetProgramId"}, // 14.0.0+
|
||||
{21, nullptr, "PrepareLaunchApplication"}, // 18.0.0+
|
||||
{22, nullptr, "LaunchApplication"}, // 18.0.0+
|
||||
{23, nullptr, "GetProgramIdByApplicationLaunchInfo"}, // 18.0.0+
|
||||
{24, nullptr, "DestroyApplicationLaunchPreparation"}, // 18.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -19,6 +19,7 @@ IDownloadTaskInterface::IDownloadTaskInterface(Core::System& system_)
|
||||
{707, D<&IDownloadTaskInterface::EnableAutoCommit>, "EnableAutoCommit"},
|
||||
{708, D<&IDownloadTaskInterface::DisableAutoCommit>, "DisableAutoCommit"},
|
||||
{709, nullptr, "TriggerDynamicCommitEvent"},
|
||||
{710, nullptr, "Unknown710"} // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -37,7 +37,9 @@ IDynamicRightsInterface::IDynamicRightsInterface(Core::System& system_)
|
||||
{23, nullptr, "GetLimitedApplicationLicenseUpgradableEvent"},
|
||||
{24, nullptr, "NotifyLimitedApplicationLicenseUpgradableEventForDebug"},
|
||||
{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
|
||||
|
||||
|
@@ -16,6 +16,13 @@ IECommerceInterface::IECommerceInterface(Core::System& system_)
|
||||
{4, nullptr, "RequestUnlinkDevice"},
|
||||
{5, nullptr, "RequestRevokeAllELicense"},
|
||||
{6, nullptr, "RequestSyncRightsBasedOnAssignedELicenses"},
|
||||
{7, nullptr, "RequestOnlineSubscriptionFreeTrialAvailability"}, // 14.0.0+
|
||||
{8, nullptr, "Unknown8"}, // 20.0.0+
|
||||
{9, nullptr, "Unknown9"}, // 20.0.0+
|
||||
{10, nullptr, "Unknown10"}, // 20.0.0+
|
||||
{11, nullptr, "Unknown11"}, // 20.0.0+
|
||||
{12, nullptr, "Unknown12"}, // 20.0.0+
|
||||
{13, nullptr, "Unknown13"}, // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -16,6 +16,8 @@ IFactoryResetInterface::IFactoryResetInterface(Core::System& system_)
|
||||
{104, nullptr, "ResetToFactorySettingsWithPlatformRegionAuthentication"},
|
||||
{105, nullptr, "RequestResetToFactorySettingsSecurely"},
|
||||
{106, nullptr, "RequestResetToFactorySettingsWithPlatformRegionAuthenticationSecurely"},
|
||||
{107, nullptr, "Unknown7"}, // 20.0.0+
|
||||
{108, nullptr, "Unknown8"}, // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -147,6 +147,7 @@ IPlatformServiceManager::IPlatformServiceManager(Core::System& system_, const ch
|
||||
{104, nullptr, "RequestApplicationFunctionAuthorizationByProgramId"},
|
||||
{105, nullptr, "GetFunctionBlackListSystemVersionToAuthorize"},
|
||||
{106, nullptr, "GetFunctionBlackListVersion"},
|
||||
{108, nullptr, "GetRequiredApplicationVersion"}, // 20.0.0+
|
||||
{1000, nullptr, "LoadNgWordDataForPlatformRegionChina"},
|
||||
{1001, nullptr, "GetNgWordDataSizeForPlatformRegionChina"},
|
||||
};
|
||||
|
@@ -32,6 +32,10 @@ IQueryService::IQueryService(Core::System& system_) : ServiceFramework{system_,
|
||||
{17, nullptr, "QueryLastPlayTime"},
|
||||
{18, nullptr, "QueryApplicationPlayStatisticsForSystem"},
|
||||
{19, nullptr, "QueryApplicationPlayStatisticsByUserAccountIdForSystem"},
|
||||
{100, nullptr, "Unknown100"}, // 20.0.0+
|
||||
{110, nullptr, "Unknown110"}, // 20.0.0+
|
||||
{118, nullptr, "Unknown118"}, // 20.0.0+
|
||||
{119, nullptr, "Unknown119"} // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -23,6 +23,19 @@ IReadOnlyApplicationControlDataInterface::IReadOnlyApplicationControlDataInterfa
|
||||
{2, D<&IReadOnlyApplicationControlDataInterface::ConvertApplicationLanguageToLanguageCode>, "ConvertApplicationLanguageToLanguageCode"},
|
||||
{3, nullptr, "ConvertLanguageCodeToApplicationLanguage"},
|
||||
{4, nullptr, "SelectApplicationDesiredLanguage"},
|
||||
{5, nullptr, "Unknown5"}, // 19.0.0+
|
||||
{6, nullptr, "Unknown6"}, // 19.0.0+
|
||||
{7, nullptr, "Unknown7"}, // 20.0.0+
|
||||
{8, nullptr, "Unknown8"}, // 20.0.0+
|
||||
{9, nullptr, "Unknown9"}, // 20.0.0+
|
||||
{10, nullptr, "Unknown10"}, // 20.0.0+
|
||||
{11, nullptr, "Unknown11"}, // 20.0.0+
|
||||
{12, nullptr, "Unknown12"}, // 20.0.0+
|
||||
{13, nullptr, "Unknown13"}, // 20.0.0+
|
||||
{14, nullptr, "Unknown14"}, // 20.0.0+
|
||||
{15, nullptr, "Unknown15"}, // 20.0.0+
|
||||
{16, nullptr, "Unknown16"}, // 20.0.0+
|
||||
{17, nullptr, "Unknown17"}, // 20.1.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -11,8 +11,8 @@ IReadOnlyApplicationRecordInterface::IReadOnlyApplicationRecordInterface(Core::S
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, D<&IReadOnlyApplicationRecordInterface::HasApplicationRecord>, "HasApplicationRecord"},
|
||||
{1, nullptr, "NotifyApplicationFailure"},
|
||||
{2, D<&IReadOnlyApplicationRecordInterface::IsDataCorruptedResult>,
|
||||
"IsDataCorruptedResult"},
|
||||
{2, D<&IReadOnlyApplicationRecordInterface::IsDataCorruptedResult>, "IsDataCorruptedResult"},
|
||||
{3, nullptr, "Unknown3"}, // 20.0.0 +
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -13,6 +13,9 @@ IVulnerabilityManagerInterface::IVulnerabilityManagerInterface(Core::System& sys
|
||||
{1200, D<&IVulnerabilityManagerInterface::NeedsUpdateVulnerability>, "NeedsUpdateVulnerability"},
|
||||
{1201, nullptr, "UpdateSafeSystemVersionForDebug"},
|
||||
{1202, nullptr, "GetSafeSystemVersion"},
|
||||
{3100, nullptr, "Unknown7"}, // 18.0.0+
|
||||
{3101, nullptr, "Unknown8"}, // 18.0.0+
|
||||
{3102, nullptr, "Unknown8"}, // 18.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -10,16 +10,17 @@ IDaemonController::IDaemonController(Core::System& system_)
|
||||
: ServiceFramework{system_, "IDaemonController"} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, D<&IDaemonController::GetAutoTransferEnabledForAccountAndApplication>, "GetAutoTransferEnabledForAccountAndApplication"},
|
||||
{1, nullptr, "SetAutoTransferEnabledForAccountAndApplication"},
|
||||
{2, nullptr, "GetGlobalUploadEnabledForAccount"},
|
||||
{3, nullptr, "SetGlobalUploadEnabledForAccount"},
|
||||
{4, nullptr, "TouchAccount"},
|
||||
{5, nullptr, "GetGlobalDownloadEnabledForAccount"},
|
||||
{6, nullptr, "SetGlobalDownloadEnabledForAccount"},
|
||||
{10, nullptr, "GetForbiddenSaveDataIndication"},
|
||||
{11, nullptr, "GetStopperObject"},
|
||||
{12, nullptr, "GetState"},
|
||||
{0, D<&IDaemonController::GetApplicationAutoTransferSetting>, "GetApplicationAutoTransferSetting"},
|
||||
{1, nullptr, "SetApplicationAutoTransferSetting"},
|
||||
{2, nullptr, "GetGlobalAutoUploadSetting"},
|
||||
{3, nullptr, "SetGlobalAutoUploadSetting"},
|
||||
{4, nullptr, "RunTransferTaskAutonomyRegistration"},
|
||||
{5, nullptr, "GetGlobalAutoDownloadSetting"}, // 11.0.0+
|
||||
{6, nullptr, "SetGlobalAutoDownloadSetting"}, // 11.0.0+
|
||||
{10, nullptr, "CreateForbiddenSaveDataInidication"},
|
||||
{11, nullptr, "StopAutonomyTaskExecution"},
|
||||
{12, nullptr, "GetAutonomyTaskStatus"},
|
||||
{13, nullptr, "Unknown13"}, // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -28,7 +29,7 @@ IDaemonController::IDaemonController(Core::System& system_)
|
||||
|
||||
IDaemonController::~IDaemonController() = default;
|
||||
|
||||
Result IDaemonController::GetAutoTransferEnabledForAccountAndApplication(Out<bool> out_is_enabled,
|
||||
Result IDaemonController::GetApplicationAutoTransferSetting(Out<bool> out_is_enabled,
|
||||
Common::UUID user_id,
|
||||
u64 application_id) {
|
||||
LOG_WARNING(Service_OLSC, "(STUBBED) called, user_id={} application_id={:016X}",
|
||||
|
@@ -13,7 +13,7 @@ public:
|
||||
~IDaemonController() override;
|
||||
|
||||
private:
|
||||
Result GetAutoTransferEnabledForAccountAndApplication(Out<bool> out_is_enabled,
|
||||
Result GetApplicationAutoTransferSetting(Out<bool> out_is_enabled,
|
||||
Common::UUID user_id, u64 application_id);
|
||||
};
|
||||
|
||||
|
@@ -10,30 +10,35 @@ IRemoteStorageController::IRemoteStorageController(Core::System& system_)
|
||||
: ServiceFramework{system_, "IRemoteStorageController"} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, nullptr, "GetSaveDataArchiveInfoBySaveDataId"},
|
||||
{1, nullptr, "GetSaveDataArchiveInfoByApplicationId"},
|
||||
{3, nullptr, "GetSaveDataArchiveCount"},
|
||||
{6, nullptr, "CleanupSaveDataArchives"},
|
||||
{7, nullptr, "CreateSaveDataArchiveCacheUpdationTask"},
|
||||
{8, nullptr, "CreateSaveDataArchiveCacheUpdationForSpecifiedApplicationTask"},
|
||||
{9, nullptr, "Delete"},
|
||||
{10, nullptr, "GetSeriesInfo"},
|
||||
{11, nullptr, "CreateDeleteDataTask"},
|
||||
{12, nullptr, "DeleteSeriesInfo"},
|
||||
{13, nullptr, "CreateRegisterNotificationTokenTask"},
|
||||
{14, nullptr, "UpdateSeriesInfo"},
|
||||
{0, nullptr, "RegisterUploadSaveDataTransferTask"},
|
||||
{1, nullptr, "RegisterDownloadSaveDataTransferTask"},
|
||||
{2, nullptr, "Unknown2"}, // 6.0.0-7.0.1
|
||||
{3, nullptr, "GetCount"},
|
||||
{4, nullptr, "Unknown4"}, // 6.0.0-7.0.1
|
||||
{6, nullptr, "ClearDataInfoCache"},
|
||||
{7, nullptr, "RequestUpdateDataInfoCacheAsync"},
|
||||
{8, nullptr, "RequestUpdateDataInfoCacheOfSpecifiedApplicationAsync"},
|
||||
{9, nullptr, "DeleteDataInfoCache"},
|
||||
{10, nullptr, "GetDataNewness"},
|
||||
{11, nullptr, "RequestDeleteDataAsync"},
|
||||
{12, nullptr, "RegisterUploadSaveDataTransferTaskDetail"},
|
||||
{13, nullptr, "RequestRegisterNotificationTokenAsync"},
|
||||
{14, nullptr, "GetDataNewnessByApplicationId"},
|
||||
{15, nullptr, "RegisterUploadSaveDataTransferTaskForAutonomyRegistration"},
|
||||
{16, nullptr, "CreateCleanupToDeleteSaveDataArchiveInfoTask"},
|
||||
{17, nullptr, "ListDataInfo"},
|
||||
{18, nullptr, "GetDataInfo"},
|
||||
{19, nullptr, "Unknown19"},
|
||||
{20, nullptr, "CreateSaveDataArchiveInfoCacheForSaveDataBackupUpdationTask"},
|
||||
{21, nullptr, "ListSecondarySaves"},
|
||||
{22, D<&IRemoteStorageController::GetSecondarySave>, "GetSecondarySave"},
|
||||
{23, nullptr, "TouchSecondarySave"},
|
||||
{24, nullptr, "GetSecondarySaveDataInfo"},
|
||||
{25, nullptr, "RegisterDownloadSaveDataTransferTaskForAutonomyRegistration"},
|
||||
{900, nullptr, "Unknown900"},
|
||||
{16, nullptr, "RequestCleanupToDeleteSaveDataArchiveAsync"},
|
||||
{17, nullptr, "ListDataInfo"}, // 7.0.0+
|
||||
{18, nullptr, "GetDataInfo"}, // 7.0.0+
|
||||
{19, nullptr, "GetDataInfoCacheUpdateNativeHandleHolder"}, // 7.0.0+
|
||||
{20, nullptr, "RequestUpdateSaveDataBackupInfoCacheAsync"}, // 10.1.0+
|
||||
{21, nullptr, "ListLoadedDataInfo"}, // 11.0.0+
|
||||
{22, D<&IRemoteStorageController::GetLoadedDataInfo>, "GetLoadedDataInfo"},
|
||||
{23, nullptr, "ApplyLoadedData"}, // 11.0.0+
|
||||
{24, nullptr, "DeleteLoadedData"}, // 11.0.0+
|
||||
{25, nullptr, "RegisterDownloadSaveDataTransferTaskForAutonomyRegistration"}, // 11.0.0+
|
||||
{26, nullptr, "Unknown26"}, // 20.0.0+
|
||||
{27, nullptr, "Unknown27"}, // 20.0.0+
|
||||
{800, nullptr, "Unknown800"}, // 20.0.0+
|
||||
{900, nullptr, "SetLoadedDataMissing"} // 11.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -42,7 +47,7 @@ IRemoteStorageController::IRemoteStorageController(Core::System& system_)
|
||||
|
||||
IRemoteStorageController::~IRemoteStorageController() = default;
|
||||
|
||||
Result IRemoteStorageController::GetSecondarySave(Out<bool> out_has_secondary_save,
|
||||
Result IRemoteStorageController::GetLoadedDataInfo(Out<bool> out_has_secondary_save,
|
||||
Out<std::array<u64, 3>> out_unknown,
|
||||
u64 application_id) {
|
||||
LOG_ERROR(Service_OLSC, "(STUBBED) called, application_id={:016X}", application_id);
|
||||
|
@@ -12,7 +12,7 @@ public:
|
||||
~IRemoteStorageController() override;
|
||||
|
||||
private:
|
||||
Result GetSecondarySave(Out<bool> out_has_secondary_save, Out<std::array<u64, 3>> out_unknown,
|
||||
Result GetLoadedDataInfo(Out<bool> out_has_secondary_save, Out<std::array<u64, 3>> out_unknown,
|
||||
u64 application_id);
|
||||
};
|
||||
|
||||
|
@@ -11,32 +11,37 @@ ITransferTaskListController::ITransferTaskListController(Core::System& system_)
|
||||
: ServiceFramework{system_, "ITransferTaskListController"} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, nullptr, "Unknown0"},
|
||||
{1, nullptr, "Unknown1"},
|
||||
{2, nullptr, "Unknown2"},
|
||||
{3, nullptr, "Unknown3"},
|
||||
{4, nullptr, "Unknown4"},
|
||||
{5, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder"},
|
||||
{6, nullptr, "Unknown6"},
|
||||
{7, nullptr, "Unknown7"},
|
||||
{8, nullptr, "GetRemoteStorageController"},
|
||||
{9, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder2"},
|
||||
{10, nullptr, "Unknown10"},
|
||||
{11, nullptr, "Unknown11"},
|
||||
{12, nullptr, "Unknown12"},
|
||||
{13, nullptr, "Unknown13"},
|
||||
{14, nullptr, "Unknown14"},
|
||||
{15, nullptr, "Unknown15"},
|
||||
{16, nullptr, "Unknown16"},
|
||||
{17, nullptr, "Unknown17"},
|
||||
{18, nullptr, "Unknown18"},
|
||||
{19, nullptr, "Unknown19"},
|
||||
{20, nullptr, "Unknown20"},
|
||||
{21, nullptr, "Unknown21"},
|
||||
{22, nullptr, "Unknown22"},
|
||||
{23, nullptr, "Unknown23"},
|
||||
{24, nullptr, "Unknown24"},
|
||||
{25, nullptr, "Unknown25"},
|
||||
{0, nullptr, "GetTransferTaskCountForOcean"},
|
||||
{1, nullptr, "GetTransferTaskInfoForOcean"},
|
||||
{2, nullptr, "ListTransferTaskInfoForOcean"},
|
||||
{3, nullptr, "DeleteTransferTaskForOcean"},
|
||||
{4, nullptr, "RaiseTransferTaskPriorityForOcean"},
|
||||
{5, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetTransferTaskEndEventNativeHandleHolder"},
|
||||
{6, nullptr, "GetTransferTaskProgressForOcean"},
|
||||
{7, nullptr, "GetTransferTaskLastResultForOcean"},
|
||||
{8, nullptr, "StopNextTransferTaskExecution"},
|
||||
{9, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetTransferTaskStartEventNativeHandleHolder"},
|
||||
{10, nullptr, "SuspendTransferTaskForOcean"},
|
||||
{11, nullptr, "GetCurrentTransferTaskInfoForOcean"},
|
||||
{12, nullptr, "FindTransferTaskInfoForOcean"},
|
||||
{13, nullptr, "CancelCurrentRepairTransferTask"}, // 9.0.0+
|
||||
{14, nullptr, "GetRepairTransferTaskProgress"}, // 9.0.0+
|
||||
{15, nullptr, "EnsureExecutableForRepairTransferTask"}, // 9.0.0+
|
||||
{16, nullptr, "GetTransferTaskCount"}, // 10.1.0+
|
||||
{17, nullptr, "GetTransferTaskInfo"}, // 10.1.0+
|
||||
{18, nullptr, "ListTransferTaskInfo"}, // 10.1.0+
|
||||
{19, nullptr, "DeleteTransferTask"}, // 10.1.0+
|
||||
{20, nullptr, "RaiseTransferTaskPriority"}, // 10.1.0+
|
||||
{21, nullptr, "GetTransferTaskProgress"}, // 10.1.0+
|
||||
{22, nullptr, "GetTransferTaskLastResult"}, // 10.1.0+
|
||||
{23, nullptr, "SuspendTransferTask"}, // 10.1.0+
|
||||
{24, nullptr, "GetCurrentTransferTaskInfo"}, // 10.1.0+
|
||||
{25, nullptr, "FindTransferTaskInfo"}, // 10.1.0+
|
||||
{26, nullptr, "Unknown26"}, // 20.1.0+
|
||||
{27, nullptr, "Unknown27"}, // 20.1.0+
|
||||
{28, nullptr, "Unknown28"}, // 20.1.0+
|
||||
{29, nullptr, "Unknown29"}, // 20.1.0+
|
||||
{30, nullptr, "Unknown30"}, // 20.1.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -38,6 +38,13 @@ IOperationModeManager::IOperationModeManager(Core::System& system_)
|
||||
{26, nullptr, "GetOperationModeSystemInfo"},
|
||||
{27, nullptr, "GetAppletFullAwakingSystemEvent"},
|
||||
{28, nullptr, "CreateCradleFirmwareUpdater"},
|
||||
{29, nullptr, "GetCradleStatusChangeEvent"}, // 19.0.0+
|
||||
{40, nullptr, "Unknown40"}, // 20.0.0+
|
||||
{41, nullptr, "Unknown41"}, // 20.0.0+
|
||||
{50, nullptr, "Unknown50"}, // 20.1.0+
|
||||
{500, nullptr, "LblSwitchBacklightOnForAm"}, // 14.0.0+
|
||||
{501, nullptr, "LblSwitchBacklightOffForAm"}, // 14.0.0+
|
||||
{900, nullptr, "HideStartupLogo"} // 14.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -38,6 +38,8 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
|
||||
{1016, nullptr, "ConfirmShowNewsPermission"},
|
||||
{1017, D<&IParentalControlService::EndFreeCommunication>, "EndFreeCommunication"},
|
||||
{1018, D<&IParentalControlService::IsFreeCommunicationAvailable>, "IsFreeCommunicationAvailable"},
|
||||
{1019, nullptr, "ConfirmLaunchApplicationPermission"}, // 20.0.0+
|
||||
{1020, nullptr, "ConfirmLaunchSharedApplicationPermission"}, // 20.0.0+
|
||||
{1031, D<&IParentalControlService::IsRestrictionEnabled>, "IsRestrictionEnabled"},
|
||||
{1032, D<&IParentalControlService::GetSafetyLevel>, "GetSafetyLevel"},
|
||||
{1033, nullptr, "SetSafetyLevel"},
|
||||
@@ -52,9 +54,11 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
|
||||
{1044, nullptr, "GetFreeCommunicationApplicationList"},
|
||||
{1045, nullptr, "UpdateFreeCommunicationApplicationList"},
|
||||
{1046, nullptr, "DisableFeaturesForReset"},
|
||||
{1047, nullptr, "NotifyApplicationDownloadStarted"},
|
||||
{1047, nullptr, "NotifyApplicationDownloadStartedOld"}, // 20.0.0+ (3.0.0-19.0.1 NotifyApplicationDownloadStarted)
|
||||
{1048, nullptr, "NotifyNetworkProfileCreated"},
|
||||
{1049, nullptr, "ResetFreeCommunicationApplicationList"},
|
||||
{1050, nullptr, "AddToFreeCommunicationApplicationList"}, // 20.0.0+
|
||||
{1051, nullptr, "NotifyApplicationDownloadStarted"}, // 20.0.0+
|
||||
{1061, D<&IParentalControlService::ConfirmStereoVisionRestrictionConfigurable>, "ConfirmStereoVisionRestrictionConfigurable"},
|
||||
{1062, D<&IParentalControlService::GetStereoVisionRestriction>, "GetStereoVisionRestriction"},
|
||||
{1063, D<&IParentalControlService::SetStereoVisionRestriction>, "SetStereoVisionRestriction"},
|
||||
@@ -80,16 +84,18 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
|
||||
{1451, D<&IParentalControlService::StartPlayTimer>, "StartPlayTimer"},
|
||||
{1452, D<&IParentalControlService::StopPlayTimer>, "StopPlayTimer"},
|
||||
{1453, D<&IParentalControlService::IsPlayTimerEnabled>, "IsPlayTimerEnabled"},
|
||||
{1454, nullptr, "GetPlayTimerRemainingTime"},
|
||||
{1454, D<&IParentalControlService::GetPlayTimerRemainingTime>, "GetPlayTimerRemainingTime"},
|
||||
{1455, D<&IParentalControlService::IsRestrictedByPlayTimer>, "IsRestrictedByPlayTimer"},
|
||||
{1456, D<&IParentalControlService::GetPlayTimerSettingsOld>, "GetPlayTimerSettingsOld"},
|
||||
{1457, D<&IParentalControlService::GetPlayTimerEventToRequestSuspension>, "GetPlayTimerEventToRequestSuspension"},
|
||||
{1458, D<&IParentalControlService::IsPlayTimerAlarmDisabled>, "IsPlayTimerAlarmDisabled"},
|
||||
{1459, D<&IParentalControlService::GetPlayTimerRemainingTimeDisplayInfo>, "GetPlayTimerRemainingTimeDisplayInfo"}, // 20.0.0+
|
||||
{1471, nullptr, "NotifyWrongPinCodeInputManyTimes"},
|
||||
{1472, nullptr, "CancelNetworkRequest"},
|
||||
{1473, D<&IParentalControlService::GetUnlinkedEvent>, "GetUnlinkedEvent"},
|
||||
{1474, nullptr, "ClearUnlinkedEvent"},
|
||||
{1475, nullptr, "GetExtendedPlayTimerEvent"}, // 18.0.0+
|
||||
{1501, nullptr, "SetTimerEventEnabled"}, // 20.0.0+
|
||||
{1601, nullptr, "DisableAllFeatures"},
|
||||
{1602, nullptr, "PostEnableAllFeatures"},
|
||||
{1603, nullptr, "IsAllFeaturesDisabled"},
|
||||
@@ -109,6 +115,9 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
|
||||
{1955, nullptr, "GetBedtimeAlarmTime"}, // 18.0.0+
|
||||
{1956, nullptr, "GetBedtimeAlarmTimeHour"}, // 18.0.0+
|
||||
{1957, nullptr, "GetBedtimeAlarmTimeMinute"}, // 18.0.0+
|
||||
{1958, nullptr, "GetBedtimeAlarmResetTimeHour"}, // 20.0.0+
|
||||
{1959, nullptr, "GetBedtimeAlarmResetTimeMinute"}, // 20.0.0+
|
||||
{1960, nullptr, "GetExtraPlayingTimeForDebug"}, // 20.0.0+
|
||||
{2001, nullptr, "RequestPairingAsync"},
|
||||
{2002, nullptr, "FinishRequestPairing"},
|
||||
{2003, nullptr, "AuthorizePairingAsync"},
|
||||
@@ -125,6 +134,15 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
|
||||
{2014, nullptr, "FinishSynchronizeParentalControlSettings"},
|
||||
{2015, nullptr, "FinishSynchronizeParentalControlSettingsWithLastUpdated"},
|
||||
{2016, nullptr, "RequestUpdateExemptionListAsync"},
|
||||
{2021, nullptr, "RequestCopyPairingAsync"}, // 20.0.0+
|
||||
{2022, nullptr, "FinishRequestCopyPairing"}, // 20.0.0+
|
||||
{2023, nullptr, "IsFromPairingActiveDevice"}, // 20.0.0+
|
||||
{3001, nullptr, "GetErrorContextChangedEvent"}, // 20.0.0+
|
||||
{9401, nullptr, "GetEvents"}, // 20.0.0+
|
||||
{9402, nullptr, "GetEventsWithJson"}, // 20.0.0+
|
||||
{9403, nullptr, "RequestPostEvents"}, // 20.0.0+
|
||||
{9404, nullptr, "GetPostEventInterval"}, // 20.0.0+
|
||||
{9405, nullptr, "SetPostEventInterval"}, // 20.0.0+
|
||||
{145601, D<&IParentalControlService::GetPlayTimerSettings>, "GetPlayTimerSettings"} // 18.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
@@ -378,6 +396,12 @@ Result IParentalControlService::IsPlayTimerEnabled(Out<bool> out_is_play_timer_e
|
||||
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) {
|
||||
*out_is_restricted_by_play_timer = false;
|
||||
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();
|
||||
}
|
||||
|
||||
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) {
|
||||
LOG_INFO(Service_PCTL, "called");
|
||||
*out_event = unlinked_event.GetHandle();
|
||||
@@ -452,4 +485,4 @@ Result IParentalControlService::ResetConfirmedStereoVisionPermission() {
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
} // namespace Service::PCTL
|
||||
} // namespace Service::PCTL
|
@@ -49,10 +49,12 @@ private:
|
||||
Result StartPlayTimer();
|
||||
Result StopPlayTimer();
|
||||
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 GetPlayTimerSettingsOld(Out<PlayTimerSettings> out_play_timer_settings);
|
||||
Result GetPlayTimerEventToRequestSuspension(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||
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 GetStereoVisionRestriction(Out<bool> out_stereo_vision_restriction);
|
||||
Result SetStereoVisionRestriction(bool stereo_vision_restriction);
|
||||
|
@@ -27,6 +27,7 @@ public:
|
||||
{2, &IPsmSession::SetChargerTypeChangeEventEnabled, "SetChargerTypeChangeEventEnabled"},
|
||||
{3, &IPsmSession::SetPowerSupplyChangeEventEnabled, "SetPowerSupplyChangeEventEnabled"},
|
||||
{4, &IPsmSession::SetBatteryVoltageStateChangeEventEnabled, "SetBatteryVoltageStateChangeEventEnabled"},
|
||||
{5, nullptr, "Unknown5"}, // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -141,6 +142,12 @@ PSM::PSM(Core::System& system_) : ServiceFramework{system_, "psm"} {
|
||||
{16, nullptr, "GetBatteryChargeInfoEvent"},
|
||||
{17, nullptr, "GetBatteryChargeInfoFields"},
|
||||
{18, nullptr, "GetBatteryChargeCalibratedEvent"},
|
||||
{19, nullptr, "Unknown19"}, // 18.0.0+
|
||||
{20, nullptr, "Unknown20"}, // 18.0.0+
|
||||
{21, nullptr, "Unknown21"}, // 19.0.0-19.0.1
|
||||
{22, nullptr, "Unknown22"}, // 19.0.0+
|
||||
{23, nullptr, "Unknown23"}, // 19.0.0+
|
||||
{24, nullptr, "Unknown24"} // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -18,6 +18,7 @@ IFirmwareDebugSettingsServer::IFirmwareDebugSettingsServer(Core::System& system_
|
||||
{21, nullptr, "SetAllowedSslHosts"},
|
||||
{22, nullptr, "SetHostFsMountPoint"},
|
||||
{23, nullptr, "SetMemoryUsageRateFlag"},
|
||||
{24, nullptr, "CommitSettings"}, // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -304,6 +304,15 @@ ISystemSettingsServer::ISystemSettingsServer(Core::System& system_)
|
||||
{222, nullptr, "SetForceMonauralOutputFlag"}, //17.0.0+
|
||||
{251, nullptr, "GetAccountIdentificationSettings"}, //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
|
||||
|
||||
|
@@ -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: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("nsd:a", std::make_shared<NSD>(system, "nsd:a"));
|
||||
server_manager->RegisterNamedService("nsd:u", std::make_shared<NSD>(system, "nsd:u"));
|
||||
|
@@ -108,6 +108,8 @@ public:
|
||||
{33, nullptr, "ExportKeyingMaterial"},
|
||||
{34, nullptr, "SetIoTimeout"},
|
||||
{35, nullptr, "GetIoTimeout"},
|
||||
{36, nullptr, "GetSessionTicket"}, // 20.0.0+
|
||||
{37, nullptr, "SetSessionTicket"}, // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@@ -11,7 +11,7 @@ enum class CaCertificateId : s32 {
|
||||
All = -1,
|
||||
NintendoCAG3 = 1,
|
||||
NintendoClass2CAG3 = 2,
|
||||
NintendoRootCAG4 = 3,
|
||||
NintendoRootCAG4 = 3, // [16.0.0+]
|
||||
AmazonRootCA1 = 1000,
|
||||
StarfieldServicesRootCertificateAuthorityG2 = 1001,
|
||||
AddTrustExternalCARoot = 1002,
|
||||
@@ -29,10 +29,10 @@ enum class CaCertificateId : s32 {
|
||||
EntrustnetCertificationAuthority2048 = 1014,
|
||||
EntrustRootCertificationAuthority = 1015,
|
||||
EntrustRootCertificationAuthorityG2 = 1016,
|
||||
GeoTrustGlobalCA2 = 1017,
|
||||
GeoTrustGlobalCA = 1018,
|
||||
GeoTrustPrimaryCertificationAuthorityG3 = 1019,
|
||||
GeoTrustPrimaryCertificationAuthority = 1020,
|
||||
GeoTrustGlobalCA2 = 1017, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
|
||||
GeoTrustGlobalCA = 1018, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
|
||||
GeoTrustPrimaryCertificationAuthorityG3 = 1019, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
|
||||
GeoTrustPrimaryCertificationAuthority = 1020, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
|
||||
GlobalSignRootCA = 1021,
|
||||
GlobalSignRootCAR2 = 1022,
|
||||
GlobalSignRootCAR3 = 1023,
|
||||
@@ -73,6 +73,72 @@ enum class CaCertificateId : s32 {
|
||||
DigiCertTLSECCP384RootG5 = 1058, // [16.0.0+]
|
||||
DigiCertTLSRSA4096RootG5 = 1059, // [16.0.0+]
|
||||
NintendoTempRootCAG4 = 65536, // [16.0.0+] ([19.0.0+] Removed)
|
||||
|
||||
// Nintendo round-robin certificates [20.0.0+]
|
||||
NintendoRR01 = 32801,
|
||||
NintendoRR02 = 32802,
|
||||
NintendoRR03 = 32803,
|
||||
NintendoRR04 = 32804,
|
||||
NintendoRR05 = 32805,
|
||||
NintendoRR06 = 32806,
|
||||
NintendoRR07 = 32807,
|
||||
NintendoRR08 = 32808,
|
||||
NintendoRR09 = 32809,
|
||||
NintendoRR10 = 32810,
|
||||
NintendoRR11 = 32811,
|
||||
NintendoRR12 = 32812,
|
||||
NintendoRR13 = 32813,
|
||||
NintendoRR14 = 32814,
|
||||
NintendoRR15 = 32815,
|
||||
NintendoRR16 = 32816,
|
||||
NintendoRR17 = 32817,
|
||||
NintendoRR18 = 32818,
|
||||
NintendoRR19 = 32819,
|
||||
NintendoRR20 = 32820,
|
||||
NintendoRR21 = 32821,
|
||||
NintendoRR22 = 32822,
|
||||
NintendoRR23 = 32823,
|
||||
NintendoRR24 = 32824,
|
||||
NintendoRR25 = 32825,
|
||||
NintendoRR26 = 32826,
|
||||
NintendoRR27 = 32827,
|
||||
NintendoRR28 = 32828,
|
||||
NintendoRR29 = 32829,
|
||||
NintendoRR30 = 32830,
|
||||
NintendoRR31 = 32831,
|
||||
NintendoRR32 = 32832,
|
||||
NintendoRR33 = 32833,
|
||||
NintendoRR34 = 32834,
|
||||
NintendoRR35 = 32835,
|
||||
NintendoRR36 = 32836,
|
||||
NintendoRR37 = 32837,
|
||||
NintendoRR38 = 32838,
|
||||
NintendoRR39 = 32839,
|
||||
NintendoRR40 = 32840,
|
||||
NintendoRR41 = 32841,
|
||||
NintendoRR42 = 32842,
|
||||
NintendoRR43 = 32843,
|
||||
NintendoRR44 = 32844,
|
||||
NintendoRR45 = 32845,
|
||||
NintendoRR46 = 32846,
|
||||
NintendoRR47 = 32847,
|
||||
NintendoRR48 = 32848,
|
||||
NintendoRR49 = 32849,
|
||||
NintendoRR50 = 32850,
|
||||
NintendoRR51 = 32851,
|
||||
NintendoRR52 = 32852,
|
||||
NintendoRR53 = 32853,
|
||||
NintendoRR54 = 32854,
|
||||
NintendoRR55 = 32855,
|
||||
NintendoRR56 = 32856,
|
||||
NintendoRR57 = 32857,
|
||||
NintendoRR58 = 32858,
|
||||
NintendoRR59 = 32859,
|
||||
NintendoRR60 = 32860,
|
||||
NintendoRR61 = 32861,
|
||||
NintendoRR62 = 32862,
|
||||
NintendoRR63 = 32863,
|
||||
NintendoRR64 = 32864,
|
||||
};
|
||||
|
||||
enum class TrustedCertStatus : s32 {
|
||||
|
Reference in New Issue
Block a user