mirror of
https://github.com/PabloMK7/citra.git
synced 2025-09-12 22:00:04 +00:00
hle: Eliminate need to specify command headers for IPC. (#6678)
This commit is contained in:
parent
0bedb28bdc
commit
e043caac27
96 changed files with 2691 additions and 2707 deletions
|
@ -61,7 +61,7 @@ std::shared_ptr<Module> Module::NSInterface::GetModule() const {
|
|||
}
|
||||
|
||||
void Module::NSInterface::SetWirelessRebootInfo(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x06, 1, 2); // 0x00060042
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto size = rp.Pop<u32>();
|
||||
const auto buffer = rp.PopStaticBuffer();
|
||||
|
||||
|
@ -74,7 +74,7 @@ void Module::NSInterface::SetWirelessRebootInfo(Kernel::HLERequestContext& ctx)
|
|||
}
|
||||
|
||||
void Module::NSInterface::ShutdownAsync(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0xE, 0, 0); // 0xE0000
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_INFO(Service_APT, "called");
|
||||
|
||||
|
@ -85,7 +85,7 @@ void Module::NSInterface::ShutdownAsync(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::NSInterface::RebootSystem(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x10, 6, 0); // 0x100180
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto launch_title = rp.Pop<u8>() != 0;
|
||||
const auto title_id = rp.Pop<u64>();
|
||||
const auto media_type = static_cast<FS::MediaType>(rp.Pop<u8>());
|
||||
|
@ -104,7 +104,7 @@ void Module::NSInterface::RebootSystem(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::NSInterface::RebootSystemClean(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x16, 0, 0); // 0x160000
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_INFO(Service_APT, "called");
|
||||
|
||||
|
@ -115,7 +115,7 @@ void Module::NSInterface::RebootSystemClean(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::Initialize(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x2, 2, 0); // 0x20080
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto app_id = rp.PopEnum<AppletId>();
|
||||
const auto attributes = rp.Pop<u32>();
|
||||
|
||||
|
@ -266,7 +266,7 @@ bool Module::LoadLegacySharedFont() {
|
|||
}
|
||||
|
||||
void Module::APTInterface::GetSharedFont(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x44, 0, 0); // 0x00440000
|
||||
IPC::RequestParser rp(ctx);
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 2);
|
||||
|
||||
// Log in telemetry if the game uses the shared font
|
||||
|
@ -318,7 +318,7 @@ void Module::APTInterface::GetSharedFont(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::GetWirelessRebootInfo(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x45, 1, 0); // 0x00450040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto size = rp.Pop<u32>();
|
||||
|
||||
LOG_WARNING(Service_APT, "called size={:08X}", size);
|
||||
|
@ -329,7 +329,7 @@ void Module::APTInterface::GetWirelessRebootInfo(Kernel::HLERequestContext& ctx)
|
|||
}
|
||||
|
||||
void Module::APTInterface::NotifyToWait(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x43, 1, 0); // 0x430040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto app_id = rp.Pop<u32>();
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
@ -339,7 +339,7 @@ void Module::APTInterface::NotifyToWait(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::GetLockHandle(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x1, 1, 0); // 0x10040
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
// Bits [0:2] are the applet type (System, Library, etc)
|
||||
// Bit 5 tells the application that there's a pending APT parameter,
|
||||
|
@ -362,7 +362,7 @@ void Module::APTInterface::GetLockHandle(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::Enable(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x3, 1, 0); // 0x30040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto attributes = rp.Pop<u32>();
|
||||
|
||||
LOG_DEBUG(Service_APT, "called attributes={:#010X}", attributes);
|
||||
|
@ -372,7 +372,7 @@ void Module::APTInterface::Enable(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::GetAppletManInfo(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x5, 1, 0); // 0x50040
|
||||
IPC::RequestParser rp(ctx);
|
||||
auto applet_pos = rp.PopEnum<AppletPos>();
|
||||
|
||||
LOG_DEBUG(Service_APT, "called, applet_pos={:08X}", applet_pos);
|
||||
|
@ -392,7 +392,7 @@ void Module::APTInterface::GetAppletManInfo(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::IsRegistered(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x9, 1, 0); // 0x90040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto app_id = rp.PopEnum<AppletId>();
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
|
||||
|
@ -403,7 +403,7 @@ void Module::APTInterface::IsRegistered(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::InquireNotification(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0xB, 1, 0); // 0xB0040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto app_id = rp.PopEnum<AppletId>();
|
||||
|
||||
LOG_DEBUG(Service_APT, "called app_id={:#010X}", app_id);
|
||||
|
@ -420,7 +420,7 @@ void Module::APTInterface::InquireNotification(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::SendParameter(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0xC, 4, 4); // 0xC0104
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto src_app_id = rp.PopEnum<AppletId>();
|
||||
const auto dst_app_id = rp.PopEnum<AppletId>();
|
||||
const auto signal_type = rp.PopEnum<SignalType>();
|
||||
|
@ -444,7 +444,7 @@ void Module::APTInterface::SendParameter(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::ReceiveParameter(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0xD, 2, 0); // 0xD0080
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto app_id = rp.PopEnum<AppletId>();
|
||||
const auto buffer_size = rp.Pop<u32>();
|
||||
|
||||
|
@ -470,7 +470,7 @@ void Module::APTInterface::ReceiveParameter(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::GlanceParameter(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0xE, 2, 0); // 0xE0080
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto app_id = rp.PopEnum<AppletId>();
|
||||
const u32 buffer_size = rp.Pop<u32>();
|
||||
|
||||
|
@ -496,7 +496,7 @@ void Module::APTInterface::GlanceParameter(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::CancelParameter(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0xF, 4, 0); // 0xF0100
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto check_sender = rp.Pop<bool>();
|
||||
const auto sender_appid = rp.PopEnum<AppletId>();
|
||||
const auto check_receiver = rp.Pop<bool>();
|
||||
|
@ -514,7 +514,7 @@ void Module::APTInterface::CancelParameter(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::PrepareToDoApplicationJump(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x31, 4, 0); // 0x00310100
|
||||
IPC::RequestParser rp(ctx);
|
||||
auto flags = rp.PopEnum<ApplicationJumpFlags>();
|
||||
u64 title_id = rp.Pop<u64>();
|
||||
u8 media_type = rp.Pop<u8>();
|
||||
|
@ -530,7 +530,7 @@ void Module::APTInterface::PrepareToDoApplicationJump(Kernel::HLERequestContext&
|
|||
}
|
||||
|
||||
void Module::APTInterface::DoApplicationJump(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x32, 2, 4); // 0x00320084
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto param_size = rp.Pop<u32>();
|
||||
const auto hmac_size = rp.Pop<u32>();
|
||||
const auto param = rp.PopStaticBuffer();
|
||||
|
@ -543,7 +543,7 @@ void Module::APTInterface::DoApplicationJump(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::GetProgramIdOnApplicationJump(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x33, 0, 0); // 0x00330000
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
||||
|
@ -558,7 +558,7 @@ void Module::APTInterface::GetProgramIdOnApplicationJump(Kernel::HLERequestConte
|
|||
}
|
||||
|
||||
void Module::APTInterface::ReceiveDeliverArg(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x35, 2, 0); // 0x00350080
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto param_size = rp.Pop<u32>();
|
||||
const auto hmac_size = rp.Pop<u32>();
|
||||
|
||||
|
@ -577,7 +577,7 @@ void Module::APTInterface::ReceiveDeliverArg(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::PrepareToStartApplication(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x15, 5, 0); // 0x00150140
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto title_id = rp.Pop<u64>();
|
||||
const auto media_type = static_cast<FS::MediaType>(rp.Pop<u8>());
|
||||
rp.Skip(1, false); // Padding
|
||||
|
@ -591,7 +591,7 @@ void Module::APTInterface::PrepareToStartApplication(Kernel::HLERequestContext&
|
|||
}
|
||||
|
||||
void Module::APTInterface::StartApplication(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x1B, 3, 4); // 0x001B00C4
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto parameter_size = rp.Pop<u32>();
|
||||
const auto hmac_size = rp.Pop<u32>();
|
||||
const auto paused = rp.Pop<bool>();
|
||||
|
@ -606,7 +606,7 @@ void Module::APTInterface::StartApplication(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::WakeupApplication(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x1C, 0, 0); // 0x001C0000
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
||||
|
@ -615,7 +615,7 @@ void Module::APTInterface::WakeupApplication(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::CancelApplication(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x1D, 0, 0); // 0x001D0000
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
||||
|
@ -624,7 +624,7 @@ void Module::APTInterface::CancelApplication(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::AppletUtility(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x4B, 3, 2); // 0x004B00C2
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
// These are from 3dbrew - I'm not really sure what they're used for.
|
||||
const auto utility_command = rp.Pop<u32>();
|
||||
|
@ -651,7 +651,7 @@ void Module::APTInterface::AppletUtility(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::SetAppCpuTimeLimit(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x4F, 2, 0); // 0x4F0080
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto must_be_one = rp.Pop<u32>();
|
||||
const auto value = rp.Pop<u32>();
|
||||
|
||||
|
@ -667,7 +667,7 @@ void Module::APTInterface::SetAppCpuTimeLimit(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::GetAppCpuTimeLimit(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x50, 1, 0); // 0x500040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto must_be_one = rp.Pop<u32>();
|
||||
|
||||
LOG_WARNING(Service_APT, "(STUBBED) called, must_be_one={}", must_be_one);
|
||||
|
@ -681,7 +681,7 @@ void Module::APTInterface::GetAppCpuTimeLimit(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::PrepareToStartLibraryApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x18, 1, 0); // 0x180040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto applet_id = rp.PopEnum<AppletId>();
|
||||
|
||||
LOG_DEBUG(Service_APT, "called, applet_id={:08X}", applet_id);
|
||||
|
@ -691,7 +691,7 @@ void Module::APTInterface::PrepareToStartLibraryApplet(Kernel::HLERequestContext
|
|||
}
|
||||
|
||||
void Module::APTInterface::PrepareToStartSystemApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x19, 1, 0); // 0x190040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto applet_id = rp.PopEnum<AppletId>();
|
||||
|
||||
LOG_DEBUG(Service_APT, "called, applet_id={:08X}", applet_id);
|
||||
|
@ -701,7 +701,7 @@ void Module::APTInterface::PrepareToStartSystemApplet(Kernel::HLERequestContext&
|
|||
}
|
||||
|
||||
void Module::APTInterface::PrepareToStartNewestHomeMenu(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x1A, 0, 0); // 0x1A0000
|
||||
IPC::RequestParser rp(ctx);
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
@ -715,7 +715,7 @@ void Module::APTInterface::PrepareToStartNewestHomeMenu(Kernel::HLERequestContex
|
|||
}
|
||||
|
||||
void Module::APTInterface::PreloadLibraryApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x16, 1, 0); // 0x160040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto applet_id = rp.PopEnum<AppletId>();
|
||||
|
||||
LOG_DEBUG(Service_APT, "called, applet_id={:08X}", applet_id);
|
||||
|
@ -725,7 +725,7 @@ void Module::APTInterface::PreloadLibraryApplet(Kernel::HLERequestContext& ctx)
|
|||
}
|
||||
|
||||
void Module::APTInterface::FinishPreloadingLibraryApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x17, 1, 0); // 0x00170040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto applet_id = rp.PopEnum<AppletId>();
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
@ -735,7 +735,7 @@ void Module::APTInterface::FinishPreloadingLibraryApplet(Kernel::HLERequestConte
|
|||
}
|
||||
|
||||
void Module::APTInterface::StartLibraryApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x1E, 2, 4); // 0x1E0084
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto applet_id = rp.PopEnum<AppletId>();
|
||||
const auto buffer_size = rp.Pop<u32>();
|
||||
const auto object = rp.PopGenericObject();
|
||||
|
@ -748,7 +748,7 @@ void Module::APTInterface::StartLibraryApplet(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::StartSystemApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x1F, 2, 4); // 0x1F0084
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto applet_id = rp.PopEnum<AppletId>();
|
||||
const auto buffer_size = rp.Pop<u32>();
|
||||
const auto object = rp.PopGenericObject();
|
||||
|
@ -761,7 +761,7 @@ void Module::APTInterface::StartSystemApplet(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::OrderToCloseApplication(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x21, 0, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
||||
|
@ -770,7 +770,7 @@ void Module::APTInterface::OrderToCloseApplication(Kernel::HLERequestContext& ct
|
|||
}
|
||||
|
||||
void Module::APTInterface::PrepareToCloseApplication(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x22, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto return_to_sys = rp.Pop<u8>() != 0;
|
||||
|
||||
LOG_DEBUG(Service_APT, "called return_to_sys={}", return_to_sys);
|
||||
|
@ -780,7 +780,7 @@ void Module::APTInterface::PrepareToCloseApplication(Kernel::HLERequestContext&
|
|||
}
|
||||
|
||||
void Module::APTInterface::CloseApplication(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x27, 1, 4);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto parameter_size = rp.Pop<u32>();
|
||||
const auto object = rp.PopGenericObject();
|
||||
const auto buffer = rp.PopStaticBuffer();
|
||||
|
@ -792,7 +792,7 @@ void Module::APTInterface::CloseApplication(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::CancelLibraryApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x3B, 1, 0); // 0x003B0040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto app_exiting = rp.Pop<bool>();
|
||||
|
||||
LOG_DEBUG(Service_APT, "called app_exiting={}", app_exiting);
|
||||
|
@ -802,7 +802,7 @@ void Module::APTInterface::CancelLibraryApplet(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::PrepareToCloseLibraryApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x25, 3, 0); // 0x002500C0
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto not_pause = rp.Pop<bool>();
|
||||
const auto exiting = rp.Pop<bool>();
|
||||
const auto jump_to_home = rp.Pop<bool>();
|
||||
|
@ -815,7 +815,7 @@ void Module::APTInterface::PrepareToCloseLibraryApplet(Kernel::HLERequestContext
|
|||
}
|
||||
|
||||
void Module::APTInterface::PrepareToCloseSystemApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x26, 0, 0); // 0x260000
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
||||
|
@ -824,7 +824,7 @@ void Module::APTInterface::PrepareToCloseSystemApplet(Kernel::HLERequestContext&
|
|||
}
|
||||
|
||||
void Module::APTInterface::CloseLibraryApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x28, 1, 4); // 0x00280044
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto parameter_size = rp.Pop<u32>();
|
||||
const auto object = rp.PopGenericObject();
|
||||
const auto buffer = rp.PopStaticBuffer();
|
||||
|
@ -836,7 +836,7 @@ void Module::APTInterface::CloseLibraryApplet(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::CloseSystemApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x29, 1, 4); // 0x00280044
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto parameter_size = rp.Pop<u32>();
|
||||
const auto object = rp.PopGenericObject();
|
||||
const auto buffer = rp.PopStaticBuffer();
|
||||
|
@ -848,7 +848,7 @@ void Module::APTInterface::CloseSystemApplet(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::OrderToCloseSystemApplet(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x2A, 0, 0); // 0x2A0000
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
||||
|
@ -857,7 +857,7 @@ void Module::APTInterface::OrderToCloseSystemApplet(Kernel::HLERequestContext& c
|
|||
}
|
||||
|
||||
void Module::APTInterface::PrepareToJumpToHomeMenu(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x2B, 0, 0); // 0x2B0000
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
||||
|
@ -866,7 +866,7 @@ void Module::APTInterface::PrepareToJumpToHomeMenu(Kernel::HLERequestContext& ct
|
|||
}
|
||||
|
||||
void Module::APTInterface::JumpToHomeMenu(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x2C, 1, 4); // 0x2C0044
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto parameter_size = rp.Pop<u32>();
|
||||
const auto object = rp.PopGenericObject();
|
||||
const auto buffer = rp.PopStaticBuffer();
|
||||
|
@ -878,7 +878,7 @@ void Module::APTInterface::JumpToHomeMenu(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::PrepareToLeaveHomeMenu(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x2D, 0, 0); // 0x2D0000
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
||||
|
@ -887,7 +887,7 @@ void Module::APTInterface::PrepareToLeaveHomeMenu(Kernel::HLERequestContext& ctx
|
|||
}
|
||||
|
||||
void Module::APTInterface::LeaveHomeMenu(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x2E, 1, 4); // 0x2E0044
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto parameter_size = rp.Pop<u32>();
|
||||
const auto object = rp.PopGenericObject();
|
||||
const auto buffer = rp.PopStaticBuffer();
|
||||
|
@ -899,7 +899,7 @@ void Module::APTInterface::LeaveHomeMenu(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::LoadSysMenuArg(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x36, 1, 0); // 0x00360040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto size = std::min(std::size_t{rp.Pop<u32>()}, SysMenuArgSize);
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
@ -914,7 +914,7 @@ void Module::APTInterface::LoadSysMenuArg(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::StoreSysMenuArg(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x37, 1, 2); // 0x00370042
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto size = std::min(std::size_t{rp.Pop<u32>()}, SysMenuArgSize);
|
||||
const auto& buffer = rp.PopStaticBuffer();
|
||||
|
||||
|
@ -928,7 +928,7 @@ void Module::APTInterface::StoreSysMenuArg(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::SendCaptureBufferInfo(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x40, 1, 2); // 0x00400042
|
||||
IPC::RequestParser rp(ctx);
|
||||
[[maybe_unused]] const auto size = rp.Pop<u32>();
|
||||
const auto buffer = rp.PopStaticBuffer();
|
||||
|
||||
|
@ -941,7 +941,7 @@ void Module::APTInterface::SendCaptureBufferInfo(Kernel::HLERequestContext& ctx)
|
|||
}
|
||||
|
||||
void Module::APTInterface::ReceiveCaptureBufferInfo(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x41, 1, 0); // 0x00410040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto size = rp.Pop<u32>();
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
@ -957,7 +957,7 @@ void Module::APTInterface::ReceiveCaptureBufferInfo(Kernel::HLERequestContext& c
|
|||
}
|
||||
|
||||
void Module::APTInterface::GetCaptureInfo(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x4A, 1, 0); // 0x004A0040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto size = rp.Pop<u32>();
|
||||
|
||||
LOG_DEBUG(Service_APT, "called");
|
||||
|
@ -973,7 +973,7 @@ void Module::APTInterface::GetCaptureInfo(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::SetScreenCapPostPermission(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x55, 1, 0); // 0x00550040
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_DEBUG(Service_APT, "called, screen_capture_post_permission={}",
|
||||
apt->screen_capture_post_permission);
|
||||
|
@ -985,7 +985,7 @@ void Module::APTInterface::SetScreenCapPostPermission(Kernel::HLERequestContext&
|
|||
}
|
||||
|
||||
void Module::APTInterface::GetScreenCapPostPermission(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x56, 0, 0); // 0x00560000
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_DEBUG(Service_APT, "(STUBBED) called, screen_capture_post_permission={}",
|
||||
apt->screen_capture_post_permission);
|
||||
|
@ -996,7 +996,7 @@ void Module::APTInterface::GetScreenCapPostPermission(Kernel::HLERequestContext&
|
|||
}
|
||||
|
||||
void Module::APTInterface::GetAppletInfo(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x6, 1, 0); // 0x60040
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto app_id = rp.PopEnum<AppletId>();
|
||||
|
||||
LOG_DEBUG(Service_APT, "called, app_id={:08X}", app_id);
|
||||
|
@ -1017,7 +1017,7 @@ void Module::APTInterface::GetAppletInfo(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::GetStartupArgument(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x51, 2, 0); // 0x00510080
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto parameter_size = rp.Pop<u32>();
|
||||
const auto startup_argument_type = static_cast<StartupArgumentType>(rp.Pop<u8>());
|
||||
|
||||
|
@ -1058,7 +1058,7 @@ void Module::APTInterface::GetStartupArgument(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::Wrap(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x46, 4, 4);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto output_size = rp.Pop<u32>();
|
||||
const auto input_size = rp.Pop<u32>();
|
||||
const auto nonce_offset = rp.Pop<u32>();
|
||||
|
@ -1103,7 +1103,7 @@ void Module::APTInterface::Wrap(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::Unwrap(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x47, 4, 4);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto output_size = rp.Pop<u32>();
|
||||
const auto input_size = rp.Pop<u32>();
|
||||
const auto nonce_offset = rp.Pop<u32>();
|
||||
|
@ -1155,7 +1155,7 @@ void Module::APTInterface::Unwrap(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::CheckNew3DSApp(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x101, 0, 0); // 0x01010000
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
LOG_WARNING(Service_APT, "(STUBBED) called");
|
||||
|
||||
|
@ -1169,7 +1169,7 @@ void Module::APTInterface::CheckNew3DSApp(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::CheckNew3DS(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x102, 0, 0); // 0x01020000
|
||||
IPC::RequestParser rp(ctx);
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
|
||||
|
||||
LOG_WARNING(Service_APT, "(STUBBED) called");
|
||||
|
@ -1178,7 +1178,7 @@ void Module::APTInterface::CheckNew3DS(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::Unknown0x0103(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x103, 0, 0); // 0x01030000
|
||||
IPC::RequestParser rp(ctx);
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
|
||||
|
||||
LOG_WARNING(Service_APT, "(STUBBED) called");
|
||||
|
@ -1188,7 +1188,7 @@ void Module::APTInterface::Unknown0x0103(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::APTInterface::IsTitleAllowed(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x105, 4, 0); // 0x01050100
|
||||
IPC::RequestParser rp(ctx);
|
||||
const auto program_id = rp.Pop<u64>();
|
||||
const auto media_type = static_cast<FS::MediaType>(rp.Pop<u8>());
|
||||
rp.Skip(1, false); // Padding
|
||||
|
|
|
@ -11,98 +11,98 @@ APT_A::APT_A(std::shared_ptr<Module> apt)
|
|||
: Module::APTInterface(std::move(apt), "APT:A", MaxAPTSessions) {
|
||||
static const FunctionInfo functions[] = {
|
||||
// clang-format off
|
||||
{IPC::MakeHeader(0x0001, 1, 0), &APT_A::GetLockHandle, "GetLockHandle"},
|
||||
{IPC::MakeHeader(0x0002, 2, 0), &APT_A::Initialize, "Initialize"},
|
||||
{IPC::MakeHeader(0x0003, 1, 0), &APT_A::Enable, "Enable"},
|
||||
{IPC::MakeHeader(0x0004, 1, 0), nullptr, "Finalize"},
|
||||
{IPC::MakeHeader(0x0005, 1, 0), &APT_A::GetAppletManInfo, "GetAppletManInfo"},
|
||||
{IPC::MakeHeader(0x0006, 1, 0), &APT_A::GetAppletInfo, "GetAppletInfo"},
|
||||
{IPC::MakeHeader(0x0007, 0, 0), nullptr, "GetLastSignaledAppletId"},
|
||||
{IPC::MakeHeader(0x0008, 0, 0), nullptr, "CountRegisteredApplet"},
|
||||
{IPC::MakeHeader(0x0009, 1, 0), &APT_A::IsRegistered, "IsRegistered"},
|
||||
{IPC::MakeHeader(0x000A, 1, 0), nullptr, "GetAttribute"},
|
||||
{IPC::MakeHeader(0x000B, 1, 0), &APT_A::InquireNotification, "InquireNotification"},
|
||||
{IPC::MakeHeader(0x000C, 4, 4), &APT_A::SendParameter, "SendParameter"},
|
||||
{IPC::MakeHeader(0x000D, 2, 0), &APT_A::ReceiveParameter, "ReceiveParameter"},
|
||||
{IPC::MakeHeader(0x000E, 2, 0), &APT_A::GlanceParameter, "GlanceParameter"},
|
||||
{IPC::MakeHeader(0x000F, 4, 0), &APT_A::CancelParameter, "CancelParameter"},
|
||||
{IPC::MakeHeader(0x0010, 3, 2), nullptr, "DebugFunc"},
|
||||
{IPC::MakeHeader(0x0011, 3, 0), nullptr, "MapProgramIdForDebug"},
|
||||
{IPC::MakeHeader(0x0012, 1, 0), nullptr, "SetHomeMenuAppletIdForDebug"},
|
||||
{IPC::MakeHeader(0x0013, 0, 0), nullptr, "GetPreparationState"},
|
||||
{IPC::MakeHeader(0x0014, 1, 0), nullptr, "SetPreparationState"},
|
||||
{IPC::MakeHeader(0x0015, 5, 0), &APT_A::PrepareToStartApplication, "PrepareToStartApplication"},
|
||||
{IPC::MakeHeader(0x0016, 1, 0), &APT_A::PreloadLibraryApplet, "PreloadLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0017, 1, 0), &APT_A::FinishPreloadingLibraryApplet, "FinishPreloadingLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0018, 1, 0), &APT_A::PrepareToStartLibraryApplet, "PrepareToStartLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0019, 1, 0), &APT_A::PrepareToStartSystemApplet, "PrepareToStartSystemApplet"},
|
||||
{IPC::MakeHeader(0x001A, 0, 0), &APT_A::PrepareToStartNewestHomeMenu, "PrepareToStartNewestHomeMenu"},
|
||||
{IPC::MakeHeader(0x001B, 3, 4), &APT_A::StartApplication, "StartApplication"},
|
||||
{IPC::MakeHeader(0x001C, 0, 0), &APT_A::WakeupApplication, "WakeupApplication"},
|
||||
{IPC::MakeHeader(0x001D, 0, 0), nullptr, "CancelApplication"},
|
||||
{IPC::MakeHeader(0x001E, 2, 4), &APT_A::StartLibraryApplet, "StartLibraryApplet"},
|
||||
{IPC::MakeHeader(0x001F, 2, 4), &APT_A::StartSystemApplet, "StartSystemApplet"},
|
||||
{IPC::MakeHeader(0x0020, 1, 4), nullptr, "StartNewestHomeMenu"},
|
||||
{IPC::MakeHeader(0x0021, 0, 0), &APT_A::OrderToCloseApplication, "OrderToCloseApplication"},
|
||||
{IPC::MakeHeader(0x0022, 1, 0), &APT_A::PrepareToCloseApplication, "PrepareToCloseApplication"},
|
||||
{IPC::MakeHeader(0x0023, 1, 0), nullptr, "PrepareToJumpToApplication"},
|
||||
{IPC::MakeHeader(0x0024, 1, 4), nullptr, "JumpToApplication"},
|
||||
{IPC::MakeHeader(0x0025, 3, 0), &APT_A::PrepareToCloseLibraryApplet, "PrepareToCloseLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0026, 0, 0), &APT_A::PrepareToCloseSystemApplet, "PrepareToCloseSystemApplet"},
|
||||
{IPC::MakeHeader(0x0027, 1, 4), &APT_A::CloseApplication, "CloseApplication"},
|
||||
{IPC::MakeHeader(0x0028, 1, 4), &APT_A::CloseLibraryApplet, "CloseLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0029, 1, 4), &APT_A::CloseSystemApplet, "CloseSystemApplet"},
|
||||
{IPC::MakeHeader(0x002A, 0, 0), &APT_A::OrderToCloseSystemApplet, "OrderToCloseSystemApplet"},
|
||||
{IPC::MakeHeader(0x002B, 0, 0), &APT_A::PrepareToJumpToHomeMenu, "PrepareToJumpToHomeMenu"},
|
||||
{IPC::MakeHeader(0x002C, 1, 4), &APT_A::JumpToHomeMenu, "JumpToHomeMenu"},
|
||||
{IPC::MakeHeader(0x002D, 0, 0), &APT_A::PrepareToLeaveHomeMenu, "PrepareToLeaveHomeMenu"},
|
||||
{IPC::MakeHeader(0x002E, 1, 4), &APT_A::LeaveHomeMenu, "LeaveHomeMenu"},
|
||||
{IPC::MakeHeader(0x002F, 1, 0), nullptr, "PrepareToLeaveResidentApplet"},
|
||||
{IPC::MakeHeader(0x0030, 1, 4), nullptr, "LeaveResidentApplet"},
|
||||
{IPC::MakeHeader(0x0031, 4, 0), &APT_A::PrepareToDoApplicationJump, "PrepareToDoApplicationJump"},
|
||||
{IPC::MakeHeader(0x0032, 2, 4), &APT_A::DoApplicationJump, "DoApplicationJump"},
|
||||
{IPC::MakeHeader(0x0033, 0, 0), &APT_A::GetProgramIdOnApplicationJump, "GetProgramIdOnApplicationJump"},
|
||||
{IPC::MakeHeader(0x0034, 2, 4), nullptr, "SendDeliverArg"},
|
||||
{IPC::MakeHeader(0x0035, 2, 0), &APT_A::ReceiveDeliverArg, "ReceiveDeliverArg"},
|
||||
{IPC::MakeHeader(0x0036, 1, 0), &APT_A::LoadSysMenuArg, "LoadSysMenuArg"},
|
||||
{IPC::MakeHeader(0x0037, 1, 2), &APT_A::StoreSysMenuArg, "StoreSysMenuArg"},
|
||||
{IPC::MakeHeader(0x0038, 1, 0), nullptr, "PreloadResidentApplet"},
|
||||
{IPC::MakeHeader(0x0039, 1, 0), nullptr, "PrepareToStartResidentApplet"},
|
||||
{IPC::MakeHeader(0x003A, 1, 4), nullptr, "StartResidentApplet"},
|
||||
{IPC::MakeHeader(0x003B, 1, 0), &APT_A::CancelLibraryApplet, "CancelLibraryApplet"},
|
||||
{IPC::MakeHeader(0x003C, 1, 2), nullptr, "SendDspSleep"},
|
||||
{IPC::MakeHeader(0x003D, 1, 2), nullptr, "SendDspWakeUp"},
|
||||
{IPC::MakeHeader(0x003E, 2, 0), nullptr, "ReplySleepQuery"},
|
||||
{IPC::MakeHeader(0x003F, 1, 0), nullptr, "ReplySleepNotificationComplete"},
|
||||
{IPC::MakeHeader(0x0040, 1, 2), &APT_A::SendCaptureBufferInfo, "SendCaptureBufferInfo"},
|
||||
{IPC::MakeHeader(0x0041, 1, 0), &APT_A::ReceiveCaptureBufferInfo, "ReceiveCaptureBufferInfo"},
|
||||
{IPC::MakeHeader(0x0042, 2, 0), nullptr, "SleepSystem"},
|
||||
{IPC::MakeHeader(0x0043, 1, 0), &APT_A::NotifyToWait, "NotifyToWait"},
|
||||
{IPC::MakeHeader(0x0044, 0, 0), &APT_A::GetSharedFont, "GetSharedFont"},
|
||||
{IPC::MakeHeader(0x0045, 1, 0), &APT_A::GetWirelessRebootInfo, "GetWirelessRebootInfo"},
|
||||
{IPC::MakeHeader(0x0046, 4, 4), &APT_A::Wrap, "Wrap"},
|
||||
{IPC::MakeHeader(0x0047, 4, 4), &APT_A::Unwrap, "Unwrap"},
|
||||
{IPC::MakeHeader(0x0048, 4, 0), nullptr, "GetProgramInfo"},
|
||||
{IPC::MakeHeader(0x0049, 6, 0), nullptr, "Reboot"},
|
||||
{IPC::MakeHeader(0x004A, 1, 0), &APT_A::GetCaptureInfo, "GetCaptureInfo"},
|
||||
{IPC::MakeHeader(0x004B, 3, 2), &APT_A::AppletUtility, "AppletUtility"},
|
||||
{IPC::MakeHeader(0x004C, 0, 0), nullptr, "SetFatalErrDispMode"},
|
||||
{IPC::MakeHeader(0x004D, 2, 0), nullptr, "GetAppletProgramInfo"},
|
||||
{IPC::MakeHeader(0x004E, 0, 0), nullptr, "HardwareResetAsync"},
|
||||
{IPC::MakeHeader(0x004F, 2, 0), &APT_A::SetAppCpuTimeLimit, "SetAppCpuTimeLimit"},
|
||||
{IPC::MakeHeader(0x0050, 1, 0), &APT_A::GetAppCpuTimeLimit, "GetAppCpuTimeLimit"},
|
||||
{IPC::MakeHeader(0x0051, 2, 0), &APT_A::GetStartupArgument, "GetStartupArgument"},
|
||||
{IPC::MakeHeader(0x0052, 4, 4), nullptr, "Wrap1"},
|
||||
{IPC::MakeHeader(0x0053, 4, 4), nullptr, "Unwrap1"},
|
||||
{IPC::MakeHeader(0x0055, 1, 0), &APT_A::SetScreenCapPostPermission, "SetScreenCapPostPermission"},
|
||||
{IPC::MakeHeader(0x0056, 0, 0), &APT_A::GetScreenCapPostPermission, "GetScreenCapPostPermission"},
|
||||
{IPC::MakeHeader(0x0057, 1, 4), nullptr, "WakeupApplication2"},
|
||||
{IPC::MakeHeader(0x0058, 0, 2), nullptr, "GetProgramID"},
|
||||
{IPC::MakeHeader(0x0101, 0, 0), &APT_A::CheckNew3DSApp, "CheckNew3DSApp"},
|
||||
{IPC::MakeHeader(0x0102, 0, 0), &APT_A::CheckNew3DS, "CheckNew3DS"},
|
||||
{IPC::MakeHeader(0x0103, 0, 0), &APT_A::Unknown0x0103, "Unknown0x0103"},
|
||||
{IPC::MakeHeader(0x0104, 0, 0), nullptr, "IsStandardMemoryLayout"},
|
||||
{IPC::MakeHeader(0x0105, 4, 0), &APT_A::IsTitleAllowed, "IsTitleAllowed"},
|
||||
{0x0001, &APT_A::GetLockHandle, "GetLockHandle"},
|
||||
{0x0002, &APT_A::Initialize, "Initialize"},
|
||||
{0x0003, &APT_A::Enable, "Enable"},
|
||||
{0x0004, nullptr, "Finalize"},
|
||||
{0x0005, &APT_A::GetAppletManInfo, "GetAppletManInfo"},
|
||||
{0x0006, &APT_A::GetAppletInfo, "GetAppletInfo"},
|
||||
{0x0007, nullptr, "GetLastSignaledAppletId"},
|
||||
{0x0008, nullptr, "CountRegisteredApplet"},
|
||||
{0x0009, &APT_A::IsRegistered, "IsRegistered"},
|
||||
{0x000A, nullptr, "GetAttribute"},
|
||||
{0x000B, &APT_A::InquireNotification, "InquireNotification"},
|
||||
{0x000C, &APT_A::SendParameter, "SendParameter"},
|
||||
{0x000D, &APT_A::ReceiveParameter, "ReceiveParameter"},
|
||||
{0x000E, &APT_A::GlanceParameter, "GlanceParameter"},
|
||||
{0x000F, &APT_A::CancelParameter, "CancelParameter"},
|
||||
{0x0010, nullptr, "DebugFunc"},
|
||||
{0x0011, nullptr, "MapProgramIdForDebug"},
|
||||
{0x0012, nullptr, "SetHomeMenuAppletIdForDebug"},
|
||||
{0x0013, nullptr, "GetPreparationState"},
|
||||
{0x0014, nullptr, "SetPreparationState"},
|
||||
{0x0015, &APT_A::PrepareToStartApplication, "PrepareToStartApplication"},
|
||||
{0x0016, &APT_A::PreloadLibraryApplet, "PreloadLibraryApplet"},
|
||||
{0x0017, &APT_A::FinishPreloadingLibraryApplet, "FinishPreloadingLibraryApplet"},
|
||||
{0x0018, &APT_A::PrepareToStartLibraryApplet, "PrepareToStartLibraryApplet"},
|
||||
{0x0019, &APT_A::PrepareToStartSystemApplet, "PrepareToStartSystemApplet"},
|
||||
{0x001A, &APT_A::PrepareToStartNewestHomeMenu, "PrepareToStartNewestHomeMenu"},
|
||||
{0x001B, &APT_A::StartApplication, "StartApplication"},
|
||||
{0x001C, &APT_A::WakeupApplication, "WakeupApplication"},
|
||||
{0x001D, nullptr, "CancelApplication"},
|
||||
{0x001E, &APT_A::StartLibraryApplet, "StartLibraryApplet"},
|
||||
{0x001F, &APT_A::StartSystemApplet, "StartSystemApplet"},
|
||||
{0x0020, nullptr, "StartNewestHomeMenu"},
|
||||
{0x0021, &APT_A::OrderToCloseApplication, "OrderToCloseApplication"},
|
||||
{0x0022, &APT_A::PrepareToCloseApplication, "PrepareToCloseApplication"},
|
||||
{0x0023, nullptr, "PrepareToJumpToApplication"},
|
||||
{0x0024, nullptr, "JumpToApplication"},
|
||||
{0x0025, &APT_A::PrepareToCloseLibraryApplet, "PrepareToCloseLibraryApplet"},
|
||||
{0x0026, &APT_A::PrepareToCloseSystemApplet, "PrepareToCloseSystemApplet"},
|
||||
{0x0027, &APT_A::CloseApplication, "CloseApplication"},
|
||||
{0x0028, &APT_A::CloseLibraryApplet, "CloseLibraryApplet"},
|
||||
{0x0029, &APT_A::CloseSystemApplet, "CloseSystemApplet"},
|
||||
{0x002A, &APT_A::OrderToCloseSystemApplet, "OrderToCloseSystemApplet"},
|
||||
{0x002B, &APT_A::PrepareToJumpToHomeMenu, "PrepareToJumpToHomeMenu"},
|
||||
{0x002C, &APT_A::JumpToHomeMenu, "JumpToHomeMenu"},
|
||||
{0x002D, &APT_A::PrepareToLeaveHomeMenu, "PrepareToLeaveHomeMenu"},
|
||||
{0x002E, &APT_A::LeaveHomeMenu, "LeaveHomeMenu"},
|
||||
{0x002F, nullptr, "PrepareToLeaveResidentApplet"},
|
||||
{0x0030, nullptr, "LeaveResidentApplet"},
|
||||
{0x0031, &APT_A::PrepareToDoApplicationJump, "PrepareToDoApplicationJump"},
|
||||
{0x0032, &APT_A::DoApplicationJump, "DoApplicationJump"},
|
||||
{0x0033, &APT_A::GetProgramIdOnApplicationJump, "GetProgramIdOnApplicationJump"},
|
||||
{0x0034, nullptr, "SendDeliverArg"},
|
||||
{0x0035, &APT_A::ReceiveDeliverArg, "ReceiveDeliverArg"},
|
||||
{0x0036, &APT_A::LoadSysMenuArg, "LoadSysMenuArg"},
|
||||
{0x0037, &APT_A::StoreSysMenuArg, "StoreSysMenuArg"},
|
||||
{0x0038, nullptr, "PreloadResidentApplet"},
|
||||
{0x0039, nullptr, "PrepareToStartResidentApplet"},
|
||||
{0x003A, nullptr, "StartResidentApplet"},
|
||||
{0x003B, &APT_A::CancelLibraryApplet, "CancelLibraryApplet"},
|
||||
{0x003C, nullptr, "SendDspSleep"},
|
||||
{0x003D, nullptr, "SendDspWakeUp"},
|
||||
{0x003E, nullptr, "ReplySleepQuery"},
|
||||
{0x003F, nullptr, "ReplySleepNotificationComplete"},
|
||||
{0x0040, &APT_A::SendCaptureBufferInfo, "SendCaptureBufferInfo"},
|
||||
{0x0041, &APT_A::ReceiveCaptureBufferInfo, "ReceiveCaptureBufferInfo"},
|
||||
{0x0042, nullptr, "SleepSystem"},
|
||||
{0x0043, &APT_A::NotifyToWait, "NotifyToWait"},
|
||||
{0x0044, &APT_A::GetSharedFont, "GetSharedFont"},
|
||||
{0x0045, &APT_A::GetWirelessRebootInfo, "GetWirelessRebootInfo"},
|
||||
{0x0046, &APT_A::Wrap, "Wrap"},
|
||||
{0x0047, &APT_A::Unwrap, "Unwrap"},
|
||||
{0x0048, nullptr, "GetProgramInfo"},
|
||||
{0x0049, nullptr, "Reboot"},
|
||||
{0x004A, &APT_A::GetCaptureInfo, "GetCaptureInfo"},
|
||||
{0x004B, &APT_A::AppletUtility, "AppletUtility"},
|
||||
{0x004C, nullptr, "SetFatalErrDispMode"},
|
||||
{0x004D, nullptr, "GetAppletProgramInfo"},
|
||||
{0x004E, nullptr, "HardwareResetAsync"},
|
||||
{0x004F, &APT_A::SetAppCpuTimeLimit, "SetAppCpuTimeLimit"},
|
||||
{0x0050, &APT_A::GetAppCpuTimeLimit, "GetAppCpuTimeLimit"},
|
||||
{0x0051, &APT_A::GetStartupArgument, "GetStartupArgument"},
|
||||
{0x0052, nullptr, "Wrap1"},
|
||||
{0x0053, nullptr, "Unwrap1"},
|
||||
{0x0055, &APT_A::SetScreenCapPostPermission, "SetScreenCapPostPermission"},
|
||||
{0x0056, &APT_A::GetScreenCapPostPermission, "GetScreenCapPostPermission"},
|
||||
{0x0057, nullptr, "WakeupApplication2"},
|
||||
{0x0058, nullptr, "GetProgramID"},
|
||||
{0x0101, &APT_A::CheckNew3DSApp, "CheckNew3DSApp"},
|
||||
{0x0102, &APT_A::CheckNew3DS, "CheckNew3DS"},
|
||||
{0x0103, &APT_A::Unknown0x0103, "Unknown0x0103"},
|
||||
{0x0104, nullptr, "IsStandardMemoryLayout"},
|
||||
{0x0105, &APT_A::IsTitleAllowed, "IsTitleAllowed"},
|
||||
// clang-format on
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
|
|
|
@ -11,98 +11,98 @@ APT_S::APT_S(std::shared_ptr<Module> apt)
|
|||
: Module::APTInterface(std::move(apt), "APT:S", MaxAPTSessions) {
|
||||
static const FunctionInfo functions[] = {
|
||||
// clang-format off
|
||||
{IPC::MakeHeader(0x0001, 1, 0), &APT_S::GetLockHandle, "GetLockHandle"},
|
||||
{IPC::MakeHeader(0x0002, 2, 0), &APT_S::Initialize, "Initialize"},
|
||||
{IPC::MakeHeader(0x0003, 1, 0), &APT_S::Enable, "Enable"},
|
||||
{IPC::MakeHeader(0x0004, 1, 0), nullptr, "Finalize"},
|
||||
{IPC::MakeHeader(0x0005, 1, 0), &APT_S::GetAppletManInfo, "GetAppletManInfo"},
|
||||
{IPC::MakeHeader(0x0006, 1, 0), &APT_S::GetAppletInfo, "GetAppletInfo"},
|
||||
{IPC::MakeHeader(0x0007, 0, 0), nullptr, "GetLastSignaledAppletId"},
|
||||
{IPC::MakeHeader(0x0008, 0, 0), nullptr, "CountRegisteredApplet"},
|
||||
{IPC::MakeHeader(0x0009, 1, 0), &APT_S::IsRegistered, "IsRegistered"},
|
||||
{IPC::MakeHeader(0x000A, 1, 0), nullptr, "GetAttribute"},
|
||||
{IPC::MakeHeader(0x000B, 1, 0), &APT_S::InquireNotification, "InquireNotification"},
|
||||
{IPC::MakeHeader(0x000C, 4, 4), &APT_S::SendParameter, "SendParameter"},
|
||||
{IPC::MakeHeader(0x000D, 2, 0), &APT_S::ReceiveParameter, "ReceiveParameter"},
|
||||
{IPC::MakeHeader(0x000E, 2, 0), &APT_S::GlanceParameter, "GlanceParameter"},
|
||||
{IPC::MakeHeader(0x000F, 4, 0), &APT_S::CancelParameter, "CancelParameter"},
|
||||
{IPC::MakeHeader(0x0010, 3, 2), nullptr, "DebugFunc"},
|
||||
{IPC::MakeHeader(0x0011, 3, 0), nullptr, "MapProgramIdForDebug"},
|
||||
{IPC::MakeHeader(0x0012, 1, 0), nullptr, "SetHomeMenuAppletIdForDebug"},
|
||||
{IPC::MakeHeader(0x0013, 0, 0), nullptr, "GetPreparationState"},
|
||||
{IPC::MakeHeader(0x0014, 1, 0), nullptr, "SetPreparationState"},
|
||||
{IPC::MakeHeader(0x0015, 5, 0), &APT_S::PrepareToStartApplication, "PrepareToStartApplication"},
|
||||
{IPC::MakeHeader(0x0016, 1, 0), &APT_S::PreloadLibraryApplet, "PreloadLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0017, 1, 0), &APT_S::FinishPreloadingLibraryApplet, "FinishPreloadingLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0018, 1, 0), &APT_S::PrepareToStartLibraryApplet, "PrepareToStartLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0019, 1, 0), &APT_S::PrepareToStartSystemApplet, "PrepareToStartSystemApplet"},
|
||||
{IPC::MakeHeader(0x001A, 0, 0), &APT_S::PrepareToStartNewestHomeMenu, "PrepareToStartNewestHomeMenu"},
|
||||
{IPC::MakeHeader(0x001B, 3, 4), &APT_S::StartApplication, "StartApplication"},
|
||||
{IPC::MakeHeader(0x001C, 0, 0), &APT_S::WakeupApplication, "WakeupApplication"},
|
||||
{IPC::MakeHeader(0x001D, 0, 0), nullptr, "CancelApplication"},
|
||||
{IPC::MakeHeader(0x001E, 2, 4), &APT_S::StartLibraryApplet, "StartLibraryApplet"},
|
||||
{IPC::MakeHeader(0x001F, 2, 4), &APT_S::StartSystemApplet, "StartSystemApplet"},
|
||||
{IPC::MakeHeader(0x0020, 1, 4), nullptr, "StartNewestHomeMenu"},
|
||||
{IPC::MakeHeader(0x0021, 0, 0), &APT_S::OrderToCloseApplication, "OrderToCloseApplication"},
|
||||
{IPC::MakeHeader(0x0022, 1, 0), &APT_S::PrepareToCloseApplication, "PrepareToCloseApplication"},
|
||||
{IPC::MakeHeader(0x0023, 1, 0), nullptr, "PrepareToJumpToApplication"},
|
||||
{IPC::MakeHeader(0x0024, 1, 4), nullptr, "JumpToApplication"},
|
||||
{IPC::MakeHeader(0x0025, 3, 0), &APT_S::PrepareToCloseLibraryApplet, "PrepareToCloseLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0026, 0, 0), &APT_S::PrepareToCloseSystemApplet, "PrepareToCloseSystemApplet"},
|
||||
{IPC::MakeHeader(0x0027, 1, 4), &APT_S::CloseApplication, "CloseApplication"},
|
||||
{IPC::MakeHeader(0x0028, 1, 4), &APT_S::CloseLibraryApplet, "CloseLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0029, 1, 4), &APT_S::CloseSystemApplet, "CloseSystemApplet"},
|
||||
{IPC::MakeHeader(0x002A, 0, 0), &APT_S::OrderToCloseSystemApplet, "OrderToCloseSystemApplet"},
|
||||
{IPC::MakeHeader(0x002B, 0, 0), &APT_S::PrepareToJumpToHomeMenu, "PrepareToJumpToHomeMenu"},
|
||||
{IPC::MakeHeader(0x002C, 1, 4), &APT_S::JumpToHomeMenu, "JumpToHomeMenu"},
|
||||
{IPC::MakeHeader(0x002D, 0, 0), &APT_S::PrepareToLeaveHomeMenu, "PrepareToLeaveHomeMenu"},
|
||||
{IPC::MakeHeader(0x002E, 1, 4), &APT_S::LeaveHomeMenu, "LeaveHomeMenu"},
|
||||
{IPC::MakeHeader(0x002F, 1, 0), nullptr, "PrepareToLeaveResidentApplet"},
|
||||
{IPC::MakeHeader(0x0030, 1, 4), nullptr, "LeaveResidentApplet"},
|
||||
{IPC::MakeHeader(0x0031, 4, 0), &APT_S::PrepareToDoApplicationJump, "PrepareToDoApplicationJump"},
|
||||
{IPC::MakeHeader(0x0032, 2, 4), &APT_S::DoApplicationJump, "DoApplicationJump"},
|
||||
{IPC::MakeHeader(0x0033, 0, 0), &APT_S::GetProgramIdOnApplicationJump, "GetProgramIdOnApplicationJump"},
|
||||
{IPC::MakeHeader(0x0034, 2, 4), nullptr, "SendDeliverArg"},
|
||||
{IPC::MakeHeader(0x0035, 2, 0), &APT_S::ReceiveDeliverArg, "ReceiveDeliverArg"},
|
||||
{IPC::MakeHeader(0x0036, 1, 0), &APT_S::LoadSysMenuArg, "LoadSysMenuArg"},
|
||||
{IPC::MakeHeader(0x0037, 1, 2), &APT_S::StoreSysMenuArg, "StoreSysMenuArg"},
|
||||
{IPC::MakeHeader(0x0038, 1, 0), nullptr, "PreloadResidentApplet"},
|
||||
{IPC::MakeHeader(0x0039, 1, 0), nullptr, "PrepareToStartResidentApplet"},
|
||||
{IPC::MakeHeader(0x003A, 1, 4), nullptr, "StartResidentApplet"},
|
||||
{IPC::MakeHeader(0x003B, 1, 0), &APT_S::CancelLibraryApplet, "CancelLibraryApplet"},
|
||||
{IPC::MakeHeader(0x003C, 1, 2), nullptr, "SendDspSleep"},
|
||||
{IPC::MakeHeader(0x003D, 1, 2), nullptr, "SendDspWakeUp"},
|
||||
{IPC::MakeHeader(0x003E, 2, 0), nullptr, "ReplySleepQuery"},
|
||||
{IPC::MakeHeader(0x003F, 1, 0), nullptr, "ReplySleepNotificationComplete"},
|
||||
{IPC::MakeHeader(0x0040, 1, 2), &APT_S::SendCaptureBufferInfo, "SendCaptureBufferInfo"},
|
||||
{IPC::MakeHeader(0x0041, 1, 0), &APT_S::ReceiveCaptureBufferInfo, "ReceiveCaptureBufferInfo"},
|
||||
{IPC::MakeHeader(0x0042, 2, 0), nullptr, "SleepSystem"},
|
||||
{IPC::MakeHeader(0x0043, 1, 0), &APT_S::NotifyToWait, "NotifyToWait"},
|
||||
{IPC::MakeHeader(0x0044, 0, 0), &APT_S::GetSharedFont, "GetSharedFont"},
|
||||
{IPC::MakeHeader(0x0045, 1, 0), &APT_S::GetWirelessRebootInfo, "GetWirelessRebootInfo"},
|
||||
{IPC::MakeHeader(0x0046, 4, 4), &APT_S::Wrap, "Wrap"},
|
||||
{IPC::MakeHeader(0x0047, 4, 4), &APT_S::Unwrap, "Unwrap"},
|
||||
{IPC::MakeHeader(0x0048, 4, 0), nullptr, "GetProgramInfo"},
|
||||
{IPC::MakeHeader(0x0049, 6, 0), nullptr, "Reboot"},
|
||||
{IPC::MakeHeader(0x004A, 1, 0), &APT_S::GetCaptureInfo, "GetCaptureInfo"},
|
||||
{IPC::MakeHeader(0x004B, 3, 2), &APT_S::AppletUtility, "AppletUtility"},
|
||||
{IPC::MakeHeader(0x004C, 0, 0), nullptr, "SetFatalErrDispMode"},
|
||||
{IPC::MakeHeader(0x004D, 2, 0), nullptr, "GetAppletProgramInfo"},
|
||||
{IPC::MakeHeader(0x004E, 0, 0), nullptr, "HardwareResetAsync"},
|
||||
{IPC::MakeHeader(0x004F, 2, 0), &APT_S::SetAppCpuTimeLimit, "SetAppCpuTimeLimit"},
|
||||
{IPC::MakeHeader(0x0050, 1, 0), &APT_S::GetAppCpuTimeLimit, "GetAppCpuTimeLimit"},
|
||||
{IPC::MakeHeader(0x0051, 2, 0), &APT_S::GetStartupArgument, "GetStartupArgument"},
|
||||
{IPC::MakeHeader(0x0052, 4, 4), nullptr, "Wrap1"},
|
||||
{IPC::MakeHeader(0x0053, 4, 4), nullptr, "Unwrap1"},
|
||||
{IPC::MakeHeader(0x0055, 1, 0), &APT_S::SetScreenCapPostPermission, "SetScreenCapPostPermission"},
|
||||
{IPC::MakeHeader(0x0056, 0, 0), &APT_S::GetScreenCapPostPermission, "GetScreenCapPostPermission"},
|
||||
{IPC::MakeHeader(0x0057, 1, 4), nullptr, "WakeupApplication2"},
|
||||
{IPC::MakeHeader(0x0058, 0, 2), nullptr, "GetProgramID"},
|
||||
{IPC::MakeHeader(0x0101, 0, 0), &APT_S::CheckNew3DSApp, "CheckNew3DSApp"},
|
||||
{IPC::MakeHeader(0x0102, 0, 0), &APT_S::CheckNew3DS, "CheckNew3DS"},
|
||||
{IPC::MakeHeader(0x0103, 0, 0), &APT_S::Unknown0x0103, "Unknown0x0103"},
|
||||
{IPC::MakeHeader(0x0104, 0, 0), nullptr, "IsStandardMemoryLayout"},
|
||||
{IPC::MakeHeader(0x0105, 4, 0), &APT_S::IsTitleAllowed, "IsTitleAllowed"},
|
||||
{0x0001, &APT_S::GetLockHandle, "GetLockHandle"},
|
||||
{0x0002, &APT_S::Initialize, "Initialize"},
|
||||
{0x0003, &APT_S::Enable, "Enable"},
|
||||
{0x0004, nullptr, "Finalize"},
|
||||
{0x0005, &APT_S::GetAppletManInfo, "GetAppletManInfo"},
|
||||
{0x0006, &APT_S::GetAppletInfo, "GetAppletInfo"},
|
||||
{0x0007, nullptr, "GetLastSignaledAppletId"},
|
||||
{0x0008, nullptr, "CountRegisteredApplet"},
|
||||
{0x0009, &APT_S::IsRegistered, "IsRegistered"},
|
||||
{0x000A, nullptr, "GetAttribute"},
|
||||
{0x000B, &APT_S::InquireNotification, "InquireNotification"},
|
||||
{0x000C, &APT_S::SendParameter, "SendParameter"},
|
||||
{0x000D, &APT_S::ReceiveParameter, "ReceiveParameter"},
|
||||
{0x000E, &APT_S::GlanceParameter, "GlanceParameter"},
|
||||
{0x000F, &APT_S::CancelParameter, "CancelParameter"},
|
||||
{0x0010, nullptr, "DebugFunc"},
|
||||
{0x0011, nullptr, "MapProgramIdForDebug"},
|
||||
{0x0012, nullptr, "SetHomeMenuAppletIdForDebug"},
|
||||
{0x0013, nullptr, "GetPreparationState"},
|
||||
{0x0014, nullptr, "SetPreparationState"},
|
||||
{0x0015, &APT_S::PrepareToStartApplication, "PrepareToStartApplication"},
|
||||
{0x0016, &APT_S::PreloadLibraryApplet, "PreloadLibraryApplet"},
|
||||
{0x0017, &APT_S::FinishPreloadingLibraryApplet, "FinishPreloadingLibraryApplet"},
|
||||
{0x0018, &APT_S::PrepareToStartLibraryApplet, "PrepareToStartLibraryApplet"},
|
||||
{0x0019, &APT_S::PrepareToStartSystemApplet, "PrepareToStartSystemApplet"},
|
||||
{0x001A, &APT_S::PrepareToStartNewestHomeMenu, "PrepareToStartNewestHomeMenu"},
|
||||
{0x001B, &APT_S::StartApplication, "StartApplication"},
|
||||
{0x001C, &APT_S::WakeupApplication, "WakeupApplication"},
|
||||
{0x001D, nullptr, "CancelApplication"},
|
||||
{0x001E, &APT_S::StartLibraryApplet, "StartLibraryApplet"},
|
||||
{0x001F, &APT_S::StartSystemApplet, "StartSystemApplet"},
|
||||
{0x0020, nullptr, "StartNewestHomeMenu"},
|
||||
{0x0021, &APT_S::OrderToCloseApplication, "OrderToCloseApplication"},
|
||||
{0x0022, &APT_S::PrepareToCloseApplication, "PrepareToCloseApplication"},
|
||||
{0x0023, nullptr, "PrepareToJumpToApplication"},
|
||||
{0x0024, nullptr, "JumpToApplication"},
|
||||
{0x0025, &APT_S::PrepareToCloseLibraryApplet, "PrepareToCloseLibraryApplet"},
|
||||
{0x0026, &APT_S::PrepareToCloseSystemApplet, "PrepareToCloseSystemApplet"},
|
||||
{0x0027, &APT_S::CloseApplication, "CloseApplication"},
|
||||
{0x0028, &APT_S::CloseLibraryApplet, "CloseLibraryApplet"},
|
||||
{0x0029, &APT_S::CloseSystemApplet, "CloseSystemApplet"},
|
||||
{0x002A, &APT_S::OrderToCloseSystemApplet, "OrderToCloseSystemApplet"},
|
||||
{0x002B, &APT_S::PrepareToJumpToHomeMenu, "PrepareToJumpToHomeMenu"},
|
||||
{0x002C, &APT_S::JumpToHomeMenu, "JumpToHomeMenu"},
|
||||
{0x002D, &APT_S::PrepareToLeaveHomeMenu, "PrepareToLeaveHomeMenu"},
|
||||
{0x002E, &APT_S::LeaveHomeMenu, "LeaveHomeMenu"},
|
||||
{0x002F, nullptr, "PrepareToLeaveResidentApplet"},
|
||||
{0x0030, nullptr, "LeaveResidentApplet"},
|
||||
{0x0031, &APT_S::PrepareToDoApplicationJump, "PrepareToDoApplicationJump"},
|
||||
{0x0032, &APT_S::DoApplicationJump, "DoApplicationJump"},
|
||||
{0x0033, &APT_S::GetProgramIdOnApplicationJump, "GetProgramIdOnApplicationJump"},
|
||||
{0x0034, nullptr, "SendDeliverArg"},
|
||||
{0x0035, &APT_S::ReceiveDeliverArg, "ReceiveDeliverArg"},
|
||||
{0x0036, &APT_S::LoadSysMenuArg, "LoadSysMenuArg"},
|
||||
{0x0037, &APT_S::StoreSysMenuArg, "StoreSysMenuArg"},
|
||||
{0x0038, nullptr, "PreloadResidentApplet"},
|
||||
{0x0039, nullptr, "PrepareToStartResidentApplet"},
|
||||
{0x003A, nullptr, "StartResidentApplet"},
|
||||
{0x003B, &APT_S::CancelLibraryApplet, "CancelLibraryApplet"},
|
||||
{0x003C, nullptr, "SendDspSleep"},
|
||||
{0x003D, nullptr, "SendDspWakeUp"},
|
||||
{0x003E, nullptr, "ReplySleepQuery"},
|
||||
{0x003F, nullptr, "ReplySleepNotificationComplete"},
|
||||
{0x0040, &APT_S::SendCaptureBufferInfo, "SendCaptureBufferInfo"},
|
||||
{0x0041, &APT_S::ReceiveCaptureBufferInfo, "ReceiveCaptureBufferInfo"},
|
||||
{0x0042, nullptr, "SleepSystem"},
|
||||
{0x0043, &APT_S::NotifyToWait, "NotifyToWait"},
|
||||
{0x0044, &APT_S::GetSharedFont, "GetSharedFont"},
|
||||
{0x0045, &APT_S::GetWirelessRebootInfo, "GetWirelessRebootInfo"},
|
||||
{0x0046, &APT_S::Wrap, "Wrap"},
|
||||
{0x0047, &APT_S::Unwrap, "Unwrap"},
|
||||
{0x0048, nullptr, "GetProgramInfo"},
|
||||
{0x0049, nullptr, "Reboot"},
|
||||
{0x004A, &APT_S::GetCaptureInfo, "GetCaptureInfo"},
|
||||
{0x004B, &APT_S::AppletUtility, "AppletUtility"},
|
||||
{0x004C, nullptr, "SetFatalErrDispMode"},
|
||||
{0x004D, nullptr, "GetAppletProgramInfo"},
|
||||
{0x004E, nullptr, "HardwareResetAsync"},
|
||||
{0x004F, &APT_S::SetAppCpuTimeLimit, "SetAppCpuTimeLimit"},
|
||||
{0x0050, &APT_S::GetAppCpuTimeLimit, "GetAppCpuTimeLimit"},
|
||||
{0x0051, &APT_S::GetStartupArgument, "GetStartupArgument"},
|
||||
{0x0052, nullptr, "Wrap1"},
|
||||
{0x0053, nullptr, "Unwrap1"},
|
||||
{0x0055, &APT_S::SetScreenCapPostPermission, "SetScreenCapPostPermission"},
|
||||
{0x0056, &APT_S::GetScreenCapPostPermission, "GetScreenCapPostPermission"},
|
||||
{0x0057, nullptr, "WakeupApplication2"},
|
||||
{0x0058, nullptr, "GetProgramID"},
|
||||
{0x0101, &APT_S::CheckNew3DSApp, "CheckNew3DSApp"},
|
||||
{0x0102, &APT_S::CheckNew3DS, "CheckNew3DS"},
|
||||
{0x0103, &APT_S::Unknown0x0103, "Unknown0x0103"},
|
||||
{0x0104, nullptr, "IsStandardMemoryLayout"},
|
||||
{0x0105, &APT_S::IsTitleAllowed, "IsTitleAllowed"},
|
||||
// clang-format on
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
|
|
|
@ -11,98 +11,98 @@ APT_U::APT_U(std::shared_ptr<Module> apt)
|
|||
: Module::APTInterface(std::move(apt), "APT:U", MaxAPTSessions) {
|
||||
static const FunctionInfo functions[] = {
|
||||
// clang-format off
|
||||
{IPC::MakeHeader(0x0001, 1, 0), &APT_U::GetLockHandle, "GetLockHandle"},
|
||||
{IPC::MakeHeader(0x0002, 2, 0), &APT_U::Initialize, "Initialize"},
|
||||
{IPC::MakeHeader(0x0003, 1, 0), &APT_U::Enable, "Enable"},
|
||||
{IPC::MakeHeader(0x0004, 1, 0), nullptr, "Finalize"},
|
||||
{IPC::MakeHeader(0x0005, 1, 0), &APT_U::GetAppletManInfo, "GetAppletManInfo"},
|
||||
{IPC::MakeHeader(0x0006, 1, 0), &APT_U::GetAppletInfo, "GetAppletInfo"},
|
||||
{IPC::MakeHeader(0x0007, 0, 0), nullptr, "GetLastSignaledAppletId"},
|
||||
{IPC::MakeHeader(0x0008, 0, 0), nullptr, "CountRegisteredApplet"},
|
||||
{IPC::MakeHeader(0x0009, 1, 0), &APT_U::IsRegistered, "IsRegistered"},
|
||||
{IPC::MakeHeader(0x000A, 1, 0), nullptr, "GetAttribute"},
|
||||
{IPC::MakeHeader(0x000B, 1, 0), &APT_U::InquireNotification, "InquireNotification"},
|
||||
{IPC::MakeHeader(0x000C, 4, 4), &APT_U::SendParameter, "SendParameter"},
|
||||
{IPC::MakeHeader(0x000D, 2, 0), &APT_U::ReceiveParameter, "ReceiveParameter"},
|
||||
{IPC::MakeHeader(0x000E, 2, 0), &APT_U::GlanceParameter, "GlanceParameter"},
|
||||
{IPC::MakeHeader(0x000F, 4, 0), &APT_U::CancelParameter, "CancelParameter"},
|
||||
{IPC::MakeHeader(0x0010, 3, 2), nullptr, "DebugFunc"},
|
||||
{IPC::MakeHeader(0x0011, 3, 0), nullptr, "MapProgramIdForDebug"},
|
||||
{IPC::MakeHeader(0x0012, 1, 0), nullptr, "SetHomeMenuAppletIdForDebug"},
|
||||
{IPC::MakeHeader(0x0013, 0, 0), nullptr, "GetPreparationState"},
|
||||
{IPC::MakeHeader(0x0014, 1, 0), nullptr, "SetPreparationState"},
|
||||
{IPC::MakeHeader(0x0015, 5, 0), &APT_U::PrepareToStartApplication, "PrepareToStartApplication"},
|
||||
{IPC::MakeHeader(0x0016, 1, 0), &APT_U::PreloadLibraryApplet, "PreloadLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0017, 1, 0), &APT_U::FinishPreloadingLibraryApplet, "FinishPreloadingLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0018, 1, 0), &APT_U::PrepareToStartLibraryApplet, "PrepareToStartLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0019, 1, 0), &APT_U::PrepareToStartSystemApplet, "PrepareToStartSystemApplet"},
|
||||
{IPC::MakeHeader(0x001A, 0, 0), &APT_U::PrepareToStartNewestHomeMenu, "PrepareToStartNewestHomeMenu"},
|
||||
{IPC::MakeHeader(0x001B, 3, 4), &APT_U::StartApplication, "StartApplication"},
|
||||
{IPC::MakeHeader(0x001C, 0, 0), &APT_U::WakeupApplication, "WakeupApplication"},
|
||||
{IPC::MakeHeader(0x001D, 0, 0), nullptr, "CancelApplication"},
|
||||
{IPC::MakeHeader(0x001E, 2, 4), &APT_U::StartLibraryApplet, "StartLibraryApplet"},
|
||||
{IPC::MakeHeader(0x001F, 2, 4), &APT_U::StartSystemApplet, "StartSystemApplet"},
|
||||
{IPC::MakeHeader(0x0020, 1, 4), nullptr, "StartNewestHomeMenu"},
|
||||
{IPC::MakeHeader(0x0021, 0, 0), &APT_U::OrderToCloseApplication, "OrderToCloseApplication"},
|
||||
{IPC::MakeHeader(0x0022, 1, 0), &APT_U::PrepareToCloseApplication, "PrepareToCloseApplication"},
|
||||
{IPC::MakeHeader(0x0023, 1, 0), nullptr, "PrepareToJumpToApplication"},
|
||||
{IPC::MakeHeader(0x0024, 1, 4), nullptr, "JumpToApplication"},
|
||||
{IPC::MakeHeader(0x0025, 3, 0), &APT_U::PrepareToCloseLibraryApplet, "PrepareToCloseLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0026, 0, 0), &APT_U::PrepareToCloseSystemApplet, "PrepareToCloseSystemApplet"},
|
||||
{IPC::MakeHeader(0x0027, 1, 4), &APT_U::CloseApplication, "CloseApplication"},
|
||||
{IPC::MakeHeader(0x0028, 1, 4), &APT_U::CloseLibraryApplet, "CloseLibraryApplet"},
|
||||
{IPC::MakeHeader(0x0029, 1, 4), &APT_U::CloseSystemApplet, "CloseSystemApplet"},
|
||||
{IPC::MakeHeader(0x002A, 0, 0), &APT_U::OrderToCloseSystemApplet, "OrderToCloseSystemApplet"},
|
||||
{IPC::MakeHeader(0x002B, 0, 0), &APT_U::PrepareToJumpToHomeMenu, "PrepareToJumpToHomeMenu"},
|
||||
{IPC::MakeHeader(0x002C, 1, 4), &APT_U::JumpToHomeMenu, "JumpToHomeMenu"},
|
||||
{IPC::MakeHeader(0x002D, 0, 0), &APT_U::PrepareToLeaveHomeMenu, "PrepareToLeaveHomeMenu"},
|
||||
{IPC::MakeHeader(0x002E, 1, 4), &APT_U::LeaveHomeMenu, "LeaveHomeMenu"},
|
||||
{IPC::MakeHeader(0x002F, 1, 0), nullptr, "PrepareToLeaveResidentApplet"},
|
||||
{IPC::MakeHeader(0x0030, 1, 4), nullptr, "LeaveResidentApplet"},
|
||||
{IPC::MakeHeader(0x0031, 4, 0), &APT_U::PrepareToDoApplicationJump, "PrepareToDoApplicationJump"},
|
||||
{IPC::MakeHeader(0x0032, 2, 4), &APT_U::DoApplicationJump, "DoApplicationJump"},
|
||||
{IPC::MakeHeader(0x0033, 0, 0), &APT_U::GetProgramIdOnApplicationJump, "GetProgramIdOnApplicationJump"},
|
||||
{IPC::MakeHeader(0x0034, 2, 4), nullptr, "SendDeliverArg"},
|
||||
{IPC::MakeHeader(0x0035, 2, 0), &APT_U::ReceiveDeliverArg, "ReceiveDeliverArg"},
|
||||
{IPC::MakeHeader(0x0036, 1, 0), &APT_U::LoadSysMenuArg, "LoadSysMenuArg"},
|
||||
{IPC::MakeHeader(0x0037, 1, 2), &APT_U::StoreSysMenuArg, "StoreSysMenuArg"},
|
||||
{IPC::MakeHeader(0x0038, 1, 0), nullptr, "PreloadResidentApplet"},
|
||||
{IPC::MakeHeader(0x0039, 1, 0), nullptr, "PrepareToStartResidentApplet"},
|
||||
{IPC::MakeHeader(0x003A, 1, 4), nullptr, "StartResidentApplet"},
|
||||
{IPC::MakeHeader(0x003B, 1, 0), &APT_U::CancelLibraryApplet, "CancelLibraryApplet"},
|
||||
{IPC::MakeHeader(0x003C, 1, 2), nullptr, "SendDspSleep"},
|
||||
{IPC::MakeHeader(0x003D, 1, 2), nullptr, "SendDspWakeUp"},
|
||||
{IPC::MakeHeader(0x003E, 2, 0), nullptr, "ReplySleepQuery"},
|
||||
{IPC::MakeHeader(0x003F, 1, 0), nullptr, "ReplySleepNotificationComplete"},
|
||||
{IPC::MakeHeader(0x0040, 1, 2), &APT_U::SendCaptureBufferInfo, "SendCaptureBufferInfo"},
|
||||
{IPC::MakeHeader(0x0041, 1, 0), &APT_U::ReceiveCaptureBufferInfo, "ReceiveCaptureBufferInfo"},
|
||||
{IPC::MakeHeader(0x0042, 2, 0), nullptr, "SleepSystem"},
|
||||
{IPC::MakeHeader(0x0043, 1, 0), &APT_U::NotifyToWait, "NotifyToWait"},
|
||||
{IPC::MakeHeader(0x0044, 0, 0), &APT_U::GetSharedFont, "GetSharedFont"},
|
||||
{IPC::MakeHeader(0x0045, 1, 0), &APT_U::GetWirelessRebootInfo, "GetWirelessRebootInfo"},
|
||||
{IPC::MakeHeader(0x0046, 4, 4), &APT_U::Wrap, "Wrap"},
|
||||
{IPC::MakeHeader(0x0047, 4, 4), &APT_U::Unwrap, "Unwrap"},
|
||||
{IPC::MakeHeader(0x0048, 4, 0), nullptr, "GetProgramInfo"},
|
||||
{IPC::MakeHeader(0x0049, 6, 0), nullptr, "Reboot"},
|
||||
{IPC::MakeHeader(0x004A, 1, 0), &APT_U::GetCaptureInfo, "GetCaptureInfo"},
|
||||
{IPC::MakeHeader(0x004B, 3, 2), &APT_U::AppletUtility, "AppletUtility"},
|
||||
{IPC::MakeHeader(0x004C, 0, 0), nullptr, "SetFatalErrDispMode"},
|
||||
{IPC::MakeHeader(0x004D, 2, 0), nullptr, "GetAppletProgramInfo"},
|
||||
{IPC::MakeHeader(0x004E, 0, 0), nullptr, "HardwareResetAsync"},
|
||||
{IPC::MakeHeader(0x004F, 2, 0), &APT_U::SetAppCpuTimeLimit, "SetAppCpuTimeLimit"},
|
||||
{IPC::MakeHeader(0x0050, 1, 0), &APT_U::GetAppCpuTimeLimit, "GetAppCpuTimeLimit"},
|
||||
{IPC::MakeHeader(0x0051, 2, 0), &APT_U::GetStartupArgument, "GetStartupArgument"},
|
||||
{IPC::MakeHeader(0x0052, 4, 4), nullptr, "Wrap1"},
|
||||
{IPC::MakeHeader(0x0053, 4, 4), nullptr, "Unwrap1"},
|
||||
{IPC::MakeHeader(0x0055, 1, 0), &APT_U::SetScreenCapPostPermission, "SetScreenCapPostPermission"},
|
||||
{IPC::MakeHeader(0x0056, 0, 0), &APT_U::GetScreenCapPostPermission, "GetScreenCapPostPermission"},
|
||||
{IPC::MakeHeader(0x0057, 1, 4), nullptr, "WakeupApplication2"},
|
||||
{IPC::MakeHeader(0x0058, 0, 2), nullptr, "GetProgramID"},
|
||||
{IPC::MakeHeader(0x0101, 0, 0), &APT_U::CheckNew3DSApp, "CheckNew3DSApp"},
|
||||
{IPC::MakeHeader(0x0102, 0, 0), &APT_U::CheckNew3DS, "CheckNew3DS"},
|
||||
{IPC::MakeHeader(0x0103, 0, 0), &APT_U::Unknown0x0103, "Unknown0x0103"},
|
||||
{IPC::MakeHeader(0x0104, 0, 0), nullptr, "IsStandardMemoryLayout"},
|
||||
{IPC::MakeHeader(0x0105, 4, 0), &APT_U::IsTitleAllowed, "IsTitleAllowed"},
|
||||
{0x0001, &APT_U::GetLockHandle, "GetLockHandle"},
|
||||
{0x0002, &APT_U::Initialize, "Initialize"},
|
||||
{0x0003, &APT_U::Enable, "Enable"},
|
||||
{0x0004, nullptr, "Finalize"},
|
||||
{0x0005, &APT_U::GetAppletManInfo, "GetAppletManInfo"},
|
||||
{0x0006, &APT_U::GetAppletInfo, "GetAppletInfo"},
|
||||
{0x0007, nullptr, "GetLastSignaledAppletId"},
|
||||
{0x0008, nullptr, "CountRegisteredApplet"},
|
||||
{0x0009, &APT_U::IsRegistered, "IsRegistered"},
|
||||
{0x000A, nullptr, "GetAttribute"},
|
||||
{0x000B, &APT_U::InquireNotification, "InquireNotification"},
|
||||
{0x000C, &APT_U::SendParameter, "SendParameter"},
|
||||
{0x000D, &APT_U::ReceiveParameter, "ReceiveParameter"},
|
||||
{0x000E, &APT_U::GlanceParameter, "GlanceParameter"},
|
||||
{0x000F, &APT_U::CancelParameter, "CancelParameter"},
|
||||
{0x0010, nullptr, "DebugFunc"},
|
||||
{0x0011, nullptr, "MapProgramIdForDebug"},
|
||||
{0x0012, nullptr, "SetHomeMenuAppletIdForDebug"},
|
||||
{0x0013, nullptr, "GetPreparationState"},
|
||||
{0x0014, nullptr, "SetPreparationState"},
|
||||
{0x0015, &APT_U::PrepareToStartApplication, "PrepareToStartApplication"},
|
||||
{0x0016, &APT_U::PreloadLibraryApplet, "PreloadLibraryApplet"},
|
||||
{0x0017, &APT_U::FinishPreloadingLibraryApplet, "FinishPreloadingLibraryApplet"},
|
||||
{0x0018, &APT_U::PrepareToStartLibraryApplet, "PrepareToStartLibraryApplet"},
|
||||
{0x0019, &APT_U::PrepareToStartSystemApplet, "PrepareToStartSystemApplet"},
|
||||
{0x001A, &APT_U::PrepareToStartNewestHomeMenu, "PrepareToStartNewestHomeMenu"},
|
||||
{0x001B, &APT_U::StartApplication, "StartApplication"},
|
||||
{0x001C, &APT_U::WakeupApplication, "WakeupApplication"},
|
||||
{0x001D, nullptr, "CancelApplication"},
|
||||
{0x001E, &APT_U::StartLibraryApplet, "StartLibraryApplet"},
|
||||
{0x001F, &APT_U::StartSystemApplet, "StartSystemApplet"},
|
||||
{0x0020, nullptr, "StartNewestHomeMenu"},
|
||||
{0x0021, &APT_U::OrderToCloseApplication, "OrderToCloseApplication"},
|
||||
{0x0022, &APT_U::PrepareToCloseApplication, "PrepareToCloseApplication"},
|
||||
{0x0023, nullptr, "PrepareToJumpToApplication"},
|
||||
{0x0024, nullptr, "JumpToApplication"},
|
||||
{0x0025, &APT_U::PrepareToCloseLibraryApplet, "PrepareToCloseLibraryApplet"},
|
||||
{0x0026, &APT_U::PrepareToCloseSystemApplet, "PrepareToCloseSystemApplet"},
|
||||
{0x0027, &APT_U::CloseApplication, "CloseApplication"},
|
||||
{0x0028, &APT_U::CloseLibraryApplet, "CloseLibraryApplet"},
|
||||
{0x0029, &APT_U::CloseSystemApplet, "CloseSystemApplet"},
|
||||
{0x002A, &APT_U::OrderToCloseSystemApplet, "OrderToCloseSystemApplet"},
|
||||
{0x002B, &APT_U::PrepareToJumpToHomeMenu, "PrepareToJumpToHomeMenu"},
|
||||
{0x002C, &APT_U::JumpToHomeMenu, "JumpToHomeMenu"},
|
||||
{0x002D, &APT_U::PrepareToLeaveHomeMenu, "PrepareToLeaveHomeMenu"},
|
||||
{0x002E, &APT_U::LeaveHomeMenu, "LeaveHomeMenu"},
|
||||
{0x002F, nullptr, "PrepareToLeaveResidentApplet"},
|
||||
{0x0030, nullptr, "LeaveResidentApplet"},
|
||||
{0x0031, &APT_U::PrepareToDoApplicationJump, "PrepareToDoApplicationJump"},
|
||||
{0x0032, &APT_U::DoApplicationJump, "DoApplicationJump"},
|
||||
{0x0033, &APT_U::GetProgramIdOnApplicationJump, "GetProgramIdOnApplicationJump"},
|
||||
{0x0034, nullptr, "SendDeliverArg"},
|
||||
{0x0035, &APT_U::ReceiveDeliverArg, "ReceiveDeliverArg"},
|
||||
{0x0036, &APT_U::LoadSysMenuArg, "LoadSysMenuArg"},
|
||||
{0x0037, &APT_U::StoreSysMenuArg, "StoreSysMenuArg"},
|
||||
{0x0038, nullptr, "PreloadResidentApplet"},
|
||||
{0x0039, nullptr, "PrepareToStartResidentApplet"},
|
||||
{0x003A, nullptr, "StartResidentApplet"},
|
||||
{0x003B, &APT_U::CancelLibraryApplet, "CancelLibraryApplet"},
|
||||
{0x003C, nullptr, "SendDspSleep"},
|
||||
{0x003D, nullptr, "SendDspWakeUp"},
|
||||
{0x003E, nullptr, "ReplySleepQuery"},
|
||||
{0x003F, nullptr, "ReplySleepNotificationComplete"},
|
||||
{0x0040, &APT_U::SendCaptureBufferInfo, "SendCaptureBufferInfo"},
|
||||
{0x0041, &APT_U::ReceiveCaptureBufferInfo, "ReceiveCaptureBufferInfo"},
|
||||
{0x0042, nullptr, "SleepSystem"},
|
||||
{0x0043, &APT_U::NotifyToWait, "NotifyToWait"},
|
||||
{0x0044, &APT_U::GetSharedFont, "GetSharedFont"},
|
||||
{0x0045, &APT_U::GetWirelessRebootInfo, "GetWirelessRebootInfo"},
|
||||
{0x0046, &APT_U::Wrap, "Wrap"},
|
||||
{0x0047, &APT_U::Unwrap, "Unwrap"},
|
||||
{0x0048, nullptr, "GetProgramInfo"},
|
||||
{0x0049, nullptr, "Reboot"},
|
||||
{0x004A, &APT_U::GetCaptureInfo, "GetCaptureInfo"},
|
||||
{0x004B, &APT_U::AppletUtility, "AppletUtility"},
|
||||
{0x004C, nullptr, "SetFatalErrDispMode"},
|
||||
{0x004D, nullptr, "GetAppletProgramInfo"},
|
||||
{0x004E, nullptr, "HardwareResetAsync"},
|
||||
{0x004F, &APT_U::SetAppCpuTimeLimit, "SetAppCpuTimeLimit"},
|
||||
{0x0050, &APT_U::GetAppCpuTimeLimit, "GetAppCpuTimeLimit"},
|
||||
{0x0051, &APT_U::GetStartupArgument, "GetStartupArgument"},
|
||||
{0x0052, nullptr, "Wrap1"},
|
||||
{0x0053, nullptr, "Unwrap1"},
|
||||
{0x0055, &APT_U::SetScreenCapPostPermission, "SetScreenCapPostPermission"},
|
||||
{0x0056, &APT_U::GetScreenCapPostPermission, "GetScreenCapPostPermission"},
|
||||
{0x0057, nullptr, "WakeupApplication2"},
|
||||
{0x0058, nullptr, "GetProgramID"},
|
||||
{0x0101, &APT_U::CheckNew3DSApp, "CheckNew3DSApp"},
|
||||
{0x0102, &APT_U::CheckNew3DS, "CheckNew3DS"},
|
||||
{0x0103, &APT_U::Unknown0x0103, "Unknown0x0103"},
|
||||
{0x0104, nullptr, "IsStandardMemoryLayout"},
|
||||
{0x0105, &APT_U::IsTitleAllowed, "IsTitleAllowed"},
|
||||
// clang-format on
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
|
|
|
@ -11,8 +11,8 @@ NS_C::NS_C(std::shared_ptr<Service::APT::Module> apt)
|
|||
: Service::APT::Module::NSInterface(std::move(apt), "ns:c", 1) {
|
||||
static const FunctionInfo functions[] = {
|
||||
// clang-format off
|
||||
{IPC::MakeHeader(0x0001, 4, 0), nullptr, "LockSpecialContent"},
|
||||
{IPC::MakeHeader(0x0002, 4, 0), nullptr, "UnlockSpecialContent"},
|
||||
{0x0001, nullptr, "LockSpecialContent"},
|
||||
{0x0002, nullptr, "UnlockSpecialContent"},
|
||||
// clang-format on
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
|
|
|
@ -11,21 +11,21 @@ NS_S::NS_S(std::shared_ptr<Service::APT::Module> apt)
|
|||
: Service::APT::Module::NSInterface(std::move(apt), "ns:s", 3) {
|
||||
static const FunctionInfo functions[] = {
|
||||
// clang-format off
|
||||
{IPC::MakeHeader(0x0001, 3, 0), nullptr, "LaunchFIRM"},
|
||||
{IPC::MakeHeader(0x0002, 3, 0), nullptr, "LaunchTitle"},
|
||||
{IPC::MakeHeader(0x0003, 0, 0), nullptr, "TerminateApplication"},
|
||||
{IPC::MakeHeader(0x0004, 1, 0), nullptr, "TerminateProcess"},
|
||||
{IPC::MakeHeader(0x0005, 3, 0), nullptr, "LaunchApplicationFIRM"},
|
||||
{IPC::MakeHeader(0x0006, 1, 2), &NS_S::SetWirelessRebootInfo, "SetWirelessRebootInfo"},
|
||||
{IPC::MakeHeader(0x0007, 1, 2), nullptr, "CardUpdateInitialize"},
|
||||
{IPC::MakeHeader(0x0008, 0, 0), nullptr, "CardUpdateShutdown"},
|
||||
{IPC::MakeHeader(0x000D, 5, 0), nullptr, "SetTWLBannerHMAC"},
|
||||
{IPC::MakeHeader(0x000E, 0, 0), &NS_S::ShutdownAsync, "ShutdownAsync"},
|
||||
{IPC::MakeHeader(0x0010, 6, 0), &NS_S::RebootSystem, "RebootSystem"},
|
||||
{IPC::MakeHeader(0x0011, 4, 0), nullptr, "TerminateTitle"},
|
||||
{IPC::MakeHeader(0x0012, 3, 0), nullptr, "SetApplicationCpuTimeLimit"},
|
||||
{IPC::MakeHeader(0x0015, 5, 0), nullptr, "LaunchApplication"},
|
||||
{IPC::MakeHeader(0x0016, 0, 0), &NS_S::RebootSystemClean, "RebootSystemClean"},
|
||||
{0x0001, nullptr, "LaunchFIRM"},
|
||||
{0x0002, nullptr, "LaunchTitle"},
|
||||
{0x0003, nullptr, "TerminateApplication"},
|
||||
{0x0004, nullptr, "TerminateProcess"},
|
||||
{0x0005, nullptr, "LaunchApplicationFIRM"},
|
||||
{0x0006, &NS_S::SetWirelessRebootInfo, "SetWirelessRebootInfo"},
|
||||
{0x0007, nullptr, "CardUpdateInitialize"},
|
||||
{0x0008, nullptr, "CardUpdateShutdown"},
|
||||
{0x000D, nullptr, "SetTWLBannerHMAC"},
|
||||
{0x000E, &NS_S::ShutdownAsync, "ShutdownAsync"},
|
||||
{0x0010, &NS_S::RebootSystem, "RebootSystem"},
|
||||
{0x0011, nullptr, "TerminateTitle"},
|
||||
{0x0012, nullptr, "SetApplicationCpuTimeLimit"},
|
||||
{0x0015, nullptr, "LaunchApplication"},
|
||||
{0x0016, &NS_S::RebootSystemClean, "RebootSystemClean"},
|
||||
// clang-format on
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue