Applet Manager services: Difference between revisions

No edit summary
No edit summary
Line 113: Line 113:
| 31 || [2.0.0+] [[#GetWriterLockAccessorEx]]
| 31 || [2.0.0+] [[#GetWriterLockAccessorEx]]
|-
|-
| 40 || [11.0.0+] IsSleepEnabled
| 40 || [11.0.0+] [[#IsSleepEnabled]]
|-
|-
| 100 || [6.0.0+] [[#PopRequestLaunchApplicationForDebug]]
| 100 || [6.0.0+] [[#PopRequestLaunchApplicationForDebug]]
Line 121: Line 121:
| 200 || [8.0.0+] [[#LaunchDevMenu]]
| 200 || [8.0.0+] [[#LaunchDevMenu]]
|-
|-
| 1000 || [11.0.0+] SetLastApplicationExitReason
| 1000 || [11.0.0+] [[#SetLastApplicationExitReason]]
|}
|}


Line 148: Line 148:


The input value must be 0-3. 0 = HomeButton.
The input value must be 0-3. 0 = HomeButton.
==== IsSleepEnabled ====
No input, returns an output bool.


==== PopRequestLaunchApplicationForDebug ====
==== PopRequestLaunchApplicationForDebug ====
Line 167: Line 170:


This is used by [[qlaunch]]. On success, official sw will enter an infinite loop with sleep-thread value 86400000000000.
This is used by [[qlaunch]]. On success, official sw will enter an infinite loop with sleep-thread value 86400000000000.
==== SetLastApplicationExitReason ====
Takes an input s32, no output.


==== ILockAccessor ====
==== ILockAccessor ====
Line 519: Line 525:
| 52 || [10.0.0+] [[#IsHomeButtonShortPressedBlocked]]
| 52 || [10.0.0+] [[#IsHomeButtonShortPressedBlocked]]
|-
|-
| 60 || [11.0.0+] IsVrModeCurtainRequired
| 60 || [11.0.0+] [[#IsVrModeCurtainRequired]]
|-
|-
| 70 || [11.0.0+] SetCpuBoostRequestPriority
| 70 || [11.0.0+] [[#SetCpuBoostRequestPriority]]
|}
|}


Line 560: Line 566:
=== IsHomeButtonShortPressedBlocked ===
=== IsHomeButtonShortPressedBlocked ===
No input, returns an output u8 bool.
No input, returns an output u8 bool.
=== IsVrModeCurtainRequired ===
No input, returns an output bool.
=== SetCpuBoostRequestPriority ===
Takes an input s32, no output.


== ILibraryAppletProxy ==
== ILibraryAppletProxy ==
Line 971: Line 983:
| 27 || [5.0.0+] CreateCacheStorage
| 27 || [5.0.0+] CreateCacheStorage
|-
|-
| 28 || [11.0.0+] GetSaveDataSizeMax
| 28 || [11.0.0+] [[#GetSaveDataSizeMax]]
|-
|-
| 29 || [11.0.0+] GetCacheStorageMax
| 29 || [11.0.0+] [[#GetCacheStorageMax]]
|-
|-
| 30 || [[#BeginBlockingHomeButtonShortAndLongPressed]]
| 30 || [[#BeginBlockingHomeButtonShortAndLongPressed]]
Line 985: Line 997:
| 34 || [10.0.0+] [[#SelectApplicationLicense]]
| 34 || [10.0.0+] [[#SelectApplicationLicense]]
|-
|-
| 35 || [11.0.0+] GetDeviceSaveDataSizeMax
| 35 || [11.0.0+] [[#GetDeviceSaveDataSizeMax]]
|-
|-
| 40 || [[#NotifyRunning]]
| 40 || [[#NotifyRunning]]
Line 1,033: Line 1,045:
| 130 || [8.0.0+] [[#GetGpuErrorDetectedSystemEvent]]
| 130 || [8.0.0+] [[#GetGpuErrorDetectedSystemEvent]]
|-
|-
| 131 || [11.0.0+] SetDelayTimeToAbortOnGpuError
| 131 || [11.0.0+] [[#SetDelayTimeToAbortOnGpuError]]
|-
|-
| 140 || [9.0.0+] [[#GetFriendInvitationStorageChannelEvent]]
| 140 || [9.0.0+] [[#GetFriendInvitationStorageChannelEvent]]
Line 1,051: Line 1,063:
| 181 || [10.1.0+] [[#UpgradeLaunchRequiredVersion]]
| 181 || [10.1.0+] [[#UpgradeLaunchRequiredVersion]]
|-
|-
| 190 || [11.0.0+] SendServerMaintenanceOverlayNotification
| 190 || [11.0.0+] [[#SendServerMaintenanceOverlayNotification]]
|-
|-
| 200 || [11.0.0+] GetLastApplicationExitReason
| 200 || [11.0.0+] [[#GetLastApplicationExitReason]]
|-
|-
| 500 || [5.0.0+] [[#StartContinuousRecordingFlushForDebug]]
| 500 || [5.0.0+] [[#StartContinuousRecordingFlushForDebug]]
Line 1,126: Line 1,138:


This returns two u8s loaded from state, these are the same StorageIds from [[#ApplicationLaunchProperty]].
This returns two u8s loaded from state, these are the same StorageIds from [[#ApplicationLaunchProperty]].
==== GetSaveDataSizeMax ====
No input, returns two ouput s64s.
==== GetCacheStorageMax ====
No input, returns an output s32 and s64.


==== BeginBlockingHomeButtonShortAndLongPressed ====
==== BeginBlockingHomeButtonShortAndLongPressed ====
Line 1,147: Line 1,165:
==== SelectApplicationLicense ====
==== SelectApplicationLicense ====
Takes an input array of [[#ApplicationLicenseType]], returns an output [[#ApplicationLicenseType]].
Takes an input array of [[#ApplicationLicenseType]], returns an output [[#ApplicationLicenseType]].
==== GetDeviceSaveDataSizeMax ====
No input, returns two output s64s.


==== NotifyRunning ====
==== NotifyRunning ====
Line 1,261: Line 1,282:
No input, returns an output Event handle with autoclear=false.
No input, returns an output Event handle with autoclear=false.


This is used by sdknso during applet-application initialization. A separate thread is setup where event-waiting is handled. When the Event is signaled, official sw will assert.
This is used by sdknso during applet-application initialization. A separate thread is setup where event-waiting is handled. When the Event is signaled, official sw will Abort.
 
==== SetDelayTimeToAbortOnGpuError ====
Takes an input s64 "nn::TimeSpan", no output.


==== GetFriendInvitationStorageChannelEvent ====
==== GetFriendInvitationStorageChannelEvent ====
Line 1,302: Line 1,326:


sdknso passes hard-coded value 0 for the u64.
sdknso passes hard-coded value 0 for the u64.
==== SendServerMaintenanceOverlayNotification ====
Takes two input [[PCV_services#PosixTime|PosixTime]], no output.
The second input value can optionally be 0.
==== GetLastApplicationExitReason ====
No input, returns an output s32.


==== StartContinuousRecordingFlushForDebug ====
==== StartContinuousRecordingFlushForDebug ====
Line 1,520: Line 1,552:
| 13 || [[#GetAcquiredSleepLockEvent]]
| 13 || [[#GetAcquiredSleepLockEvent]]
|-
|-
| 14 || [11.0.0+] GetWakeupCount
| 14 || [11.0.0+] [[#GetWakeupCount]]
|-
|-
| 20 || [[#PushToGeneralChannel]]
| 20 || [[#PushToGeneralChannel]]
Line 1,544: Line 1,576:
| 55 || [3.0.0+] [[#IsInControllerFirmwareUpdateSection]]
| 55 || [3.0.0+] [[#IsInControllerFirmwareUpdateSection]]
|-
|-
| 59 || [11.0.0+] SetVrPositionForDebug
| 59 || [11.0.0+] [[#SetVrPositionForDebug]]
|-
|-
| 60 || [3.0.0+] [[#GetDefaultDisplayResolution]]
| 60 || [3.0.0+] [[#GetDefaultDisplayResolution]]
Line 1,562: Line 1,594:
| 67 || [10.0.0+] [[#CancelCpuBoostMode]]
| 67 || [10.0.0+] [[#CancelCpuBoostMode]]
|-
|-
| 68 || [11.0.0+] GetBuiltInDisplayType
| 68 || [11.0.0+] [[#GetBuiltInDisplayType]]
|-
|-
| 80 || [6.0.0+] [[#PerformSystemButtonPressingIfInFocus]]
| 80 || [6.0.0+] [[#PerformSystemButtonPressingIfInFocus]]
Line 1,582: Line 1,614:
| 401 || [10.0.0+] [[#DeactivateMigrationService]]
| 401 || [10.0.0+] [[#DeactivateMigrationService]]
|-
|-
| 500 || [11.0.0+] DisableSleepTillShutdown
| 500 || [11.0.0+] [[#DisableSleepTillShutdown]]
|-
|-
| 501 || [11.0.0+] SuppressDisablingSleepTemporarily
| 501 || [11.0.0+] [[#SuppressDisablingSleepTemporarily]]
|-
|-
| 900 || [11.0.0+] SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled
| 900 || [11.0.0+] [[#SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled]]
|}
|}


Line 1,647: Line 1,679:
=== GetAcquiredSleepLockEvent ===
=== GetAcquiredSleepLockEvent ===
No input, returns an output Event handle with autoclear=false.
No input, returns an output Event handle with autoclear=false.
=== GetWakeupCount ===
No input, returns an output u64.


=== PushToGeneralChannel ===
=== PushToGeneralChannel ===
Line 1,704: Line 1,739:
=== IsInControllerFirmwareUpdateSection ===
=== IsInControllerFirmwareUpdateSection ===
No input, returns an output u8 bool.
No input, returns an output u8 bool.
=== SetVrPositionForDebug ===
Takes 4 input s32s, no output.


=== GetDefaultDisplayResolution ===
=== GetDefaultDisplayResolution ===
Line 1,730: Line 1,768:
=== CancelCpuBoostMode ===
=== CancelCpuBoostMode ===
No input/output.
No input/output.
=== GetBuiltInDisplayType ===
No input, returns an output s32.
This is not exposed by sdknso.


=== PerformSystemButtonPressingIfInFocus ===
=== PerformSystemButtonPressingIfInFocus ===
Line 1,759: Line 1,802:


=== DeactivateMigrationService ===
=== DeactivateMigrationService ===
No input/output.
=== DisableSleepTillShutdown ===
No input/output.
=== SuppressDisablingSleepTemporarily ===
Takes an input u64 "nn::TimeSpanType", no output.
=== SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled ===
No input/output.
No input/output.


Line 1,770: Line 1,822:
! Cmd || Name
! Cmd || Name
|-
|-
| 100 || GetManualGpuErrorInfoSize
| 100 || [[#GetManualGpuErrorInfoSize]]
|-
|-
| 101 || GetManualGpuErrorInfo
| 101 || [[#GetManualGpuErrorInfo]]
|-
|-
| 102 || GetManualGpuErrorDetectionSystemEvent
| 102 || [[#GetManualGpuErrorDetectionSystemEvent]]
|-
|-
| 103 || FinishManualGpuErrorHandling
| 103 || [[#FinishManualGpuErrorHandling]]
|}
|}
==== GetManualGpuErrorInfoSize ====
No input, returns an output u64.
==== GetManualGpuErrorInfo ====
Takes a type-0x6 output buffer, returns an output u64.
sdknso exposes the buffer as <code>void*</code>.
==== GetManualGpuErrorDetectionSystemEvent ====
No input, returns an output Event handle with EventClearMode=0.
==== FinishManualGpuErrorHandling ====
No input/output.


== ISelfController ==
== ISelfController ==
Line 1,870: Line 1,936:
| 110 || [8.0.0+] [[#SetApplicationAlbumUserData]]
| 110 || [8.0.0+] [[#SetApplicationAlbumUserData]]
|-
|-
| 120 || [11.0.0+] SaveCurrentScreenshot
| 120 || [11.0.0+] [[#SaveCurrentScreenshot]]
|-
|-
| 1000 || [7.0.0+] [[#GetDebugStorageChannel]]
| 1000 || [7.0.0+] [[#GetDebugStorageChannel]]
Line 2,089: Line 2,155:


The size must be <=0x400. The input buffer is copied to a buffer loaded from a state ptr (throwing an error when the state ptr is not set), with the u32 size being written to statebuf+0x400 afterwards.
The size must be <=0x400. The input buffer is copied to a buffer loaded from a state ptr (throwing an error when the state ptr is not set), with the u32 size being written to statebuf+0x400 afterwards.
=== SaveCurrentScreenshot ===
Takes an input s32 [[Capture_services#AlbumReportOption|AlbumReportOption]], no output.
sdknso exposes this under "nn::album::".


=== GetDebugStorageChannel ===
=== GetDebugStorageChannel ===