mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-15 22:54:00 +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 {
|
namespace ACT_A {
|
||||||
|
|
||||||
const Interface::FunctionInfo FunctionTable[] = {
|
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"},
|
{0x041300C2, nullptr, "UpdateMiiImage"},
|
||||||
{0x041B0142, nullptr, "AgreeEula"},
|
{0x041B0142, nullptr, "AgreeEula"},
|
||||||
{0x04210042, nullptr, "UploadMii"},
|
{0x04210042, nullptr, "UploadMii"},
|
||||||
|
|
|
@ -10,10 +10,13 @@
|
||||||
namespace ACT_U {
|
namespace ACT_U {
|
||||||
|
|
||||||
const Interface::FunctionInfo FunctionTable[] = {
|
const Interface::FunctionInfo FunctionTable[] = {
|
||||||
|
// clang-format off
|
||||||
{0x00010084, nullptr, "Initialize"},
|
{0x00010084, nullptr, "Initialize"},
|
||||||
{0x00020040, nullptr, "GetErrorCode"},
|
{0x00020040, nullptr, "GetErrorCode"},
|
||||||
{0x000600C2, nullptr, "GetAccountDataBlock"},
|
{0x000600C2, nullptr, "GetAccountDataBlock"},
|
||||||
|
{0x000B0042, nullptr, "AcquireEulaList"},
|
||||||
{0x000D0040, nullptr, "GenerateUuid"},
|
{0x000D0040, nullptr, "GenerateUuid"},
|
||||||
|
// clang-format on
|
||||||
};
|
};
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -9,34 +9,97 @@ namespace Service {
|
||||||
namespace APT {
|
namespace APT {
|
||||||
|
|
||||||
const Interface::FunctionInfo FunctionTable[] = {
|
const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x00010040, GetLockHandle, "GetLockHandle?"},
|
{0x00010040, GetLockHandle, "GetLockHandle"},
|
||||||
{0x00020080, Initialize, "Initialize?"},
|
{0x00020080, Initialize, "Initialize"},
|
||||||
{0x00030040, Enable, "Enable?"},
|
{0x00030040, Enable, "Enable"},
|
||||||
{0x00040040, nullptr, "Finalize?"},
|
{0x00040040, nullptr, "Finalize"},
|
||||||
{0x00050040, GetAppletManInfo, "GetAppletManInfo"},
|
{0x00050040, GetAppletManInfo, "GetAppletManInfo"},
|
||||||
{0x00060040, GetAppletInfo, "GetAppletInfo"},
|
{0x00060040, GetAppletInfo, "GetAppletInfo"},
|
||||||
|
{0x00070000, nullptr, "GetLastSignaledAppletId"},
|
||||||
|
{0x00080000, nullptr, "CountRegisteredApplet"},
|
||||||
{0x00090040, IsRegistered, "IsRegistered"},
|
{0x00090040, IsRegistered, "IsRegistered"},
|
||||||
|
{0x000A0040, nullptr, "GetAttribute"},
|
||||||
{0x000B0040, InquireNotification, "InquireNotification"},
|
{0x000B0040, InquireNotification, "InquireNotification"},
|
||||||
{0x000C0104, SendParameter, "SendParameter"},
|
{0x000C0104, SendParameter, "SendParameter"},
|
||||||
{0x000D0080, ReceiveParameter, "ReceiveParameter"},
|
{0x000D0080, ReceiveParameter, "ReceiveParameter"},
|
||||||
{0x000E0080, GlanceParameter, "GlanceParameter"},
|
{0x000E0080, GlanceParameter, "GlanceParameter"},
|
||||||
{0x000F0100, CancelParameter, "CancelParameter"},
|
{0x000F0100, CancelParameter, "CancelParameter"},
|
||||||
|
{0x001000C2, nullptr, "DebugFunc"},
|
||||||
|
{0x001100C0, nullptr, "MapProgramIdForDebug"},
|
||||||
|
{0x00120040, nullptr, "SetHomeMenuAppletIdForDebug"},
|
||||||
|
{0x00130000, nullptr, "GetPreparationState"},
|
||||||
|
{0x00140040, nullptr, "SetPreparationState"},
|
||||||
{0x00150140, PrepareToStartApplication, "PrepareToStartApplication"},
|
{0x00150140, PrepareToStartApplication, "PrepareToStartApplication"},
|
||||||
{0x00160040, PreloadLibraryApplet, "PreloadLibraryApplet"},
|
{0x00160040, PreloadLibraryApplet, "PreloadLibraryApplet"},
|
||||||
|
{0x00170040, nullptr, "FinishPreloadingLibraryApplet"},
|
||||||
{0x00180040, PrepareToStartLibraryApplet, "PrepareToStartLibraryApplet"},
|
{0x00180040, PrepareToStartLibraryApplet, "PrepareToStartLibraryApplet"},
|
||||||
|
{0x00190040, nullptr, "PrepareToStartSystemApplet"},
|
||||||
|
{0x001A0000, nullptr, "PrepareToStartNewestHomeMenu"},
|
||||||
|
{0x001B00C4, nullptr, "StartApplication"},
|
||||||
|
{0x001C0000, nullptr, "WakeupApplication"},
|
||||||
|
{0x001D0000, nullptr, "CancelApplication"},
|
||||||
{0x001E0084, StartLibraryApplet, "StartLibraryApplet"},
|
{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"},
|
{0x003B0040, CancelLibraryApplet, "CancelLibraryApplet"},
|
||||||
|
{0x003C0042, nullptr, "SendDspSleep"},
|
||||||
|
{0x003D0042, nullptr, "SendDspWakeUp"},
|
||||||
{0x003E0080, nullptr, "ReplySleepQuery"},
|
{0x003E0080, nullptr, "ReplySleepQuery"},
|
||||||
{0x00430040, NotifyToWait, "NotifyToWait?"},
|
{0x003F0040, nullptr, "ReplySleepNotificationComplete"},
|
||||||
{0x00440000, GetSharedFont, "GetSharedFont?"},
|
{0x00400042, nullptr, "SendCaptureBufferInfo"},
|
||||||
{0x004B00C2, AppletUtility, "AppletUtility?"},
|
{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"},
|
{0x004F0080, SetAppCpuTimeLimit, "SetAppCpuTimeLimit"},
|
||||||
{0x00500040, GetAppCpuTimeLimit, "GetAppCpuTimeLimit"},
|
{0x00500040, GetAppCpuTimeLimit, "GetAppCpuTimeLimit"},
|
||||||
{0x00510080, GetStartupArgument, "GetStartupArgument"},
|
{0x00510080, GetStartupArgument, "GetStartupArgument"},
|
||||||
|
{0x00520104, nullptr, "Wrap1"},
|
||||||
|
{0x00530104, nullptr, "Unwrap1"},
|
||||||
{0x00550040, SetScreenCapPostPermission, "SetScreenCapPostPermission"},
|
{0x00550040, SetScreenCapPostPermission, "SetScreenCapPostPermission"},
|
||||||
{0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"},
|
{0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"},
|
||||||
|
{0x00570044, nullptr, "WakeupApplication2"},
|
||||||
|
{0x00580002, nullptr, "GetProgramID"},
|
||||||
{0x01010000, CheckNew3DSApp, "CheckNew3DSApp"},
|
{0x01010000, CheckNew3DSApp, "CheckNew3DSApp"},
|
||||||
{0x01020000, CheckNew3DS, "CheckNew3DS"},
|
{0x01020000, CheckNew3DS, "CheckNew3DS"},
|
||||||
|
{0x01040000, nullptr, "IsStandardMemoryLayout"},
|
||||||
|
{0x01050100, nullptr, "IsTitleAllowed"},
|
||||||
};
|
};
|
||||||
|
|
||||||
APT_A_Interface::APT_A_Interface() {
|
APT_A_Interface::APT_A_Interface() {
|
||||||
|
|
|
@ -94,9 +94,12 @@ const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x00530104, nullptr, "Unwrap1"},
|
{0x00530104, nullptr, "Unwrap1"},
|
||||||
{0x00550040, SetScreenCapPostPermission, "SetScreenCapPostPermission"},
|
{0x00550040, SetScreenCapPostPermission, "SetScreenCapPostPermission"},
|
||||||
{0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"},
|
{0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"},
|
||||||
|
{0x00570044, nullptr, "WakeupApplication2"},
|
||||||
{0x00580002, nullptr, "GetProgramID"},
|
{0x00580002, nullptr, "GetProgramID"},
|
||||||
{0x01010000, CheckNew3DSApp, "CheckNew3DSApp"},
|
{0x01010000, CheckNew3DSApp, "CheckNew3DSApp"},
|
||||||
{0x01020000, CheckNew3DS, "CheckNew3DS"},
|
{0x01020000, CheckNew3DS, "CheckNew3DS"},
|
||||||
|
{0x01040000, nullptr, "IsStandardMemoryLayout"},
|
||||||
|
{0x01050100, nullptr, "IsTitleAllowed"},
|
||||||
};
|
};
|
||||||
|
|
||||||
APT_S_Interface::APT_S_Interface() {
|
APT_S_Interface::APT_S_Interface() {
|
||||||
|
|
|
@ -2,16 +2,81 @@
|
||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "core/hle/service/boss/boss.h"
|
||||||
#include "core/hle/service/boss/boss_p.h"
|
#include "core/hle/service/boss/boss_p.h"
|
||||||
|
|
||||||
namespace Service {
|
namespace Service {
|
||||||
namespace BOSS {
|
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() {
|
BOSS_P_Interface::BOSS_P_Interface() {
|
||||||
// Register(FunctionTable);
|
Register(FunctionTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace BOSS
|
} // namespace BOSS
|
||||||
|
|
|
@ -9,10 +9,22 @@ namespace Service {
|
||||||
namespace CECD {
|
namespace CECD {
|
||||||
|
|
||||||
static const Interface::FunctionInfo FunctionTable[] = {
|
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"},
|
{0x000E0000, GetCecStateAbbreviated, "GetCecStateAbbreviated"},
|
||||||
{0x000F0000, GetCecInfoEventHandle, "GetCecInfoEventHandle"},
|
{0x000F0000, GetCecInfoEventHandle, "GetCecInfoEventHandle"},
|
||||||
{0x00100000, GetChangeStateEventHandle, "GetChangeStateEventHandle"},
|
{0x00100000, GetChangeStateEventHandle, "GetChangeStateEventHandle"},
|
||||||
{0x00120104, nullptr, "ReadSavedData"},
|
{0x00110104, nullptr, "OpenAndWrite"},
|
||||||
|
{0x00120104, nullptr, "OpenAndRead"},
|
||||||
};
|
};
|
||||||
|
|
||||||
CECD_U_Interface::CECD_U_Interface() {
|
CECD_U_Interface::CECD_U_Interface() {
|
||||||
|
|
|
@ -20,6 +20,7 @@ const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x00080080, nullptr, "GoThroughTable"},
|
{0x00080080, nullptr, "GoThroughTable"},
|
||||||
{0x00090040, GetCountryCodeString, "GetCountryCodeString"},
|
{0x00090040, GetCountryCodeString, "GetCountryCodeString"},
|
||||||
{0x000A0040, GetCountryCodeID, "GetCountryCodeID"},
|
{0x000A0040, GetCountryCodeID, "GetCountryCodeID"},
|
||||||
|
{0x000B0000, nullptr, "IsFangateSupported"},
|
||||||
// cfg:i
|
// cfg:i
|
||||||
{0x04010082, GetConfigInfoBlk8, "GetConfigInfoBlk8"},
|
{0x04010082, GetConfigInfoBlk8, "GetConfigInfoBlk8"},
|
||||||
{0x04020082, SetConfigInfoBlk4, "SetConfigInfoBlk4"},
|
{0x04020082, SetConfigInfoBlk4, "SetConfigInfoBlk4"},
|
||||||
|
|
|
@ -20,6 +20,7 @@ const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x00080080, nullptr, "GoThroughTable"},
|
{0x00080080, nullptr, "GoThroughTable"},
|
||||||
{0x00090040, GetCountryCodeString, "GetCountryCodeString"},
|
{0x00090040, GetCountryCodeString, "GetCountryCodeString"},
|
||||||
{0x000A0040, GetCountryCodeID, "GetCountryCodeID"},
|
{0x000A0040, GetCountryCodeID, "GetCountryCodeID"},
|
||||||
|
{0x000B0000, nullptr, "IsFangateSupported"},
|
||||||
// cfg:s
|
// cfg:s
|
||||||
{0x04010082, GetConfigInfoBlk8, "GetConfigInfoBlk8"},
|
{0x04010082, GetConfigInfoBlk8, "GetConfigInfoBlk8"},
|
||||||
{0x04020082, SetConfigInfoBlk4, "SetConfigInfoBlk4"},
|
{0x04020082, SetConfigInfoBlk4, "SetConfigInfoBlk4"},
|
||||||
|
|
|
@ -20,6 +20,7 @@ const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x00080080, nullptr, "GoThroughTable"},
|
{0x00080080, nullptr, "GoThroughTable"},
|
||||||
{0x00090040, GetCountryCodeString, "GetCountryCodeString"},
|
{0x00090040, GetCountryCodeString, "GetCountryCodeString"},
|
||||||
{0x000A0040, GetCountryCodeID, "GetCountryCodeID"},
|
{0x000A0040, GetCountryCodeID, "GetCountryCodeID"},
|
||||||
|
{0x000B0000, nullptr, "IsFangateSupported"},
|
||||||
};
|
};
|
||||||
|
|
||||||
CFG_U_Interface::CFG_U_Interface() {
|
CFG_U_Interface::CFG_U_Interface() {
|
||||||
|
|
|
@ -22,7 +22,14 @@ static void unk_0x000E0040(Interface* self) {
|
||||||
const Interface::FunctionInfo FunctionTable[] = {
|
const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x00010183, nullptr, "Initialize"},
|
{0x00010183, nullptr, "Initialize"},
|
||||||
{0x00020000, nullptr, "Finalize"},
|
{0x00020000, nullptr, "Finalize"},
|
||||||
|
{0x00030000, nullptr, "GetServerState"},
|
||||||
|
{0x00050080, nullptr, "StartAccepting"},
|
||||||
|
{0x00070000, nullptr, "StartDistribution"},
|
||||||
{0x000800C0, nullptr, "SendWirelessRebootPassphrase"},
|
{0x000800C0, nullptr, "SendWirelessRebootPassphrase"},
|
||||||
|
{0x00090040, nullptr, "AcceptClient"},
|
||||||
|
{0x000B0042, nullptr, "GetConnectingClients"},
|
||||||
|
{0x000C0040, nullptr, "GetClientInfo"},
|
||||||
|
{0x000D0040, nullptr, "GetClientState"},
|
||||||
{0x000E0040, unk_0x000E0040, "unk_0x000E0040"},
|
{0x000E0040, unk_0x000E0040, "unk_0x000E0040"},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1003,6 +1003,8 @@ const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x08680000, nullptr, "GetMediaType"},
|
{0x08680000, nullptr, "GetMediaType"},
|
||||||
{0x08690000, nullptr, "GetNandEraseCount"},
|
{0x08690000, nullptr, "GetNandEraseCount"},
|
||||||
{0x086A0082, nullptr, "ReadNandReport"},
|
{0x086A0082, nullptr, "ReadNandReport"},
|
||||||
|
{0x087A0180, nullptr, "AddSeed"},
|
||||||
|
{0x088600C0, nullptr, "CheckUpdatedDat"},
|
||||||
};
|
};
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -11,11 +11,15 @@ namespace GSP_LCD {
|
||||||
|
|
||||||
const Interface::FunctionInfo FunctionTable[] = {
|
const Interface::FunctionInfo FunctionTable[] = {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
|
{0x000A0080, nullptr, "SetBrightnessRaw"},
|
||||||
|
{0x000B0080, nullptr, "SetBrightness"},
|
||||||
{0x000F0000, nullptr, "PowerOnAllBacklights"},
|
{0x000F0000, nullptr, "PowerOnAllBacklights"},
|
||||||
{0x00100000, nullptr, "PowerOffAllBacklights"},
|
{0x00100000, nullptr, "PowerOffAllBacklights"},
|
||||||
{0x00110040, nullptr, "PowerOnBacklight"},
|
{0x00110040, nullptr, "PowerOnBacklight"},
|
||||||
{0x00120040, nullptr, "PowerOffBacklight"},
|
{0x00120040, nullptr, "PowerOffBacklight"},
|
||||||
{0x00130040, nullptr, "SetLedForceOff"},
|
{0x00130040, nullptr, "SetLedForceOff"},
|
||||||
|
{0x00140000, nullptr, "GetVendor"},
|
||||||
|
{0x00150040, nullptr, "GetBrightness"},
|
||||||
// clang-format on
|
// clang-format on
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,10 @@ const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x002E0040, nullptr, "DestroyRootCertChain"},
|
{0x002E0040, nullptr, "DestroyRootCertChain"},
|
||||||
{0x002F0082, nullptr, "RootCertChainAddCert"},
|
{0x002F0082, nullptr, "RootCertChainAddCert"},
|
||||||
{0x00300080, nullptr, "RootCertChainAddDefaultCert"},
|
{0x00300080, nullptr, "RootCertChainAddDefaultCert"},
|
||||||
|
{0x00310080, nullptr, "RootCertChainRemoveCert"},
|
||||||
|
{0x00320084, nullptr, "OpenClientCertContext"},
|
||||||
|
{0x00330040, nullptr, "OpenDefaultClientCertContext"},
|
||||||
|
{0x00340040, nullptr, "CloseClientCertContext"},
|
||||||
{0x00350186, nullptr, "SetDefaultProxy"},
|
{0x00350186, nullptr, "SetDefaultProxy"},
|
||||||
{0x00360000, nullptr, "ClearDNSCache"},
|
{0x00360000, nullptr, "ClearDNSCache"},
|
||||||
{0x00370080, nullptr, "SetKeepAlive"},
|
{0x00370080, nullptr, "SetKeepAlive"},
|
||||||
|
|
|
@ -10,6 +10,7 @@ namespace NIM {
|
||||||
const Interface::FunctionInfo FunctionTable[] = {
|
const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x000A0000, nullptr, "CheckSysupdateAvailableSOAP"},
|
{0x000A0000, nullptr, "CheckSysupdateAvailableSOAP"},
|
||||||
{0x0016020A, nullptr, "ListTitles"},
|
{0x0016020A, nullptr, "ListTitles"},
|
||||||
|
{0x00290000, nullptr, "AccountCheckBalanceSOAP"},
|
||||||
{0x002D0042, nullptr, "DownloadTickets"},
|
{0x002D0042, nullptr, "DownloadTickets"},
|
||||||
{0x00420240, nullptr, "StartDownload"},
|
{0x00420240, nullptr, "StartDownload"},
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,6 +15,7 @@ const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x00050000, nullptr, "CheckForSysUpdateEvent"},
|
{0x00050000, nullptr, "CheckForSysUpdateEvent"},
|
||||||
{0x00090000, CheckSysUpdateAvailable, "CheckSysUpdateAvailable"},
|
{0x00090000, CheckSysUpdateAvailable, "CheckSysUpdateAvailable"},
|
||||||
{0x000A0000, nullptr, "GetState"},
|
{0x000A0000, nullptr, "GetState"},
|
||||||
|
{0x000B0000, nullptr, "GetSystemTitleHash"},
|
||||||
};
|
};
|
||||||
|
|
||||||
NIM_U_Interface::NIM_U_Interface() {
|
NIM_U_Interface::NIM_U_Interface() {
|
||||||
|
|
|
@ -90,7 +90,7 @@ static void RecvBeaconBroadcastData(Service::Interface* self) {
|
||||||
* 2 : Value 0
|
* 2 : Value 0
|
||||||
* 3 : Output handle
|
* 3 : Output handle
|
||||||
*/
|
*/
|
||||||
static void Initialize(Service::Interface* self) {
|
static void InitializeWithVersion(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
u32 unk1 = cmd_buff[1];
|
u32 unk1 = cmd_buff[1];
|
||||||
u32 unk2 = cmd_buff[12];
|
u32 unk2 = cmd_buff[12];
|
||||||
|
@ -120,24 +120,26 @@ static void Initialize(Service::Interface* self) {
|
||||||
const Interface::FunctionInfo FunctionTable[] = {
|
const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x00020000, nullptr, "Scrap"},
|
{0x00020000, nullptr, "Scrap"},
|
||||||
{0x00030000, Shutdown, "Shutdown"},
|
{0x00030000, Shutdown, "Shutdown"},
|
||||||
{0x00040402, nullptr, "CreateNetwork"},
|
{0x00040402, nullptr, "CreateNetwork (deprecated)"},
|
||||||
{0x00050040, nullptr, "EjectClient"},
|
{0x00050040, nullptr, "EjectClient"},
|
||||||
{0x00060000, nullptr, "EjectSpectator"},
|
{0x00060000, nullptr, "EjectSpectator"},
|
||||||
{0x00070080, nullptr, "UpdateNetworkAttribute"},
|
{0x00070080, nullptr, "UpdateNetworkAttribute"},
|
||||||
{0x00080000, nullptr, "DestroyNetwork"},
|
{0x00080000, nullptr, "DestroyNetwork"},
|
||||||
|
{0x00090442, nullptr, "ConnectNetwork (deprecated)"},
|
||||||
{0x000A0000, nullptr, "DisconnectNetwork"},
|
{0x000A0000, nullptr, "DisconnectNetwork"},
|
||||||
{0x000B0000, nullptr, "GetConnectionStatus"},
|
{0x000B0000, nullptr, "GetConnectionStatus"},
|
||||||
{0x000D0040, nullptr, "GetNodeInformation"},
|
{0x000D0040, nullptr, "GetNodeInformation"},
|
||||||
|
{0x000E0006, nullptr, "DecryptBeaconData (deprecated)"},
|
||||||
{0x000F0404, RecvBeaconBroadcastData, "RecvBeaconBroadcastData"},
|
{0x000F0404, RecvBeaconBroadcastData, "RecvBeaconBroadcastData"},
|
||||||
{0x00100042, nullptr, "SetBeaconAdditionalData"},
|
{0x00100042, nullptr, "SetApplicationData"},
|
||||||
{0x00110040, nullptr, "GetApplicationData"},
|
{0x00110040, nullptr, "GetApplicationData"},
|
||||||
{0x00120100, nullptr, "Bind"},
|
{0x00120100, nullptr, "Bind"},
|
||||||
{0x00130040, nullptr, "Unbind"},
|
{0x00130040, nullptr, "Unbind"},
|
||||||
{0x001400C0, nullptr, "RecvBroadcastDataFrame"},
|
{0x001400C0, nullptr, "PullPacket"},
|
||||||
{0x00150080, nullptr, "SetMaxSendDelay"},
|
{0x00150080, nullptr, "SetMaxSendDelay"},
|
||||||
{0x00170182, nullptr, "SendTo"},
|
{0x00170182, nullptr, "SendTo"},
|
||||||
{0x001A0000, nullptr, "GetChannel"},
|
{0x001A0000, nullptr, "GetChannel"},
|
||||||
{0x001B0302, Initialize, "Initialize"},
|
{0x001B0302, InitializeWithVersion, "InitializeWithVersion"},
|
||||||
{0x001D0044, nullptr, "BeginHostingNetwork"},
|
{0x001D0044, nullptr, "BeginHostingNetwork"},
|
||||||
{0x001E0084, nullptr, "ConnectToNetwork"},
|
{0x001E0084, nullptr, "ConnectToNetwork"},
|
||||||
{0x001F0006, nullptr, "DecryptBeaconData"},
|
{0x001F0006, nullptr, "DecryptBeaconData"},
|
||||||
|
|
|
@ -10,18 +10,21 @@
|
||||||
namespace PM_APP {
|
namespace PM_APP {
|
||||||
|
|
||||||
const Interface::FunctionInfo FunctionTable[] = {
|
const Interface::FunctionInfo FunctionTable[] = {
|
||||||
|
// clang-format off
|
||||||
{0x00010140, nullptr, "LaunchTitle"},
|
{0x00010140, nullptr, "LaunchTitle"},
|
||||||
{0x00020082, nullptr, "LaunchFIRMSetParams"},
|
{0x00020082, nullptr, "LaunchFIRM"},
|
||||||
{0x00030080, nullptr, "TerminateProcesse"},
|
{0x00030080, nullptr, "TerminateApplication"},
|
||||||
{0x00040100, nullptr, "TerminateProcessTID"},
|
{0x00040100, nullptr, "TerminateTitle"},
|
||||||
{0x000500C0, nullptr, "TerminateProcessTID_unknown"},
|
{0x000500C0, nullptr, "TerminateProcess"},
|
||||||
|
{0x00060082, nullptr, "PrepareForReboot"},
|
||||||
{0x00070042, nullptr, "GetFIRMLaunchParams"},
|
{0x00070042, nullptr, "GetFIRMLaunchParams"},
|
||||||
{0x00080100, nullptr, "GetTitleExheaderFlags"},
|
{0x00080100, nullptr, "GetTitleExheaderFlags"},
|
||||||
{0x00090042, nullptr, "SetFIRMLaunchParams"},
|
{0x00090042, nullptr, "SetFIRMLaunchParams"},
|
||||||
{0x000A0140, nullptr, "SetResourceLimit"},
|
{0x000A0140, nullptr, "SetAppResourceLimit"},
|
||||||
{0x000B0140, nullptr, "GetResourceLimitMax"},
|
{0x000B0140, nullptr, "GetAppResourceLimit"},
|
||||||
{0x000C0080, nullptr, "UnregisterProcess"},
|
{0x000C0080, nullptr, "UnregisterProcess"},
|
||||||
{0x000D0240, nullptr, "LaunchTitleUpdate"},
|
{0x000D0240, nullptr, "LaunchTitleUpdate"},
|
||||||
|
// clang-format on
|
||||||
};
|
};
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -81,7 +81,7 @@ void GetTotalStepCount(Service::Interface* self) {
|
||||||
LOG_WARNING(Service_PTM, "(STUBBED) called");
|
LOG_WARNING(Service_PTM, "(STUBBED) called");
|
||||||
}
|
}
|
||||||
|
|
||||||
void IsLegacyPowerOff(Service::Interface* self) {
|
void GetSoftwareClosedFlag(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||||
|
|
|
@ -82,12 +82,13 @@ void GetBatteryChargeState(Interface* self);
|
||||||
void GetTotalStepCount(Interface* self);
|
void GetTotalStepCount(Interface* self);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PTM::IsLegacyPowerOff service function
|
* PTM::GetSoftwareClosedFlag service function
|
||||||
* Outputs:
|
* Outputs:
|
||||||
* 1: Result code, 0 on success, otherwise error code
|
* 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
|
* PTM::CheckNew3DS service function
|
||||||
|
|
|
@ -33,8 +33,8 @@ const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x080C0080, nullptr, "SetUserTime"},
|
{0x080C0080, nullptr, "SetUserTime"},
|
||||||
{0x080D0000, nullptr, "InvalidateSystemTime"},
|
{0x080D0000, nullptr, "InvalidateSystemTime"},
|
||||||
{0x080E0140, nullptr, "NotifyPlayEvent"},
|
{0x080E0140, nullptr, "NotifyPlayEvent"},
|
||||||
{0x080F0000, IsLegacyPowerOff, "IsLegacyPowerOff"},
|
{0x080F0000, GetSoftwareClosedFlag, "GetSoftwareClosedFlag"},
|
||||||
{0x08100000, nullptr, "ClearLegacyPowerOff"},
|
{0x08100000, nullptr, "ClearSoftwareClosedFlag"},
|
||||||
{0x08110000, GetShellState, "GetShellState"},
|
{0x08110000, GetShellState, "GetShellState"},
|
||||||
{0x08120000, nullptr, "IsShutdownByBatteryEmpty"},
|
{0x08120000, nullptr, "IsShutdownByBatteryEmpty"},
|
||||||
{0x08130000, nullptr, "FormatSavedata"},
|
{0x08130000, nullptr, "FormatSavedata"},
|
||||||
|
|
|
@ -66,6 +66,7 @@ const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x00050082, nullptr, "AddTrustedRootCA"},
|
{0x00050082, nullptr, "AddTrustedRootCA"},
|
||||||
{0x00060080, nullptr, "RootCertChainAddDefaultCert"},
|
{0x00060080, nullptr, "RootCertChainAddDefaultCert"},
|
||||||
{0x00070080, nullptr, "RootCertChainRemoveCert"},
|
{0x00070080, nullptr, "RootCertChainRemoveCert"},
|
||||||
|
{0x000D0084, nullptr, "OpenClientCertContext"},
|
||||||
{0x000E0040, nullptr, "OpenDefaultClientCertContext"},
|
{0x000E0040, nullptr, "OpenDefaultClientCertContext"},
|
||||||
{0x000F0040, nullptr, "CloseClientCertContext"},
|
{0x000F0040, nullptr, "CloseClientCertContext"},
|
||||||
{0x00110042, GenerateRandomData, "GenerateRandomData"},
|
{0x00110042, GenerateRandomData, "GenerateRandomData"},
|
||||||
|
@ -73,10 +74,12 @@ const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x00130040, nullptr, "StartConnection"},
|
{0x00130040, nullptr, "StartConnection"},
|
||||||
{0x00140040, nullptr, "StartConnectionGetOut"},
|
{0x00140040, nullptr, "StartConnectionGetOut"},
|
||||||
{0x00150082, nullptr, "Read"},
|
{0x00150082, nullptr, "Read"},
|
||||||
|
{0x00160082, nullptr, "ReadPeek"},
|
||||||
{0x00170082, nullptr, "Write"},
|
{0x00170082, nullptr, "Write"},
|
||||||
{0x00180080, nullptr, "ContextSetRootCertChain"},
|
{0x00180080, nullptr, "ContextSetRootCertChain"},
|
||||||
{0x00190080, nullptr, "ContextSetClientCert"},
|
{0x00190080, nullptr, "ContextSetClientCert"},
|
||||||
{0x001B0080, nullptr, "ContextClearOpt"},
|
{0x001B0080, nullptr, "ContextClearOpt"},
|
||||||
|
{0x001C00C4, nullptr, "ContextGetProtocolCipher"},
|
||||||
{0x001E0040, nullptr, "DestroyContext"},
|
{0x001E0040, nullptr, "DestroyContext"},
|
||||||
{0x001F0082, nullptr, "ContextInitSharedmem"},
|
{0x001F0082, nullptr, "ContextInitSharedmem"},
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue