mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Merge pull request #2382 from lioncash/table
service: Update service function tables
This commit is contained in:
		
						commit
						9186f76b07
					
				@ -137,6 +137,7 @@ private:
 | 
				
			|||||||
class IManagerForApplication final : public ServiceFramework<IManagerForApplication> {
 | 
					class IManagerForApplication final : public ServiceFramework<IManagerForApplication> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IManagerForApplication() : ServiceFramework("IManagerForApplication") {
 | 
					    IManagerForApplication() : ServiceFramework("IManagerForApplication") {
 | 
				
			||||||
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {0, &IManagerForApplication::CheckAvailability, "CheckAvailability"},
 | 
					            {0, &IManagerForApplication::CheckAvailability, "CheckAvailability"},
 | 
				
			||||||
            {1, &IManagerForApplication::GetAccountId, "GetAccountId"},
 | 
					            {1, &IManagerForApplication::GetAccountId, "GetAccountId"},
 | 
				
			||||||
@ -145,7 +146,10 @@ public:
 | 
				
			|||||||
            {130, nullptr, "GetNintendoAccountUserResourceCacheForApplication"},
 | 
					            {130, nullptr, "GetNintendoAccountUserResourceCacheForApplication"},
 | 
				
			||||||
            {150, nullptr, "CreateAuthorizationRequest"},
 | 
					            {150, nullptr, "CreateAuthorizationRequest"},
 | 
				
			||||||
            {160, nullptr, "StoreOpenContext"},
 | 
					            {160, nullptr, "StoreOpenContext"},
 | 
				
			||||||
 | 
					            {170, nullptr, "LoadNetworkServiceLicenseKindAsync"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        RegisterHandlers(functions);
 | 
					        RegisterHandlers(functions);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,7 @@ namespace Service::Account {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager)
 | 
					ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager)
 | 
				
			||||||
    : Module::Interface(std::move(module), std::move(profile_manager), "acc:su") {
 | 
					    : Module::Interface(std::move(module), std::move(profile_manager), "acc:su") {
 | 
				
			||||||
 | 
					    // clang-format off
 | 
				
			||||||
    static const FunctionInfo functions[] = {
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
        {0, &ACC_SU::GetUserCount, "GetUserCount"},
 | 
					        {0, &ACC_SU::GetUserCount, "GetUserCount"},
 | 
				
			||||||
        {1, &ACC_SU::GetUserExistence, "GetUserExistence"},
 | 
					        {1, &ACC_SU::GetUserExistence, "GetUserExistence"},
 | 
				
			||||||
@ -19,6 +20,7 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p
 | 
				
			|||||||
        {50, &ACC_SU::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
 | 
					        {50, &ACC_SU::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
 | 
				
			||||||
        {51, &ACC_SU::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"},
 | 
					        {51, &ACC_SU::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"},
 | 
				
			||||||
        {60, nullptr, "ListOpenContextStoredUsers"},
 | 
					        {60, nullptr, "ListOpenContextStoredUsers"},
 | 
				
			||||||
 | 
					        {99, nullptr, "DebugActivateOpenContextRetention"},
 | 
				
			||||||
        {100, nullptr, "GetUserRegistrationNotifier"},
 | 
					        {100, nullptr, "GetUserRegistrationNotifier"},
 | 
				
			||||||
        {101, nullptr, "GetUserStateChangeNotifier"},
 | 
					        {101, nullptr, "GetUserStateChangeNotifier"},
 | 
				
			||||||
        {102, nullptr, "GetBaasAccountManagerForSystemService"},
 | 
					        {102, nullptr, "GetBaasAccountManagerForSystemService"},
 | 
				
			||||||
@ -29,6 +31,8 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p
 | 
				
			|||||||
        {111, nullptr, "ClearSaveDataThumbnail"},
 | 
					        {111, nullptr, "ClearSaveDataThumbnail"},
 | 
				
			||||||
        {112, nullptr, "LoadSaveDataThumbnail"},
 | 
					        {112, nullptr, "LoadSaveDataThumbnail"},
 | 
				
			||||||
        {113, nullptr, "GetSaveDataThumbnailExistence"},
 | 
					        {113, nullptr, "GetSaveDataThumbnailExistence"},
 | 
				
			||||||
 | 
					        {130, nullptr, "ActivateOpenContextRetention"},
 | 
				
			||||||
 | 
					        {140, nullptr, "ListQualifiedUsers"},
 | 
				
			||||||
        {190, nullptr, "GetUserLastOpenedApplication"},
 | 
					        {190, nullptr, "GetUserLastOpenedApplication"},
 | 
				
			||||||
        {191, nullptr, "ActivateOpenContextHolder"},
 | 
					        {191, nullptr, "ActivateOpenContextHolder"},
 | 
				
			||||||
        {200, nullptr, "BeginUserRegistration"},
 | 
					        {200, nullptr, "BeginUserRegistration"},
 | 
				
			||||||
@ -48,6 +52,8 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p
 | 
				
			|||||||
        {998, nullptr, "DebugSetUserStateClose"},
 | 
					        {998, nullptr, "DebugSetUserStateClose"},
 | 
				
			||||||
        {999, nullptr, "DebugSetUserStateOpen"},
 | 
					        {999, nullptr, "DebugSetUserStateOpen"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,7 @@ namespace Service::Account {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ACC_U0::ACC_U0(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager)
 | 
					ACC_U0::ACC_U0(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager)
 | 
				
			||||||
    : Module::Interface(std::move(module), std::move(profile_manager), "acc:u0") {
 | 
					    : Module::Interface(std::move(module), std::move(profile_manager), "acc:u0") {
 | 
				
			||||||
 | 
					    // clang-format off
 | 
				
			||||||
    static const FunctionInfo functions[] = {
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
        {0, &ACC_U0::GetUserCount, "GetUserCount"},
 | 
					        {0, &ACC_U0::GetUserCount, "GetUserCount"},
 | 
				
			||||||
        {1, &ACC_U0::GetUserExistence, "GetUserExistence"},
 | 
					        {1, &ACC_U0::GetUserExistence, "GetUserExistence"},
 | 
				
			||||||
@ -19,6 +20,7 @@ ACC_U0::ACC_U0(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p
 | 
				
			|||||||
        {50, &ACC_U0::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
 | 
					        {50, &ACC_U0::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
 | 
				
			||||||
        {51, &ACC_U0::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"},
 | 
					        {51, &ACC_U0::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"},
 | 
				
			||||||
        {60, nullptr, "ListOpenContextStoredUsers"},
 | 
					        {60, nullptr, "ListOpenContextStoredUsers"},
 | 
				
			||||||
 | 
					        {99, nullptr, "DebugActivateOpenContextRetention"},
 | 
				
			||||||
        {100, &ACC_U0::InitializeApplicationInfo, "InitializeApplicationInfo"},
 | 
					        {100, &ACC_U0::InitializeApplicationInfo, "InitializeApplicationInfo"},
 | 
				
			||||||
        {101, &ACC_U0::GetBaasAccountManagerForApplication, "GetBaasAccountManagerForApplication"},
 | 
					        {101, &ACC_U0::GetBaasAccountManagerForApplication, "GetBaasAccountManagerForApplication"},
 | 
				
			||||||
        {102, nullptr, "AuthenticateApplicationAsync"},
 | 
					        {102, nullptr, "AuthenticateApplicationAsync"},
 | 
				
			||||||
@ -27,7 +29,13 @@ ACC_U0::ACC_U0(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p
 | 
				
			|||||||
        {111, nullptr, "ClearSaveDataThumbnail"},
 | 
					        {111, nullptr, "ClearSaveDataThumbnail"},
 | 
				
			||||||
        {120, nullptr, "CreateGuestLoginRequest"},
 | 
					        {120, nullptr, "CreateGuestLoginRequest"},
 | 
				
			||||||
        {130, nullptr, "LoadOpenContext"},
 | 
					        {130, nullptr, "LoadOpenContext"},
 | 
				
			||||||
 | 
					        {131, nullptr, "ListOpenContextStoredUsers"},
 | 
				
			||||||
 | 
					        {140, nullptr, "InitializeApplicationInfo"},
 | 
				
			||||||
 | 
					        {141, nullptr, "ListQualifiedUsers"},
 | 
				
			||||||
 | 
					        {150, nullptr, "IsUserAccountSwitchLocked"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,7 @@ namespace Service::Account {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ACC_U1::ACC_U1(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager)
 | 
					ACC_U1::ACC_U1(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager)
 | 
				
			||||||
    : Module::Interface(std::move(module), std::move(profile_manager), "acc:u1") {
 | 
					    : Module::Interface(std::move(module), std::move(profile_manager), "acc:u1") {
 | 
				
			||||||
 | 
					    // clang-format off
 | 
				
			||||||
    static const FunctionInfo functions[] = {
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
        {0, &ACC_U1::GetUserCount, "GetUserCount"},
 | 
					        {0, &ACC_U1::GetUserCount, "GetUserCount"},
 | 
				
			||||||
        {1, &ACC_U1::GetUserExistence, "GetUserExistence"},
 | 
					        {1, &ACC_U1::GetUserExistence, "GetUserExistence"},
 | 
				
			||||||
@ -19,6 +20,7 @@ ACC_U1::ACC_U1(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p
 | 
				
			|||||||
        {50, &ACC_U1::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
 | 
					        {50, &ACC_U1::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
 | 
				
			||||||
        {51, &ACC_U1::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"},
 | 
					        {51, &ACC_U1::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"},
 | 
				
			||||||
        {60, nullptr, "ListOpenContextStoredUsers"},
 | 
					        {60, nullptr, "ListOpenContextStoredUsers"},
 | 
				
			||||||
 | 
					        {99, nullptr, "DebugActivateOpenContextRetention"},
 | 
				
			||||||
        {100, nullptr, "GetUserRegistrationNotifier"},
 | 
					        {100, nullptr, "GetUserRegistrationNotifier"},
 | 
				
			||||||
        {101, nullptr, "GetUserStateChangeNotifier"},
 | 
					        {101, nullptr, "GetUserStateChangeNotifier"},
 | 
				
			||||||
        {102, nullptr, "GetBaasAccountManagerForSystemService"},
 | 
					        {102, nullptr, "GetBaasAccountManagerForSystemService"},
 | 
				
			||||||
@ -29,12 +31,16 @@ ACC_U1::ACC_U1(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p
 | 
				
			|||||||
        {111, nullptr, "ClearSaveDataThumbnail"},
 | 
					        {111, nullptr, "ClearSaveDataThumbnail"},
 | 
				
			||||||
        {112, nullptr, "LoadSaveDataThumbnail"},
 | 
					        {112, nullptr, "LoadSaveDataThumbnail"},
 | 
				
			||||||
        {113, nullptr, "GetSaveDataThumbnailExistence"},
 | 
					        {113, nullptr, "GetSaveDataThumbnailExistence"},
 | 
				
			||||||
 | 
					        {130, nullptr, "ActivateOpenContextRetention"},
 | 
				
			||||||
 | 
					        {140, nullptr, "ListQualifiedUsers"},
 | 
				
			||||||
        {190, nullptr, "GetUserLastOpenedApplication"},
 | 
					        {190, nullptr, "GetUserLastOpenedApplication"},
 | 
				
			||||||
        {191, nullptr, "ActivateOpenContextHolder"},
 | 
					        {191, nullptr, "ActivateOpenContextHolder"},
 | 
				
			||||||
        {997, nullptr, "DebugInvalidateTokenCacheForUser"},
 | 
					        {997, nullptr, "DebugInvalidateTokenCacheForUser"},
 | 
				
			||||||
        {998, nullptr, "DebugSetUserStateClose"},
 | 
					        {998, nullptr, "DebugSetUserStateClose"},
 | 
				
			||||||
        {999, nullptr, "DebugSetUserStateOpen"},
 | 
					        {999, nullptr, "DebugSetUserStateOpen"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -224,6 +224,7 @@ IDebugFunctions::IDebugFunctions() : ServiceFramework{"IDebugFunctions"} {
 | 
				
			|||||||
        {20, nullptr, "InvalidateTransitionLayer"},
 | 
					        {20, nullptr, "InvalidateTransitionLayer"},
 | 
				
			||||||
        {30, nullptr, "RequestLaunchApplicationWithUserAndArgumentForDebug"},
 | 
					        {30, nullptr, "RequestLaunchApplicationWithUserAndArgumentForDebug"},
 | 
				
			||||||
        {40, nullptr, "GetAppletResourceUsageInfo"},
 | 
					        {40, nullptr, "GetAppletResourceUsageInfo"},
 | 
				
			||||||
 | 
					        {41, nullptr, "SetCpuBoostModeForApplet"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    // clang-format on
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -256,6 +257,7 @@ ISelfController::ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger
 | 
				
			|||||||
        {40, &ISelfController::CreateManagedDisplayLayer, "CreateManagedDisplayLayer"},
 | 
					        {40, &ISelfController::CreateManagedDisplayLayer, "CreateManagedDisplayLayer"},
 | 
				
			||||||
        {41, nullptr, "IsSystemBufferSharingEnabled"},
 | 
					        {41, nullptr, "IsSystemBufferSharingEnabled"},
 | 
				
			||||||
        {42, nullptr, "GetSystemSharedLayerHandle"},
 | 
					        {42, nullptr, "GetSystemSharedLayerHandle"},
 | 
				
			||||||
 | 
					        {43, nullptr, "GetSystemSharedBufferHandle"},
 | 
				
			||||||
        {50, &ISelfController::SetHandlesRequestToDisplay, "SetHandlesRequestToDisplay"},
 | 
					        {50, &ISelfController::SetHandlesRequestToDisplay, "SetHandlesRequestToDisplay"},
 | 
				
			||||||
        {51, nullptr, "ApproveToDisplay"},
 | 
					        {51, nullptr, "ApproveToDisplay"},
 | 
				
			||||||
        {60, nullptr, "OverrideAutoSleepTimeAndDimmingTime"},
 | 
					        {60, nullptr, "OverrideAutoSleepTimeAndDimmingTime"},
 | 
				
			||||||
@ -269,9 +271,11 @@ ISelfController::ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger
 | 
				
			|||||||
        {68, nullptr, "SetAutoSleepDisabled"},
 | 
					        {68, nullptr, "SetAutoSleepDisabled"},
 | 
				
			||||||
        {69, nullptr, "IsAutoSleepDisabled"},
 | 
					        {69, nullptr, "IsAutoSleepDisabled"},
 | 
				
			||||||
        {70, nullptr, "ReportMultimediaError"},
 | 
					        {70, nullptr, "ReportMultimediaError"},
 | 
				
			||||||
 | 
					        {71, nullptr, "GetCurrentIlluminanceEx"},
 | 
				
			||||||
        {80, nullptr, "SetWirelessPriorityMode"},
 | 
					        {80, nullptr, "SetWirelessPriorityMode"},
 | 
				
			||||||
        {90, nullptr, "GetAccumulatedSuspendedTickValue"},
 | 
					        {90, nullptr, "GetAccumulatedSuspendedTickValue"},
 | 
				
			||||||
        {91, nullptr, "GetAccumulatedSuspendedTickChangedEvent"},
 | 
					        {91, nullptr, "GetAccumulatedSuspendedTickChangedEvent"},
 | 
				
			||||||
 | 
					        {100, nullptr, "SetAlbumImageTakenNotificationEnabled"},
 | 
				
			||||||
        {1000, nullptr, "GetDebugStorageChannel"},
 | 
					        {1000, nullptr, "GetDebugStorageChannel"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    // clang-format on
 | 
					    // clang-format on
 | 
				
			||||||
@ -516,11 +520,20 @@ ICommonStateGetter::ICommonStateGetter(std::shared_ptr<AppletMessageQueue> msg_q
 | 
				
			|||||||
        {50, nullptr, "IsVrModeEnabled"},
 | 
					        {50, nullptr, "IsVrModeEnabled"},
 | 
				
			||||||
        {51, nullptr, "SetVrModeEnabled"},
 | 
					        {51, nullptr, "SetVrModeEnabled"},
 | 
				
			||||||
        {52, nullptr, "SwitchLcdBacklight"},
 | 
					        {52, nullptr, "SwitchLcdBacklight"},
 | 
				
			||||||
 | 
					        {53, nullptr, "BeginVrModeEx"},
 | 
				
			||||||
 | 
					        {54, nullptr, "EndVrModeEx"},
 | 
				
			||||||
        {55, nullptr, "IsInControllerFirmwareUpdateSection"},
 | 
					        {55, nullptr, "IsInControllerFirmwareUpdateSection"},
 | 
				
			||||||
        {60, &ICommonStateGetter::GetDefaultDisplayResolution, "GetDefaultDisplayResolution"},
 | 
					        {60, &ICommonStateGetter::GetDefaultDisplayResolution, "GetDefaultDisplayResolution"},
 | 
				
			||||||
        {61, &ICommonStateGetter::GetDefaultDisplayResolutionChangeEvent, "GetDefaultDisplayResolutionChangeEvent"},
 | 
					        {61, &ICommonStateGetter::GetDefaultDisplayResolutionChangeEvent, "GetDefaultDisplayResolutionChangeEvent"},
 | 
				
			||||||
        {62, nullptr, "GetHdcpAuthenticationState"},
 | 
					        {62, nullptr, "GetHdcpAuthenticationState"},
 | 
				
			||||||
        {63, nullptr, "GetHdcpAuthenticationStateChangeEvent"},
 | 
					        {63, nullptr, "GetHdcpAuthenticationStateChangeEvent"},
 | 
				
			||||||
 | 
					        {64, nullptr, "SetTvPowerStateMatchingMode"},
 | 
				
			||||||
 | 
					        {65, nullptr, "GetApplicationIdByContentActionName"},
 | 
				
			||||||
 | 
					        {66, nullptr, "SetCpuBoostMode"},
 | 
				
			||||||
 | 
					        {80, nullptr, "PerformSystemButtonPressingIfInFocus"},
 | 
				
			||||||
 | 
					        {90, nullptr, "SetPerformanceConfigurationChangedNotification"},
 | 
				
			||||||
 | 
					        {91, nullptr, "GetCurrentPerformanceConfiguration"},
 | 
				
			||||||
 | 
					        {200, nullptr, "GetOperationModeSystemInfo"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    // clang-format on
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -960,6 +973,8 @@ IApplicationFunctions::IApplicationFunctions() : ServiceFramework("IApplicationF
 | 
				
			|||||||
        {11, nullptr, "CreateApplicationAndPushAndRequestToStartForQuest"},
 | 
					        {11, nullptr, "CreateApplicationAndPushAndRequestToStartForQuest"},
 | 
				
			||||||
        {12, nullptr, "CreateApplicationAndRequestToStart"},
 | 
					        {12, nullptr, "CreateApplicationAndRequestToStart"},
 | 
				
			||||||
        {13, &IApplicationFunctions::CreateApplicationAndRequestToStartForQuest, "CreateApplicationAndRequestToStartForQuest"},
 | 
					        {13, &IApplicationFunctions::CreateApplicationAndRequestToStartForQuest, "CreateApplicationAndRequestToStartForQuest"},
 | 
				
			||||||
 | 
					        {14, nullptr, "CreateApplicationWithAttributeAndPushAndRequestToStartForQuest"},
 | 
				
			||||||
 | 
					        {15, nullptr, "CreateApplicationWithAttributeAndRequestToStartForQuest"},
 | 
				
			||||||
        {20, &IApplicationFunctions::EnsureSaveData, "EnsureSaveData"},
 | 
					        {20, &IApplicationFunctions::EnsureSaveData, "EnsureSaveData"},
 | 
				
			||||||
        {21, &IApplicationFunctions::GetDesiredLanguage, "GetDesiredLanguage"},
 | 
					        {21, &IApplicationFunctions::GetDesiredLanguage, "GetDesiredLanguage"},
 | 
				
			||||||
        {22, &IApplicationFunctions::SetTerminateResult, "SetTerminateResult"},
 | 
					        {22, &IApplicationFunctions::SetTerminateResult, "SetTerminateResult"},
 | 
				
			||||||
@ -1233,6 +1248,7 @@ IGlobalStateController::IGlobalStateController() : ServiceFramework("IGlobalStat
 | 
				
			|||||||
        {2, nullptr, "StartSleepSequence"},
 | 
					        {2, nullptr, "StartSleepSequence"},
 | 
				
			||||||
        {3, nullptr, "StartShutdownSequence"},
 | 
					        {3, nullptr, "StartShutdownSequence"},
 | 
				
			||||||
        {4, nullptr, "StartRebootSequence"},
 | 
					        {4, nullptr, "StartRebootSequence"},
 | 
				
			||||||
 | 
					        {9, nullptr, "IsAutoPowerDownRequested"},
 | 
				
			||||||
        {10, nullptr, "LoadAndApplyIdlePolicySettings"},
 | 
					        {10, nullptr, "LoadAndApplyIdlePolicySettings"},
 | 
				
			||||||
        {11, nullptr, "NotifyCecSettingsChanged"},
 | 
					        {11, nullptr, "NotifyCecSettingsChanged"},
 | 
				
			||||||
        {12, nullptr, "SetDefaultHomeButtonLongPressTime"},
 | 
					        {12, nullptr, "SetDefaultHomeButtonLongPressTime"},
 | 
				
			||||||
 | 
				
			|||||||
@ -16,6 +16,7 @@ public:
 | 
				
			|||||||
                                 std::shared_ptr<AppletMessageQueue> msg_queue)
 | 
					                                 std::shared_ptr<AppletMessageQueue> msg_queue)
 | 
				
			||||||
        : ServiceFramework("ILibraryAppletProxy"), nvflinger(std::move(nvflinger)),
 | 
					        : ServiceFramework("ILibraryAppletProxy"), nvflinger(std::move(nvflinger)),
 | 
				
			||||||
          msg_queue(std::move(msg_queue)) {
 | 
					          msg_queue(std::move(msg_queue)) {
 | 
				
			||||||
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {0, &ILibraryAppletProxy::GetCommonStateGetter, "GetCommonStateGetter"},
 | 
					            {0, &ILibraryAppletProxy::GetCommonStateGetter, "GetCommonStateGetter"},
 | 
				
			||||||
            {1, &ILibraryAppletProxy::GetSelfController, "GetSelfController"},
 | 
					            {1, &ILibraryAppletProxy::GetSelfController, "GetSelfController"},
 | 
				
			||||||
@ -25,8 +26,11 @@ public:
 | 
				
			|||||||
            {10, &ILibraryAppletProxy::GetProcessWindingController, "GetProcessWindingController"},
 | 
					            {10, &ILibraryAppletProxy::GetProcessWindingController, "GetProcessWindingController"},
 | 
				
			||||||
            {11, &ILibraryAppletProxy::GetLibraryAppletCreator, "GetLibraryAppletCreator"},
 | 
					            {11, &ILibraryAppletProxy::GetLibraryAppletCreator, "GetLibraryAppletCreator"},
 | 
				
			||||||
            {20, &ILibraryAppletProxy::GetApplicationFunctions, "GetApplicationFunctions"},
 | 
					            {20, &ILibraryAppletProxy::GetApplicationFunctions, "GetApplicationFunctions"},
 | 
				
			||||||
 | 
					            {21, nullptr, "GetAppletCommonFunctions"},
 | 
				
			||||||
            {1000, &ILibraryAppletProxy::GetDebugFunctions, "GetDebugFunctions"},
 | 
					            {1000, &ILibraryAppletProxy::GetDebugFunctions, "GetDebugFunctions"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        RegisterHandlers(functions);
 | 
					        RegisterHandlers(functions);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -113,6 +117,7 @@ public:
 | 
				
			|||||||
                                std::shared_ptr<AppletMessageQueue> msg_queue)
 | 
					                                std::shared_ptr<AppletMessageQueue> msg_queue)
 | 
				
			||||||
        : ServiceFramework("ISystemAppletProxy"), nvflinger(std::move(nvflinger)),
 | 
					        : ServiceFramework("ISystemAppletProxy"), nvflinger(std::move(nvflinger)),
 | 
				
			||||||
          msg_queue(std::move(msg_queue)) {
 | 
					          msg_queue(std::move(msg_queue)) {
 | 
				
			||||||
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {0, &ISystemAppletProxy::GetCommonStateGetter, "GetCommonStateGetter"},
 | 
					            {0, &ISystemAppletProxy::GetCommonStateGetter, "GetCommonStateGetter"},
 | 
				
			||||||
            {1, &ISystemAppletProxy::GetSelfController, "GetSelfController"},
 | 
					            {1, &ISystemAppletProxy::GetSelfController, "GetSelfController"},
 | 
				
			||||||
@ -124,8 +129,11 @@ public:
 | 
				
			|||||||
            {20, &ISystemAppletProxy::GetHomeMenuFunctions, "GetHomeMenuFunctions"},
 | 
					            {20, &ISystemAppletProxy::GetHomeMenuFunctions, "GetHomeMenuFunctions"},
 | 
				
			||||||
            {21, &ISystemAppletProxy::GetGlobalStateController, "GetGlobalStateController"},
 | 
					            {21, &ISystemAppletProxy::GetGlobalStateController, "GetGlobalStateController"},
 | 
				
			||||||
            {22, &ISystemAppletProxy::GetApplicationCreator, "GetApplicationCreator"},
 | 
					            {22, &ISystemAppletProxy::GetApplicationCreator, "GetApplicationCreator"},
 | 
				
			||||||
 | 
					            {23, nullptr, "GetAppletCommonFunctions"},
 | 
				
			||||||
            {1000, &ISystemAppletProxy::GetDebugFunctions, "GetDebugFunctions"},
 | 
					            {1000, &ISystemAppletProxy::GetDebugFunctions, "GetDebugFunctions"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        RegisterHandlers(functions);
 | 
					        RegisterHandlers(functions);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -50,6 +50,7 @@ static std::vector<u64> AccumulateAOCTitleIDs() {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
AOC_U::AOC_U() : ServiceFramework("aoc:u"), add_on_content(AccumulateAOCTitleIDs()) {
 | 
					AOC_U::AOC_U() : ServiceFramework("aoc:u"), add_on_content(AccumulateAOCTitleIDs()) {
 | 
				
			||||||
 | 
					    // clang-format off
 | 
				
			||||||
    static const FunctionInfo functions[] = {
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
        {0, nullptr, "CountAddOnContentByApplicationId"},
 | 
					        {0, nullptr, "CountAddOnContentByApplicationId"},
 | 
				
			||||||
        {1, nullptr, "ListAddOnContentByApplicationId"},
 | 
					        {1, nullptr, "ListAddOnContentByApplicationId"},
 | 
				
			||||||
@ -60,7 +61,10 @@ AOC_U::AOC_U() : ServiceFramework("aoc:u"), add_on_content(AccumulateAOCTitleIDs
 | 
				
			|||||||
        {6, nullptr, "PrepareAddOnContentByApplicationId"},
 | 
					        {6, nullptr, "PrepareAddOnContentByApplicationId"},
 | 
				
			||||||
        {7, &AOC_U::PrepareAddOnContent, "PrepareAddOnContent"},
 | 
					        {7, &AOC_U::PrepareAddOnContent, "PrepareAddOnContent"},
 | 
				
			||||||
        {8, &AOC_U::GetAddOnContentListChangedEvent, "GetAddOnContentListChangedEvent"},
 | 
					        {8, &AOC_U::GetAddOnContentListChangedEvent, "GetAddOnContentListChangedEvent"},
 | 
				
			||||||
 | 
					        {100, nullptr, "CreateEcPurchasedEventManager"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    auto& kernel = Core::System::GetInstance().Kernel();
 | 
					    auto& kernel = Core::System::GetInstance().Kernel();
 | 
				
			||||||
 | 
				
			|||||||
@ -87,6 +87,8 @@ APM_Sys::APM_Sys() : ServiceFramework{"apm:sys"} {
 | 
				
			|||||||
        {3, nullptr, "GetLastThrottlingState"},
 | 
					        {3, nullptr, "GetLastThrottlingState"},
 | 
				
			||||||
        {4, nullptr, "ClearLastThrottlingState"},
 | 
					        {4, nullptr, "ClearLastThrottlingState"},
 | 
				
			||||||
        {5, nullptr, "LoadAndApplySettings"},
 | 
					        {5, nullptr, "LoadAndApplySettings"},
 | 
				
			||||||
 | 
					        {6, nullptr, "SetCpuBoostMode"},
 | 
				
			||||||
 | 
					        {7, nullptr, "GetCurrentPerformanceConfiguration"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    // clang-format on
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -25,6 +25,7 @@ public:
 | 
				
			|||||||
            {11, nullptr, "GetAudioInBufferCount"},
 | 
					            {11, nullptr, "GetAudioInBufferCount"},
 | 
				
			||||||
            {12, nullptr, "SetAudioInDeviceGain"},
 | 
					            {12, nullptr, "SetAudioInDeviceGain"},
 | 
				
			||||||
            {13, nullptr, "GetAudioInDeviceGain"},
 | 
					            {13, nullptr, "GetAudioInDeviceGain"},
 | 
				
			||||||
 | 
					            {14, nullptr, "FlushAudioInBuffers"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        // clang-format on
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -44,7 +44,7 @@ public:
 | 
				
			|||||||
              std::string&& unique_name)
 | 
					              std::string&& unique_name)
 | 
				
			||||||
        : ServiceFramework("IAudioOut"), audio_core(audio_core),
 | 
					        : ServiceFramework("IAudioOut"), audio_core(audio_core),
 | 
				
			||||||
          device_name(std::move(device_name)), audio_params(audio_params) {
 | 
					          device_name(std::move(device_name)), audio_params(audio_params) {
 | 
				
			||||||
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {0, &IAudioOut::GetAudioOutState, "GetAudioOutState"},
 | 
					            {0, &IAudioOut::GetAudioOutState, "GetAudioOutState"},
 | 
				
			||||||
            {1, &IAudioOut::StartAudioOut, "StartAudioOut"},
 | 
					            {1, &IAudioOut::StartAudioOut, "StartAudioOut"},
 | 
				
			||||||
@ -58,7 +58,10 @@ public:
 | 
				
			|||||||
            {9, &IAudioOut::GetAudioOutBufferCount, "GetAudioOutBufferCount"},
 | 
					            {9, &IAudioOut::GetAudioOutBufferCount, "GetAudioOutBufferCount"},
 | 
				
			||||||
            {10, nullptr, "GetAudioOutPlayedSampleCount"},
 | 
					            {10, nullptr, "GetAudioOutPlayedSampleCount"},
 | 
				
			||||||
            {11, nullptr, "FlushAudioOutBuffers"},
 | 
					            {11, nullptr, "FlushAudioOutBuffers"},
 | 
				
			||||||
 | 
					            {12, nullptr, "SetAudioOutVolume"},
 | 
				
			||||||
 | 
					            {13, nullptr, "GetAudioOutVolume"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        // clang-format on
 | 
				
			||||||
        RegisterHandlers(functions);
 | 
					        RegisterHandlers(functions);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // This is the event handle used to check if the audio buffer was released
 | 
					        // This is the event handle used to check if the audio buffer was released
 | 
				
			||||||
 | 
				
			|||||||
@ -154,7 +154,8 @@ public:
 | 
				
			|||||||
            {96, nullptr, "GetLeHidEventInfo"},
 | 
					            {96, nullptr, "GetLeHidEventInfo"},
 | 
				
			||||||
            {97, nullptr, "RegisterBleHidEvent"},
 | 
					            {97, nullptr, "RegisterBleHidEvent"},
 | 
				
			||||||
            {98, nullptr, "SetLeScanParameter"},
 | 
					            {98, nullptr, "SetLeScanParameter"},
 | 
				
			||||||
            {256, nullptr, "GetIsManufacturingMode"}
 | 
					            {256, nullptr, "GetIsManufacturingMode"},
 | 
				
			||||||
 | 
					            {257, nullptr, "EmulateBluetoothCrash"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        // clang-format on
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -15,32 +15,41 @@ public:
 | 
				
			|||||||
    explicit CAPS_A() : ServiceFramework{"caps:a"} {
 | 
					    explicit CAPS_A() : ServiceFramework{"caps:a"} {
 | 
				
			||||||
        // clang-format off
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {0, nullptr, "Unknown1"},
 | 
					            {0, nullptr, "GetAlbumFileCount"},
 | 
				
			||||||
            {1, nullptr, "Unknown2"},
 | 
					            {1, nullptr, "GetAlbumFileList"},
 | 
				
			||||||
            {2, nullptr, "Unknown3"},
 | 
					            {2, nullptr, "LoadAlbumFile"},
 | 
				
			||||||
            {3, nullptr, "Unknown4"},
 | 
					            {3, nullptr, "DeleteAlbumFile"},
 | 
				
			||||||
            {4, nullptr, "Unknown5"},
 | 
					            {4, nullptr, "StorageCopyAlbumFile"},
 | 
				
			||||||
            {5, nullptr, "Unknown6"},
 | 
					            {5, nullptr, "IsAlbumMounted"},
 | 
				
			||||||
            {6, nullptr, "Unknown7"},
 | 
					            {6, nullptr, "GetAlbumUsage"},
 | 
				
			||||||
            {7, nullptr, "Unknown8"},
 | 
					            {7, nullptr, "GetAlbumFileSize"},
 | 
				
			||||||
            {8, nullptr, "Unknown9"},
 | 
					            {8, nullptr, "LoadAlbumFileThumbnail"},
 | 
				
			||||||
            {9, nullptr, "Unknown10"},
 | 
					            {9, nullptr, "LoadAlbumScreenShotImage"},
 | 
				
			||||||
            {10, nullptr, "Unknown11"},
 | 
					            {10, nullptr, "LoadAlbumScreenShotThumbnailImage"},
 | 
				
			||||||
            {11, nullptr, "Unknown12"},
 | 
					            {11, nullptr, "GetAlbumEntryFromApplicationAlbumEntry"},
 | 
				
			||||||
            {12, nullptr, "Unknown13"},
 | 
					            {12, nullptr, "Unknown12"},
 | 
				
			||||||
            {13, nullptr, "Unknown14"},
 | 
					            {13, nullptr, "Unknown13"},
 | 
				
			||||||
            {14, nullptr, "Unknown15"},
 | 
					            {14, nullptr, "Unknown14"},
 | 
				
			||||||
            {301, nullptr, "Unknown16"},
 | 
					            {15, nullptr, "Unknown15"},
 | 
				
			||||||
            {401, nullptr, "Unknown17"},
 | 
					            {16, nullptr, "Unknown16"},
 | 
				
			||||||
            {501, nullptr, "Unknown18"},
 | 
					            {17, nullptr, "Unknown17"},
 | 
				
			||||||
            {1001, nullptr, "Unknown19"},
 | 
					            {18, nullptr, "Unknown18"},
 | 
				
			||||||
            {1002, nullptr, "Unknown20"},
 | 
					            {202, nullptr, "SaveEditedScreenShot"},
 | 
				
			||||||
            {8001, nullptr, "Unknown21"},
 | 
					            {301, nullptr, "GetLastThumbnail"},
 | 
				
			||||||
            {8002, nullptr, "Unknown22"},
 | 
					            {401, nullptr, "GetAutoSavingStorage"},
 | 
				
			||||||
            {8011, nullptr, "Unknown23"},
 | 
					            {501, nullptr, "GetRequiredStorageSpaceSizeToCopyAll"},
 | 
				
			||||||
            {8012, nullptr, "Unknown24"},
 | 
					            {1001, nullptr, "Unknown1001"},
 | 
				
			||||||
            {8021, nullptr, "Unknown25"},
 | 
					            {1002, nullptr, "Unknown1002"},
 | 
				
			||||||
            {10011, nullptr, "Unknown26"},
 | 
					            {1003, nullptr, "Unknown1003"},
 | 
				
			||||||
 | 
					            {8001, nullptr, "ForceAlbumUnmounted"},
 | 
				
			||||||
 | 
					            {8002, nullptr, "ResetAlbumMountStatus"},
 | 
				
			||||||
 | 
					            {8011, nullptr, "RefreshAlbumCache"},
 | 
				
			||||||
 | 
					            {8012, nullptr, "GetAlbumCache"},
 | 
				
			||||||
 | 
					            {8013, nullptr, "Unknown8013"},
 | 
				
			||||||
 | 
					            {8021, nullptr, "GetAlbumEntryFromApplicationAlbumEntryAruid"},
 | 
				
			||||||
 | 
					            {10011, nullptr, "SetInternalErrorConversionEnabled"},
 | 
				
			||||||
 | 
					            {50000, nullptr, "Unknown50000"},
 | 
				
			||||||
 | 
					            {60002, nullptr, "Unknown60002"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        // clang-format on
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -53,16 +62,17 @@ public:
 | 
				
			|||||||
    explicit CAPS_C() : ServiceFramework{"caps:c"} {
 | 
					    explicit CAPS_C() : ServiceFramework{"caps:c"} {
 | 
				
			||||||
        // clang-format off
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {2001, nullptr, "Unknown1"},
 | 
					            {33, nullptr, "Unknown33"},
 | 
				
			||||||
            {2002, nullptr, "Unknown2"},
 | 
					            {2001, nullptr, "Unknown2001"},
 | 
				
			||||||
            {2011, nullptr, "Unknown3"},
 | 
					            {2002, nullptr, "Unknown2002"},
 | 
				
			||||||
            {2012, nullptr, "Unknown4"},
 | 
					            {2011, nullptr, "Unknown2011"},
 | 
				
			||||||
            {2013, nullptr, "Unknown5"},
 | 
					            {2012, nullptr, "Unknown2012"},
 | 
				
			||||||
            {2014, nullptr, "Unknown6"},
 | 
					            {2013, nullptr, "Unknown2013"},
 | 
				
			||||||
            {2101, nullptr, "Unknown7"},
 | 
					            {2014, nullptr, "Unknown2014"},
 | 
				
			||||||
            {2102, nullptr, "Unknown8"},
 | 
					            {2101, nullptr, "Unknown2101"},
 | 
				
			||||||
            {2201, nullptr, "Unknown9"},
 | 
					            {2102, nullptr, "Unknown2102"},
 | 
				
			||||||
            {2301, nullptr, "Unknown10"},
 | 
					            {2201, nullptr, "Unknown2201"},
 | 
				
			||||||
 | 
					            {2301, nullptr, "Unknown2301"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        // clang-format on
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -127,11 +137,18 @@ public:
 | 
				
			|||||||
    explicit CAPS_U() : ServiceFramework{"caps:u"} {
 | 
					    explicit CAPS_U() : ServiceFramework{"caps:u"} {
 | 
				
			||||||
        // clang-format off
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
 | 
					            {32, nullptr, "SetShimLibraryVersion"},
 | 
				
			||||||
            {102, nullptr, "GetAlbumFileListByAruid"},
 | 
					            {102, nullptr, "GetAlbumFileListByAruid"},
 | 
				
			||||||
            {103, nullptr, "DeleteAlbumFileByAruid"},
 | 
					            {103, nullptr, "DeleteAlbumFileByAruid"},
 | 
				
			||||||
            {104, nullptr, "GetAlbumFileSizeByAruid"},
 | 
					            {104, nullptr, "GetAlbumFileSizeByAruid"},
 | 
				
			||||||
 | 
					            {105, nullptr, "DeleteAlbumFileByAruidForDebug"},
 | 
				
			||||||
            {110, nullptr, "LoadAlbumScreenShotImageByAruid"},
 | 
					            {110, nullptr, "LoadAlbumScreenShotImageByAruid"},
 | 
				
			||||||
            {120, nullptr, "LoadAlbumScreenShotThumbnailImageByAruid"},
 | 
					            {120, nullptr, "LoadAlbumScreenShotThumbnailImageByAruid"},
 | 
				
			||||||
 | 
					            {130, nullptr, "PrecheckToCreateContentsByAruid"},
 | 
				
			||||||
 | 
					            {140, nullptr, "GetAlbumFileList1AafeAruidDeprecated"},
 | 
				
			||||||
 | 
					            {141, nullptr, "GetAlbumFileList2AafeUidAruidDeprecated"},
 | 
				
			||||||
 | 
					            {142, nullptr, "GetAlbumFileList3AaeAruid"},
 | 
				
			||||||
 | 
					            {143, nullptr, "GetAlbumFileList4AaeUidAruid"},
 | 
				
			||||||
            {60002, nullptr, "OpenAccessorSessionForApplication"},
 | 
					            {60002, nullptr, "OpenAccessorSessionForApplication"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        // clang-format on
 | 
					        // clang-format on
 | 
				
			||||||
 | 
				
			|||||||
@ -664,10 +664,13 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {
 | 
				
			|||||||
        {100, nullptr, "OpenImageDirectoryFileSystem"},
 | 
					        {100, nullptr, "OpenImageDirectoryFileSystem"},
 | 
				
			||||||
        {110, nullptr, "OpenContentStorageFileSystem"},
 | 
					        {110, nullptr, "OpenContentStorageFileSystem"},
 | 
				
			||||||
        {120, nullptr, "OpenCloudBackupWorkStorageFileSystem"},
 | 
					        {120, nullptr, "OpenCloudBackupWorkStorageFileSystem"},
 | 
				
			||||||
 | 
					        {130, nullptr, "OpenCustomStorageFileSystem"},
 | 
				
			||||||
        {200, &FSP_SRV::OpenDataStorageByCurrentProcess, "OpenDataStorageByCurrentProcess"},
 | 
					        {200, &FSP_SRV::OpenDataStorageByCurrentProcess, "OpenDataStorageByCurrentProcess"},
 | 
				
			||||||
        {201, nullptr, "OpenDataStorageByProgramId"},
 | 
					        {201, nullptr, "OpenDataStorageByProgramId"},
 | 
				
			||||||
        {202, &FSP_SRV::OpenDataStorageByDataId, "OpenDataStorageByDataId"},
 | 
					        {202, &FSP_SRV::OpenDataStorageByDataId, "OpenDataStorageByDataId"},
 | 
				
			||||||
        {203, &FSP_SRV::OpenPatchDataStorageByCurrentProcess, "OpenPatchDataStorageByCurrentProcess"},
 | 
					        {203, &FSP_SRV::OpenPatchDataStorageByCurrentProcess, "OpenPatchDataStorageByCurrentProcess"},
 | 
				
			||||||
 | 
					        {204, nullptr, "OpenDataFileSystemByProgramIndex"},
 | 
				
			||||||
 | 
					        {205, nullptr, "OpenDataStorageByProgramIndex"},
 | 
				
			||||||
        {400, nullptr, "OpenDeviceOperator"},
 | 
					        {400, nullptr, "OpenDeviceOperator"},
 | 
				
			||||||
        {500, nullptr, "OpenSdCardDetectionEventNotifier"},
 | 
					        {500, nullptr, "OpenSdCardDetectionEventNotifier"},
 | 
				
			||||||
        {501, nullptr, "OpenGameCardDetectionEventNotifier"},
 | 
					        {501, nullptr, "OpenGameCardDetectionEventNotifier"},
 | 
				
			||||||
@ -691,6 +694,7 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {
 | 
				
			|||||||
        {614, nullptr, "CorruptSaveDataFileSystemBySaveDataSpaceId"},
 | 
					        {614, nullptr, "CorruptSaveDataFileSystemBySaveDataSpaceId"},
 | 
				
			||||||
        {615, nullptr, "QuerySaveDataInternalStorageTotalSize"},
 | 
					        {615, nullptr, "QuerySaveDataInternalStorageTotalSize"},
 | 
				
			||||||
        {616, nullptr, "GetSaveDataCommitId"},
 | 
					        {616, nullptr, "GetSaveDataCommitId"},
 | 
				
			||||||
 | 
					        {617, nullptr, "UnregisterExternalKey"},
 | 
				
			||||||
        {620, nullptr, "SetSdCardEncryptionSeed"},
 | 
					        {620, nullptr, "SetSdCardEncryptionSeed"},
 | 
				
			||||||
        {630, nullptr, "SetSdCardAccessibility"},
 | 
					        {630, nullptr, "SetSdCardAccessibility"},
 | 
				
			||||||
        {631, nullptr, "IsSdCardAccessible"},
 | 
					        {631, nullptr, "IsSdCardAccessible"},
 | 
				
			||||||
@ -701,6 +705,7 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {
 | 
				
			|||||||
        {710, nullptr, "ResolveAccessFailure"},
 | 
					        {710, nullptr, "ResolveAccessFailure"},
 | 
				
			||||||
        {720, nullptr, "AbandonAccessFailure"},
 | 
					        {720, nullptr, "AbandonAccessFailure"},
 | 
				
			||||||
        {800, nullptr, "GetAndClearFileSystemProxyErrorInfo"},
 | 
					        {800, nullptr, "GetAndClearFileSystemProxyErrorInfo"},
 | 
				
			||||||
 | 
					        {810, nullptr, "RegisterProgramIndexMapInfo"},
 | 
				
			||||||
        {1000, nullptr, "SetBisRootForHost"},
 | 
					        {1000, nullptr, "SetBisRootForHost"},
 | 
				
			||||||
        {1001, nullptr, "SetSaveDataSize"},
 | 
					        {1001, nullptr, "SetSaveDataSize"},
 | 
				
			||||||
        {1002, nullptr, "SetSaveDataRootPath"},
 | 
					        {1002, nullptr, "SetSaveDataRootPath"},
 | 
				
			||||||
@ -711,6 +716,8 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {
 | 
				
			|||||||
        {1007, nullptr, "RegisterUpdatePartition"},
 | 
					        {1007, nullptr, "RegisterUpdatePartition"},
 | 
				
			||||||
        {1008, nullptr, "OpenRegisteredUpdatePartition"},
 | 
					        {1008, nullptr, "OpenRegisteredUpdatePartition"},
 | 
				
			||||||
        {1009, nullptr, "GetAndClearMemoryReportInfo"},
 | 
					        {1009, nullptr, "GetAndClearMemoryReportInfo"},
 | 
				
			||||||
 | 
					        {1010, nullptr, "SetDataStorageRedirectTarget"},
 | 
				
			||||||
 | 
					        {1011, nullptr, "OutputAccessLogToSdCard2"},
 | 
				
			||||||
        {1100, nullptr, "OverrideSaveDataTransferTokenSignVerificationKey"},
 | 
					        {1100, nullptr, "OverrideSaveDataTransferTokenSignVerificationKey"},
 | 
				
			||||||
        {1110, nullptr, "CorruptSaveDataFileSystemBySaveDataSpaceId2"},
 | 
					        {1110, nullptr, "CorruptSaveDataFileSystemBySaveDataSpaceId2"},
 | 
				
			||||||
        {1200, nullptr, "OpenMultiCommitManager"},
 | 
					        {1200, nullptr, "OpenMultiCommitManager"},
 | 
				
			||||||
 | 
				
			|||||||
@ -12,6 +12,7 @@ namespace Service::Friend {
 | 
				
			|||||||
class IFriendService final : public ServiceFramework<IFriendService> {
 | 
					class IFriendService final : public ServiceFramework<IFriendService> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IFriendService() : ServiceFramework("IFriendService") {
 | 
					    IFriendService() : ServiceFramework("IFriendService") {
 | 
				
			||||||
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {0, nullptr, "GetCompletionEvent"},
 | 
					            {0, nullptr, "GetCompletionEvent"},
 | 
				
			||||||
            {1, nullptr, "Cancel"},
 | 
					            {1, nullptr, "Cancel"},
 | 
				
			||||||
@ -24,8 +25,7 @@ public:
 | 
				
			|||||||
            {10400, nullptr, "GetBlockedUserListIds"},
 | 
					            {10400, nullptr, "GetBlockedUserListIds"},
 | 
				
			||||||
            {10500, nullptr, "GetProfileList"},
 | 
					            {10500, nullptr, "GetProfileList"},
 | 
				
			||||||
            {10600, nullptr, "DeclareOpenOnlinePlaySession"},
 | 
					            {10600, nullptr, "DeclareOpenOnlinePlaySession"},
 | 
				
			||||||
            {10601, &IFriendService::DeclareCloseOnlinePlaySession,
 | 
					            {10601, &IFriendService::DeclareCloseOnlinePlaySession, "DeclareCloseOnlinePlaySession"},
 | 
				
			||||||
             "DeclareCloseOnlinePlaySession"},
 | 
					 | 
				
			||||||
            {10610, &IFriendService::UpdateUserPresence, "UpdateUserPresence"},
 | 
					            {10610, &IFriendService::UpdateUserPresence, "UpdateUserPresence"},
 | 
				
			||||||
            {10700, nullptr, "GetPlayHistoryRegistrationKey"},
 | 
					            {10700, nullptr, "GetPlayHistoryRegistrationKey"},
 | 
				
			||||||
            {10701, nullptr, "GetPlayHistoryRegistrationKeyWithNetworkServiceAccountId"},
 | 
					            {10701, nullptr, "GetPlayHistoryRegistrationKeyWithNetworkServiceAccountId"},
 | 
				
			||||||
@ -88,6 +88,7 @@ public:
 | 
				
			|||||||
            {30830, nullptr, "ClearPlayLog"},
 | 
					            {30830, nullptr, "ClearPlayLog"},
 | 
				
			||||||
            {49900, nullptr, "DeleteNetworkServiceAccountCache"},
 | 
					            {49900, nullptr, "DeleteNetworkServiceAccountCache"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        RegisterHandlers(functions);
 | 
					        RegisterHandlers(functions);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -210,6 +210,7 @@ Hid::Hid() : ServiceFramework("hid") {
 | 
				
			|||||||
        {131, nullptr, "IsUnintendedHomeButtonInputProtectionEnabled"},
 | 
					        {131, nullptr, "IsUnintendedHomeButtonInputProtectionEnabled"},
 | 
				
			||||||
        {132, nullptr, "EnableUnintendedHomeButtonInputProtection"},
 | 
					        {132, nullptr, "EnableUnintendedHomeButtonInputProtection"},
 | 
				
			||||||
        {133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"},
 | 
					        {133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"},
 | 
				
			||||||
 | 
					        {134, nullptr, "SetNpadAnalogStickUseCenterClamp"},
 | 
				
			||||||
        {200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"},
 | 
					        {200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"},
 | 
				
			||||||
        {201, &Hid::SendVibrationValue, "SendVibrationValue"},
 | 
					        {201, &Hid::SendVibrationValue, "SendVibrationValue"},
 | 
				
			||||||
        {202, &Hid::GetActualVibrationValue, "GetActualVibrationValue"},
 | 
					        {202, &Hid::GetActualVibrationValue, "GetActualVibrationValue"},
 | 
				
			||||||
@ -221,6 +222,7 @@ Hid::Hid() : ServiceFramework("hid") {
 | 
				
			|||||||
        {208, nullptr, "GetActualVibrationGcErmCommand"},
 | 
					        {208, nullptr, "GetActualVibrationGcErmCommand"},
 | 
				
			||||||
        {209, &Hid::BeginPermitVibrationSession, "BeginPermitVibrationSession"},
 | 
					        {209, &Hid::BeginPermitVibrationSession, "BeginPermitVibrationSession"},
 | 
				
			||||||
        {210, &Hid::EndPermitVibrationSession, "EndPermitVibrationSession"},
 | 
					        {210, &Hid::EndPermitVibrationSession, "EndPermitVibrationSession"},
 | 
				
			||||||
 | 
					        {211, nullptr, "IsVibrationDeviceMounted"},
 | 
				
			||||||
        {300, &Hid::ActivateConsoleSixAxisSensor, "ActivateConsoleSixAxisSensor"},
 | 
					        {300, &Hid::ActivateConsoleSixAxisSensor, "ActivateConsoleSixAxisSensor"},
 | 
				
			||||||
        {301, &Hid::StartConsoleSixAxisSensor, "StartConsoleSixAxisSensor"},
 | 
					        {301, &Hid::StartConsoleSixAxisSensor, "StartConsoleSixAxisSensor"},
 | 
				
			||||||
        {302, nullptr, "StopConsoleSixAxisSensor"},
 | 
					        {302, nullptr, "StopConsoleSixAxisSensor"},
 | 
				
			||||||
@ -265,6 +267,7 @@ Hid::Hid() : ServiceFramework("hid") {
 | 
				
			|||||||
        {523, nullptr, "SetIsPalmaPairedConnectable"},
 | 
					        {523, nullptr, "SetIsPalmaPairedConnectable"},
 | 
				
			||||||
        {524, nullptr, "PairPalma"},
 | 
					        {524, nullptr, "PairPalma"},
 | 
				
			||||||
        {525, &Hid::SetPalmaBoostMode, "SetPalmaBoostMode"},
 | 
					        {525, &Hid::SetPalmaBoostMode, "SetPalmaBoostMode"},
 | 
				
			||||||
 | 
					        {526, nullptr, "CancelWritePalmaWaveEntry"},
 | 
				
			||||||
        {1000, nullptr, "SetNpadCommunicationMode"},
 | 
					        {1000, nullptr, "SetNpadCommunicationMode"},
 | 
				
			||||||
        {1001, nullptr, "GetNpadCommunicationMode"},
 | 
					        {1001, nullptr, "GetNpadCommunicationMode"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@ -797,12 +800,22 @@ public:
 | 
				
			|||||||
            {232, nullptr, "EnableShipmentMode"},
 | 
					            {232, nullptr, "EnableShipmentMode"},
 | 
				
			||||||
            {233, nullptr, "ClearPairingInfo"},
 | 
					            {233, nullptr, "ClearPairingInfo"},
 | 
				
			||||||
            {234, nullptr, "GetUniquePadDeviceTypeSetInternal"},
 | 
					            {234, nullptr, "GetUniquePadDeviceTypeSetInternal"},
 | 
				
			||||||
 | 
					            {235, nullptr, "EnableAnalogStickPower"},
 | 
				
			||||||
            {301, nullptr, "GetAbstractedPadHandles"},
 | 
					            {301, nullptr, "GetAbstractedPadHandles"},
 | 
				
			||||||
            {302, nullptr, "GetAbstractedPadState"},
 | 
					            {302, nullptr, "GetAbstractedPadState"},
 | 
				
			||||||
            {303, nullptr, "GetAbstractedPadsState"},
 | 
					            {303, nullptr, "GetAbstractedPadsState"},
 | 
				
			||||||
            {321, nullptr, "SetAutoPilotVirtualPadState"},
 | 
					            {321, nullptr, "SetAutoPilotVirtualPadState"},
 | 
				
			||||||
            {322, nullptr, "UnsetAutoPilotVirtualPadState"},
 | 
					            {322, nullptr, "UnsetAutoPilotVirtualPadState"},
 | 
				
			||||||
            {323, nullptr, "UnsetAllAutoPilotVirtualPadState"},
 | 
					            {323, nullptr, "UnsetAllAutoPilotVirtualPadState"},
 | 
				
			||||||
 | 
					            {324, nullptr, "AttachHdlsWorkBuffer"},
 | 
				
			||||||
 | 
					            {325, nullptr, "ReleaseHdlsWorkBuffer"},
 | 
				
			||||||
 | 
					            {326, nullptr, "DumpHdlsNpadAssignmentState"},
 | 
				
			||||||
 | 
					            {327, nullptr, "DumpHdlsStates"},
 | 
				
			||||||
 | 
					            {328, nullptr, "ApplyHdlsNpadAssignmentState"},
 | 
				
			||||||
 | 
					            {329, nullptr, "ApplyHdlsStateList"},
 | 
				
			||||||
 | 
					            {330, nullptr, "AttachHdlsVirtualDevice"},
 | 
				
			||||||
 | 
					            {331, nullptr, "DetachHdlsVirtualDevice"},
 | 
				
			||||||
 | 
					            {332, nullptr, "SetHdlsState"},
 | 
				
			||||||
            {350, nullptr, "AddRegisteredDevice"},
 | 
					            {350, nullptr, "AddRegisteredDevice"},
 | 
				
			||||||
            {400, nullptr, "DisableExternalMcuOnNxDevice"},
 | 
					            {400, nullptr, "DisableExternalMcuOnNxDevice"},
 | 
				
			||||||
            {401, nullptr, "DisableRailDeviceFiltering"},
 | 
					            {401, nullptr, "DisableRailDeviceFiltering"},
 | 
				
			||||||
@ -825,6 +838,7 @@ public:
 | 
				
			|||||||
            {131, nullptr, "ActivateSleepButton"},
 | 
					            {131, nullptr, "ActivateSleepButton"},
 | 
				
			||||||
            {141, nullptr, "AcquireCaptureButtonEventHandle"},
 | 
					            {141, nullptr, "AcquireCaptureButtonEventHandle"},
 | 
				
			||||||
            {151, nullptr, "ActivateCaptureButton"},
 | 
					            {151, nullptr, "ActivateCaptureButton"},
 | 
				
			||||||
 | 
					            {161, nullptr, "GetPlatformConfig"},
 | 
				
			||||||
            {210, nullptr, "AcquireNfcDeviceUpdateEventHandle"},
 | 
					            {210, nullptr, "AcquireNfcDeviceUpdateEventHandle"},
 | 
				
			||||||
            {211, nullptr, "GetNpadsWithNfc"},
 | 
					            {211, nullptr, "GetNpadsWithNfc"},
 | 
				
			||||||
            {212, nullptr, "AcquireNfcActivateEventHandle"},
 | 
					            {212, nullptr, "AcquireNfcActivateEventHandle"},
 | 
				
			||||||
@ -894,6 +908,7 @@ public:
 | 
				
			|||||||
            {827, nullptr, "IsAnalogStickButtonPressed"},
 | 
					            {827, nullptr, "IsAnalogStickButtonPressed"},
 | 
				
			||||||
            {828, nullptr, "IsAnalogStickInReleasePosition"},
 | 
					            {828, nullptr, "IsAnalogStickInReleasePosition"},
 | 
				
			||||||
            {829, nullptr, "IsAnalogStickInCircumference"},
 | 
					            {829, nullptr, "IsAnalogStickInCircumference"},
 | 
				
			||||||
 | 
					            {830, nullptr, "SetNotificationLedPattern"},
 | 
				
			||||||
            {850, nullptr, "IsUsbFullKeyControllerEnabled"},
 | 
					            {850, nullptr, "IsUsbFullKeyControllerEnabled"},
 | 
				
			||||||
            {851, nullptr, "EnableUsbFullKeyController"},
 | 
					            {851, nullptr, "EnableUsbFullKeyController"},
 | 
				
			||||||
            {852, nullptr, "IsUsbConnected"},
 | 
					            {852, nullptr, "IsUsbConnected"},
 | 
				
			||||||
 | 
				
			|||||||
@ -52,9 +52,11 @@ public:
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ILocalCommunicationService final : public ServiceFramework<ILocalCommunicationService> {
 | 
					class ISystemLocalCommunicationService final
 | 
				
			||||||
 | 
					    : public ServiceFramework<ISystemLocalCommunicationService> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit ILocalCommunicationService(const char* name) : ServiceFramework{name} {
 | 
					    explicit ISystemLocalCommunicationService()
 | 
				
			||||||
 | 
					        : ServiceFramework{"ISystemLocalCommunicationService"} {
 | 
				
			||||||
        // clang-format off
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {0, nullptr, "GetState"},
 | 
					            {0, nullptr, "GetState"},
 | 
				
			||||||
@ -84,6 +86,50 @@ public:
 | 
				
			|||||||
            {304, nullptr, "Disconnect"},
 | 
					            {304, nullptr, "Disconnect"},
 | 
				
			||||||
            {400, nullptr, "InitializeSystem"},
 | 
					            {400, nullptr, "InitializeSystem"},
 | 
				
			||||||
            {401, nullptr, "FinalizeSystem"},
 | 
					            {401, nullptr, "FinalizeSystem"},
 | 
				
			||||||
 | 
					            {402, nullptr, "SetOperationMode"},
 | 
				
			||||||
 | 
					            {403, nullptr, "InitializeSystem2"},
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        RegisterHandlers(functions);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class IUserLocalCommunicationService final
 | 
				
			||||||
 | 
					    : public ServiceFramework<IUserLocalCommunicationService> {
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					    explicit IUserLocalCommunicationService() : ServiceFramework{"IUserLocalCommunicationService"} {
 | 
				
			||||||
 | 
					        // clang-format off
 | 
				
			||||||
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
 | 
					            {0, nullptr, "GetState"},
 | 
				
			||||||
 | 
					            {1, nullptr, "GetNetworkInfo"},
 | 
				
			||||||
 | 
					            {2, nullptr, "GetIpv4Address"},
 | 
				
			||||||
 | 
					            {3, nullptr, "GetDisconnectReason"},
 | 
				
			||||||
 | 
					            {4, nullptr, "GetSecurityParameter"},
 | 
				
			||||||
 | 
					            {5, nullptr, "GetNetworkConfig"},
 | 
				
			||||||
 | 
					            {100, nullptr, "AttachStateChangeEvent"},
 | 
				
			||||||
 | 
					            {101, nullptr, "GetNetworkInfoLatestUpdate"},
 | 
				
			||||||
 | 
					            {102, nullptr, "Scan"},
 | 
				
			||||||
 | 
					            {103, nullptr, "ScanPrivate"},
 | 
				
			||||||
 | 
					            {104, nullptr, "SetWirelessControllerRestriction"},
 | 
				
			||||||
 | 
					            {200, nullptr, "OpenAccessPoint"},
 | 
				
			||||||
 | 
					            {201, nullptr, "CloseAccessPoint"},
 | 
				
			||||||
 | 
					            {202, nullptr, "CreateNetwork"},
 | 
				
			||||||
 | 
					            {203, nullptr, "CreateNetworkPrivate"},
 | 
				
			||||||
 | 
					            {204, nullptr, "DestroyNetwork"},
 | 
				
			||||||
 | 
					            {205, nullptr, "Reject"},
 | 
				
			||||||
 | 
					            {206, nullptr, "SetAdvertiseData"},
 | 
				
			||||||
 | 
					            {207, nullptr, "SetStationAcceptPolicy"},
 | 
				
			||||||
 | 
					            {208, nullptr, "AddAcceptFilterEntry"},
 | 
				
			||||||
 | 
					            {209, nullptr, "ClearAcceptFilter"},
 | 
				
			||||||
 | 
					            {300, nullptr, "OpenStation"},
 | 
				
			||||||
 | 
					            {301, nullptr, "CloseStation"},
 | 
				
			||||||
 | 
					            {302, nullptr, "Connect"},
 | 
				
			||||||
 | 
					            {303, nullptr, "ConnectPrivate"},
 | 
				
			||||||
 | 
					            {304, nullptr, "Disconnect"},
 | 
				
			||||||
 | 
					            {400, nullptr, "Initialize"},
 | 
				
			||||||
 | 
					            {401, nullptr, "Finalize"},
 | 
				
			||||||
 | 
					            {402, nullptr, "SetOperationMode"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        // clang-format on
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -108,7 +154,7 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
					        IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
				
			||||||
        rb.Push(RESULT_SUCCESS);
 | 
					        rb.Push(RESULT_SUCCESS);
 | 
				
			||||||
        rb.PushIpcInterface<ILocalCommunicationService>("ISystemLocalCommunicationService");
 | 
					        rb.PushIpcInterface<ISystemLocalCommunicationService>();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -129,7 +175,7 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
					        IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
				
			||||||
        rb.Push(RESULT_SUCCESS);
 | 
					        rb.Push(RESULT_SUCCESS);
 | 
				
			||||||
        rb.PushIpcInterface<ILocalCommunicationService>("IUserLocalCommunicationService");
 | 
					        rb.PushIpcInterface<IUserLocalCommunicationService>();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -86,6 +86,7 @@ public:
 | 
				
			|||||||
            {2, &RelocatableObject::LoadNrr, "LoadNrr"},
 | 
					            {2, &RelocatableObject::LoadNrr, "LoadNrr"},
 | 
				
			||||||
            {3, &RelocatableObject::UnloadNrr, "UnloadNrr"},
 | 
					            {3, &RelocatableObject::UnloadNrr, "UnloadNrr"},
 | 
				
			||||||
            {4, &RelocatableObject::Initialize, "Initialize"},
 | 
					            {4, &RelocatableObject::Initialize, "Initialize"},
 | 
				
			||||||
 | 
					            {10, nullptr, "LoadNrrEx"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        // clang-format on
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -15,12 +15,16 @@ namespace Service::NIFM {
 | 
				
			|||||||
class IScanRequest final : public ServiceFramework<IScanRequest> {
 | 
					class IScanRequest final : public ServiceFramework<IScanRequest> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit IScanRequest() : ServiceFramework("IScanRequest") {
 | 
					    explicit IScanRequest() : ServiceFramework("IScanRequest") {
 | 
				
			||||||
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {0, nullptr, "Submit"},
 | 
					            {0, nullptr, "Submit"},
 | 
				
			||||||
            {1, nullptr, "IsProcessing"},
 | 
					            {1, nullptr, "IsProcessing"},
 | 
				
			||||||
            {2, nullptr, "GetResult"},
 | 
					            {2, nullptr, "GetResult"},
 | 
				
			||||||
            {3, nullptr, "GetSystemEventReadableHandle"},
 | 
					            {3, nullptr, "GetSystemEventReadableHandle"},
 | 
				
			||||||
 | 
					            {4, nullptr, "SetChannels"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        RegisterHandlers(functions);
 | 
					        RegisterHandlers(functions);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -45,7 +45,7 @@ public:
 | 
				
			|||||||
            {114, nullptr, "AttachJid"},
 | 
					            {114, nullptr, "AttachJid"},
 | 
				
			||||||
            {115, nullptr, "DetachJid"},
 | 
					            {115, nullptr, "DetachJid"},
 | 
				
			||||||
            {201, nullptr, "RequestChangeStateForceTimed"},
 | 
					            {201, nullptr, "RequestChangeStateForceTimed"},
 | 
				
			||||||
            {102, nullptr, "RequestChangeStateForceAsync"},
 | 
					            {202, nullptr, "RequestChangeStateForceAsync"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        // clang-format on
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -73,6 +73,7 @@ public:
 | 
				
			|||||||
            {103, nullptr, "GetState"},
 | 
					            {103, nullptr, "GetState"},
 | 
				
			||||||
            {104, nullptr, "GetStatistics"},
 | 
					            {104, nullptr, "GetStatistics"},
 | 
				
			||||||
            {111, nullptr, "GetJid"},
 | 
					            {111, nullptr, "GetJid"},
 | 
				
			||||||
 | 
					            {120, nullptr, "CreateNotificationReceiver"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        // clang-format on
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,10 +12,10 @@ namespace Service::PCTL {
 | 
				
			|||||||
class IParentalControlService final : public ServiceFramework<IParentalControlService> {
 | 
					class IParentalControlService final : public ServiceFramework<IParentalControlService> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IParentalControlService() : ServiceFramework("IParentalControlService") {
 | 
					    IParentalControlService() : ServiceFramework("IParentalControlService") {
 | 
				
			||||||
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {1, &IParentalControlService::Initialize, "Initialize"},
 | 
					            {1, &IParentalControlService::Initialize, "Initialize"},
 | 
				
			||||||
            {1001, &IParentalControlService::CheckFreeCommunicationPermission,
 | 
					            {1001, &IParentalControlService::CheckFreeCommunicationPermission, "CheckFreeCommunicationPermission"},
 | 
				
			||||||
             "CheckFreeCommunicationPermission"},
 | 
					 | 
				
			||||||
            {1002, nullptr, "ConfirmLaunchApplicationPermission"},
 | 
					            {1002, nullptr, "ConfirmLaunchApplicationPermission"},
 | 
				
			||||||
            {1003, nullptr, "ConfirmResumeApplicationPermission"},
 | 
					            {1003, nullptr, "ConfirmResumeApplicationPermission"},
 | 
				
			||||||
            {1004, nullptr, "ConfirmSnsPostPermission"},
 | 
					            {1004, nullptr, "ConfirmSnsPostPermission"},
 | 
				
			||||||
@ -30,6 +30,7 @@ public:
 | 
				
			|||||||
            {1013, nullptr, "ConfirmStereoVisionPermission"},
 | 
					            {1013, nullptr, "ConfirmStereoVisionPermission"},
 | 
				
			||||||
            {1014, nullptr, "ConfirmPlayableApplicationVideoOld"},
 | 
					            {1014, nullptr, "ConfirmPlayableApplicationVideoOld"},
 | 
				
			||||||
            {1015, nullptr, "ConfirmPlayableApplicationVideo"},
 | 
					            {1015, nullptr, "ConfirmPlayableApplicationVideo"},
 | 
				
			||||||
 | 
					            {1016, nullptr, "ConfirmShowNewsPermission"},
 | 
				
			||||||
            {1031, nullptr, "IsRestrictionEnabled"},
 | 
					            {1031, nullptr, "IsRestrictionEnabled"},
 | 
				
			||||||
            {1032, nullptr, "GetSafetyLevel"},
 | 
					            {1032, nullptr, "GetSafetyLevel"},
 | 
				
			||||||
            {1033, nullptr, "SetSafetyLevel"},
 | 
					            {1033, nullptr, "SetSafetyLevel"},
 | 
				
			||||||
@ -45,6 +46,7 @@ public:
 | 
				
			|||||||
            {1045, nullptr, "UpdateFreeCommunicationApplicationList"},
 | 
					            {1045, nullptr, "UpdateFreeCommunicationApplicationList"},
 | 
				
			||||||
            {1046, nullptr, "DisableFeaturesForReset"},
 | 
					            {1046, nullptr, "DisableFeaturesForReset"},
 | 
				
			||||||
            {1047, nullptr, "NotifyApplicationDownloadStarted"},
 | 
					            {1047, nullptr, "NotifyApplicationDownloadStarted"},
 | 
				
			||||||
 | 
					            {1048, nullptr, "NotifyNetworkProfileCreated"},
 | 
				
			||||||
            {1061, nullptr, "ConfirmStereoVisionRestrictionConfigurable"},
 | 
					            {1061, nullptr, "ConfirmStereoVisionRestrictionConfigurable"},
 | 
				
			||||||
            {1062, nullptr, "GetStereoVisionRestriction"},
 | 
					            {1062, nullptr, "GetStereoVisionRestriction"},
 | 
				
			||||||
            {1063, nullptr, "SetStereoVisionRestriction"},
 | 
					            {1063, nullptr, "SetStereoVisionRestriction"},
 | 
				
			||||||
@ -63,6 +65,7 @@ public:
 | 
				
			|||||||
            {1411, nullptr, "GetPairingAccountInfo"},
 | 
					            {1411, nullptr, "GetPairingAccountInfo"},
 | 
				
			||||||
            {1421, nullptr, "GetAccountNickname"},
 | 
					            {1421, nullptr, "GetAccountNickname"},
 | 
				
			||||||
            {1424, nullptr, "GetAccountState"},
 | 
					            {1424, nullptr, "GetAccountState"},
 | 
				
			||||||
 | 
					            {1425, nullptr, "RequestPostEvents"},
 | 
				
			||||||
            {1432, nullptr, "GetSynchronizationEvent"},
 | 
					            {1432, nullptr, "GetSynchronizationEvent"},
 | 
				
			||||||
            {1451, nullptr, "StartPlayTimer"},
 | 
					            {1451, nullptr, "StartPlayTimer"},
 | 
				
			||||||
            {1452, nullptr, "StopPlayTimer"},
 | 
					            {1452, nullptr, "StopPlayTimer"},
 | 
				
			||||||
 | 
				
			|||||||
@ -42,15 +42,18 @@ private:
 | 
				
			|||||||
class DebugMonitor final : public ServiceFramework<DebugMonitor> {
 | 
					class DebugMonitor final : public ServiceFramework<DebugMonitor> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit DebugMonitor() : ServiceFramework{"pm:dmnt"} {
 | 
					    explicit DebugMonitor() : ServiceFramework{"pm:dmnt"} {
 | 
				
			||||||
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {0, nullptr, "IsDebugMode"},
 | 
					            {0, nullptr, "GetDebugProcesses"},
 | 
				
			||||||
            {1, nullptr, "GetDebugProcesses"},
 | 
					            {1, nullptr, "StartDebugProcess"},
 | 
				
			||||||
            {2, nullptr, "StartDebugProcess"},
 | 
					            {2, nullptr, "GetTitlePid"},
 | 
				
			||||||
            {3, nullptr, "GetTitlePid"},
 | 
					            {3, nullptr, "EnableDebugForTitleId"},
 | 
				
			||||||
            {4, nullptr, "EnableDebugForTitleId"},
 | 
					            {4, nullptr, "GetApplicationPid"},
 | 
				
			||||||
            {5, nullptr, "GetApplicationPid"},
 | 
					            {5, nullptr, "EnableDebugForApplication"},
 | 
				
			||||||
            {6, nullptr, "EnableDebugForApplication"},
 | 
					            {6, nullptr, "DisableDebug"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        RegisterHandlers(functions);
 | 
					        RegisterHandlers(functions);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
@ -68,6 +71,7 @@ public:
 | 
				
			|||||||
class Shell final : public ServiceFramework<Shell> {
 | 
					class Shell final : public ServiceFramework<Shell> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit Shell() : ServiceFramework{"pm:shell"} {
 | 
					    explicit Shell() : ServiceFramework{"pm:shell"} {
 | 
				
			||||||
 | 
					        // clang-format off
 | 
				
			||||||
        static const FunctionInfo functions[] = {
 | 
					        static const FunctionInfo functions[] = {
 | 
				
			||||||
            {0, nullptr, "LaunchProcess"},
 | 
					            {0, nullptr, "LaunchProcess"},
 | 
				
			||||||
            {1, nullptr, "TerminateProcessByPid"},
 | 
					            {1, nullptr, "TerminateProcessByPid"},
 | 
				
			||||||
@ -77,7 +81,10 @@ public:
 | 
				
			|||||||
            {5, nullptr, "NotifyBootFinished"},
 | 
					            {5, nullptr, "NotifyBootFinished"},
 | 
				
			||||||
            {6, nullptr, "GetApplicationPid"},
 | 
					            {6, nullptr, "GetApplicationPid"},
 | 
				
			||||||
            {7, nullptr, "BoostSystemMemoryResourceLimit"},
 | 
					            {7, nullptr, "BoostSystemMemoryResourceLimit"},
 | 
				
			||||||
 | 
					            {8, nullptr, "EnableAdditionalSystemThreads"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        RegisterHandlers(functions);
 | 
					        RegisterHandlers(functions);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -116,6 +116,7 @@ void SET::GetLanguageCode(Kernel::HLERequestContext& ctx) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SET::SET() : ServiceFramework("set") {
 | 
					SET::SET() : ServiceFramework("set") {
 | 
				
			||||||
 | 
					    // clang-format off
 | 
				
			||||||
    static const FunctionInfo functions[] = {
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
        {0, &SET::GetLanguageCode, "GetLanguageCode"},
 | 
					        {0, &SET::GetLanguageCode, "GetLanguageCode"},
 | 
				
			||||||
        {1, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes"},
 | 
					        {1, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes"},
 | 
				
			||||||
@ -126,7 +127,10 @@ SET::SET() : ServiceFramework("set") {
 | 
				
			|||||||
        {6, &SET::GetAvailableLanguageCodeCount2, "GetAvailableLanguageCodeCount2"},
 | 
					        {6, &SET::GetAvailableLanguageCodeCount2, "GetAvailableLanguageCodeCount2"},
 | 
				
			||||||
        {7, nullptr, "GetKeyCodeMap"},
 | 
					        {7, nullptr, "GetKeyCodeMap"},
 | 
				
			||||||
        {8, nullptr, "GetQuestFlag"},
 | 
					        {8, nullptr, "GetQuestFlag"},
 | 
				
			||||||
 | 
					        {9, nullptr, "GetKeyCodeMap2"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -40,7 +40,7 @@ SET_CAL::SET_CAL() : ServiceFramework("set:cal") {
 | 
				
			|||||||
        {30, nullptr, "GetAmiiboEcqvBlsCertificate"},
 | 
					        {30, nullptr, "GetAmiiboEcqvBlsCertificate"},
 | 
				
			||||||
        {31, nullptr, "GetAmiiboEcqvBlsRootCertificate"},
 | 
					        {31, nullptr, "GetAmiiboEcqvBlsRootCertificate"},
 | 
				
			||||||
        {32, nullptr, "GetUsbTypeCPowerSourceCircuitVersion"},
 | 
					        {32, nullptr, "GetUsbTypeCPowerSourceCircuitVersion"},
 | 
				
			||||||
        {33, nullptr, "GetBatteryVersion"},
 | 
					        {41, nullptr, "GetBatteryVersion"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -104,6 +104,7 @@ void SET_SYS::SetColorSetId(Kernel::HLERequestContext& ctx) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SET_SYS::SET_SYS() : ServiceFramework("set:sys") {
 | 
					SET_SYS::SET_SYS() : ServiceFramework("set:sys") {
 | 
				
			||||||
 | 
					    // clang-format off
 | 
				
			||||||
    static const FunctionInfo functions[] = {
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
        {0, nullptr, "SetLanguageCode"},
 | 
					        {0, nullptr, "SetLanguageCode"},
 | 
				
			||||||
        {1, nullptr, "SetNetworkSettings"},
 | 
					        {1, nullptr, "SetNetworkSettings"},
 | 
				
			||||||
@ -252,7 +253,33 @@ SET_SYS::SET_SYS() : ServiceFramework("set:sys") {
 | 
				
			|||||||
        {147, nullptr, "GetConsoleSixAxisSensorAngularAcceleration"},
 | 
					        {147, nullptr, "GetConsoleSixAxisSensorAngularAcceleration"},
 | 
				
			||||||
        {148, nullptr, "SetConsoleSixAxisSensorAngularAcceleration"},
 | 
					        {148, nullptr, "SetConsoleSixAxisSensorAngularAcceleration"},
 | 
				
			||||||
        {149, nullptr, "GetRebootlessSystemUpdateVersion"},
 | 
					        {149, nullptr, "GetRebootlessSystemUpdateVersion"},
 | 
				
			||||||
 | 
					        {150, nullptr, "GetDeviceTimeZoneLocationUpdatedTime"},
 | 
				
			||||||
 | 
					        {151, nullptr, "SetDeviceTimeZoneLocationUpdatedTime"},
 | 
				
			||||||
 | 
					        {152, nullptr, "GetUserSystemClockAutomaticCorrectionUpdatedTime"},
 | 
				
			||||||
 | 
					        {153, nullptr, "SetUserSystemClockAutomaticCorrectionUpdatedTime"},
 | 
				
			||||||
 | 
					        {154, nullptr, "GetAccountOnlineStorageSettings"},
 | 
				
			||||||
 | 
					        {155, nullptr, "SetAccountOnlineStorageSettings"},
 | 
				
			||||||
 | 
					        {156, nullptr, "GetPctlReadyFlag"},
 | 
				
			||||||
 | 
					        {157, nullptr, "SetPctlReadyFlag"},
 | 
				
			||||||
 | 
					        {162, nullptr, "GetPtmBatteryVersion"},
 | 
				
			||||||
 | 
					        {163, nullptr, "SetPtmBatteryVersion"},
 | 
				
			||||||
 | 
					        {164, nullptr, "GetUsb30HostEnableFlag"},
 | 
				
			||||||
 | 
					        {165, nullptr, "SetUsb30HostEnableFlag"},
 | 
				
			||||||
 | 
					        {166, nullptr, "GetUsb30DeviceEnableFlag"},
 | 
				
			||||||
 | 
					        {167, nullptr, "SetUsb30DeviceEnableFlag"},
 | 
				
			||||||
 | 
					        {168, nullptr, "GetThemeId"},
 | 
				
			||||||
 | 
					        {169, nullptr, "SetThemeId"},
 | 
				
			||||||
 | 
					        {170, nullptr, "GetChineseTraditionalInputMethod"},
 | 
				
			||||||
 | 
					        {171, nullptr, "SetChineseTraditionalInputMethod"},
 | 
				
			||||||
 | 
					        {172, nullptr, "GetPtmCycleCountReliability"},
 | 
				
			||||||
 | 
					        {173, nullptr, "SetPtmCycleCountReliability"},
 | 
				
			||||||
 | 
					        {175, nullptr, "GetThemeSettings"},
 | 
				
			||||||
 | 
					        {176, nullptr, "SetThemeSettings"},
 | 
				
			||||||
 | 
					        {177, nullptr, "GetThemeKey"},
 | 
				
			||||||
 | 
					        {178, nullptr, "SetThemeKey"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -73,6 +73,7 @@ void BSD::Close(Kernel::HLERequestContext& ctx) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BSD::BSD(const char* name) : ServiceFramework(name) {
 | 
					BSD::BSD(const char* name) : ServiceFramework(name) {
 | 
				
			||||||
 | 
					    // clang-format off
 | 
				
			||||||
    static const FunctionInfo functions[] = {
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
        {0, &BSD::RegisterClient, "RegisterClient"},
 | 
					        {0, &BSD::RegisterClient, "RegisterClient"},
 | 
				
			||||||
        {1, &BSD::StartMonitoring, "StartMonitoring"},
 | 
					        {1, &BSD::StartMonitoring, "StartMonitoring"},
 | 
				
			||||||
@ -105,7 +106,11 @@ BSD::BSD(const char* name) : ServiceFramework(name) {
 | 
				
			|||||||
        {28, nullptr, "GetResourceStatistics"},
 | 
					        {28, nullptr, "GetResourceStatistics"},
 | 
				
			||||||
        {29, nullptr, "RecvMMsg"},
 | 
					        {29, nullptr, "RecvMMsg"},
 | 
				
			||||||
        {30, nullptr, "SendMMsg"},
 | 
					        {30, nullptr, "SendMMsg"},
 | 
				
			||||||
 | 
					        {31, nullptr, "EventFd"},
 | 
				
			||||||
 | 
					        {32, nullptr, "RegisterResourceStatisticsName"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -103,6 +103,8 @@ public:
 | 
				
			|||||||
            {4, nullptr, "DebugIoctl"},
 | 
					            {4, nullptr, "DebugIoctl"},
 | 
				
			||||||
            {5, &SSL::SetInterfaceVersion, "SetInterfaceVersion"},
 | 
					            {5, &SSL::SetInterfaceVersion, "SetInterfaceVersion"},
 | 
				
			||||||
            {6, nullptr, "FlushSessionCache"},
 | 
					            {6, nullptr, "FlushSessionCache"},
 | 
				
			||||||
 | 
					            {7, nullptr, "SetDebugOption"},
 | 
				
			||||||
 | 
					            {8, nullptr, "GetDebugOption"},
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        // clang-format on
 | 
					        // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,7 @@ namespace Service::Time {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Time::Time(std::shared_ptr<Module> time, const char* name)
 | 
					Time::Time(std::shared_ptr<Module> time, const char* name)
 | 
				
			||||||
    : Module::Interface(std::move(time), name) {
 | 
					    : Module::Interface(std::move(time), name) {
 | 
				
			||||||
 | 
					    // clang-format off
 | 
				
			||||||
    static const FunctionInfo functions[] = {
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
        {0, &Time::GetStandardUserSystemClock, "GetStandardUserSystemClock"},
 | 
					        {0, &Time::GetStandardUserSystemClock, "GetStandardUserSystemClock"},
 | 
				
			||||||
        {1, &Time::GetStandardNetworkSystemClock, "GetStandardNetworkSystemClock"},
 | 
					        {1, &Time::GetStandardNetworkSystemClock, "GetStandardNetworkSystemClock"},
 | 
				
			||||||
@ -15,18 +16,23 @@ Time::Time(std::shared_ptr<Module> time, const char* name)
 | 
				
			|||||||
        {3, &Time::GetTimeZoneService, "GetTimeZoneService"},
 | 
					        {3, &Time::GetTimeZoneService, "GetTimeZoneService"},
 | 
				
			||||||
        {4, &Time::GetStandardLocalSystemClock, "GetStandardLocalSystemClock"},
 | 
					        {4, &Time::GetStandardLocalSystemClock, "GetStandardLocalSystemClock"},
 | 
				
			||||||
        {5, nullptr, "GetEphemeralNetworkSystemClock"},
 | 
					        {5, nullptr, "GetEphemeralNetworkSystemClock"},
 | 
				
			||||||
 | 
					        {20, nullptr, "GetSharedMemoryNativeHandle"},
 | 
				
			||||||
 | 
					        {30, nullptr, "GetStandardNetworkClockOperationEventReadableHandle"},
 | 
				
			||||||
 | 
					        {31, nullptr, "GetEphemeralNetworkClockOperationEventReadableHandle"},
 | 
				
			||||||
        {50, nullptr, "SetStandardSteadyClockInternalOffset"},
 | 
					        {50, nullptr, "SetStandardSteadyClockInternalOffset"},
 | 
				
			||||||
        {100, nullptr, "IsStandardUserSystemClockAutomaticCorrectionEnabled"},
 | 
					        {100, nullptr, "IsStandardUserSystemClockAutomaticCorrectionEnabled"},
 | 
				
			||||||
        {101, nullptr, "SetStandardUserSystemClockAutomaticCorrectionEnabled"},
 | 
					        {101, nullptr, "SetStandardUserSystemClockAutomaticCorrectionEnabled"},
 | 
				
			||||||
        {102, nullptr, "GetStandardUserSystemClockInitialYear"},
 | 
					        {102, nullptr, "GetStandardUserSystemClockInitialYear"},
 | 
				
			||||||
        {200, nullptr, "IsStandardNetworkSystemClockAccuracySufficient"},
 | 
					        {200, nullptr, "IsStandardNetworkSystemClockAccuracySufficient"},
 | 
				
			||||||
 | 
					        {201, nullptr, "GetStandardUserSystemClockAutomaticCorrectionUpdatedTime"},
 | 
				
			||||||
        {300, nullptr, "CalculateMonotonicSystemClockBaseTimePoint"},
 | 
					        {300, nullptr, "CalculateMonotonicSystemClockBaseTimePoint"},
 | 
				
			||||||
        {400, &Time::GetClockSnapshot, "GetClockSnapshot"},
 | 
					        {400, &Time::GetClockSnapshot, "GetClockSnapshot"},
 | 
				
			||||||
        {401, nullptr, "GetClockSnapshotFromSystemClockContext"},
 | 
					        {401, nullptr, "GetClockSnapshotFromSystemClockContext"},
 | 
				
			||||||
        {500, &Time::CalculateStandardUserSystemClockDifferenceByUser,
 | 
					        {500, &Time::CalculateStandardUserSystemClockDifferenceByUser, "CalculateStandardUserSystemClockDifferenceByUser"},
 | 
				
			||||||
         "CalculateStandardUserSystemClockDifferenceByUser"},
 | 
					 | 
				
			||||||
        {501, nullptr, "CalculateSpanBetween"},
 | 
					        {501, nullptr, "CalculateSpanBetween"},
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user