Applet Manager services: Difference between revisions
No edit summary |
|||
(11 intermediate revisions by 2 users not shown) | |||
Line 175: | Line 175: | ||
| 3 || [[#GetEvent]] | | 3 || [[#GetEvent]] | ||
|- | |- | ||
| 4 || [10.0.0+] IsLocked | | 4 || [10.0.0+] [[#IsLocked]] | ||
|} | |} | ||
Line 190: | Line 190: | ||
===== GetEvent ===== | ===== GetEvent ===== | ||
No input, returns an output Event handle with autoclear=false. | No input, returns an output Event handle with autoclear=false. | ||
==== IsLocked ==== | |||
No input, returns an output u8 bool. | |||
=== IGlobalStateController === | === IGlobalStateController === | ||
Line 360: | Line 363: | ||
| 190 || [9.0.0+] [[#PushToNotificationStorageChannel]] || | | 190 || [9.0.0+] [[#PushToNotificationStorageChannel]] || | ||
|- | |- | ||
| 200 || [10.0.0+] || | | 200 || [10.0.0+] [[#RequestApplicationSoftReset]] || | ||
|- | |- | ||
| 201 || [10.0.0+] || | | 201 || [10.0.0+] [[#RestartApplicationTimer]] || | ||
|} | |} | ||
Line 442: | Line 445: | ||
[[qlaunch]] will only push data for this when launching the Application when the Alarm was triggered, where the system was previously in sleep-mode. This data is the [[Glue_services|Notification]] ApplicationParameter. | [[qlaunch]] will only push data for this when launching the Application when the Alarm was triggered, where the system was previously in sleep-mode. This data is the [[Glue_services|Notification]] ApplicationParameter. | ||
===== RequestApplicationSoftReset ===== | |||
No input/output. | |||
===== RestartApplicationTimer ===== | |||
No input/output. | |||
===== IAppletAccessor ===== | ===== IAppletAccessor ===== | ||
Line 504: | Line 513: | ||
| 51 || [8.0.0+] [[#GetHomeButtonDoubleClickEnabled]] || | | 51 || [8.0.0+] [[#GetHomeButtonDoubleClickEnabled]] || | ||
|- | |- | ||
| 52 || [10.0.0+] IsHomeButtonShortPressedBlocked || | | 52 || [10.0.0+] [[#IsHomeButtonShortPressedBlocked]] || | ||
|} | |} | ||
Line 539: | Line 548: | ||
=== GetHomeButtonDoubleClickEnabled === | === GetHomeButtonDoubleClickEnabled === | ||
No input, returns an output u8 bool. | |||
=== IsHomeButtonShortPressedBlocked === | |||
No input, returns an output u8 bool. | No input, returns an output u8 bool. | ||
Line 638: | Line 650: | ||
| 130 || [9.0.0+] [[#GetGpuErrorDetectedSystemEvent]] || | | 130 || [9.0.0+] [[#GetGpuErrorDetectedSystemEvent]] || | ||
|- | |- | ||
| 140 || [10.0.0+] SetApplicationMemoryReservation || | | 140 || [10.0.0+] [[#SetApplicationMemoryReservation]] || | ||
|- | |- | ||
| 150 || [10.0.0+] ShouldSetGpuTimeSliceManually || | | 150 || [10.0.0+] [[#ShouldSetGpuTimeSliceManually]] || | ||
|} | |} | ||
Line 765: | Line 777: | ||
Normally the output bool is set to 0, however when no users are available it's set to 1 with '''total_entries''' = -1. | Normally the output bool is set to 0, however when no users are available it's set to 1 with '''total_entries''' = -1. | ||
==== SetApplicationMemoryReservation ==== | |||
Takes an input u64, no output. | |||
An Application must be currently running. The input u64 must be 0x1000-byte aligned. | |||
==== ShouldSetGpuTimeSliceManually ==== | |||
No input, returns an output u8 bool. | |||
== IOverlayAppletProxy == | == IOverlayAppletProxy == | ||
Line 819: | Line 839: | ||
| 30 || [9.0.0+] [[#SetHealthWarningShowingState]] | | 30 || [9.0.0+] [[#SetHealthWarningShowingState]] | ||
|- | |- | ||
| 31 || [10.0.0+] IsHealthWarningRequired | | 31 || [10.0.0+] [[#IsHealthWarningRequired]] | ||
|- | |- | ||
| 90 || [7.0.0+] [[#SetRequiresGpuResourceUse]] | | 90 || [7.0.0+] [[#SetRequiresGpuResourceUse]] | ||
Line 868: | Line 888: | ||
This writes the input bool into state, signals an Event, and returns 0. | This writes the input bool into state, signals an Event, and returns 0. | ||
==== IsHealthWarningRequired ==== | |||
No input, returns an output u8 bool. | |||
==== SetRequiresGpuResourceUse ==== | ==== SetRequiresGpuResourceUse ==== | ||
Line 948: | Line 971: | ||
| 33 || [[#EndBlockingHomeButton]] || | | 33 || [[#EndBlockingHomeButton]] || | ||
|- | |- | ||
| 34 || [10.0.0+] SelectApplicationLicense || | | 34 || [10.0.0+] [[#SelectApplicationLicense]] || | ||
|- | |- | ||
| 40 || [[#NotifyRunning]] || | | 40 || [[#NotifyRunning]] || | ||
Line 968: | Line 991: | ||
| 71 || [3.0.0+] [[#RequestToReboot]] || | | 71 || [3.0.0+] [[#RequestToReboot]] || | ||
|- | |- | ||
| 72 || [10.0.0+] RequestToSleep || | | 72 || [10.0.0+] [[#RequestToSleep]] || | ||
|- | |- | ||
| 80 || [4.0.0+] [[#ExitAndRequestToShowThanksMessage]] || | | 80 || [4.0.0+] [[#ExitAndRequestToShowThanksMessage]] || | ||
Line 1,007: | Line 1,030: | ||
|- | |- | ||
| 170 || [9.0.0+] [[#SetHdcpAuthenticationActivated]] || | | 170 || [9.0.0+] [[#SetHdcpAuthenticationActivated]] || | ||
|- | |||
| 180 || [10.1.0+] [[#GetLaunchRequiredVersion]] || | |||
|- | |||
| 181 || [10.1.0+] [[#UpgradeLaunchRequiredVersion]] || | |||
|- | |- | ||
| 500 || [5.0.0+] [[#StartContinuousRecordingFlushForDebug]] || | | 500 || [5.0.0+] [[#StartContinuousRecordingFlushForDebug]] || | ||
Line 1,097: | Line 1,124: | ||
==== EndBlockingHomeButton ==== | ==== EndBlockingHomeButton ==== | ||
No input/output. | No input/output. | ||
==== SelectApplicationLicense ==== | |||
Takes an input array of [[#ApplicationLicenseType]], returns an output [[#ApplicationLicenseType]]. | |||
==== NotifyRunning ==== | ==== NotifyRunning ==== | ||
Line 1,132: | Line 1,162: | ||
On success, official sw will enter an infinite loop with sleep-thread value 86400000000000. | On success, official sw will enter an infinite loop with sleep-thread value 86400000000000. | ||
==== RequestToSleep ==== | |||
No input/output. | |||
==== ExitAndRequestToShowThanksMessage ==== | ==== ExitAndRequestToShowThanksMessage ==== | ||
Line 1,239: | Line 1,272: | ||
==== SetHdcpAuthenticationActivated ==== | ==== SetHdcpAuthenticationActivated ==== | ||
Takes an input u8 bool, no output. | Takes an input u8 bool, no output. | ||
==== GetLaunchRequiredVersion ==== | |||
Takes an input [[NCM_services#ApplicationId|ApplicationId]], an u64, returns an output [[#LaunchRequiredVersion]]. | |||
sdknso passes hard-coded value 0 for the u64. | |||
==== UpgradeLaunchRequiredVersion ==== | |||
Takes an input [[#LaunchRequiredVersion]], an [[NCM_services#ApplicationId|ApplicationId]], an u64, no output. | |||
sdknso passes hard-coded value 0 for the u64. | |||
==== StartContinuousRecordingFlushForDebug ==== | ==== StartContinuousRecordingFlushForDebug ==== | ||
Line 1,253: | Line 1,296: | ||
==== PrepareForJit ==== | ==== PrepareForJit ==== | ||
Takes no input. Launches | Takes no input. Launches the [[JIT_services|jit-sysmodule]] if some context variable is not set, with that context variable being initialized afterwards. | ||
=== IMovieMaker === | === IMovieMaker === | ||
Line 1,342: | Line 1,385: | ||
| 50 || [[#SetOutOfFocusApplicationSuspendingEnabled]] || | | 50 || [[#SetOutOfFocusApplicationSuspendingEnabled]] || | ||
|- | |- | ||
| 60 || [10.0.0+] PresetLibraryAppletGpuTimeSliceZero || | | 60 || [10.0.0+] [[#PresetLibraryAppletGpuTimeSliceZero]] || | ||
|- | |- | ||
| 100 || [[#PushInData]] || | | 100 || [[#PushInData]] || | ||
Line 1,373: | Line 1,416: | ||
Official sw will assert prior to using this if applet-service was not initialized as *Application. | Official sw will assert prior to using this if applet-service was not initialized as *Application. | ||
==== PresetLibraryAppletGpuTimeSliceZero ==== | |||
No input/output. | |||
sdknso only uses with with [[Software_Keyboard|swkbd-inline]], immediately after creating the LibraryApplet. | |||
==== PushInData ==== | ==== PushInData ==== | ||
Line 1,479: | Line 1,527: | ||
| 66 || [6.0.0+] [[#SetCpuBoostMode]] || | | 66 || [6.0.0+] [[#SetCpuBoostMode]] || | ||
|- | |- | ||
| 67 || [10.0.0+] CancelCpuBoostMode || | | 67 || [10.0.0+] [[#CancelCpuBoostMode]] || | ||
|- | |- | ||
| 80 || [6.0.0+] [[#PerformSystemButtonPressingIfInFocus]] || | | 80 || [6.0.0+] [[#PerformSystemButtonPressingIfInFocus]] || | ||
Line 1,493: | Line 1,541: | ||
| 300 || [9.0.0+] [[#GetSettingsPlatformRegion]] || | | 300 || [9.0.0+] [[#GetSettingsPlatformRegion]] || | ||
|- | |- | ||
| 400 || [10.0.0+] ActivateMigrationService || | | 400 || [10.0.0+] [[#ActivateMigrationService]] || | ||
|- | |- | ||
| 401 || [10.0.0+] DeactivateMigrationService || | | 401 || [10.0.0+] [[#DeactivateMigrationService]] || | ||
|} | |} | ||
Line 1,636: | Line 1,684: | ||
=== SetCpuBoostMode === | === SetCpuBoostMode === | ||
Takes an input u32 '''CpuBoostMode''' (only modes 0 and 1 are valid) and passes it to [[PPC_services#apm:sys|SetCpuBoostMode]]. | Takes an input u32 '''CpuBoostMode''' (only modes 0 and 1 are valid) and passes it to [[PPC_services#apm:sys|SetCpuBoostMode]]. | ||
=== CancelCpuBoostMode === | |||
No input/output. | |||
=== PerformSystemButtonPressingIfInFocus === | === PerformSystemButtonPressingIfInFocus === | ||
Line 1,657: | Line 1,708: | ||
This just returns the output from [[Settings_services#GetPlatformRegion|setsys GetPlatformRegion]]. | This just returns the output from [[Settings_services#GetPlatformRegion|setsys GetPlatformRegion]]. | ||
=== ActivateMigrationService === | |||
No input/output. | |||
=== DeactivateMigrationService === | |||
No input/output. | |||
== ISelfController == | == ISelfController == | ||
Line 1,705: | Line 1,762: | ||
| 43 || [5.0.0+] [[#GetSystemSharedBufferHandle]] | | 43 || [5.0.0+] [[#GetSystemSharedBufferHandle]] | ||
|- | |- | ||
| 44 || [10.0.0+] CreateManagedDisplaySeparableLayer | | 44 || [10.0.0+] [[#CreateManagedDisplaySeparableLayer]] | ||
|- | |- | ||
| 45 || [10.0.0+] SetManagedDisplayLayerSeparationMode | | 45 || [10.0.0+] [[#SetManagedDisplayLayerSeparationMode]] | ||
|- | |- | ||
| 50 || [[#SetHandlesRequestToDisplay]] | | 50 || [[#SetHandlesRequestToDisplay]] | ||
Line 1,858: | Line 1,915: | ||
Same as [[#GetSystemSharedLayerHandle]] except this just gets the SharedBufferHandle. | Same as [[#GetSystemSharedLayerHandle]] except this just gets the SharedBufferHandle. | ||
=== CreateManagedDisplaySeparableLayer === | |||
No input, returns two output u64 LayerIds. | |||
sdknso now uses this instead of [[#CreateManagedDisplayLayer]]. sdknso caches the output from the cmd so that it's only used once. The first u64 is used the same as the original LayerId from [[#CreateManagedDisplayLayer]]. <code>nn::vi::CreateRecordingLayer</code> uses the second LayerId, the layer creation is identical besides which LayerId is used. | |||
=== SetManagedDisplayLayerSeparationMode === | |||
Takes an input u32, no output. | |||
sdknso exposes this as <code>nn::vi::SetRecordingLayerEnabled(bool)</code>. | |||
The input u32 must be 0-1. | |||
=== SetHandlesRequestToDisplay === | === SetHandlesRequestToDisplay === | ||
Line 2,348: | Line 2,417: | ||
| 100 || [7.0.0+] [[#SetCpuBoostModeForApplet]] || | | 100 || [7.0.0+] [[#SetCpuBoostModeForApplet]] || | ||
|- | |- | ||
| 101 || [10.0.0+] CancelCpuBoostModeForApplet || | | 101 || [10.0.0+] [[#CancelCpuBoostModeForApplet]] || | ||
|- | |- | ||
| 110 || [9.0.0+] [[#PushToAppletBoundChannelForDebug]] || | | 110 || [9.0.0+] [[#PushToAppletBoundChannelForDebug]] || | ||
Line 2,395: | Line 2,464: | ||
The cached value loaded from [[Settings_services#GetDebugModeFlag]] must be 1, otherwise an error is returned. | The cached value loaded from [[Settings_services#GetDebugModeFlag]] must be 1, otherwise an error is returned. | ||
=== CancelCpuBoostModeForApplet === | |||
No input/output. | |||
=== PushToAppletBoundChannelForDebug === | === PushToAppletBoundChannelForDebug === | ||
Line 2,720: | Line 2,792: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! | ! Id | ||
! | ! ProgramId | ||
! | ! Description | ||
|- | |- | ||
| 0x01 | | 0x01 | ||
| | | | ||
| Application | | Application (not valid for use with LibraryApplets) | ||
|- | |- | ||
| 0x02 | | 0x02 | ||
| 010000000000100C | | 010000000000100C | ||
| | | overlayDisp (OverlayApplet) | ||
|- | |- | ||
| 0x03 | | 0x03 | ||
| 0100000000001000 | | 0100000000001000 | ||
| | | qlaunch (SystemAppletMenu) | ||
|- | |- | ||
| 0x04 | | 0x04 | ||
| 0100000000001012 | | 0100000000001012 | ||
| | | starter (DummyStarter) | ||
|- | |- | ||
| 0x0A | | 0x0A | ||
| 0100000000001001 | | 0100000000001001 | ||
| [[Auth_Applet| | | [[Auth_Applet|auth (LibraryAppletAuth)]] | ||
|- | |- | ||
| 0x0B | | 0x0B | ||
| 0100000000001002 | | 0100000000001002 | ||
| | | [[Cabinet_Applet|cabinet (LibraryAppletCabinet)]] | ||
|- | |- | ||
| 0x0C | | 0x0C | ||
| 0100000000001003 | | 0100000000001003 | ||
| [[Controller_Applet| | | [[Controller_Applet|controller (LibraryAppletController)]] | ||
|- | |- | ||
| 0x0D | | 0x0D | ||
| 0100000000001004 | | 0100000000001004 | ||
| | | dataErase (LibraryAppletDataErase) | ||
|- | |- | ||
| 0x0E | | 0x0E | ||
| 0100000000001005 | | 0100000000001005 | ||
| [[Error_Applet| | | [[Error_Applet|error (LibraryAppletError)]] | ||
|- | |- | ||
| 0x0F | | 0x0F | ||
| 0100000000001006 | | 0100000000001006 | ||
| | | netConnect (LibraryAppletNetConnect) | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| 0100000000001007 | | 0100000000001007 | ||
| [[Profile_Selector| | | [[Profile_Selector|playerSelect (LibraryAppletPlayerSelect)]] | ||
|- | |- | ||
| 0x11 | | 0x11 | ||
| 0100000000001008 | | 0100000000001008 | ||
| [[Software_Keyboard| | | [[Software_Keyboard|swkbd (LibraryAppletSwkbd)]] | ||
|- | |- | ||
| 0x12 | | 0x12 | ||
| 0100000000001009 | | 0100000000001009 | ||
| | | [[MiiEdit_Applet|miiEdit (LibraryAppletMiiEdit)]] | ||
|- | |- | ||
| 0x13 | | 0x13 | ||
| 010000000000100A | | 010000000000100A | ||
| | | [[Internet_Browser#010000000000100A|web (LibraryAppletWeb)]] | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
| 010000000000100B | | 010000000000100B | ||
| | | [[Internet_Browser#ShopN|shop (LibraryAppletShop)]] | ||
|- | |- | ||
| 0x15 | | 0x15 | ||
| 010000000000100D | | 010000000000100D | ||
| [[Album_Applet| | | [[Album_Applet|photoViewer (LibraryAppletPhotoViewer)]] | ||
|- | |- | ||
| 0x16 | | 0x16 | ||
| 010000000000100E | | 010000000000100E | ||
| | | set (LibraryAppletSet) | ||
|- | |- | ||
| 0x17 | | 0x17 | ||
| 010000000000100F | | 010000000000100F | ||
| | | [[Internet_Browser#Offline_Applet|offlineWeb (LibraryAppletOfflineWeb)]] | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| 0100000000001010 | | 0100000000001010 | ||
| | | [[Internet_Browser#Whitelisted_Applets|loginShare (LibraryAppletLoginShare)]] | ||
|- | |- | ||
| 0x19 | | 0x19 | ||
| 0100000000001011 | | 0100000000001011 | ||
| | | [[Internet_Browser#WifiWebAuthApplet|wifiWebAuth (LibraryAppletWifiWebAuth)]] | ||
|- | |- | ||
| 0x1A | | 0x1A | ||
| 0100000000001013 | | 0100000000001013 | ||
| [[MyPage_Applet| | | [[MyPage_Applet|myPage (LibraryAppletMyPage)]] | ||
|- | |||
| 0x1B | |||
| 010000000000101A | |||
| gift (LibraryAppletGift) | |||
|- | |||
| 0x1C | |||
| 010000000000101C | |||
| userMigration (LibraryAppletUserMigration) | |||
|- | |||
| 0x1D | |||
| 010000000000101D | |||
| [9.0.0+] EncounterSys (LibraryAppletPreomiaSys) | |||
|- | |||
| 0x1E | |||
| 0100000000001020 | |||
| [9.0.0+] story (LibraryAppletStory) | |||
|- | |||
| 0x1F | |||
| 010070000E3C0000 | |||
| [9.0.0+] EncounterUsr (LibraryAppletPreomiaUsr) | |||
|- | |||
| 0x20 | |||
| 010086000E49C000 | |||
| [9.0.0+] EncounterUsrDummy (LibraryAppletPreomiaUsrDummy) | |||
|- | |||
| 0x21 | |||
| 0100000000001038 | |||
| [10.0.0+] sample (LibraryAppletSample) | |||
|- | |||
| 0x3F1 | |||
| 010000000000D619 | |||
| [10.0.0+] | |||
|- | |||
| 0x3F2 | |||
| 010000000000D610 | |||
| [10.0.0+] | |||
|- | |||
| 0x3F3 | |||
| 010000000000D611 | |||
| [10.0.0+] | |||
|- | |||
| 0x3F4 | |||
| 010000000000D612 | |||
| [10.0.0+] | |||
|- | |||
| 0x3F5 | |||
| 010000000000D613 | |||
| [10.0.0+] | |||
|- | |||
| 0x3F6 | |||
| 010000000000D614 | |||
| [10.0.0+] | |||
|- | |||
| 0x3F7 | |||
| 010000000000D615 | |||
| [10.0.0+] | |||
|- | |||
| 0x3F8 | |||
| 010000000000D616 | |||
| [10.0.0+] | |||
|- | |||
| 0x3F9 | |||
| 010000000000D617 | |||
| [10.0.0+] | |||
|- | |||
| 0x3FA | |||
| 010000000000D60A | |||
| [10.0.0+] | |||
|- | |||
| 0x3FB | |||
| 010000000000D60B | |||
| [10.0.0+] | |||
|- | |||
| 0x3FC | |||
| 010000000000D60C | |||
| [10.0.0+] | |||
|- | |||
| 0x3FD | |||
| 010000000000D60D | |||
| [10.0.0+] | |||
|- | |||
| 0x3FE | |||
| 010000000000D60E | |||
| [10.0.0+] | |||
|} | |} | ||
Line 3,106: | Line 3,262: | ||
This struct is "nn::am::service::AppletResourceUsageInfo". This struct is 0x20-bytes. | This struct is "nn::am::service::AppletResourceUsageInfo". This struct is 0x20-bytes. | ||
= ApplicationLicenseType = | |||
This is "nn::oe::ApplicationLicenseType". This is 1-byte. | |||
= LaunchRequiredVersion = | |||
This is "nn::oe::LaunchRequiredVersion". This is a 0x40-byte struct with 1-byte alignment. | |||
= Notes = | = Notes = |