mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Merge pull request #2283 from lioncash/svc
service: Update function tables
This commit is contained in:
		
						commit
						43558dc40a
					
				
					 21 changed files with 212 additions and 28 deletions
				
			
		|  | @ -10,6 +10,13 @@ | |||
| namespace ACT_A { | ||||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // act:u shared commands
 | ||||
|     {0x00010084, nullptr, "Initialize"}, | ||||
|     {0x00020040, nullptr, "GetErrorCode"}, | ||||
|     {0x000600C2, nullptr, "GetAccountDataBlock"}, | ||||
|     {0x000B0042, nullptr, "AcquireEulaList"}, | ||||
|     {0x000D0040, nullptr, "GenerateUuid"}, | ||||
|     // act:a
 | ||||
|     {0x041300C2, nullptr, "UpdateMiiImage"}, | ||||
|     {0x041B0142, nullptr, "AgreeEula"}, | ||||
|     {0x04210042, nullptr, "UploadMii"}, | ||||
|  |  | |||
|  | @ -10,10 +10,13 @@ | |||
| namespace ACT_U { | ||||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // clang-format off
 | ||||
|     {0x00010084, nullptr, "Initialize"}, | ||||
|     {0x00020040, nullptr, "GetErrorCode"}, | ||||
|     {0x000600C2, nullptr, "GetAccountDataBlock"}, | ||||
|     {0x000B0042, nullptr, "AcquireEulaList"}, | ||||
|     {0x000D0040, nullptr, "GenerateUuid"}, | ||||
|     // clang-format on
 | ||||
| }; | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
|  |  | |||
|  | @ -9,34 +9,97 @@ namespace Service { | |||
| namespace APT { | ||||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     {0x00010040, GetLockHandle, "GetLockHandle?"}, | ||||
|     {0x00020080, Initialize, "Initialize?"}, | ||||
|     {0x00030040, Enable, "Enable?"}, | ||||
|     {0x00040040, nullptr, "Finalize?"}, | ||||
|     {0x00010040, GetLockHandle, "GetLockHandle"}, | ||||
|     {0x00020080, Initialize, "Initialize"}, | ||||
|     {0x00030040, Enable, "Enable"}, | ||||
|     {0x00040040, nullptr, "Finalize"}, | ||||
|     {0x00050040, GetAppletManInfo, "GetAppletManInfo"}, | ||||
|     {0x00060040, GetAppletInfo, "GetAppletInfo"}, | ||||
|     {0x00070000, nullptr, "GetLastSignaledAppletId"}, | ||||
|     {0x00080000, nullptr, "CountRegisteredApplet"}, | ||||
|     {0x00090040, IsRegistered, "IsRegistered"}, | ||||
|     {0x000A0040, nullptr, "GetAttribute"}, | ||||
|     {0x000B0040, InquireNotification, "InquireNotification"}, | ||||
|     {0x000C0104, SendParameter, "SendParameter"}, | ||||
|     {0x000D0080, ReceiveParameter, "ReceiveParameter"}, | ||||
|     {0x000E0080, GlanceParameter, "GlanceParameter"}, | ||||
|     {0x000F0100, CancelParameter, "CancelParameter"}, | ||||
|     {0x001000C2, nullptr, "DebugFunc"}, | ||||
|     {0x001100C0, nullptr, "MapProgramIdForDebug"}, | ||||
|     {0x00120040, nullptr, "SetHomeMenuAppletIdForDebug"}, | ||||
|     {0x00130000, nullptr, "GetPreparationState"}, | ||||
|     {0x00140040, nullptr, "SetPreparationState"}, | ||||
|     {0x00150140, PrepareToStartApplication, "PrepareToStartApplication"}, | ||||
|     {0x00160040, PreloadLibraryApplet, "PreloadLibraryApplet"}, | ||||
|     {0x00170040, nullptr, "FinishPreloadingLibraryApplet"}, | ||||
|     {0x00180040, PrepareToStartLibraryApplet, "PrepareToStartLibraryApplet"}, | ||||
|     {0x00190040, nullptr, "PrepareToStartSystemApplet"}, | ||||
|     {0x001A0000, nullptr, "PrepareToStartNewestHomeMenu"}, | ||||
|     {0x001B00C4, nullptr, "StartApplication"}, | ||||
|     {0x001C0000, nullptr, "WakeupApplication"}, | ||||
|     {0x001D0000, nullptr, "CancelApplication"}, | ||||
|     {0x001E0084, StartLibraryApplet, "StartLibraryApplet"}, | ||||
|     {0x001F0084, nullptr, "StartSystemApplet"}, | ||||
|     {0x00200044, nullptr, "StartNewestHomeMenu"}, | ||||
|     {0x00210000, nullptr, "OrderToCloseApplication"}, | ||||
|     {0x00220040, nullptr, "PrepareToCloseApplication"}, | ||||
|     {0x00230040, nullptr, "PrepareToJumpToApplication"}, | ||||
|     {0x00240044, nullptr, "JumpToApplication"}, | ||||
|     {0x002500C0, nullptr, "PrepareToCloseLibraryApplet"}, | ||||
|     {0x00260000, nullptr, "PrepareToCloseSystemApplet"}, | ||||
|     {0x00270044, nullptr, "CloseApplication"}, | ||||
|     {0x00280044, nullptr, "CloseLibraryApplet"}, | ||||
|     {0x00290044, nullptr, "CloseSystemApplet"}, | ||||
|     {0x002A0000, nullptr, "OrderToCloseSystemApplet"}, | ||||
|     {0x002B0000, nullptr, "PrepareToJumpToHomeMenu"}, | ||||
|     {0x002C0044, nullptr, "JumpToHomeMenu"}, | ||||
|     {0x002D0000, nullptr, "PrepareToLeaveHomeMenu"}, | ||||
|     {0x002E0044, nullptr, "LeaveHomeMenu"}, | ||||
|     {0x002F0040, nullptr, "PrepareToLeaveResidentApplet"}, | ||||
|     {0x00300044, nullptr, "LeaveResidentApplet"}, | ||||
|     {0x00310100, nullptr, "PrepareToDoApplicationJump"}, | ||||
|     {0x00320084, nullptr, "DoApplicationJump"}, | ||||
|     {0x00330000, nullptr, "GetProgramIdOnApplicationJump"}, | ||||
|     {0x00340084, nullptr, "SendDeliverArg"}, | ||||
|     {0x00350080, nullptr, "ReceiveDeliverArg"}, | ||||
|     {0x00360040, nullptr, "LoadSysMenuArg"}, | ||||
|     {0x00370042, nullptr, "StoreSysMenuArg"}, | ||||
|     {0x00380040, nullptr, "PreloadResidentApplet"}, | ||||
|     {0x00390040, nullptr, "PrepareToStartResidentApplet"}, | ||||
|     {0x003A0044, nullptr, "StartResidentApplet"}, | ||||
|     {0x003B0040, CancelLibraryApplet, "CancelLibraryApplet"}, | ||||
|     {0x003C0042, nullptr, "SendDspSleep"}, | ||||
|     {0x003D0042, nullptr, "SendDspWakeUp"}, | ||||
|     {0x003E0080, nullptr, "ReplySleepQuery"}, | ||||
|     {0x00430040, NotifyToWait, "NotifyToWait?"}, | ||||
|     {0x00440000, GetSharedFont, "GetSharedFont?"}, | ||||
|     {0x004B00C2, AppletUtility, "AppletUtility?"}, | ||||
|     {0x003F0040, nullptr, "ReplySleepNotificationComplete"}, | ||||
|     {0x00400042, nullptr, "SendCaptureBufferInfo"}, | ||||
|     {0x00410040, nullptr, "ReceiveCaptureBufferInfo"}, | ||||
|     {0x00420080, nullptr, "SleepSystem"}, | ||||
|     {0x00430040, NotifyToWait, "NotifyToWait"}, | ||||
|     {0x00440000, GetSharedFont, "GetSharedFont"}, | ||||
|     {0x00450040, nullptr, "GetWirelessRebootInfo"}, | ||||
|     {0x00460104, nullptr, "Wrap"}, | ||||
|     {0x00470104, nullptr, "Unwrap"}, | ||||
|     {0x00480100, nullptr, "GetProgramInfo"}, | ||||
|     {0x00490180, nullptr, "Reboot"}, | ||||
|     {0x004A0040, nullptr, "GetCaptureInfo"}, | ||||
|     {0x004B00C2, AppletUtility, "AppletUtility"}, | ||||
|     {0x004C0000, nullptr, "SetFatalErrDispMode"}, | ||||
|     {0x004D0080, nullptr, "GetAppletProgramInfo"}, | ||||
|     {0x004E0000, nullptr, "HardwareResetAsync"}, | ||||
|     {0x004F0080, SetAppCpuTimeLimit, "SetAppCpuTimeLimit"}, | ||||
|     {0x00500040, GetAppCpuTimeLimit, "GetAppCpuTimeLimit"}, | ||||
|     {0x00510080, GetStartupArgument, "GetStartupArgument"}, | ||||
|     {0x00520104, nullptr, "Wrap1"}, | ||||
|     {0x00530104, nullptr, "Unwrap1"}, | ||||
|     {0x00550040, SetScreenCapPostPermission, "SetScreenCapPostPermission"}, | ||||
|     {0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"}, | ||||
|     {0x00570044, nullptr, "WakeupApplication2"}, | ||||
|     {0x00580002, nullptr, "GetProgramID"}, | ||||
|     {0x01010000, CheckNew3DSApp, "CheckNew3DSApp"}, | ||||
|     {0x01020000, CheckNew3DS, "CheckNew3DS"}, | ||||
|     {0x01040000, nullptr, "IsStandardMemoryLayout"}, | ||||
|     {0x01050100, nullptr, "IsTitleAllowed"}, | ||||
| }; | ||||
| 
 | ||||
| APT_A_Interface::APT_A_Interface() { | ||||
|  |  | |||
|  | @ -94,9 +94,12 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
|     {0x00530104, nullptr, "Unwrap1"}, | ||||
|     {0x00550040, SetScreenCapPostPermission, "SetScreenCapPostPermission"}, | ||||
|     {0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"}, | ||||
|     {0x00570044, nullptr, "WakeupApplication2"}, | ||||
|     {0x00580002, nullptr, "GetProgramID"}, | ||||
|     {0x01010000, CheckNew3DSApp, "CheckNew3DSApp"}, | ||||
|     {0x01020000, CheckNew3DS, "CheckNew3DS"}, | ||||
|     {0x01040000, nullptr, "IsStandardMemoryLayout"}, | ||||
|     {0x01050100, nullptr, "IsTitleAllowed"}, | ||||
| }; | ||||
| 
 | ||||
| APT_S_Interface::APT_S_Interface() { | ||||
|  |  | |||
|  | @ -2,16 +2,81 @@ | |||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "core/hle/service/boss/boss.h" | ||||
| #include "core/hle/service/boss/boss_p.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace BOSS { | ||||
| 
 | ||||
| // Empty arrays are illegal -- commented out until an entry is added.
 | ||||
| // const Interface::FunctionInfo FunctionTable[] = { };
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // boss:u shared commands
 | ||||
|     {0x00010082, InitializeSession, "InitializeSession"}, | ||||
|     {0x00020100, RegisterStorage, "RegisterStorage"}, | ||||
|     {0x00030000, UnregisterStorage, "UnregisterStorage"}, | ||||
|     {0x00040000, GetStorageInfo, "GetStorageInfo"}, | ||||
|     {0x00050042, RegisterPrivateRootCa, "RegisterPrivateRootCa"}, | ||||
|     {0x00060084, RegisterPrivateClientCert, "RegisterPrivateClientCert"}, | ||||
|     {0x00070000, GetNewArrivalFlag, "GetNewArrivalFlag"}, | ||||
|     {0x00080002, RegisterNewArrivalEvent, "RegisterNewArrivalEvent"}, | ||||
|     {0x00090040, SetOptoutFlag, "SetOptoutFlag"}, | ||||
|     {0x000A0000, GetOptoutFlag, "GetOptoutFlag"}, | ||||
|     {0x000B00C2, RegisterTask, "RegisterTask"}, | ||||
|     {0x000C0082, UnregisterTask, "UnregisterTask"}, | ||||
|     {0x000D0082, ReconfigureTask, "ReconfigureTask"}, | ||||
|     {0x000E0000, GetTaskIdList, "GetTaskIdList"}, | ||||
|     {0x000F0042, GetStepIdList, "GetStepIdList"}, | ||||
|     {0x00100102, GetNsDataIdList, "GetNsDataIdList"}, | ||||
|     {0x00110102, GetOwnNsDataIdList, "GetOwnNsDataIdList"}, | ||||
|     {0x00120102, GetNewDataNsDataIdList, "GetNewDataNsDataIdList"}, | ||||
|     {0x00130102, GetOwnNewDataNsDataIdList, "GetOwnNewDataNsDataIdList"}, | ||||
|     {0x00140082, SendProperty, "SendProperty"}, | ||||
|     {0x00150042, SendPropertyHandle, "SendPropertyHandle"}, | ||||
|     {0x00160082, ReceiveProperty, "ReceiveProperty"}, | ||||
|     {0x00170082, UpdateTaskInterval, "UpdateTaskInterval"}, | ||||
|     {0x00180082, UpdateTaskCount, "UpdateTaskCount"}, | ||||
|     {0x00190042, GetTaskInterval, "GetTaskInterval"}, | ||||
|     {0x001A0042, GetTaskCount, "GetTaskCount"}, | ||||
|     {0x001B0042, GetTaskServiceStatus, "GetTaskServiceStatus"}, | ||||
|     {0x001C0042, StartTask, "StartTask"}, | ||||
|     {0x001D0042, StartTaskImmediate, "StartTaskImmediate"}, | ||||
|     {0x001E0042, CancelTask, "CancelTask"}, | ||||
|     {0x001F0000, GetTaskFinishHandle, "GetTaskFinishHandle"}, | ||||
|     {0x00200082, GetTaskState, "GetTaskState"}, | ||||
|     {0x00210042, GetTaskResult, "GetTaskResult"}, | ||||
|     {0x00220042, GetTaskCommErrorCode, "GetTaskCommErrorCode"}, | ||||
|     {0x002300C2, GetTaskStatus, "GetTaskStatus"}, | ||||
|     {0x00240082, GetTaskError, "GetTaskError"}, | ||||
|     {0x00250082, GetTaskInfo, "GetTaskInfo"}, | ||||
|     {0x00260040, DeleteNsData, "DeleteNsData"}, | ||||
|     {0x002700C2, GetNsDataHeaderInfo, "GetNsDataHeaderInfo"}, | ||||
|     {0x00280102, ReadNsData, "ReadNsData"}, | ||||
|     {0x00290080, SetNsDataAdditionalInfo, "SetNsDataAdditionalInfo"}, | ||||
|     {0x002A0040, GetNsDataAdditionalInfo, "GetNsDataAdditionalInfo"}, | ||||
|     {0x002B0080, SetNsDataNewFlag, "SetNsDataNewFlag"}, | ||||
|     {0x002C0040, GetNsDataNewFlag, "GetNsDataNewFlag"}, | ||||
|     {0x002D0040, GetNsDataLastUpdate, "GetNsDataLastUpdate"}, | ||||
|     {0x002E0040, GetErrorCode, "GetErrorCode"}, | ||||
|     {0x002F0140, RegisterStorageEntry, "RegisterStorageEntry"}, | ||||
|     {0x00300000, GetStorageEntryInfo, "GetStorageEntryInfo"}, | ||||
|     {0x00310100, SetStorageOption, "SetStorageOption"}, | ||||
|     {0x00320000, GetStorageOption, "GetStorageOption"}, | ||||
|     {0x00330042, StartBgImmediate, "StartBgImmediate"}, | ||||
|     {0x00340042, GetTaskActivePriority, "GetTaskActivePriority"}, | ||||
|     {0x003500C2, RegisterImmediateTask, "RegisterImmediateTask"}, | ||||
|     {0x00360084, SetTaskQuery, "SetTaskQuery"}, | ||||
|     {0x00370084, GetTaskQuery, "GetTaskQuery"}, | ||||
|     // boss:p
 | ||||
|     {0x04040080, nullptr, "GetAppNewFlag"}, | ||||
|     {0x04130082, nullptr, "SendPropertyPrivileged"}, | ||||
|     {0x041500C0, nullptr, "DeleteNsDataPrivileged"}, | ||||
|     {0x04160142, nullptr, "GetNsDataHeaderInfoPrivileged"}, | ||||
|     {0x04170182, nullptr, "ReadNsDataPrivileged"}, | ||||
|     {0x041A0100, nullptr, "SetNsDataNewFlagPrivileged"}, | ||||
|     {0x041B00C0, nullptr, "GetNsDataNewFlagPrivileged"}, | ||||
| }; | ||||
| 
 | ||||
| BOSS_P_Interface::BOSS_P_Interface() { | ||||
|     // Register(FunctionTable);
 | ||||
|     Register(FunctionTable); | ||||
| } | ||||
| 
 | ||||
| } // namespace BOSS
 | ||||
|  |  | |||
|  | @ -9,10 +9,22 @@ namespace Service { | |||
| namespace CECD { | ||||
| 
 | ||||
| static const Interface::FunctionInfo FunctionTable[] = { | ||||
|     {0x000100C2, nullptr, "OpenRawFile"}, | ||||
|     {0x00020042, nullptr, "ReadRawFile"}, | ||||
|     {0x00030104, nullptr, "ReadMessage"}, | ||||
|     {0x00040106, nullptr, "ReadMessageWithHMAC"}, | ||||
|     {0x00050042, nullptr, "WriteRawFile"}, | ||||
|     {0x00060104, nullptr, "WriteMessage"}, | ||||
|     {0x00070106, nullptr, "WriteMessageWithHMAC"}, | ||||
|     {0x00080102, nullptr, "Delete"}, | ||||
|     {0x000A00C4, nullptr, "GetSystemInfo"}, | ||||
|     {0x000B0040, nullptr, "RunCommand"}, | ||||
|     {0x000C0040, nullptr, "RunCommandAlt"}, | ||||
|     {0x000E0000, GetCecStateAbbreviated, "GetCecStateAbbreviated"}, | ||||
|     {0x000F0000, GetCecInfoEventHandle, "GetCecInfoEventHandle"}, | ||||
|     {0x00100000, GetChangeStateEventHandle, "GetChangeStateEventHandle"}, | ||||
|     {0x00120104, nullptr, "ReadSavedData"}, | ||||
|     {0x00110104, nullptr, "OpenAndWrite"}, | ||||
|     {0x00120104, nullptr, "OpenAndRead"}, | ||||
| }; | ||||
| 
 | ||||
| CECD_U_Interface::CECD_U_Interface() { | ||||
|  |  | |||
|  | @ -20,6 +20,7 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
|     {0x00080080, nullptr, "GoThroughTable"}, | ||||
|     {0x00090040, GetCountryCodeString, "GetCountryCodeString"}, | ||||
|     {0x000A0040, GetCountryCodeID, "GetCountryCodeID"}, | ||||
|     {0x000B0000, nullptr, "IsFangateSupported"}, | ||||
|     // cfg:i
 | ||||
|     {0x04010082, GetConfigInfoBlk8, "GetConfigInfoBlk8"}, | ||||
|     {0x04020082, SetConfigInfoBlk4, "SetConfigInfoBlk4"}, | ||||
|  |  | |||
|  | @ -20,6 +20,7 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
|     {0x00080080, nullptr, "GoThroughTable"}, | ||||
|     {0x00090040, GetCountryCodeString, "GetCountryCodeString"}, | ||||
|     {0x000A0040, GetCountryCodeID, "GetCountryCodeID"}, | ||||
|     {0x000B0000, nullptr, "IsFangateSupported"}, | ||||
|     // cfg:s
 | ||||
|     {0x04010082, GetConfigInfoBlk8, "GetConfigInfoBlk8"}, | ||||
|     {0x04020082, SetConfigInfoBlk4, "SetConfigInfoBlk4"}, | ||||
|  |  | |||
|  | @ -20,6 +20,7 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
|     {0x00080080, nullptr, "GoThroughTable"}, | ||||
|     {0x00090040, GetCountryCodeString, "GetCountryCodeString"}, | ||||
|     {0x000A0040, GetCountryCodeID, "GetCountryCodeID"}, | ||||
|     {0x000B0000, nullptr, "IsFangateSupported"}, | ||||
| }; | ||||
| 
 | ||||
| CFG_U_Interface::CFG_U_Interface() { | ||||
|  |  | |||
|  | @ -22,7 +22,14 @@ static void unk_0x000E0040(Interface* self) { | |||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     {0x00010183, nullptr, "Initialize"}, | ||||
|     {0x00020000, nullptr, "Finalize"}, | ||||
|     {0x00030000, nullptr, "GetServerState"}, | ||||
|     {0x00050080, nullptr, "StartAccepting"}, | ||||
|     {0x00070000, nullptr, "StartDistribution"}, | ||||
|     {0x000800C0, nullptr, "SendWirelessRebootPassphrase"}, | ||||
|     {0x00090040, nullptr, "AcceptClient"}, | ||||
|     {0x000B0042, nullptr, "GetConnectingClients"}, | ||||
|     {0x000C0040, nullptr, "GetClientInfo"}, | ||||
|     {0x000D0040, nullptr, "GetClientState"}, | ||||
|     {0x000E0040, unk_0x000E0040, "unk_0x000E0040"}, | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -1003,6 +1003,8 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
|     {0x08680000, nullptr, "GetMediaType"}, | ||||
|     {0x08690000, nullptr, "GetNandEraseCount"}, | ||||
|     {0x086A0082, nullptr, "ReadNandReport"}, | ||||
|     {0x087A0180, nullptr, "AddSeed"}, | ||||
|     {0x088600C0, nullptr, "CheckUpdatedDat"}, | ||||
| }; | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
|  |  | |||
|  | @ -11,11 +11,15 @@ namespace GSP_LCD { | |||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // clang-format off
 | ||||
|     {0x000A0080, nullptr, "SetBrightnessRaw"}, | ||||
|     {0x000B0080, nullptr, "SetBrightness"}, | ||||
|     {0x000F0000, nullptr, "PowerOnAllBacklights"}, | ||||
|     {0x00100000, nullptr, "PowerOffAllBacklights"}, | ||||
|     {0x00110040, nullptr, "PowerOnBacklight"}, | ||||
|     {0x00120040, nullptr, "PowerOffBacklight"}, | ||||
|     {0x00130040, nullptr, "SetLedForceOff"}, | ||||
|     {0x00140000, nullptr, "GetVendor"}, | ||||
|     {0x00150040, nullptr, "GetBrightness"}, | ||||
|     // clang-format on
 | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -55,6 +55,10 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
|     {0x002E0040, nullptr, "DestroyRootCertChain"}, | ||||
|     {0x002F0082, nullptr, "RootCertChainAddCert"}, | ||||
|     {0x00300080, nullptr, "RootCertChainAddDefaultCert"}, | ||||
|     {0x00310080, nullptr, "RootCertChainRemoveCert"}, | ||||
|     {0x00320084, nullptr, "OpenClientCertContext"}, | ||||
|     {0x00330040, nullptr, "OpenDefaultClientCertContext"}, | ||||
|     {0x00340040, nullptr, "CloseClientCertContext"}, | ||||
|     {0x00350186, nullptr, "SetDefaultProxy"}, | ||||
|     {0x00360000, nullptr, "ClearDNSCache"}, | ||||
|     {0x00370080, nullptr, "SetKeepAlive"}, | ||||
|  |  | |||
|  | @ -10,6 +10,7 @@ namespace NIM { | |||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     {0x000A0000, nullptr, "CheckSysupdateAvailableSOAP"}, | ||||
|     {0x0016020A, nullptr, "ListTitles"}, | ||||
|     {0x00290000, nullptr, "AccountCheckBalanceSOAP"}, | ||||
|     {0x002D0042, nullptr, "DownloadTickets"}, | ||||
|     {0x00420240, nullptr, "StartDownload"}, | ||||
| }; | ||||
|  |  | |||
|  | @ -15,6 +15,7 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
|     {0x00050000, nullptr, "CheckForSysUpdateEvent"}, | ||||
|     {0x00090000, CheckSysUpdateAvailable, "CheckSysUpdateAvailable"}, | ||||
|     {0x000A0000, nullptr, "GetState"}, | ||||
|     {0x000B0000, nullptr, "GetSystemTitleHash"}, | ||||
| }; | ||||
| 
 | ||||
| NIM_U_Interface::NIM_U_Interface() { | ||||
|  |  | |||
|  | @ -90,7 +90,7 @@ static void RecvBeaconBroadcastData(Service::Interface* self) { | |||
|  *      2 : Value 0 | ||||
|  *      3 : Output handle | ||||
|  */ | ||||
| static void Initialize(Service::Interface* self) { | ||||
| static void InitializeWithVersion(Service::Interface* self) { | ||||
|     u32* cmd_buff = Kernel::GetCommandBuffer(); | ||||
|     u32 unk1 = cmd_buff[1]; | ||||
|     u32 unk2 = cmd_buff[12]; | ||||
|  | @ -120,24 +120,26 @@ static void Initialize(Service::Interface* self) { | |||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     {0x00020000, nullptr, "Scrap"}, | ||||
|     {0x00030000, Shutdown, "Shutdown"}, | ||||
|     {0x00040402, nullptr, "CreateNetwork"}, | ||||
|     {0x00040402, nullptr, "CreateNetwork (deprecated)"}, | ||||
|     {0x00050040, nullptr, "EjectClient"}, | ||||
|     {0x00060000, nullptr, "EjectSpectator"}, | ||||
|     {0x00070080, nullptr, "UpdateNetworkAttribute"}, | ||||
|     {0x00080000, nullptr, "DestroyNetwork"}, | ||||
|     {0x00090442, nullptr, "ConnectNetwork (deprecated)"}, | ||||
|     {0x000A0000, nullptr, "DisconnectNetwork"}, | ||||
|     {0x000B0000, nullptr, "GetConnectionStatus"}, | ||||
|     {0x000D0040, nullptr, "GetNodeInformation"}, | ||||
|     {0x000E0006, nullptr, "DecryptBeaconData (deprecated)"}, | ||||
|     {0x000F0404, RecvBeaconBroadcastData, "RecvBeaconBroadcastData"}, | ||||
|     {0x00100042, nullptr, "SetBeaconAdditionalData"}, | ||||
|     {0x00100042, nullptr, "SetApplicationData"}, | ||||
|     {0x00110040, nullptr, "GetApplicationData"}, | ||||
|     {0x00120100, nullptr, "Bind"}, | ||||
|     {0x00130040, nullptr, "Unbind"}, | ||||
|     {0x001400C0, nullptr, "RecvBroadcastDataFrame"}, | ||||
|     {0x001400C0, nullptr, "PullPacket"}, | ||||
|     {0x00150080, nullptr, "SetMaxSendDelay"}, | ||||
|     {0x00170182, nullptr, "SendTo"}, | ||||
|     {0x001A0000, nullptr, "GetChannel"}, | ||||
|     {0x001B0302, Initialize, "Initialize"}, | ||||
|     {0x001B0302, InitializeWithVersion, "InitializeWithVersion"}, | ||||
|     {0x001D0044, nullptr, "BeginHostingNetwork"}, | ||||
|     {0x001E0084, nullptr, "ConnectToNetwork"}, | ||||
|     {0x001F0006, nullptr, "DecryptBeaconData"}, | ||||
|  |  | |||
|  | @ -10,18 +10,21 @@ | |||
| namespace PM_APP { | ||||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // clang-format off
 | ||||
|     {0x00010140, nullptr, "LaunchTitle"}, | ||||
|     {0x00020082, nullptr, "LaunchFIRMSetParams"}, | ||||
|     {0x00030080, nullptr, "TerminateProcesse"}, | ||||
|     {0x00040100, nullptr, "TerminateProcessTID"}, | ||||
|     {0x000500C0, nullptr, "TerminateProcessTID_unknown"}, | ||||
|     {0x00020082, nullptr, "LaunchFIRM"}, | ||||
|     {0x00030080, nullptr, "TerminateApplication"}, | ||||
|     {0x00040100, nullptr, "TerminateTitle"}, | ||||
|     {0x000500C0, nullptr, "TerminateProcess"}, | ||||
|     {0x00060082, nullptr, "PrepareForReboot"}, | ||||
|     {0x00070042, nullptr, "GetFIRMLaunchParams"}, | ||||
|     {0x00080100, nullptr, "GetTitleExheaderFlags"}, | ||||
|     {0x00090042, nullptr, "SetFIRMLaunchParams"}, | ||||
|     {0x000A0140, nullptr, "SetResourceLimit"}, | ||||
|     {0x000B0140, nullptr, "GetResourceLimitMax"}, | ||||
|     {0x000A0140, nullptr, "SetAppResourceLimit"}, | ||||
|     {0x000B0140, nullptr, "GetAppResourceLimit"}, | ||||
|     {0x000C0080, nullptr, "UnregisterProcess"}, | ||||
|     {0x000D0240, nullptr, "LaunchTitleUpdate"}, | ||||
|     // clang-format on
 | ||||
| }; | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
|  |  | |||
|  | @ -81,7 +81,7 @@ void GetTotalStepCount(Service::Interface* self) { | |||
|     LOG_WARNING(Service_PTM, "(STUBBED) called"); | ||||
| } | ||||
| 
 | ||||
| void IsLegacyPowerOff(Service::Interface* self) { | ||||
| void GetSoftwareClosedFlag(Service::Interface* self) { | ||||
|     u32* cmd_buff = Kernel::GetCommandBuffer(); | ||||
| 
 | ||||
|     cmd_buff[1] = RESULT_SUCCESS.raw; | ||||
|  |  | |||
|  | @ -82,12 +82,13 @@ void GetBatteryChargeState(Interface* self); | |||
| void GetTotalStepCount(Interface* self); | ||||
| 
 | ||||
| /**
 | ||||
|  * PTM::IsLegacyPowerOff service function | ||||
|  * PTM::GetSoftwareClosedFlag service function | ||||
|  *  Outputs: | ||||
|  *      1: Result code, 0 on success, otherwise error code | ||||
|  *      2: Whether the system is going through a power off | ||||
|  *      2: Whether or not the "software closed" dialog was requested by the last FIRM | ||||
|  *         and should be displayed. | ||||
|  */ | ||||
| void IsLegacyPowerOff(Interface* self); | ||||
| void GetSoftwareClosedFlag(Interface* self); | ||||
| 
 | ||||
| /**
 | ||||
|  * PTM::CheckNew3DS service function | ||||
|  |  | |||
|  | @ -33,8 +33,8 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
|     {0x080C0080, nullptr, "SetUserTime"}, | ||||
|     {0x080D0000, nullptr, "InvalidateSystemTime"}, | ||||
|     {0x080E0140, nullptr, "NotifyPlayEvent"}, | ||||
|     {0x080F0000, IsLegacyPowerOff, "IsLegacyPowerOff"}, | ||||
|     {0x08100000, nullptr, "ClearLegacyPowerOff"}, | ||||
|     {0x080F0000, GetSoftwareClosedFlag, "GetSoftwareClosedFlag"}, | ||||
|     {0x08100000, nullptr, "ClearSoftwareClosedFlag"}, | ||||
|     {0x08110000, GetShellState, "GetShellState"}, | ||||
|     {0x08120000, nullptr, "IsShutdownByBatteryEmpty"}, | ||||
|     {0x08130000, nullptr, "FormatSavedata"}, | ||||
|  |  | |||
|  | @ -66,6 +66,7 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
|     {0x00050082, nullptr, "AddTrustedRootCA"}, | ||||
|     {0x00060080, nullptr, "RootCertChainAddDefaultCert"}, | ||||
|     {0x00070080, nullptr, "RootCertChainRemoveCert"}, | ||||
|     {0x000D0084, nullptr, "OpenClientCertContext"}, | ||||
|     {0x000E0040, nullptr, "OpenDefaultClientCertContext"}, | ||||
|     {0x000F0040, nullptr, "CloseClientCertContext"}, | ||||
|     {0x00110042, GenerateRandomData, "GenerateRandomData"}, | ||||
|  | @ -73,10 +74,12 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
|     {0x00130040, nullptr, "StartConnection"}, | ||||
|     {0x00140040, nullptr, "StartConnectionGetOut"}, | ||||
|     {0x00150082, nullptr, "Read"}, | ||||
|     {0x00160082, nullptr, "ReadPeek"}, | ||||
|     {0x00170082, nullptr, "Write"}, | ||||
|     {0x00180080, nullptr, "ContextSetRootCertChain"}, | ||||
|     {0x00190080, nullptr, "ContextSetClientCert"}, | ||||
|     {0x001B0080, nullptr, "ContextClearOpt"}, | ||||
|     {0x001C00C4, nullptr, "ContextGetProtocolCipher"}, | ||||
|     {0x001E0040, nullptr, "DestroyContext"}, | ||||
|     {0x001F0082, nullptr, "ContextInitSharedmem"}, | ||||
| }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue