Merge pull request #4203 from VolcaEM/services
service: Update function tables
This commit is contained in:
		
						commit
						a0ee597b19
					
				| @ -121,11 +121,83 @@ public: | ||||
|             {39, nullptr, "PrepareShutdown"}, | ||||
|             {40, nullptr, "ListApplyDeltaTask"}, | ||||
|             {41, nullptr, "ClearNotEnoughSpaceStateOfApplyDeltaTask"}, | ||||
|             {42, nullptr, "Unknown1"}, | ||||
|             {43, nullptr, "Unknown2"}, | ||||
|             {44, nullptr, "Unknown3"}, | ||||
|             {45, nullptr, "Unknown4"}, | ||||
|             {46, nullptr, "Unknown5"}, | ||||
|             {42, nullptr, "Unknown42"}, | ||||
|             {43, nullptr, "Unknown43"}, | ||||
|             {44, nullptr, "Unknown44"}, | ||||
|             {45, nullptr, "Unknown45"}, | ||||
|             {46, nullptr, "Unknown46"}, | ||||
|             {47, nullptr, "Unknown47"}, | ||||
|             {48, nullptr, "Unknown48"}, | ||||
|             {49, nullptr, "Unknown49"}, | ||||
|             {50, nullptr, "Unknown50"}, | ||||
|             {51, nullptr, "Unknown51"}, | ||||
|             {52, nullptr, "Unknown52"}, | ||||
|             {53, nullptr, "Unknown53"}, | ||||
|             {54, nullptr, "Unknown54"}, | ||||
|             {55, nullptr, "Unknown55"}, | ||||
|             {56, nullptr, "Unknown56"}, | ||||
|             {57, nullptr, "Unknown57"}, | ||||
|             {58, nullptr, "Unknown58"}, | ||||
|             {59, nullptr, "Unknown59"}, | ||||
|             {60, nullptr, "Unknown60"}, | ||||
|             {61, nullptr, "Unknown61"}, | ||||
|             {62, nullptr, "Unknown62"}, | ||||
|             {63, nullptr, "Unknown63"}, | ||||
|             {64, nullptr, "Unknown64"}, | ||||
|             {65, nullptr, "Unknown65"}, | ||||
|             {66, nullptr, "Unknown66"}, | ||||
|             {67, nullptr, "Unknown67"}, | ||||
|             {68, nullptr, "Unknown68"}, | ||||
|             {69, nullptr, "Unknown69"}, | ||||
|             {70, nullptr, "Unknown70"}, | ||||
|             {71, nullptr, "Unknown71"}, | ||||
|             {72, nullptr, "Unknown72"}, | ||||
|             {73, nullptr, "Unknown73"}, | ||||
|             {74, nullptr, "Unknown74"}, | ||||
|             {75, nullptr, "Unknown75"}, | ||||
|             {76, nullptr, "Unknown76"}, | ||||
|             {77, nullptr, "Unknown77"}, | ||||
|             {78, nullptr, "Unknown78"}, | ||||
|             {79, nullptr, "Unknown79"}, | ||||
|             {80, nullptr, "Unknown80"}, | ||||
|             {81, nullptr, "Unknown81"}, | ||||
|             {82, nullptr, "Unknown82"}, | ||||
|             {83, nullptr, "Unknown83"}, | ||||
|             {84, nullptr, "Unknown84"}, | ||||
|             {85, nullptr, "Unknown85"}, | ||||
|             {86, nullptr, "Unknown86"}, | ||||
|             {87, nullptr, "Unknown87"}, | ||||
|             {88, nullptr, "Unknown88"}, | ||||
|             {89, nullptr, "Unknown89"}, | ||||
|             {90, nullptr, "Unknown90"}, | ||||
|             {91, nullptr, "Unknown91"}, | ||||
|             {92, nullptr, "Unknown92"}, | ||||
|             {93, nullptr, "Unknown93"}, | ||||
|             {94, nullptr, "Unknown94"}, | ||||
|             {95, nullptr, "Unknown95"}, | ||||
|             {96, nullptr, "Unknown96"}, | ||||
|             {97, nullptr, "Unknown97"}, | ||||
|             {98, nullptr, "Unknown98"}, | ||||
|             {99, nullptr, "Unknown99"}, | ||||
|             {100, nullptr, "Unknown100"}, | ||||
|             {101, nullptr, "Unknown101"}, | ||||
|             {102, nullptr, "Unknown102"}, | ||||
|             {103, nullptr, "Unknown103"}, | ||||
|             {104, nullptr, "Unknown104"}, | ||||
|             {105, nullptr, "Unknown105"}, | ||||
|             {106, nullptr, "Unknown106"}, | ||||
|             {107, nullptr, "Unknown107"}, | ||||
|             {108, nullptr, "Unknown108"}, | ||||
|             {109, nullptr, "Unknown109"}, | ||||
|             {110, nullptr, "Unknown110"}, | ||||
|             {111, nullptr, "Unknown111"}, | ||||
|             {112, nullptr, "Unknown112"}, | ||||
|             {113, nullptr, "Unknown113"}, | ||||
|             {114, nullptr, "Unknown114"}, | ||||
|             {115, nullptr, "Unknown115"}, | ||||
|             {116, nullptr, "Unknown116"}, | ||||
|             {117, nullptr, "Unknown117"}, | ||||
|             {118, nullptr, "Unknown118"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
| @ -142,6 +214,7 @@ public: | ||||
|             {1, nullptr, "RefreshDebugAvailability"}, | ||||
|             {2, nullptr, "ClearDebugResponse"}, | ||||
|             {3, nullptr, "RegisterDebugResponse"}, | ||||
|             {4, nullptr, "IsLargeResourceAvailable"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
| @ -164,6 +237,8 @@ public: | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "RequestDeviceAuthenticationToken"}, | ||||
|             {1, nullptr, "RequestCachedDeviceAuthenticationToken"}, | ||||
|             {2, nullptr, "RequestEdgeToken"}, | ||||
|             {3, nullptr, "RequestCachedEdgeToken"}, | ||||
|             {100, nullptr, "RequestRegisterDeviceAccount"}, | ||||
|             {101, nullptr, "RequestUnregisterDeviceAccount"}, | ||||
|             {102, nullptr, "RequestDeviceAccountStatus"}, | ||||
| @ -181,7 +256,8 @@ public: | ||||
|             {305, nullptr, "RequestCreateVirtualAccount"}, | ||||
|             {306, nullptr, "RequestDeviceLinkStatus"}, | ||||
|             {400, nullptr, "GetAccountByVirtualAccount"}, | ||||
|             {500, nullptr, "RequestSyncTicket"}, | ||||
|             {401, nullptr, "GetVirtualAccount"}, | ||||
|             {500, nullptr, "RequestSyncTicketLegacy"}, | ||||
|             {501, nullptr, "RequestDownloadTicket"}, | ||||
|             {502, nullptr, "RequestDownloadTicketForPrepurchasedContents"}, | ||||
|             {503, nullptr, "RequestSyncTicket"}, | ||||
|  | ||||
| @ -30,6 +30,7 @@ public: | ||||
|             {23, nullptr, "DestroyToken"}, | ||||
|             {24, nullptr, "DestroyTokenWithApplicationId"}, | ||||
|             {25, nullptr, "QueryIsTokenValid"}, | ||||
|             {26, nullptr, "ListenToMyApplicationId"}, | ||||
|             {31, nullptr, "UploadTokenToBaaS"}, | ||||
|             {32, nullptr, "DestroyTokenForBaaS"}, | ||||
|             {33, nullptr, "CreateTokenForBaaS"}, | ||||
|  | ||||
| @ -104,7 +104,7 @@ IApplicationManagerInterface::IApplicationManagerInterface() | ||||
|         {94, nullptr, "LaunchApplication"}, | ||||
|         {95, nullptr, "GetApplicationLaunchInfo"}, | ||||
|         {96, nullptr, "AcquireApplicationLaunchInfo"}, | ||||
|         {97, nullptr, "GetMainApplicationProgramIndex2"}, | ||||
|         {97, nullptr, "GetMainApplicationProgramIndexByApplicationLaunchInfo"}, | ||||
|         {98, nullptr, "EnableApplicationAllThreadDumpOnCrash"}, | ||||
|         {99, nullptr, "LaunchDevMenu"}, | ||||
|         {100, nullptr, "ResetToFactorySettings"}, | ||||
| @ -254,7 +254,7 @@ IApplicationManagerInterface::IApplicationManagerInterface() | ||||
|         {2170, nullptr, "GetRightsEnvironmentStatus"}, | ||||
|         {2171, nullptr, "GetRightsEnvironmentStatusChangedEvent"}, | ||||
|         {2180, nullptr, "RequestExtendRightsInRightsEnvironment"}, | ||||
|         {2181, nullptr, "GetLastResultOfExtendRightsInRightsEnvironment"}, | ||||
|         {2181, nullptr, "GetResultOfExtendRightsInRightsEnvironment"}, | ||||
|         {2182, nullptr, "SetActiveRightsContextUsingStateToRightsEnvironment"}, | ||||
|         {2190, nullptr, "GetRightsEnvironmentHandleForApplication"}, | ||||
|         {2199, nullptr, "GetRightsEnvironmentCountForDebug"}, | ||||
| @ -446,8 +446,8 @@ IApplicationVersionInterface::IApplicationVersionInterface() | ||||
| 
 | ||||
| IApplicationVersionInterface::~IApplicationVersionInterface() = default; | ||||
| 
 | ||||
| IContentManagerInterface::IContentManagerInterface() | ||||
|     : ServiceFramework{"IContentManagerInterface"} { | ||||
| IContentManagementInterface::IContentManagementInterface() | ||||
|     : ServiceFramework{"IContentManagementInterface"} { | ||||
|     // clang-format off
 | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {11, nullptr, "CalculateApplicationOccupiedSize"}, | ||||
| @ -464,7 +464,7 @@ IContentManagerInterface::IContentManagerInterface() | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
| 
 | ||||
| IContentManagerInterface::~IContentManagerInterface() = default; | ||||
| IContentManagementInterface::~IContentManagementInterface() = default; | ||||
| 
 | ||||
| IDocumentInterface::IDocumentInterface() : ServiceFramework{"IDocumentInterface"} { | ||||
|     // clang-format off
 | ||||
| @ -546,7 +546,7 @@ NS::NS(const char* name) : ServiceFramework{name} { | ||||
|         {7995, &NS::PushInterface<IAccountProxyInterface>, "GetAccountProxyInterface"}, | ||||
|         {7996, &NS::PushInterface<IApplicationManagerInterface>, "GetApplicationManagerInterface"}, | ||||
|         {7997, &NS::PushInterface<IDownloadTaskInterface>, "GetDownloadTaskInterface"}, | ||||
|         {7998, &NS::PushInterface<IContentManagerInterface>, "GetContentManagementInterface"}, | ||||
|         {7998, &NS::PushInterface<IContentManagementInterface>, "GetContentManagementInterface"}, | ||||
|         {7999, &NS::PushInterface<IDocumentInterface>, "GetDocumentInterface"}, | ||||
|     }; | ||||
|     // clang-format on
 | ||||
| @ -573,9 +573,9 @@ public: | ||||
|             {6, nullptr, "TerminateApplication"}, | ||||
|             {7, nullptr, "PrepareLaunchProgramFromHost"}, | ||||
|             {8, nullptr, "LaunchApplication"}, | ||||
|             {9, nullptr, "LaunchApplicationWithStorageId"}, | ||||
|             {10, nullptr, "TerminateApplication2"}, | ||||
|             {11, nullptr, "GetRunningApplicationProcessId"}, | ||||
|             {9, nullptr, "LaunchApplicationWithStorageIdForDevelop"}, | ||||
|             {10, nullptr, "IsSystemMemoryResourceLimitBoosted"}, | ||||
|             {11, nullptr, "GetRunningApplicationProcessIdForDevelop"}, | ||||
|             {12, nullptr, "SetCurrentApplicationRightsEnvironmentCanBeActive"}, | ||||
|             {13, nullptr, "CreateApplicationResourceForDevelop"}, | ||||
|             {14, nullptr, "IsPreomiaForDevelop"}, | ||||
| @ -637,6 +637,10 @@ public: | ||||
|             {9, nullptr, "GetSystemUpdateNotificationEventForContentDelivery"}, | ||||
|             {10, nullptr, "NotifySystemUpdateForContentDelivery"}, | ||||
|             {11, nullptr, "PrepareShutdown"}, | ||||
|             {12, nullptr, "Unknown12"}, | ||||
|             {13, nullptr, "Unknown13"}, | ||||
|             {14, nullptr, "Unknown14"}, | ||||
|             {15, nullptr, "Unknown15"}, | ||||
|             {16, nullptr, "DestroySystemUpdateTask"}, | ||||
|             {17, nullptr, "RequestSendSystemUpdate"}, | ||||
|             {18, nullptr, "GetSendSystemUpdateProgress"}, | ||||
|  | ||||
| @ -40,10 +40,10 @@ public: | ||||
|     ~IApplicationVersionInterface() override; | ||||
| }; | ||||
| 
 | ||||
| class IContentManagerInterface final : public ServiceFramework<IContentManagerInterface> { | ||||
| class IContentManagementInterface final : public ServiceFramework<IContentManagementInterface> { | ||||
| public: | ||||
|     explicit IContentManagerInterface(); | ||||
|     ~IContentManagerInterface() override; | ||||
|     explicit IContentManagementInterface(); | ||||
|     ~IContentManagementInterface() override; | ||||
| }; | ||||
| 
 | ||||
| class IDocumentInterface final : public ServiceFramework<IDocumentInterface> { | ||||
|  | ||||
| @ -163,7 +163,7 @@ PL_U::PL_U(Core::System& system) | ||||
|         {5, &PL_U::GetSharedFontInOrderOfPriority, "GetSharedFontInOrderOfPriority"}, | ||||
|         {6, nullptr, "GetSharedFontInOrderOfPriorityForSystem"}, | ||||
|         {100, nullptr, "RequestApplicationFunctionAuthorization"}, | ||||
|         {101, nullptr, "RequestApplicationFunctionAuthorizationForSystem"}, | ||||
|         {101, nullptr, "RequestApplicationFunctionAuthorizationByProcessId"}, | ||||
|         {102, nullptr, "RequestApplicationFunctionAuthorizationByApplicationId"}, | ||||
|         {1000, nullptr, "LoadNgWordDataForPlatformRegionChina"}, | ||||
|         {1001, nullptr, "GetNgWordDataSizeForPlatformRegionChina"}, | ||||
|  | ||||
| @ -144,7 +144,7 @@ void NVDRV::QueryEvent(Kernel::HLERequestContext& ctx) { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| void NVDRV::SetClientPID(Kernel::HLERequestContext& ctx) { | ||||
| void NVDRV::SetAruid(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::RequestParser rp{ctx}; | ||||
|     pid = rp.Pop<u64>(); | ||||
|     LOG_WARNING(Service_NVDRV, "(STUBBED) called, pid=0x{:X}", pid); | ||||
| @ -154,7 +154,7 @@ void NVDRV::SetClientPID(Kernel::HLERequestContext& ctx) { | ||||
|     rb.Push<u32>(0); | ||||
| } | ||||
| 
 | ||||
| void NVDRV::FinishInitialize(Kernel::HLERequestContext& ctx) { | ||||
| void NVDRV::SetGraphicsFirmwareMemoryMarginEnabled(Kernel::HLERequestContext& ctx) { | ||||
|     LOG_WARNING(Service_NVDRV, "(STUBBED) called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2}; | ||||
| @ -187,13 +187,14 @@ NVDRV::NVDRV(std::shared_ptr<Module> nvdrv, const char* name) | ||||
|         {4, &NVDRV::QueryEvent, "QueryEvent"}, | ||||
|         {5, nullptr, "MapSharedMem"}, | ||||
|         {6, &NVDRV::GetStatus, "GetStatus"}, | ||||
|         {7, nullptr, "ForceSetClientPID"}, | ||||
|         {8, &NVDRV::SetClientPID, "SetClientPID"}, | ||||
|         {7, nullptr, "SetAruidForTest"}, | ||||
|         {8, &NVDRV::SetAruid, "SetAruid"}, | ||||
|         {9, &NVDRV::DumpGraphicsMemoryInfo, "DumpGraphicsMemoryInfo"}, | ||||
|         {10, nullptr, "InitializeDevtools"}, | ||||
|         {11, &NVDRV::Ioctl2, "Ioctl2"}, | ||||
|         {12, &NVDRV::Ioctl3, "Ioctl3"}, | ||||
|         {13, &NVDRV::FinishInitialize, "FinishInitialize"}, | ||||
|         {13, &NVDRV::SetGraphicsFirmwareMemoryMarginEnabled, | ||||
|          "SetGraphicsFirmwareMemoryMarginEnabled"}, | ||||
|     }; | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
|  | ||||
| @ -29,8 +29,8 @@ private: | ||||
|     void Close(Kernel::HLERequestContext& ctx); | ||||
|     void Initialize(Kernel::HLERequestContext& ctx); | ||||
|     void QueryEvent(Kernel::HLERequestContext& ctx); | ||||
|     void SetClientPID(Kernel::HLERequestContext& ctx); | ||||
|     void FinishInitialize(Kernel::HLERequestContext& ctx); | ||||
|     void SetAruid(Kernel::HLERequestContext& ctx); | ||||
|     void SetGraphicsFirmwareMemoryMarginEnabled(Kernel::HLERequestContext& ctx); | ||||
|     void GetStatus(Kernel::HLERequestContext& ctx); | ||||
|     void DumpGraphicsMemoryInfo(Kernel::HLERequestContext& ctx); | ||||
|     void IoctlBase(Kernel::HLERequestContext& ctx, IoctlVersion version); | ||||
|  | ||||
| @ -10,19 +10,19 @@ namespace Service::Nvidia { | ||||
| 
 | ||||
| NVMEMP::NVMEMP() : ServiceFramework("nvmemp") { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {0, &NVMEMP::Cmd0, "Cmd0"}, | ||||
|         {1, &NVMEMP::Cmd1, "Cmd1"}, | ||||
|         {0, &NVMEMP::Open, "Open"}, | ||||
|         {1, &NVMEMP::GetAruid, "GetAruid"}, | ||||
|     }; | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
| 
 | ||||
| NVMEMP::~NVMEMP() = default; | ||||
| 
 | ||||
| void NVMEMP::Cmd0(Kernel::HLERequestContext& ctx) { | ||||
| void NVMEMP::Open(Kernel::HLERequestContext& ctx) { | ||||
|     UNIMPLEMENTED(); | ||||
| } | ||||
| 
 | ||||
| void NVMEMP::Cmd1(Kernel::HLERequestContext& ctx) { | ||||
| void NVMEMP::GetAruid(Kernel::HLERequestContext& ctx) { | ||||
|     UNIMPLEMENTED(); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -14,8 +14,8 @@ public: | ||||
|     ~NVMEMP() override; | ||||
| 
 | ||||
| private: | ||||
|     void Cmd0(Kernel::HLERequestContext& ctx); | ||||
|     void Cmd1(Kernel::HLERequestContext& ctx); | ||||
|     void Open(Kernel::HLERequestContext& ctx); | ||||
|     void GetAruid(Kernel::HLERequestContext& ctx); | ||||
| }; | ||||
| 
 | ||||
| } // namespace Service::Nvidia
 | ||||
|  | ||||
| @ -36,6 +36,9 @@ public: | ||||
|             {18, nullptr, "ReleaseIrq"}, | ||||
|             {19, nullptr, "SetIrqEnable"}, | ||||
|             {20, nullptr, "SetAspmEnable"}, | ||||
|             {21, nullptr, "SetResetUponResumeEnable"}, | ||||
|             {22, nullptr, "Unknown22"}, | ||||
|             {23, nullptr, "Unknown23"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
|  | ||||
| @ -42,6 +42,9 @@ public: | ||||
|             {24, nullptr, "GetModuleStateTable"}, | ||||
|             {25, nullptr, "GetPowerDomainStateTable"}, | ||||
|             {26, nullptr, "GetFuseInfo"}, | ||||
|             {27, nullptr, "GetDramId"}, | ||||
|             {28, nullptr, "IsPoweredOn"}, | ||||
|             {29, nullptr, "GetVoltage"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
|  | ||||
| @ -78,13 +78,13 @@ public: | ||||
|         : ServiceFramework{"pm:dmnt"}, kernel(kernel) { | ||||
|         // clang-format off
 | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "GetDebugProcesses"}, | ||||
|             {1, nullptr, "StartDebugProcess"}, | ||||
|             {2, &DebugMonitor::GetTitlePid, "GetTitlePid"}, | ||||
|             {3, nullptr, "EnableDebugForTitleId"}, | ||||
|             {4, &DebugMonitor::GetApplicationPid, "GetApplicationPid"}, | ||||
|             {5, nullptr, "EnableDebugForApplication"}, | ||||
|             {6, nullptr, "DisableDebug"}, | ||||
|             {0, nullptr, "GetJitDebugProcessIdList"}, | ||||
|             {1, nullptr, "StartProcess"}, | ||||
|             {2, &DebugMonitor::GetProcessId, "GetProcessId"}, | ||||
|             {3, nullptr, "HookToCreateProcess"}, | ||||
|             {4, &DebugMonitor::GetApplicationProcessId, "GetApplicationProcessId"}, | ||||
|             {5, nullptr, "HookToCreateApplicationProgress"}, | ||||
|             {6, nullptr, "ClearHook"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
| @ -92,7 +92,7 @@ public: | ||||
|     } | ||||
| 
 | ||||
| private: | ||||
|     void GetTitlePid(Kernel::HLERequestContext& ctx) { | ||||
|     void GetProcessId(Kernel::HLERequestContext& ctx) { | ||||
|         IPC::RequestParser rp{ctx}; | ||||
|         const auto title_id = rp.PopRaw<u64>(); | ||||
| 
 | ||||
| @ -114,7 +114,7 @@ private: | ||||
|         rb.Push((*process)->GetProcessID()); | ||||
|     } | ||||
| 
 | ||||
|     void GetApplicationPid(Kernel::HLERequestContext& ctx) { | ||||
|     void GetApplicationProcessId(Kernel::HLERequestContext& ctx) { | ||||
|         LOG_DEBUG(Service_PM, "called"); | ||||
|         GetApplicationPidGeneric(ctx, kernel.GetProcessList()); | ||||
|     } | ||||
| @ -163,15 +163,15 @@ public: | ||||
|         : ServiceFramework{"pm:shell"}, kernel(kernel) { | ||||
|         // clang-format off
 | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "LaunchProcess"}, | ||||
|             {1, nullptr, "TerminateProcessByPid"}, | ||||
|             {2, nullptr, "TerminateProcessByTitleId"}, | ||||
|             {3, nullptr, "GetProcessEventWaiter"}, | ||||
|             {4, nullptr, "GetProcessEventType"}, | ||||
|             {0, nullptr, "LaunchProgram"}, | ||||
|             {1, nullptr, "TerminateProcess"}, | ||||
|             {2, nullptr, "TerminateProgram"}, | ||||
|             {3, nullptr, "GetProcessEventHandle"}, | ||||
|             {4, nullptr, "GetProcessEventInfo"}, | ||||
|             {5, nullptr, "NotifyBootFinished"}, | ||||
|             {6, &Shell::GetApplicationPid, "GetApplicationPid"}, | ||||
|             {6, &Shell::GetApplicationProcessIdForShell, "GetApplicationProcessIdForShell"}, | ||||
|             {7, nullptr, "BoostSystemMemoryResourceLimit"}, | ||||
|             {8, nullptr, "EnableAdditionalSystemThreads"}, | ||||
|             {8, nullptr, "BoostApplicationThreadResourceLimit"}, | ||||
|             {9, nullptr, "GetBootFinishedEventHandle"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| @ -180,7 +180,7 @@ public: | ||||
|     } | ||||
| 
 | ||||
| private: | ||||
|     void GetApplicationPid(Kernel::HLERequestContext& ctx) { | ||||
|     void GetApplicationProcessIdForShell(Kernel::HLERequestContext& ctx) { | ||||
|         LOG_DEBUG(Service_PM, "called"); | ||||
|         GetApplicationPidGeneric(ctx, kernel.GetProcessList()); | ||||
|     } | ||||
|  | ||||
| @ -42,6 +42,11 @@ public: | ||||
|             {40101, nullptr, "SetUserAgreementCheckEnabled"}, | ||||
|             {50100, nullptr, "ReadAllApplicationReportFiles"}, | ||||
|             {90100, nullptr, "ReadAllReportFiles"}, | ||||
|             {90101, nullptr, "Unknown90101"}, | ||||
|             {90102, nullptr, "Unknown90102"}, | ||||
|             {90200, nullptr, "GetStatistics"}, | ||||
|             {90201, nullptr, "GetThroughputHistory"}, | ||||
|             {90300, nullptr, "GetLastUploadError"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
|  | ||||
| @ -24,6 +24,8 @@ public: | ||||
|             {4, nullptr, "Cancel"}, | ||||
|             {5, nullptr, "PrintModuleInformation"}, | ||||
|             {6, nullptr, "GetModuleInformation"}, | ||||
|             {10, nullptr, "Unknown10"}, | ||||
|             {11, nullptr, "Unknown11"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
|  | ||||
| @ -35,6 +35,7 @@ public: | ||||
|             {15, nullptr, "GetBatteryAgePercentage"}, | ||||
|             {16, nullptr, "GetBatteryChargeInfoEvent"}, | ||||
|             {17, nullptr, "GetBatteryChargeInfoFields"}, | ||||
|             {18, nullptr, "GetBatteryChargeCalibratedEvent"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| 
 | ||||
| namespace Service::SM { | ||||
| 
 | ||||
| void Controller::ConvertSessionToDomain(Kernel::HLERequestContext& ctx) { | ||||
| void Controller::ConvertCurrentObjectToDomain(Kernel::HLERequestContext& ctx) { | ||||
|     ASSERT_MSG(ctx.Session()->IsSession(), "Session is already a domain"); | ||||
|     LOG_DEBUG(Service, "called, server_session={}", ctx.Session()->GetObjectId()); | ||||
|     ctx.Session()->ConvertToDomain(); | ||||
| @ -22,7 +22,7 @@ void Controller::ConvertSessionToDomain(Kernel::HLERequestContext& ctx) { | ||||
|     rb.Push<u32>(1); // Converted sessions start with 1 request handler
 | ||||
| } | ||||
| 
 | ||||
| void Controller::DuplicateSession(Kernel::HLERequestContext& ctx) { | ||||
| void Controller::CloneCurrentObject(Kernel::HLERequestContext& ctx) { | ||||
|     // TODO(bunnei): This is just creating a new handle to the same Session. I assume this is wrong
 | ||||
|     // and that we probably want to actually make an entirely new Session, but we still need to
 | ||||
|     // verify this on hardware.
 | ||||
| @ -33,10 +33,10 @@ void Controller::DuplicateSession(Kernel::HLERequestContext& ctx) { | ||||
|     rb.PushMoveObjects(ctx.Session()->GetParent()->Client()); | ||||
| } | ||||
| 
 | ||||
| void Controller::DuplicateSessionEx(Kernel::HLERequestContext& ctx) { | ||||
|     LOG_WARNING(Service, "(STUBBED) called, using DuplicateSession"); | ||||
| void Controller::CloneCurrentObjectEx(Kernel::HLERequestContext& ctx) { | ||||
|     LOG_WARNING(Service, "(STUBBED) called, using CloneCurrentObject"); | ||||
| 
 | ||||
|     DuplicateSession(ctx); | ||||
|     CloneCurrentObject(ctx); | ||||
| } | ||||
| 
 | ||||
| void Controller::QueryPointerBufferSize(Kernel::HLERequestContext& ctx) { | ||||
| @ -47,13 +47,14 @@ void Controller::QueryPointerBufferSize(Kernel::HLERequestContext& ctx) { | ||||
|     rb.Push<u16>(0x1000); | ||||
| } | ||||
| 
 | ||||
| // https://switchbrew.org/wiki/IPC_Marshalling
 | ||||
| Controller::Controller() : ServiceFramework("IpcController") { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {0x00000000, &Controller::ConvertSessionToDomain, "ConvertSessionToDomain"}, | ||||
|         {0x00000001, nullptr, "ConvertDomainToSession"}, | ||||
|         {0x00000002, &Controller::DuplicateSession, "DuplicateSession"}, | ||||
|         {0x00000003, &Controller::QueryPointerBufferSize, "QueryPointerBufferSize"}, | ||||
|         {0x00000004, &Controller::DuplicateSessionEx, "DuplicateSessionEx"}, | ||||
|         {0, &Controller::ConvertCurrentObjectToDomain, "ConvertCurrentObjectToDomain"}, | ||||
|         {1, nullptr, "CopyFromCurrentDomain"}, | ||||
|         {2, &Controller::CloneCurrentObject, "CloneCurrentObject"}, | ||||
|         {3, &Controller::QueryPointerBufferSize, "QueryPointerBufferSize"}, | ||||
|         {4, &Controller::CloneCurrentObjectEx, "CloneCurrentObjectEx"}, | ||||
|     }; | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
|  | ||||
| @ -14,9 +14,9 @@ public: | ||||
|     ~Controller() override; | ||||
| 
 | ||||
| private: | ||||
|     void ConvertSessionToDomain(Kernel::HLERequestContext& ctx); | ||||
|     void DuplicateSession(Kernel::HLERequestContext& ctx); | ||||
|     void DuplicateSessionEx(Kernel::HLERequestContext& ctx); | ||||
|     void ConvertCurrentObjectToDomain(Kernel::HLERequestContext& ctx); | ||||
|     void CloneCurrentObject(Kernel::HLERequestContext& ctx); | ||||
|     void CloneCurrentObjectEx(Kernel::HLERequestContext& ctx); | ||||
|     void QueryPointerBufferSize(Kernel::HLERequestContext& ctx); | ||||
| }; | ||||
| 
 | ||||
|  | ||||
| @ -14,6 +14,7 @@ NSD::NSD(const char* name) : ServiceFramework(name) { | ||||
|         {12, nullptr, "GetDeviceId"}, | ||||
|         {13, nullptr, "DeleteSettings"}, | ||||
|         {14, nullptr, "ImportSettings"}, | ||||
|         {15, nullptr, "SetChangeEnvironmentIdentifierDisabled"}, | ||||
|         {20, nullptr, "Resolve"}, | ||||
|         {21, nullptr, "ResolveEx"}, | ||||
|         {30, nullptr, "GetNasServiceSetting"}, | ||||
| @ -28,6 +29,11 @@ NSD::NSD(const char* name) : ServiceFramework(name) { | ||||
|         {60, nullptr, "ReadSaveDataFromFsForTest"}, | ||||
|         {61, nullptr, "WriteSaveDataToFsForTest"}, | ||||
|         {62, nullptr, "DeleteSaveDataOfFsForTest"}, | ||||
|         {63, nullptr, "IsChangeEnvironmentIdentifierDisabled"}, | ||||
|         {64, nullptr, "SetWithoutDomainExchangeFqdns"}, | ||||
|         {100, nullptr, "GetApplicationServerEnvironmentType"}, | ||||
|         {101, nullptr, "SetApplicationServerEnvironmentType"}, | ||||
|         {102, nullptr, "DeleteApplicationServerEnvironmentType"}, | ||||
|     }; | ||||
|     // clang-format on
 | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
| 
 | ||||
| namespace Service::Sockets { | ||||
| 
 | ||||
| void SFDNSRES::GetAddrInfo(Kernel::HLERequestContext& ctx) { | ||||
| void SFDNSRES::GetAddrInfoRequest(Kernel::HLERequestContext& ctx) { | ||||
|     struct Parameters { | ||||
|         u8 use_nsd_resolve; | ||||
|         u32 unknown; | ||||
| @ -29,15 +29,20 @@ SFDNSRES::SFDNSRES() : ServiceFramework("sfdnsres") { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {0, nullptr, "SetDnsAddressesPrivate"}, | ||||
|         {1, nullptr, "GetDnsAddressPrivate"}, | ||||
|         {2, nullptr, "GetHostByName"}, | ||||
|         {3, nullptr, "GetHostByAddr"}, | ||||
|         {4, nullptr, "GetHostStringError"}, | ||||
|         {5, nullptr, "GetGaiStringError"}, | ||||
|         {6, &SFDNSRES::GetAddrInfo, "GetAddrInfo"}, | ||||
|         {7, nullptr, "GetNameInfo"}, | ||||
|         {8, nullptr, "RequestCancelHandle"}, | ||||
|         {9, nullptr, "CancelSocketCall"}, | ||||
|         {11, nullptr, "ClearDnsIpServerAddressArray"}, | ||||
|         {2, nullptr, "GetHostByNameRequest"}, | ||||
|         {3, nullptr, "GetHostByAddrRequest"}, | ||||
|         {4, nullptr, "GetHostStringErrorRequest"}, | ||||
|         {5, nullptr, "GetGaiStringErrorRequest"}, | ||||
|         {6, &SFDNSRES::GetAddrInfoRequest, "GetAddrInfoRequest"}, | ||||
|         {7, nullptr, "GetNameInfoRequest"}, | ||||
|         {8, nullptr, "RequestCancelHandleRequest"}, | ||||
|         {9, nullptr, "CancelRequest"}, | ||||
|         {10, nullptr, "GetHostByNameRequestWithOptions"}, | ||||
|         {11, nullptr, "GetHostByAddrRequestWithOptions"}, | ||||
|         {12, nullptr, "GetAddrInfoRequestWithOptions"}, | ||||
|         {13, nullptr, "GetNameInfoRequestWithOptions"}, | ||||
|         {14, nullptr, "ResolverSetOptionRequest"}, | ||||
|         {15, nullptr, "ResolverGetOptionRequest"}, | ||||
|     }; | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
|  | ||||
| @ -15,7 +15,7 @@ public: | ||||
|     ~SFDNSRES() override; | ||||
| 
 | ||||
| private: | ||||
|     void GetAddrInfo(Kernel::HLERequestContext& ctx); | ||||
|     void GetAddrInfoRequest(Kernel::HLERequestContext& ctx); | ||||
| }; | ||||
| 
 | ||||
| } // namespace Service::Sockets
 | ||||
|  | ||||
| @ -9,35 +9,36 @@ namespace Service::SPL { | ||||
| SPL::SPL(std::shared_ptr<Module> module) : Module::Interface(std::move(module), "spl:") { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {0, nullptr, "GetConfig"}, | ||||
|         {1, nullptr, "UserExpMod"}, | ||||
|         {1, nullptr, "ModularExponentiate"}, | ||||
|         {2, nullptr, "GenerateAesKek"}, | ||||
|         {3, nullptr, "LoadAesKey"}, | ||||
|         {4, nullptr, "GenerateAesKey"}, | ||||
|         {5, nullptr, "SetConfig"}, | ||||
|         {7, &SPL::GetRandomBytes, "GetRandomBytes"}, | ||||
|         {9, nullptr, "LoadSecureExpModKey"}, | ||||
|         {10, nullptr, "SecureExpMod"}, | ||||
|         {9, nullptr, "ImportLotusKey"}, | ||||
|         {10, nullptr, "DecryptLotusMessage"}, | ||||
|         {11, nullptr, "IsDevelopment"}, | ||||
|         {12, nullptr, "GenerateSpecificAesKey"}, | ||||
|         {13, nullptr, "DecryptPrivk"}, | ||||
|         {13, nullptr, "DecryptDeviceUniqueData"}, | ||||
|         {14, nullptr, "DecryptAesKey"}, | ||||
|         {15, nullptr, "DecryptAesCtr"}, | ||||
|         {15, nullptr, "CryptAesCtr"}, | ||||
|         {16, nullptr, "ComputeCmac"}, | ||||
|         {17, nullptr, "LoadRsaOaepKey"}, | ||||
|         {18, nullptr, "UnwrapRsaOaepWrappedTitleKey"}, | ||||
|         {17, nullptr, "ImportEsKey"}, | ||||
|         {18, nullptr, "UnwrapTitleKey"}, | ||||
|         {19, nullptr, "LoadTitleKey"}, | ||||
|         {20, nullptr, "UnwrapAesWrappedTitleKey"}, | ||||
|         {21, nullptr, "LockAesEngine"}, | ||||
|         {22, nullptr, "UnlockAesEngine"}, | ||||
|         {23, nullptr, "GetSplWaitEvent"}, | ||||
|         {24, nullptr, "SetSharedData"}, | ||||
|         {25, nullptr, "GetSharedData"}, | ||||
|         {26, nullptr, "ImportSslRsaKey"}, | ||||
|         {27, nullptr, "SecureExpModWithSslKey"}, | ||||
|         {28, nullptr, "ImportEsRsaKey"}, | ||||
|         {29, nullptr, "SecureExpModWithEsKey"}, | ||||
|         {30, nullptr, "EncryptManuRsaKeyForImport"}, | ||||
|         {31, nullptr, "GetPackage2Hash"}, | ||||
|         {20, nullptr, "PrepareEsCommonKey"}, | ||||
|         {21, nullptr, "AllocateAesKeyslot"}, | ||||
|         {22, nullptr, "DeallocateAesKeySlot"}, | ||||
|         {23, nullptr, "GetAesKeyslotAvailableEvent"}, | ||||
|         {24, nullptr, "SetBootReason"}, | ||||
|         {25, nullptr, "GetBootReason"}, | ||||
|         {26, nullptr, "DecryptAndStoreSslClientCertKey"}, | ||||
|         {27, nullptr, "ModularExponentiateWithSslClientCertKey"}, | ||||
|         {28, nullptr, "DecryptAndStoreDrmDeviceCertKey"}, | ||||
|         {29, nullptr, "ModularExponentiateWithDrmDeviceCertKey"}, | ||||
|         {30, nullptr, "ReencryptDeviceUniqueData "}, | ||||
|         {31, nullptr, "PrepareEsArchiveKey"}, // This is also GetPackage2Hash?
 | ||||
|         {32, nullptr, "LoadPreparedAesKey"}, | ||||
|     }; | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
|  | ||||
| @ -90,6 +90,13 @@ public: | ||||
|         : ServiceFramework("ISteadyClock"), clock_core{clock_core}, system{system} { | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, &ISteadyClock::GetCurrentTimePoint, "GetCurrentTimePoint"}, | ||||
|             {2, nullptr, "GetTestOffset"}, | ||||
|             {3, nullptr, "SetTestOffset"}, | ||||
|             {100, nullptr, "GetRtcValue"}, | ||||
|             {101, nullptr, "IsRtcResetDetected"}, | ||||
|             {102, nullptr, "GetSetupResultValue"}, | ||||
|             {200, nullptr, "GetInternalOffset"}, | ||||
|             {201, nullptr, "SetInternalOffset"}, | ||||
|         }; | ||||
|         RegisterHandlers(functions); | ||||
|     } | ||||
|  | ||||
| @ -20,7 +20,7 @@ public: | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "GetDsEndpoint"}, | ||||
|             {1, nullptr, "GetSetupEvent"}, | ||||
|             {2, nullptr, "Unknown"}, | ||||
|             {2, nullptr, "Unknown2"}, | ||||
|             {3, nullptr, "EnableInterface"}, | ||||
|             {4, nullptr, "DisableInterface"}, | ||||
|             {5, nullptr, "CtrlInPostBufferAsync"}, | ||||
| @ -55,6 +55,7 @@ public: | ||||
|             {9, nullptr, "SetBinaryObjectStore"}, | ||||
|             {10, nullptr, "Enable"}, | ||||
|             {11, nullptr, "Disable"}, | ||||
|             {12, nullptr, "Unknown12"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
| @ -69,13 +70,13 @@ public: | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "Open"}, | ||||
|             {1, nullptr, "Close"}, | ||||
|             {2, nullptr, "Unknown1"}, | ||||
|             {2, nullptr, "Unknown2"}, | ||||
|             {3, nullptr, "Populate"}, | ||||
|             {4, nullptr, "PostBufferAsync"}, | ||||
|             {5, nullptr, "GetXferReport"}, | ||||
|             {6, nullptr, "PostBufferMultiAsync"}, | ||||
|             {7, nullptr, "Unknown3"}, | ||||
|             {8, nullptr, "Unknown4"}, | ||||
|             {7, nullptr, "Unknown7"}, | ||||
|             {8, nullptr, "Unknown8"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
| @ -88,13 +89,13 @@ public: | ||||
|     explicit IClientIfSession() : ServiceFramework{"IClientIfSession"} { | ||||
|         // clang-format off
 | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "Unknown1"}, | ||||
|             {0, nullptr, "Unknown0"}, | ||||
|             {1, nullptr, "SetInterface"}, | ||||
|             {2, nullptr, "GetInterface"}, | ||||
|             {3, nullptr, "GetAlternateInterface"}, | ||||
|             {4, nullptr, "GetCurrentFrame"}, | ||||
|             {5, nullptr, "CtrlXferAsync"}, | ||||
|             {6, nullptr, "Unknown2"}, | ||||
|             {6, nullptr, "Unknown6"}, | ||||
|             {7, nullptr, "GetCtrlXferReport"}, | ||||
|             {8, nullptr, "ResetDevice"}, | ||||
|             {9, nullptr, "OpenUsbEp"}, | ||||
| @ -118,7 +119,7 @@ public: | ||||
|             {5, nullptr, "DestroyInterfaceAvailableEvent"}, | ||||
|             {6, nullptr, "GetInterfaceStateChangeEvent"}, | ||||
|             {7, nullptr, "AcquireUsbIf"}, | ||||
|             {8, nullptr, "Unknown1"}, | ||||
|             {8, nullptr, "Unknown8"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
| @ -179,8 +180,8 @@ public: | ||||
|             {4, nullptr, "GetFwRevision"}, | ||||
|             {5, nullptr, "GetManufacturerId"}, | ||||
|             {6, nullptr, "GetDeviceId"}, | ||||
|             {7, nullptr, "Unknown1"}, | ||||
|             {8, nullptr, "Unknown2"}, | ||||
|             {7, nullptr, "Unknown7"}, | ||||
|             {8, nullptr, "Unknown8"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
| @ -215,12 +216,12 @@ public: | ||||
|     explicit USB_PM() : ServiceFramework{"usb:pm"} { | ||||
|         // clang-format off
 | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "Unknown1"}, | ||||
|             {1, nullptr, "Unknown2"}, | ||||
|             {2, nullptr, "Unknown3"}, | ||||
|             {3, nullptr, "Unknown4"}, | ||||
|             {4, nullptr, "Unknown5"}, | ||||
|             {5, nullptr, "Unknown6"}, | ||||
|             {0, nullptr, "Unknown0"}, | ||||
|             {1, nullptr, "Unknown1"}, | ||||
|             {2, nullptr, "Unknown2"}, | ||||
|             {3, nullptr, "Unknown3"}, | ||||
|             {4, nullptr, "Unknown4"}, | ||||
|             {5, nullptr, "Unknown5"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
|  | ||||
| @ -700,6 +700,7 @@ public: | ||||
|             {3215, nullptr, "SetDisplayGamma"}, | ||||
|             {3216, nullptr, "GetDisplayCmuLuma"}, | ||||
|             {3217, nullptr, "SetDisplayCmuLuma"}, | ||||
|             {6013, nullptr, "GetLayerPresentationSubmissionTimestamps"}, | ||||
|             {8225, nullptr, "GetSharedBufferMemoryHandleId"}, | ||||
|             {8250, nullptr, "OpenSharedLayer"}, | ||||
|             {8251, nullptr, "CloseSharedLayer"}, | ||||
| @ -785,6 +786,7 @@ public: | ||||
|             {2300, nullptr, "AcquireLayerTexturePresentingEvent"}, | ||||
|             {2301, nullptr, "ReleaseLayerTexturePresentingEvent"}, | ||||
|             {2302, nullptr, "GetDisplayHotplugEvent"}, | ||||
|             {2303, nullptr, "GetDisplayModeChangedEvent"}, | ||||
|             {2402, nullptr, "GetDisplayHotplugState"}, | ||||
|             {2501, nullptr, "GetCompositorErrorInfo"}, | ||||
|             {2601, nullptr, "GetDisplayErrorEvent"}, | ||||
|  | ||||
| @ -12,6 +12,7 @@ VI_U::VI_U(std::shared_ptr<NVFlinger::NVFlinger> nv_flinger) | ||||
|     : ServiceFramework{"vi:u"}, nv_flinger{std::move(nv_flinger)} { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {0, &VI_U::GetDisplayService, "GetDisplayService"}, | ||||
|         {1, nullptr, "GetDisplayServiceWithProxyNameExchange"}, | ||||
|     }; | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
|  | ||||
| @ -15,34 +15,37 @@ public: | ||||
|     explicit WLANInfra() : ServiceFramework{"wlan:inf"} { | ||||
|         // clang-format off
 | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "Unknown1"}, | ||||
|             {1, nullptr, "Unknown2"}, | ||||
|             {0, nullptr, "OpenMode"}, | ||||
|             {1, nullptr, "CloseMode"}, | ||||
|             {2, nullptr, "GetMacAddress"}, | ||||
|             {3, nullptr, "StartScan"}, | ||||
|             {4, nullptr, "StopScan"}, | ||||
|             {5, nullptr, "Connect"}, | ||||
|             {6, nullptr, "CancelConnect"}, | ||||
|             {7, nullptr, "Disconnect"}, | ||||
|             {8, nullptr, "Unknown3"}, | ||||
|             {9, nullptr, "Unknown4"}, | ||||
|             {8, nullptr, "GetConnectionEvent"}, | ||||
|             {9, nullptr, "GetConnectionStatus"}, | ||||
|             {10, nullptr, "GetState"}, | ||||
|             {11, nullptr, "GetScanResult"}, | ||||
|             {12, nullptr, "GetRssi"}, | ||||
|             {13, nullptr, "ChangeRxAntenna"}, | ||||
|             {14, nullptr, "Unknown5"}, | ||||
|             {15, nullptr, "Unknown6"}, | ||||
|             {14, nullptr, "GetFwVersion"}, | ||||
|             {15, nullptr, "RequestSleep"}, | ||||
|             {16, nullptr, "RequestWakeUp"}, | ||||
|             {17, nullptr, "RequestIfUpDown"}, | ||||
|             {18, nullptr, "Unknown7"}, | ||||
|             {19, nullptr, "Unknown8"}, | ||||
|             {20, nullptr, "Unknown9"}, | ||||
|             {21, nullptr, "Unknown10"}, | ||||
|             {22, nullptr, "Unknown11"}, | ||||
|             {23, nullptr, "Unknown12"}, | ||||
|             {24, nullptr, "Unknown13"}, | ||||
|             {25, nullptr, "Unknown14"}, | ||||
|             {26, nullptr, "Unknown15"}, | ||||
|             {27, nullptr, "Unknown16"}, | ||||
|             {18, nullptr, "Unknown18"}, | ||||
|             {19, nullptr, "Unknown19"}, | ||||
|             {20, nullptr, "Unknown20"}, | ||||
|             {21, nullptr, "Unknown21"}, | ||||
|             {22, nullptr, "Unknown22"}, | ||||
|             {23, nullptr, "Unknown23"}, | ||||
|             {24, nullptr, "Unknown24"}, | ||||
|             {25, nullptr, "Unknown25"}, | ||||
|             {26, nullptr, "Unknown26"}, | ||||
|             {27, nullptr, "Unknown27"}, | ||||
|             {28, nullptr, "Unknown28"}, | ||||
|             {29, nullptr, "Unknown29"}, | ||||
|             {30, nullptr, "Unknown30"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
| @ -55,12 +58,12 @@ public: | ||||
|     explicit WLANLocal() : ServiceFramework{"wlan:lcl"} { | ||||
|         // clang-format off
 | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "Unknown1"}, | ||||
|             {1, nullptr, "Unknown2"}, | ||||
|             {2, nullptr, "Unknown3"}, | ||||
|             {3, nullptr, "Unknown4"}, | ||||
|             {4, nullptr, "Unknown5"}, | ||||
|             {5, nullptr, "Unknown6"}, | ||||
|             {0, nullptr, "Unknown0"}, | ||||
|             {1, nullptr, "Unknown1"}, | ||||
|             {2, nullptr, "Unknown2"}, | ||||
|             {3, nullptr, "Unknown3"}, | ||||
|             {4, nullptr, "Unknown4"}, | ||||
|             {5, nullptr, "Unknown5"}, | ||||
|             {6, nullptr, "GetMacAddress"}, | ||||
|             {7, nullptr, "CreateBss"}, | ||||
|             {8, nullptr, "DestroyBss"}, | ||||
| @ -72,38 +75,42 @@ public: | ||||
|             {14, nullptr, "CancelJoin"}, | ||||
|             {15, nullptr, "Disconnect"}, | ||||
|             {16, nullptr, "SetBeaconLostCount"}, | ||||
|             {17, nullptr, "Unknown7"}, | ||||
|             {18, nullptr, "Unknown8"}, | ||||
|             {19, nullptr, "Unknown9"}, | ||||
|             {17, nullptr, "Unknown17"}, | ||||
|             {18, nullptr, "Unknown18"}, | ||||
|             {19, nullptr, "Unknown19"}, | ||||
|             {20, nullptr, "GetBssIndicationEvent"}, | ||||
|             {21, nullptr, "GetBssIndicationInfo"}, | ||||
|             {22, nullptr, "GetState"}, | ||||
|             {23, nullptr, "GetAllowedChannels"}, | ||||
|             {24, nullptr, "AddIe"}, | ||||
|             {25, nullptr, "DeleteIe"}, | ||||
|             {26, nullptr, "Unknown10"}, | ||||
|             {27, nullptr, "Unknown11"}, | ||||
|             {26, nullptr, "Unknown26"}, | ||||
|             {27, nullptr, "Unknown27"}, | ||||
|             {28, nullptr, "CreateRxEntry"}, | ||||
|             {29, nullptr, "DeleteRxEntry"}, | ||||
|             {30, nullptr, "Unknown12"}, | ||||
|             {31, nullptr, "Unknown13"}, | ||||
|             {30, nullptr, "Unknown30"}, | ||||
|             {31, nullptr, "Unknown31"}, | ||||
|             {32, nullptr, "AddMatchingDataToRxEntry"}, | ||||
|             {33, nullptr, "RemoveMatchingDataFromRxEntry"}, | ||||
|             {34, nullptr, "GetScanResult"}, | ||||
|             {35, nullptr, "Unknown14"}, | ||||
|             {35, nullptr, "Unknown35"}, | ||||
|             {36, nullptr, "SetActionFrameWithBeacon"}, | ||||
|             {37, nullptr, "CancelActionFrameWithBeacon"}, | ||||
|             {38, nullptr, "CreateRxEntryForActionFrame"}, | ||||
|             {39, nullptr, "DeleteRxEntryForActionFrame"}, | ||||
|             {40, nullptr, "Unknown15"}, | ||||
|             {41, nullptr, "Unknown16"}, | ||||
|             {40, nullptr, "Unknown40"}, | ||||
|             {41, nullptr, "Unknown41"}, | ||||
|             {42, nullptr, "CancelGetActionFrame"}, | ||||
|             {43, nullptr, "GetRssi"}, | ||||
|             {44, nullptr, "Unknown17"}, | ||||
|             {45, nullptr, "Unknown18"}, | ||||
|             {46, nullptr, "Unknown19"}, | ||||
|             {47, nullptr, "Unknown20"}, | ||||
|             {48, nullptr, "Unknown21"}, | ||||
|             {44, nullptr, "Unknown44"}, | ||||
|             {45, nullptr, "Unknown45"}, | ||||
|             {46, nullptr, "Unknown46"}, | ||||
|             {47, nullptr, "Unknown47"}, | ||||
|             {48, nullptr, "Unknown48"}, | ||||
|             {49, nullptr, "Unknown49"}, | ||||
|             {50, nullptr, "Unknown50"}, | ||||
|             {51, nullptr, "Unknown51"}, | ||||
|             {52, nullptr, "Unknown52"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
| @ -142,18 +149,19 @@ public: | ||||
|     explicit WLANSocketManager() : ServiceFramework{"wlan:soc"} { | ||||
|         // clang-format off
 | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "Unknown1"}, | ||||
|             {1, nullptr, "Unknown2"}, | ||||
|             {2, nullptr, "Unknown3"}, | ||||
|             {3, nullptr, "Unknown4"}, | ||||
|             {4, nullptr, "Unknown5"}, | ||||
|             {5, nullptr, "Unknown6"}, | ||||
|             {0, nullptr, "Unknown0"}, | ||||
|             {1, nullptr, "Unknown1"}, | ||||
|             {2, nullptr, "Unknown2"}, | ||||
|             {3, nullptr, "Unknown3"}, | ||||
|             {4, nullptr, "Unknown4"}, | ||||
|             {5, nullptr, "Unknown5"}, | ||||
|             {6, nullptr, "GetMacAddress"}, | ||||
|             {7, nullptr, "SwitchTsfTimerFunction"}, | ||||
|             {8, nullptr, "Unknown7"}, | ||||
|             {9, nullptr, "Unknown8"}, | ||||
|             {10, nullptr, "Unknown9"}, | ||||
|             {11, nullptr, "Unknown10"}, | ||||
|             {8, nullptr, "Unknown8"}, | ||||
|             {9, nullptr, "Unknown9"}, | ||||
|             {10, nullptr, "Unknown10"}, | ||||
|             {11, nullptr, "Unknown11"}, | ||||
|             {12, nullptr, "Unknown12"}, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 bunnei
						bunnei