Applet Manager services: Difference between revisions
(4 intermediate revisions by the same user not shown) | |||
Line 113: | Line 113: | ||
| 100 || [6.0.0+] PopRequestLaunchApplicationForDebug || | | 100 || [6.0.0+] PopRequestLaunchApplicationForDebug || | ||
|- | |- | ||
| 200 || [8.0.0+] LaunchDevMenu || | | 200 || [8.0.0+] [[#LaunchDevMenu]] || | ||
|} | |} | ||
Line 127: | Line 127: | ||
==== GetWriterLockAccessorEx ==== | ==== GetWriterLockAccessorEx ==== | ||
Takes an input u32, returns an output [[#ILockAccessor]]. | Takes an input u32, returns an output [[#ILockAccessor]]. | ||
==== LaunchDevMenu ==== | |||
No input/output. | |||
Uses [[NS_Services#IApplicationManagerInterface]] cmd99. | |||
==== ILockAccessor ==== | ==== ILockAccessor ==== | ||
Line 606: | Line 611: | ||
| 40 || [[#NotifyRunning]] || | | 40 || [[#NotifyRunning]] || | ||
|- | |- | ||
| 50 || [2.0.0+] GetPseudoDeviceId || | | 50 || [2.0.0+] [[#GetPseudoDeviceId]] || | ||
|- | |- | ||
| 60 || [2.0.0+] [[#SetMediaPlaybackStateForApplication]] || | | 60 || [2.0.0+] [[#SetMediaPlaybackStateForApplication]] || | ||
Line 726: | Line 731: | ||
==== NotifyRunning ==== | ==== NotifyRunning ==== | ||
Takes no input. Returns an output u8 bool, which is ignored by official user-processes. | Takes no input. Returns an output u8 bool, which is ignored by official user-processes. | ||
==== GetPseudoDeviceId ==== | |||
No input, returns an output 0x10-byte "nn::util::Uuid" struct. | |||
The 0x20-byte output data from [[NS_Services|GetSystemSeedForPseudoDeviceId]] followed by the 8-byte [[NACP_Format|SeedForPseudoDeviceId]] from the current control.nacp, is hashed with SHA1. Then "nn::util::GenerateUuidVersion5" is called with the final hash, the output from this is then returned for the Uuid. | |||
==== SetMediaPlaybackStateForApplication ==== | ==== SetMediaPlaybackStateForApplication ==== | ||
Line 1,171: | Line 1,181: | ||
| 18 || [3.0.0+] SetRequiresCaptureButtonShortPressedMessage | | 18 || [3.0.0+] SetRequiresCaptureButtonShortPressedMessage | ||
|- | |- | ||
| 19 || [3.0.0+] [[# | | 19 || [3.0.0+] [[#SetAlbumImageOrientation]] | ||
|- | |- | ||
| 20 || [4.0.0+] SetDesirableKeyboardLayout | | 20 || [4.0.0+] SetDesirableKeyboardLayout | ||
Line 1,219: | Line 1,229: | ||
| 100 || [7.0.0+] [[#SetAlbumImageTakenNotificationEnabled]] | | 100 || [7.0.0+] [[#SetAlbumImageTakenNotificationEnabled]] | ||
|- | |- | ||
| 110 || [8.0.0+] SetApplicationAlbumUserData | | 110 || [8.0.0+] [[#SetApplicationAlbumUserData]] | ||
|- | |- | ||
| 1000 || [7.0.0+] [[#GetDebugStorageChannel]] | | 1000 || [7.0.0+] [[#GetDebugStorageChannel]] | ||
Line 1,280: | Line 1,290: | ||
Takes an input u8(bool flag). No output. | Takes an input u8(bool flag). No output. | ||
=== | === SetAlbumImageOrientation === | ||
Takes an input s32. No output. | Takes an input s32 "nn::album::ImageOrientation". No output. | ||
=== CreateManagedDisplayLayer === | === CreateManagedDisplayLayer === | ||
Line 1,308: | Line 1,318: | ||
=== SetAlbumImageTakenNotificationEnabled === | === SetAlbumImageTakenNotificationEnabled === | ||
Takes an input u8, no output. | Takes an input u8, no output. | ||
=== SetApplicationAlbumUserData === | |||
Takes a type-0x21 input buffer, no output. | |||
The buffer contains arbitrary UserData. | |||
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. | |||
=== GetDebugStorageChannel === | === GetDebugStorageChannel === |