apt_s.cpp
1 // Copyright 2015 Citra Emulator Project 2 // Licensed under GPLv2 or any later version 3 // Refer to the license.txt file included. 4 5 #include "common/archives.h" 6 #include "core/hle/service/apt/apt_s.h" 7 8 namespace Service::APT { 9 10 APT_S::APT_S(std::shared_ptr<Module> apt) 11 : Module::APTInterface(std::move(apt), "APT:S", MaxAPTSessions) { 12 static const FunctionInfo functions[] = { 13 // clang-format off 14 {0x0001, &APT_S::GetLockHandle, "GetLockHandle"}, 15 {0x0002, &APT_S::Initialize, "Initialize"}, 16 {0x0003, &APT_S::Enable, "Enable"}, 17 {0x0004, &APT_S::Finalize, "Finalize"}, 18 {0x0005, &APT_S::GetAppletManInfo, "GetAppletManInfo"}, 19 {0x0006, &APT_S::GetAppletInfo, "GetAppletInfo"}, 20 {0x0007, nullptr, "GetLastSignaledAppletId"}, 21 {0x0008, &APT_S::CountRegisteredApplet, "CountRegisteredApplet"}, 22 {0x0009, &APT_S::IsRegistered, "IsRegistered"}, 23 {0x000A, &APT_S::GetAttribute, "GetAttribute"}, 24 {0x000B, &APT_S::InquireNotification, "InquireNotification"}, 25 {0x000C, &APT_S::SendParameter, "SendParameter"}, 26 {0x000D, &APT_S::ReceiveParameter, "ReceiveParameter"}, 27 {0x000E, &APT_S::GlanceParameter, "GlanceParameter"}, 28 {0x000F, &APT_S::CancelParameter, "CancelParameter"}, 29 {0x0010, nullptr, "DebugFunc"}, 30 {0x0011, nullptr, "MapProgramIdForDebug"}, 31 {0x0012, nullptr, "SetHomeMenuAppletIdForDebug"}, 32 {0x0013, nullptr, "GetPreparationState"}, 33 {0x0014, nullptr, "SetPreparationState"}, 34 {0x0015, &APT_S::PrepareToStartApplication, "PrepareToStartApplication"}, 35 {0x0016, &APT_S::PreloadLibraryApplet, "PreloadLibraryApplet"}, 36 {0x0017, &APT_S::FinishPreloadingLibraryApplet, "FinishPreloadingLibraryApplet"}, 37 {0x0018, &APT_S::PrepareToStartLibraryApplet, "PrepareToStartLibraryApplet"}, 38 {0x0019, &APT_S::PrepareToStartSystemApplet, "PrepareToStartSystemApplet"}, 39 {0x001A, &APT_S::PrepareToStartNewestHomeMenu, "PrepareToStartNewestHomeMenu"}, 40 {0x001B, &APT_S::StartApplication, "StartApplication"}, 41 {0x001C, &APT_S::WakeupApplication, "WakeupApplication"}, 42 {0x001D, &APT_S::CancelApplication, "CancelApplication"}, 43 {0x001E, &APT_S::StartLibraryApplet, "StartLibraryApplet"}, 44 {0x001F, &APT_S::StartSystemApplet, "StartSystemApplet"}, 45 {0x0020, nullptr, "StartNewestHomeMenu"}, 46 {0x0021, &APT_S::OrderToCloseApplication, "OrderToCloseApplication"}, 47 {0x0022, &APT_S::PrepareToCloseApplication, "PrepareToCloseApplication"}, 48 {0x0023, nullptr, "PrepareToJumpToApplication"}, 49 {0x0024, nullptr, "JumpToApplication"}, 50 {0x0025, &APT_S::PrepareToCloseLibraryApplet, "PrepareToCloseLibraryApplet"}, 51 {0x0026, &APT_S::PrepareToCloseSystemApplet, "PrepareToCloseSystemApplet"}, 52 {0x0027, &APT_S::CloseApplication, "CloseApplication"}, 53 {0x0028, &APT_S::CloseLibraryApplet, "CloseLibraryApplet"}, 54 {0x0029, &APT_S::CloseSystemApplet, "CloseSystemApplet"}, 55 {0x002A, &APT_S::OrderToCloseSystemApplet, "OrderToCloseSystemApplet"}, 56 {0x002B, &APT_S::PrepareToJumpToHomeMenu, "PrepareToJumpToHomeMenu"}, 57 {0x002C, &APT_S::JumpToHomeMenu, "JumpToHomeMenu"}, 58 {0x002D, &APT_S::PrepareToLeaveHomeMenu, "PrepareToLeaveHomeMenu"}, 59 {0x002E, &APT_S::LeaveHomeMenu, "LeaveHomeMenu"}, 60 {0x002F, nullptr, "PrepareToLeaveResidentApplet"}, 61 {0x0030, nullptr, "LeaveResidentApplet"}, 62 {0x0031, &APT_S::PrepareToDoApplicationJump, "PrepareToDoApplicationJump"}, 63 {0x0032, &APT_S::DoApplicationJump, "DoApplicationJump"}, 64 {0x0033, &APT_S::GetProgramIdOnApplicationJump, "GetProgramIdOnApplicationJump"}, 65 {0x0034, &APT_S::SendDeliverArg, "SendDeliverArg"}, 66 {0x0035, &APT_S::ReceiveDeliverArg, "ReceiveDeliverArg"}, 67 {0x0036, &APT_S::LoadSysMenuArg, "LoadSysMenuArg"}, 68 {0x0037, &APT_S::StoreSysMenuArg, "StoreSysMenuArg"}, 69 {0x0038, nullptr, "PreloadResidentApplet"}, 70 {0x0039, nullptr, "PrepareToStartResidentApplet"}, 71 {0x003A, nullptr, "StartResidentApplet"}, 72 {0x003B, &APT_S::CancelLibraryApplet, "CancelLibraryApplet"}, 73 {0x003C, &APT_S::SendDspSleep, "SendDspSleep"}, 74 {0x003D, &APT_S::SendDspWakeUp, "SendDspWakeUp"}, 75 {0x003E, &APT_S::ReplySleepQuery, "ReplySleepQuery"}, 76 {0x003F, &APT_S::ReplySleepNotificationComplete, "ReplySleepNotificationComplete"}, 77 {0x0040, &APT_S::SendCaptureBufferInfo, "SendCaptureBufferInfo"}, 78 {0x0041, &APT_S::ReceiveCaptureBufferInfo, "ReceiveCaptureBufferInfo"}, 79 {0x0042, nullptr, "SleepSystem"}, 80 {0x0043, &APT_S::NotifyToWait, "NotifyToWait"}, 81 {0x0044, &APT_S::GetSharedFont, "GetSharedFont"}, 82 {0x0045, &APT_S::GetWirelessRebootInfo, "GetWirelessRebootInfo"}, 83 {0x0046, &APT_S::Wrap, "Wrap"}, 84 {0x0047, &APT_S::Unwrap, "Unwrap"}, 85 {0x0048, &APT_S::GetProgramInfo, "GetProgramInfo"}, 86 {0x0049, &APT_S::Reboot, "Reboot"}, 87 {0x004A, &APT_S::GetCaptureInfo, "GetCaptureInfo"}, 88 {0x004B, &APT_S::AppletUtility, "AppletUtility"}, 89 {0x004C, nullptr, "SetFatalErrDispMode"}, 90 {0x004D, nullptr, "GetAppletProgramInfo"}, 91 {0x004E, &APT_S::HardwareResetAsync, "HardwareResetAsync"}, 92 {0x004F, &APT_S::SetAppCpuTimeLimit, "SetAppCpuTimeLimit"}, 93 {0x0050, &APT_S::GetAppCpuTimeLimit, "GetAppCpuTimeLimit"}, 94 {0x0051, &APT_S::GetStartupArgument, "GetStartupArgument"}, 95 {0x0052, nullptr, "Wrap1"}, 96 {0x0053, nullptr, "Unwrap1"}, 97 {0x0054, &APT_S::Unknown54, "Unknown54"}, 98 {0x0055, &APT_S::SetScreenCapturePostPermission, "SetScreenCapturePostPermission"}, 99 {0x0056, &APT_S::GetScreenCapturePostPermission, "GetScreenCapturePostPermission"}, 100 {0x0057, &APT_S::WakeupApplication2, "WakeupApplication2"}, 101 {0x0058, &APT_S::GetProgramId, "GetProgramId"}, 102 {0x0101, &APT_S::GetTargetPlatform, "GetTargetPlatform"}, 103 {0x0102, &APT_S::CheckNew3DS, "CheckNew3DS"}, 104 {0x0103, &APT_S::GetApplicationRunningMode, "GetApplicationRunningMode"}, 105 {0x0104, &APT_S::IsStandardMemoryLayout, "IsStandardMemoryLayout"}, 106 {0x0105, &APT_S::IsTitleAllowed, "IsTitleAllowed"}, 107 // clang-format on 108 }; 109 RegisterHandlers(functions); 110 } 111 112 } // namespace Service::APT 113 114 SERIALIZE_EXPORT_IMPL(Service::APT::APT_S)