From 39ca7b2928ba130446ba0fd9f0d07eb25baeb4a0 Mon Sep 17 00:00:00 2001
From: Narr the Reg <juangerman-13@hotmail.com>
Date: Fri, 24 Feb 2023 12:52:32 -0600
Subject: [PATCH] core: Update service function tables to 16.0.0+

---
 src/core/hle/service/acc/acc.cpp      |  8 ++++++++
 src/core/hle/service/acc/acc_su.cpp   |  4 ++++
 src/core/hle/service/am/am.cpp        |  6 ++++++
 src/core/hle/service/aoc/aoc_u.cpp    |  3 +++
 src/core/hle/service/audio/hwopus.cpp |  2 ++
 src/core/hle/service/hid/hid.cpp      |  6 ++++++
 src/core/hle/service/hid/hid.h        |  1 +
 src/core/hle/service/ncm/ncm.cpp      |  1 +
 src/core/hle/service/ns/ns.cpp        | 12 ++++++++++--
 src/core/hle/service/sockets/bsd.cpp  |  3 +++
 src/core/hle/service/ssl/ssl.cpp      | 10 ++++++++++
 src/core/hle/service/vi/vi.cpp        |  5 +++++
 src/core/hle/service/vi/vi_m.cpp      |  4 ++++
 13 files changed, 63 insertions(+), 2 deletions(-)

diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp
index 1495d64de..1241fcdff 100644
--- a/src/core/hle/service/acc/acc.cpp
+++ b/src/core/hle/service/acc/acc.cpp
@@ -76,6 +76,8 @@ public:
             {141, nullptr, "RefreshNetworkServiceLicenseCacheAsync"}, // 5.0.0+
             {142, nullptr, "RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed"}, // 5.0.0+
             {150, nullptr, "CreateAuthorizationRequest"},
+            {160, nullptr, "RequiresUpdateNetworkServiceAccountIdTokenCache"},
+            {161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"},
         };
         // clang-format on
 
@@ -136,7 +138,10 @@ public:
             {140, nullptr, "GetNetworkServiceLicenseCache"}, // 5.0.0+
             {141, nullptr, "RefreshNetworkServiceLicenseCacheAsync"}, // 5.0.0+
             {142, nullptr, "RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed"}, // 5.0.0+
+            {143, nullptr, "GetNetworkServiceLicenseCacheEx"},
             {150, nullptr, "CreateAuthorizationRequest"},
+            {160, nullptr, "RequiresUpdateNetworkServiceAccountIdTokenCache"},
+            {161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"},
             {200, nullptr, "IsRegistered"},
             {201, nullptr, "RegisterAsync"},
             {202, nullptr, "UnregisterAsync"},
@@ -242,6 +247,7 @@ public:
             {100, nullptr, "GetRequestWithTheme"},
             {101, nullptr, "IsNetworkServiceAccountReplaced"},
             {199, nullptr, "GetUrlForIntroductionOfExtraMembership"}, // 2.0.0 - 5.1.0
+            {200, nullptr, "ApplyAsyncWithAuthorizedToken"},
         };
         // clang-format on
 
@@ -647,9 +653,11 @@ public:
             {0, nullptr, "EnsureAuthenticationTokenCacheAsync"},
             {1, nullptr, "LoadAuthenticationTokenCache"},
             {2, nullptr, "InvalidateAuthenticationTokenCache"},
+            {3, nullptr, "IsDeviceAuthenticationTokenCacheAvailable"},
             {10, nullptr, "EnsureEdgeTokenCacheAsync"},
             {11, nullptr, "LoadEdgeTokenCache"},
             {12, nullptr, "InvalidateEdgeTokenCache"},
+            {13, nullptr, "IsEdgeTokenCacheAvailable"},
             {20, nullptr, "EnsureApplicationAuthenticationCacheAsync"},
             {21, nullptr, "LoadApplicationAuthenticationTokenCache"},
             {22, nullptr, "LoadApplicationNetworkServiceClientConfigCache"},
diff --git a/src/core/hle/service/acc/acc_su.cpp b/src/core/hle/service/acc/acc_su.cpp
index b6bfd6155..d9882ecd3 100644
--- a/src/core/hle/service/acc/acc_su.cpp
+++ b/src/core/hle/service/acc/acc_su.cpp
@@ -55,6 +55,10 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
         {290, nullptr, "ProxyProcedureForGuestLoginWithNintendoAccount"},
         {291, nullptr, "ProxyProcedureForFloatingRegistrationWithNintendoAccount"},
         {299, nullptr, "SuspendBackgroundDaemon"},
+        {900, nullptr, "SetUserUnqualifiedForDebug"},
+        {901, nullptr, "UnsetUserUnqualifiedForDebug"},
+        {902, nullptr, "ListUsersUnqualifiedForDebug"},
+        {910, nullptr, "RefreshFirmwareSettingsForDebug"},
         {997, nullptr, "DebugInvalidateTokenCacheForUser"},
         {998, nullptr, "DebugSetUserStateClose"},
         {999, nullptr, "DebugSetUserStateOpen"},
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp
index beb2da06e..26af499d2 100644
--- a/src/core/hle/service/am/am.cpp
+++ b/src/core/hle/service/am/am.cpp
@@ -226,6 +226,8 @@ IDebugFunctions::IDebugFunctions(Core::System& system_)
         {30, nullptr, "RequestLaunchApplicationWithUserAndArgumentForDebug"},
         {31, nullptr, "RequestLaunchApplicationByApplicationLaunchInfoForDebug"},
         {40, nullptr, "GetAppletResourceUsageInfo"},
+        {50, nullptr, "AddSystemProgramIdAndAppletIdForDebug"},
+        {51, nullptr, "AddOperationConfirmedLibraryAppletIdForDebug"},
         {100, nullptr, "SetCpuBoostModeForApplet"},
         {101, nullptr, "CancelCpuBoostModeForApplet"},
         {110, nullptr, "PushToAppletBoundChannelForDebug"},
@@ -237,6 +239,8 @@ IDebugFunctions::IDebugFunctions(Core::System& system_)
         {131, nullptr, "FriendInvitationClearApplicationParameter"},
         {132, nullptr, "FriendInvitationPushApplicationParameter"},
         {140, nullptr, "RestrictPowerOperationForSecureLaunchModeForDebug"},
+        {200, nullptr, "CreateFloatingLibraryAppletAccepterForDebug"},
+        {300, nullptr, "TerminateAllRunningApplicationsForDebug"},
         {900, nullptr, "GetGrcProcessLaunchedSystemEvent"},
     };
     // clang-format on
@@ -1855,6 +1859,8 @@ IHomeMenuFunctions::IHomeMenuFunctions(Core::System& system_)
         {31, nullptr, "GetWriterLockAccessorEx"},
         {40, nullptr, "IsSleepEnabled"},
         {41, nullptr, "IsRebootEnabled"},
+        {50, nullptr, "LaunchSystemApplet"},
+        {51, nullptr, "LaunchStarter"},
         {100, nullptr, "PopRequestLaunchApplicationForDebug"},
         {110, nullptr, "IsForceTerminateApplicationDisabledForDebug"},
         {200, nullptr, "LaunchDevMenu"},
diff --git a/src/core/hle/service/aoc/aoc_u.cpp b/src/core/hle/service/aoc/aoc_u.cpp
index 7264f23f9..1bbf057cb 100644
--- a/src/core/hle/service/aoc/aoc_u.cpp
+++ b/src/core/hle/service/aoc/aoc_u.cpp
@@ -129,6 +129,9 @@ AOC_U::AOC_U(Core::System& system_)
         {101, &AOC_U::CreatePermanentEcPurchasedEventManager, "CreatePermanentEcPurchasedEventManager"},
         {110, nullptr, "CreateContentsServiceManager"},
         {200, nullptr, "SetRequiredAddOnContentsOnContentsAvailabilityTransition"},
+        {300, nullptr, "SetupHostAddOnContent"},
+        {301, nullptr, "GetRegisteredAddOnContentPath"},
+        {302, nullptr, "UpdateCachedList"},
     };
     // clang-format on
 
diff --git a/src/core/hle/service/audio/hwopus.cpp b/src/core/hle/service/audio/hwopus.cpp
index e01f87356..3db3fe188 100644
--- a/src/core/hle/service/audio/hwopus.cpp
+++ b/src/core/hle/service/audio/hwopus.cpp
@@ -362,6 +362,8 @@ HwOpus::HwOpus(Core::System& system_) : ServiceFramework{system_, "hwopus"} {
         {5, &HwOpus::GetWorkBufferSizeEx, "GetWorkBufferSizeEx"},
         {6, nullptr, "OpenHardwareOpusDecoderForMultiStreamEx"},
         {7, &HwOpus::GetWorkBufferSizeForMultiStreamEx, "GetWorkBufferSizeForMultiStreamEx"},
+        {8, nullptr, "GetWorkBufferSizeExEx"},
+        {9, nullptr, "GetWorkBufferSizeForMultiStreamExEx"},
     };
     RegisterHandlers(functions);
 }
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index eb3c45a58..8c99cec06 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -63,6 +63,7 @@ IAppletResource::IAppletResource(Core::System& system_,
     MakeControllerWithServiceContext<Controller_NPad>(HidController::NPad, shared_memory);
     MakeController<Controller_Gesture>(HidController::Gesture, shared_memory);
     MakeController<Controller_ConsoleSixAxis>(HidController::ConsoleSixAxisSensor, shared_memory);
+    MakeController<Controller_Stubbed>(HidController::DebugMouse, shared_memory);
     MakeControllerWithServiceContext<Controller_Palma>(HidController::Palma, shared_memory);
 
     // Homebrew doesn't try to activate some controllers, so we activate them by default
@@ -74,6 +75,7 @@ IAppletResource::IAppletResource(Core::System& system_,
     GetController<Controller_Stubbed>(HidController::CaptureButton).SetCommonHeaderOffset(0x5000);
     GetController<Controller_Stubbed>(HidController::InputDetector).SetCommonHeaderOffset(0x5200);
     GetController<Controller_Stubbed>(HidController::UniquePad).SetCommonHeaderOffset(0x5A00);
+    GetController<Controller_Stubbed>(HidController::DebugMouse).SetCommonHeaderOffset(0x3DC00);
 
     // Register update callbacks
     npad_update_event = Core::Timing::CreateEvent(
@@ -236,6 +238,7 @@ Hid::Hid(Core::System& system_)
         {1, &Hid::ActivateDebugPad, "ActivateDebugPad"},
         {11, &Hid::ActivateTouchScreen, "ActivateTouchScreen"},
         {21, &Hid::ActivateMouse, "ActivateMouse"},
+        {26, nullptr, "ActivateDebugMouse"},
         {31, &Hid::ActivateKeyboard, "ActivateKeyboard"},
         {32, &Hid::SendKeyboardLockKeyEvent, "SendKeyboardLockKeyEvent"},
         {40, nullptr, "AcquireXpadIdEventHandle"},
@@ -2380,6 +2383,8 @@ public:
             {20, nullptr, "DeactivateMouse"},
             {21, nullptr, "SetMouseAutoPilotState"},
             {22, nullptr, "UnsetMouseAutoPilotState"},
+            {25, nullptr, "SetDebugMouseAutoPilotState"},
+            {26, nullptr, "UnsetDebugMouseAutoPilotState"},
             {30, nullptr, "DeactivateKeyboard"},
             {31, nullptr, "SetKeyboardAutoPilotState"},
             {32, nullptr, "UnsetKeyboardAutoPilotState"},
@@ -2495,6 +2500,7 @@ public:
             {2000, nullptr, "DeactivateDigitizer"},
             {2001, nullptr, "SetDigitizerAutoPilotState"},
             {2002, nullptr, "UnsetDigitizerAutoPilotState"},
+            {2002, nullptr, "ReloadFirmwareDebugSettings"},
         };
         // clang-format on
 
diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h
index b7c2a23ef..8fc9ed88a 100644
--- a/src/core/hle/service/hid/hid.h
+++ b/src/core/hle/service/hid/hid.h
@@ -33,6 +33,7 @@ enum class HidController : std::size_t {
     NPad,
     Gesture,
     ConsoleSixAxisSensor,
+    DebugMouse,
     Palma,
 
     MaxControllers,
diff --git a/src/core/hle/service/ncm/ncm.cpp b/src/core/hle/service/ncm/ncm.cpp
index 68210a108..4c66cfeba 100644
--- a/src/core/hle/service/ncm/ncm.cpp
+++ b/src/core/hle/service/ncm/ncm.cpp
@@ -124,6 +124,7 @@ public:
             {12, nullptr, "InactivateContentMetaDatabase"},
             {13, nullptr, "InvalidateRightsIdCache"},
             {14, nullptr, "GetMemoryReport"},
+            {15, nullptr, "ActivateFsContentStorage"},
         };
         // clang-format on
 
diff --git a/src/core/hle/service/ns/ns.cpp b/src/core/hle/service/ns/ns.cpp
index f59a1a63d..e53bdde52 100644
--- a/src/core/hle/service/ns/ns.cpp
+++ b/src/core/hle/service/ns/ns.cpp
@@ -159,6 +159,8 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
         {606, nullptr, "GetContentMetaStorage"},
         {607, nullptr, "ListAvailableAddOnContent"},
         {609, nullptr, "ListAvailabilityAssuredAddOnContent"},
+        {610, nullptr, "GetInstalledContentMetaStorage"},
+        {611, nullptr, "PrepareAddOnContent"},
         {700, nullptr, "PushDownloadTaskList"},
         {701, nullptr, "ClearTaskStatusList"},
         {702, nullptr, "RequestDownloadTaskList"},
@@ -228,6 +230,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
         {1900, nullptr, "IsActiveAccount"},
         {1901, nullptr, "RequestDownloadApplicationPrepurchasedRights"},
         {1902, nullptr, "GetApplicationTicketInfo"},
+        {1903, nullptr, "RequestDownloadApplicationPrepurchasedRightsForAccount"},
         {2000, nullptr, "GetSystemDeliveryInfo"},
         {2001, nullptr, "SelectLatestSystemDeliveryInfo"},
         {2002, nullptr, "VerifyDeliveryProtocolVersion"},
@@ -276,8 +279,11 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
         {2352, nullptr, "RequestResolveNoDownloadRightsError"},
         {2353, nullptr, "GetApplicationDownloadTaskInfo"},
         {2354, nullptr, "PrioritizeApplicationBackgroundTask"},
-        {2355, nullptr, "Unknown2355"},
-        {2356, nullptr, "Unknown2356"},
+        {2355, nullptr, "PreferStorageEfficientUpdate"},
+        {2356, nullptr, "RequestStorageEfficientUpdatePreferable"},
+        {2357, nullptr, "EnableMultiCoreDownload"},
+        {2358, nullptr, "DisableMultiCoreDownload"},
+        {2359, nullptr, "IsMultiCoreDownloadEnabled"},
         {2400, nullptr, "GetPromotionInfo"},
         {2401, nullptr, "CountPromotionInfo"},
         {2402, nullptr, "ListPromotionInfo"},
@@ -295,6 +301,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
         {2519, nullptr, "IsQualificationTransitionSupported"},
         {2520, nullptr, "IsQualificationTransitionSupportedByProcessId"},
         {2521, nullptr, "GetRightsUserChangedEvent"},
+        {2522, nullptr, "IsRomRedirectionAvailable"},
         {2800, nullptr, "GetApplicationIdOfPreomia"},
         {3000, nullptr, "RegisterDeviceLockKey"},
         {3001, nullptr, "UnregisterDeviceLockKey"},
@@ -311,6 +318,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
         {3012, nullptr, "IsApplicationTitleHidden"},
         {3013, nullptr, "IsGameCardEnabled"},
         {3014, nullptr, "IsLocalContentShareEnabled"},
+        {3050, nullptr, "ListAssignELicenseTaskResult"},
         {9999, nullptr, "GetApplicationCertificate"},
     };
     // clang-format on
diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp
index bdb499268..330a66409 100644
--- a/src/core/hle/service/sockets/bsd.cpp
+++ b/src/core/hle/service/sockets/bsd.cpp
@@ -954,6 +954,9 @@ BSDCFG::BSDCFG(Core::System& system_) : ServiceFramework{system_, "bsdcfg"} {
         {10, nullptr, "ClearArpEntries"},
         {11, nullptr, "ClearArpEntries2"},
         {12, nullptr, "PrintArpEntries"},
+        {13, nullptr, "Unknown13"},
+        {14, nullptr, "Unknown14"},
+        {15, nullptr, "Unknown15"},
     };
     // clang-format on
 
diff --git a/src/core/hle/service/ssl/ssl.cpp b/src/core/hle/service/ssl/ssl.cpp
index dcf47083f..015208593 100644
--- a/src/core/hle/service/ssl/ssl.cpp
+++ b/src/core/hle/service/ssl/ssl.cpp
@@ -46,6 +46,14 @@ public:
             {25, nullptr, "GetCipherInfo"},
             {26, nullptr, "SetNextAlpnProto"},
             {27, nullptr, "GetNextAlpnProto"},
+            {28, nullptr, "SetDtlsSocketDescriptor"},
+            {29, nullptr, "GetDtlsHandshakeTimeout"},
+            {30, nullptr, "SetPrivateOption"},
+            {31, nullptr, "SetSrtpCiphers"},
+            {32, nullptr, "GetSrtpCipher"},
+            {33, nullptr, "ExportKeyingMaterial"},
+            {34, nullptr, "SetIoTimeout"},
+            {35, nullptr, "GetIoTimeout"},
         };
         // clang-format on
 
@@ -69,6 +77,8 @@ public:
             {9, nullptr, "AddPolicyOid"},
             {10, nullptr, "ImportCrl"},
             {11, nullptr, "RemoveCrl"},
+            {12, nullptr, "ImportClientCertKeyPki"},
+            {13, nullptr, "GeneratePrivateKeyAndCert"},
         };
         RegisterHandlers(functions);
     }
diff --git a/src/core/hle/service/vi/vi.cpp b/src/core/hle/service/vi/vi.cpp
index 2fb631183..0915785d2 100644
--- a/src/core/hle/service/vi/vi.cpp
+++ b/src/core/hle/service/vi/vi.cpp
@@ -249,6 +249,9 @@ public:
             {2053, nullptr, "DestroyIndirectProducerEndPoint"},
             {2054, nullptr, "CreateIndirectConsumerEndPoint"},
             {2055, nullptr, "DestroyIndirectConsumerEndPoint"},
+            {2060, nullptr, "CreateWatermarkCompositor"},
+            {2062, nullptr, "SetWatermarkText"},
+            {2063, nullptr, "SetWatermarkLayerStacks"},
             {2300, nullptr, "AcquireLayerTexturePresentingEvent"},
             {2301, nullptr, "ReleaseLayerTexturePresentingEvent"},
             {2302, nullptr, "GetDisplayHotplugEvent"},
@@ -279,6 +282,8 @@ public:
             {6011, nullptr, "EnableLayerAutoClearTransitionBuffer"},
             {6012, nullptr, "DisableLayerAutoClearTransitionBuffer"},
             {6013, nullptr, "SetLayerOpacity"},
+            {6014, nullptr, "AttachLayerWatermarkCompositor"},
+            {6015, nullptr, "DetachLayerWatermarkCompositor"},
             {7000, nullptr, "SetContentVisibility"},
             {8000, nullptr, "SetConductorLayer"},
             {8001, nullptr, "SetTimestampTracking"},
diff --git a/src/core/hle/service/vi/vi_m.cpp b/src/core/hle/service/vi/vi_m.cpp
index 1ab7fe4ab..7ca44354b 100644
--- a/src/core/hle/service/vi/vi_m.cpp
+++ b/src/core/hle/service/vi/vi_m.cpp
@@ -14,6 +14,10 @@ VI_M::VI_M(Core::System& system_, NVFlinger::NVFlinger& nv_flinger_,
     static const FunctionInfo functions[] = {
         {2, &VI_M::GetDisplayService, "GetDisplayService"},
         {3, nullptr, "GetDisplayServiceWithProxyNameExchange"},
+        {100, nullptr, "PrepareFatal"},
+        {101, nullptr, "ShowFatal"},
+        {102, nullptr, "DrawFatalRectangle"},
+        {103, nullptr, "DrawFatalText32"},
     };
     RegisterHandlers(functions);
 }