mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-07-24 09:05:47 +00:00
missing services
This commit is contained in:
parent
64f40c8b88
commit
233b6801aa
44 changed files with 344 additions and 21 deletions
|
@ -17,6 +17,7 @@ struct CNMTHeader;
|
|||
struct OptionalHeader;
|
||||
|
||||
enum class TitleType : u8 {
|
||||
Invalid = 0x00,
|
||||
SystemProgram = 0x01,
|
||||
SystemDataArchive = 0x02,
|
||||
SystemUpdate = 0x03,
|
||||
|
|
|
@ -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
|
||||
|
||||
|
@ -763,7 +772,8 @@ public:
|
|||
{210, nullptr, "IsProfileAvailable"}, // 17.0.0+
|
||||
{220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+
|
||||
{221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+
|
||||
{230, nullptr, "RegisterUserWithLargeImageProfileAsync"} // 18.0.0+
|
||||
{230, nullptr, "RegisterUserWithLargeImageProfileAsync"}, // 18.0.0+
|
||||
{240, nullptr, "RegisterUserWithReauthenticationAsync"}, // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
|
|
@ -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"},
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -18,6 +18,7 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
|
|||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{100, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxy>, "OpenSystemAppletProxy"},
|
||||
{110, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxyForDebug>, "OpenSystemAppletProxyForDebug"},
|
||||
{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"},
|
||||
{1000, nullptr, "GetDebugFunctions"},
|
||||
};
|
||||
// clang-format on
|
||||
|
@ -49,6 +51,26 @@ Result IAllSystemAppletProxiesService::OpenSystemAppletProxy(
|
|||
}
|
||||
}
|
||||
|
||||
Result IAllSystemAppletProxiesService::OpenSystemAppletProxyForDebug(
|
||||
Out<SharedPointer<ISystemAppletProxy>> out_proxy, ClientProcessId pid) {
|
||||
LOG_DEBUG(Service_AM, "OpenSystemAppletProxyForDebug 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,
|
||||
|
@ -98,7 +120,28 @@ Result IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions() {
|
|||
|
||||
R_SUCCEED();
|
||||
}
|
||||
Result IAllSystemAppletProxiesService::Unknown460(
|
||||
Out<SharedPointer<IAppletCommonFunctions>> out_common_functions) {
|
||||
|
||||
LOG_DEBUG(Service_AM, "called");
|
||||
|
||||
// Получаем текущий процесс
|
||||
auto process = system.ApplicationProcess();
|
||||
if (!process) {
|
||||
LOG_ERROR(Service_AM, "No application process available");
|
||||
R_THROW(ResultUnknown);
|
||||
}
|
||||
|
||||
// Получаем applet через существующий метод
|
||||
auto applet = GetAppletFromProcessId(ProcessId{process->GetProcessId()});
|
||||
if (!applet) {
|
||||
LOG_WARNING(Service_AM, "Applet not found for process");
|
||||
R_THROW(ResultUnknown);
|
||||
}
|
||||
|
||||
*out_common_functions = std::make_shared<IAppletCommonFunctions>(system, applet);
|
||||
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 OpenSystemAppletProxyForDebug(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(Out<SharedPointer<IAppletCommonFunctions>> out_common_functions);
|
||||
|
||||
private:
|
||||
std::shared_ptr<Applet> GetAppletFromProcessId(ProcessId pid);
|
||||
|
|
|
@ -33,8 +33,16 @@ IAppletCommonFunctions::IAppletCommonFunctions(Core::System& system_,
|
|||
{100, nullptr, "SetApplicationCoreUsageMode"},
|
||||
{300, D<&IAppletCommonFunctions::GetCurrentApplicationId>, "GetCurrentApplicationId"},
|
||||
{310, nullptr, "IsSystemAppletHomeMenu"}, //19.0.0+
|
||||
{311, nullptr, "Unknown311"},
|
||||
{320, nullptr, "SetGpuTimeSliceBoost"}, //19.0.0+
|
||||
{321, nullptr, "SetGpuTimeSliceBoostDueToApplication"}, //19.0.0+
|
||||
{322, nullptr, "Unknown322"},
|
||||
{330, nullptr, "Unknown330"}, //19.0.0+
|
||||
{340, nullptr, "Unknown340"},
|
||||
{341, nullptr, "Unknown341"},
|
||||
{342, nullptr, "Unknown342"},
|
||||
{350, D<&IAppletCommonFunctions::Unknown350>, "Unknown350"},
|
||||
{360, nullptr, "Unknown360"},
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
@ -70,4 +78,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"},
|
||||
{301, nullptr, "Unknown301"},
|
||||
};
|
||||
// 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, nullptr, "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"},
|
||||
|
|
|
@ -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, nullptr, "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;
|
||||
|
|
|
@ -53,6 +53,8 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_,
|
|||
{8021, nullptr, "GetAlbumEntryFromApplicationAlbumEntryAruid"},
|
||||
{10011, nullptr, "SetInternalErrorConversionEnabled"},
|
||||
{50000, nullptr, "LoadMakerNoteInfoForDebug"},
|
||||
{50011, C<&IAlbumAccessorService::GetAlbumAccessResultForDebug>, "GetAlbumAccessResultForDebug"},
|
||||
{50012, C<&IAlbumAccessorService::SetAlbumAccessResultForDebug>, "SetAlbumAccessResultForDebug"},
|
||||
{60002, nullptr, "OpenAccessorSession"},
|
||||
};
|
||||
// clang-format on
|
||||
|
@ -137,6 +139,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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"},
|
||||
|
|
|
@ -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
|
|
@ -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,6 +148,7 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
|
|||
{1009, nullptr, "AcquireAudioControlEventHandle"},
|
||||
{1010, nullptr, "GetAudioControlStates"},
|
||||
{1011, nullptr, "DeactivateAudioControl"},
|
||||
{1012, nullptr, "GetFirmwareVersionStringForUserSupportPage"}, // 20.0.0+
|
||||
{1050, nullptr, "IsSixAxisSensorAccurateUserCalibrationSupported"},
|
||||
{1051, nullptr, "StartSixAxisSensorAccurateUserCalibration"},
|
||||
{1052, nullptr, "CancelSixAxisSensorAccurateUserCalibration"},
|
||||
|
@ -225,6 +231,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
|
||||
|
|
|
@ -19,6 +19,7 @@ public:
|
|||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{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);
|
||||
}
|
||||
|
|
|
@ -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"},
|
||||
|
|
|
@ -1076,10 +1076,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
|
||||
|
||||
|
|
|
@ -306,6 +306,9 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
|||
{3013, nullptr, "IsGameCardEnabled"},
|
||||
{3014, nullptr, "IsLocalContentShareEnabled"},
|
||||
{3050, nullptr, "ListAssignELicenseTaskResult"},
|
||||
{4022, D<&IApplicationManagerInterface::Unknown4022>, "Unknown4022"},
|
||||
{4023, D<&IApplicationManagerInterface::Unknown4023>, "Unknown4023"},
|
||||
{4088, D<&IApplicationManagerInterface::Unknown4088>, "Unknown4088"},
|
||||
{9999, nullptr, "GetApplicationCertificate"},
|
||||
};
|
||||
// clang-format on
|
||||
|
@ -516,6 +519,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"},
|
||||
|
|
|
@ -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"},
|
||||
};
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -106,6 +106,8 @@ public:
|
|||
{33, nullptr, "ExportKeyingMaterial"},
|
||||
{34, nullptr, "SetIoTimeout"},
|
||||
{35, nullptr, "GetIoTimeout"},
|
||||
{36, nullptr, "GetSessionTicket"}, // 20.0.0+
|
||||
{37, nullptr, "SetSessionTicket"}, // 20.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue