<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://switchbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Random0666</id>
	<title>Nintendo Switch Brew - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://switchbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Random0666"/>
	<link rel="alternate" type="text/html" href="https://switchbrew.org/wiki/Special:Contributions/Random0666"/>
	<updated>2026-05-05T19:11:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Applet_Manager_services&amp;diff=4901</id>
		<title>Applet Manager services</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Applet_Manager_services&amp;diff=4901"/>
		<updated>2018-08-10T14:26:24Z</updated>

		<summary type="html">&lt;p&gt;Random0666: /* SetVrModeEnabled */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AM (Applet Manager) provides services for interacting with system applets while abstracting several aspects of power and operation management.&lt;br /&gt;
&lt;br /&gt;
Contains multiple raw images, with at least the following: &amp;quot;NN_OMM_CHARGING_BIN_{begin|end}&amp;quot;(charging icon), low-battery icon, and the Nintendo Switch logo displayed during system boot.&lt;br /&gt;
&lt;br /&gt;
= appletAE =&lt;br /&gt;
This is &amp;quot;nn::am::service::IAllSystemAppletProxiesService&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 100 || OpenSystemAppletProxy || Returns an [[#ISystemAppletProxy]].&lt;br /&gt;
|-&lt;br /&gt;
| 200 || OpenLibraryAppletProxyOld ([1.0.0-2.3.0] OpenLibraryAppletProxy) || Returns an [[#ILibraryAppletProxy]].&lt;br /&gt;
|-&lt;br /&gt;
| 201 || [3.0.0+] [[#OpenLibraryAppletProxy]] || Returns an [[#ILibraryAppletProxy]].&lt;br /&gt;
|-&lt;br /&gt;
| 300 || OpenOverlayAppletProxy || Returns an [[#IOverlayAppletProxy]].&lt;br /&gt;
|-&lt;br /&gt;
| 350 || OpenSystemApplicationProxy || Returns an [[#IApplicationProxy]].&lt;br /&gt;
|-&lt;br /&gt;
| 400 || CreateSelfLibraryAppletCreatorForDevelop || Returns an [[#ILibraryAppletCreator]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All of these commands except [[#OpenLibraryAppletProxy]] take the same input as [[#OpenApplicationProxy]], with the same user-process retry-loop as [[#OpenApplicationProxy]].&lt;br /&gt;
&lt;br /&gt;
This service seems to be used by all system non-regular-applications.&lt;br /&gt;
&lt;br /&gt;
The 01000000000010XX system [[Title_list|titles]] use the following applet types(above Open{type}Proxy commands):&lt;br /&gt;
* &amp;quot;qlaunch&amp;quot;: SystemApplet&lt;br /&gt;
* &amp;quot;overlay&amp;quot;: OverlayApplet&lt;br /&gt;
* &amp;quot;starter&amp;quot;: SystemApplication&lt;br /&gt;
* &amp;quot;maintenance&amp;quot;: SystemApplet&lt;br /&gt;
* All others: LibraryApplet&lt;br /&gt;
&lt;br /&gt;
== OpenLibraryAppletProxy ==&lt;br /&gt;
Returns an [[#ILibraryAppletProxy]].&lt;br /&gt;
&lt;br /&gt;
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID,a process copy-handle(cur-proc handle alias), and an 0x80-byte type-0x15 input buffer &#039;&#039;&#039;AppletAttribute&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Official user-processes use the same retry loop with this as the other Open*Proxy commands.&lt;br /&gt;
&lt;br /&gt;
== ISystemAppletProxy ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].&lt;br /&gt;
|-&lt;br /&gt;
| 1 || GetSelfController || Returns an [[#ISelfController]].&lt;br /&gt;
|-&lt;br /&gt;
| 2 || GetWindowController || Returns an [[#IWindowController]].&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GetAudioController || Returns an [[#IAudioController]].&lt;br /&gt;
|-&lt;br /&gt;
| 4 || GetDisplayController || Returns an [[#IDisplayController]].&lt;br /&gt;
|-&lt;br /&gt;
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].&lt;br /&gt;
|-&lt;br /&gt;
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].&lt;br /&gt;
|-&lt;br /&gt;
| 20 || GetHomeMenuFunctions || Returns an [[#IHomeMenuFunctions]].&lt;br /&gt;
|-&lt;br /&gt;
| 21 || GetGlobalStateController || Returns an [[#IGlobalStateController]].&lt;br /&gt;
|-&lt;br /&gt;
| 22 || GetApplicationCreator || Returns an [[#IApplicationCreator]].&lt;br /&gt;
|-&lt;br /&gt;
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IHomeMenuFunctions ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 10 || RequestToGetForeground || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || LockForeground ||&lt;br /&gt;
|-&lt;br /&gt;
| 12 || UnlockForeground || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || PopFromGeneralChannel || Returns an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 21 || GetPopFromGeneralChannelEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 30 || GetHomeButtonWriterLockAccessor || Returns an [[#ILockAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 31 || [2.0.0+] GetWriterLockAccessorEx || Returns an [[#ILockAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== ILockAccessor ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name&lt;br /&gt;
|-&lt;br /&gt;
| 1 || TryLock&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Unlock&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GetEvent&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IGlobalStateController ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name&lt;br /&gt;
|-&lt;br /&gt;
| 0 || RequestToEnterSleep&lt;br /&gt;
|-&lt;br /&gt;
| 1 || EnterSleep&lt;br /&gt;
|-&lt;br /&gt;
| 2 || StartSleepSequence&lt;br /&gt;
|-&lt;br /&gt;
| 3 || StartShutdownSequence&lt;br /&gt;
|-&lt;br /&gt;
| 4 || StartRebootSequence&lt;br /&gt;
|-&lt;br /&gt;
| 10 || LoadAndApplyIdlePolicySettings&lt;br /&gt;
|-&lt;br /&gt;
| 11 || [2.0.0+] NotifyCecSettingsChanged&lt;br /&gt;
|-&lt;br /&gt;
| 12 || [2.0.0+] SetDefaultHomeButtonLongPressTime&lt;br /&gt;
|-&lt;br /&gt;
| 13 || [2.0.0+] UpdateDefaultDisplayResolution&lt;br /&gt;
|-&lt;br /&gt;
| 14 || [2.0.0+] ShouldSleepOnBoot&lt;br /&gt;
|-&lt;br /&gt;
| 15 || [4.0.0+] GetHdcpAuthenticationFailedEvent&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IApplicationCreator ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || CreateApplication || Returns an [[#IApplicationAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 1 || PopLaunchRequestedApplication || Returns an [[#IApplicationAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 10 || CreateSystemApplication || Returns an [[#IApplicationAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 100 || PopFloatingApplicationForDevelopment || Returns an [[#IApplicationAccessor]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== IApplicationAccessor ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetAppletStateChangedEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 1 || IsCompleted ||&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Start ||&lt;br /&gt;
|-&lt;br /&gt;
| 20 || RequestExit || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || Terminate || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || GetResult || &lt;br /&gt;
|-&lt;br /&gt;
| 101 || RequestForApplicationToGetForeground || &lt;br /&gt;
|-&lt;br /&gt;
| 110 || TerminateAllLibraryApplets || &lt;br /&gt;
|-&lt;br /&gt;
| 111 || AreAnyLibraryAppletsLeft || &lt;br /&gt;
|-&lt;br /&gt;
| 112 || GetCurrentLibraryApplet || Returns an [[#IAppletAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 120 || GetApplicationId || &lt;br /&gt;
|-&lt;br /&gt;
| 121 || PushLaunchParameter || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 122 || GetApplicationControlProperty || &lt;br /&gt;
|-&lt;br /&gt;
| 123 || [2.0.0+] GetApplicationLaunchProperty || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== IAppletAccessor =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetAppletStateChangedEvent&lt;br /&gt;
|-&lt;br /&gt;
| 1 || IsCompleted&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Start&lt;br /&gt;
|-&lt;br /&gt;
| 20 || RequestExit&lt;br /&gt;
|-&lt;br /&gt;
| 25 || Terminate&lt;br /&gt;
|-&lt;br /&gt;
| 30 || GetResult&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ILibraryAppletProxy ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].&lt;br /&gt;
|-&lt;br /&gt;
| 1 || GetSelfController || Returns an [[#ISelfController]].&lt;br /&gt;
|-&lt;br /&gt;
| 2 || GetWindowController || Returns an [[#IWindowController]].&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GetAudioController || Returns an [[#IAudioController]].&lt;br /&gt;
|-&lt;br /&gt;
| 4 || GetDisplayController || Returns an [[#IDisplayController]].&lt;br /&gt;
|-&lt;br /&gt;
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].&lt;br /&gt;
|-&lt;br /&gt;
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].&lt;br /&gt;
|-&lt;br /&gt;
| 20 || GetLibraryAppletSelfAccessor || Returns an [[#ILibraryAppletSelfAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ILibraryAppletSelfAccessor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || PopInData || Returns an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 1 || PushOutData || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 2 || PopInteractiveInData || Returns an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 3 || PushInteractiveOutData || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 5 || GetPopInDataEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 6 || GetPopInteractiveInDataEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 10 || [[#ExitProcessAndReturn]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 11 || [[#GetLibraryAppletInfo]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 12 || GetMainAppletIdentityInfo ||&lt;br /&gt;
|-&lt;br /&gt;
| 13 || CanUseApplicationCore ||&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GetCallerAppletIdentityInfo ||&lt;br /&gt;
|-&lt;br /&gt;
| 15 || [2.0.0+] GetMainAppletApplicationControlProperty ||&lt;br /&gt;
|-&lt;br /&gt;
| 16 || [2.0.0+] GetMainAppletStorageId ||&lt;br /&gt;
|-&lt;br /&gt;
| 17 || [2.0.0+] GetCallerAppletIdentityInfoStack ||&lt;br /&gt;
|-&lt;br /&gt;
| 18 || [4.0.0+] GetNextReturnDestinationAppletIdentityInfo ||&lt;br /&gt;
|-&lt;br /&gt;
| 19 || [4.0.0+] GetDesirableKeyboardLayout ||&lt;br /&gt;
|-&lt;br /&gt;
| 20 || PopExtraStorage || Returns an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 25 || GetPopExtraStorageEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 30 || UnpopInData || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 31 || UnpopExtraStorage || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 40 || [2.0.0+] GetIndirectLayerProducerHandle ||&lt;br /&gt;
|-&lt;br /&gt;
| 50 || [2.0.0+] ReportVisibleError ||&lt;br /&gt;
|-&lt;br /&gt;
| 51 || [4.0.0+] ReportVisibleErrorWithErrorContext ||&lt;br /&gt;
|-&lt;br /&gt;
| 60 || [4.0.0+] [[#GetMainAppletApplicationDesiredLanguage]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 90 || [5.0.0+] CreateApplicationAndPushAndRequestToLaunch ||&lt;br /&gt;
|-&lt;br /&gt;
| 100 || [4.0.0+] CreateGameMovieTrimmer ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== ExitProcessAndReturn ====&lt;br /&gt;
No input/output.&lt;br /&gt;
&lt;br /&gt;
Exits the LibraryApplet and returns to running the title which launched this LibraryApplet ([[qlaunch]] for example).&lt;br /&gt;
&lt;br /&gt;
==== GetLibraryAppletInfo ====&lt;br /&gt;
No input. Returns an u64 LibraryAppletInfo: +0 u32 is [[#AppletId]], +4 u32 is [[#LibraryAppletMode]].&lt;br /&gt;
&lt;br /&gt;
==== GetMainAppletApplicationDesiredLanguage ====&lt;br /&gt;
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].&lt;br /&gt;
&lt;br /&gt;
== IOverlayAppletProxy ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].&lt;br /&gt;
|-&lt;br /&gt;
| 1 || GetSelfController || Returns an [[#ISelfController]].&lt;br /&gt;
|-&lt;br /&gt;
| 2 || GetWindowController || Returns an [[#IWindowController]].&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GetAudioController || Returns an [[#IAudioController]].&lt;br /&gt;
|-&lt;br /&gt;
| 4 || GetDisplayController || Returns an [[#IDisplayController]].&lt;br /&gt;
|-&lt;br /&gt;
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].&lt;br /&gt;
|-&lt;br /&gt;
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].&lt;br /&gt;
|-&lt;br /&gt;
| 20 || GetOverlayFunctions || Returns an [[#IOverlayFunctions]].&lt;br /&gt;
|-&lt;br /&gt;
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IOverlayFunctions ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name&lt;br /&gt;
|-&lt;br /&gt;
| 0 || BeginToWatchShortHomeButtonMessage&lt;br /&gt;
|-&lt;br /&gt;
| 1 || EndToWatchShortHomeButtonMessage&lt;br /&gt;
|-&lt;br /&gt;
| 2 || GetApplicationIdForLogo&lt;br /&gt;
|-&lt;br /&gt;
| 3 || SetGpuTimeSliceBoost&lt;br /&gt;
|-&lt;br /&gt;
| 4 || [2.0.0+] SetAutoSleepTimeAndDimmingTimeEnabled&lt;br /&gt;
|-&lt;br /&gt;
| 5 || [2.0.0+] TerminateApplicationAndSetReason&lt;br /&gt;
|-&lt;br /&gt;
| 6 || [2.0.0+] SetScreenShotPermissionGlobally&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IApplicationProxy ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].&lt;br /&gt;
|-&lt;br /&gt;
| 1 || GetSelfController || Returns an [[#ISelfController]].&lt;br /&gt;
|-&lt;br /&gt;
| 2 || GetWindowController || Returns an [[#IWindowController]].&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GetAudioController || Returns an [[#IAudioController]].&lt;br /&gt;
|-&lt;br /&gt;
| 4 || GetDisplayController || Returns an [[#IDisplayController]].&lt;br /&gt;
|-&lt;br /&gt;
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].&lt;br /&gt;
|-&lt;br /&gt;
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].&lt;br /&gt;
|-&lt;br /&gt;
| 20 || GetApplicationFunctions || Returns an [[#IApplicationFunctions]].&lt;br /&gt;
|-&lt;br /&gt;
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IApplicationFunctions ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 1 || PopLaunchParameter || Returns an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 10 || CreateApplicationAndPushAndRequestToStart || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 11 || [2.0.0+] CreateApplicationAndPushAndRequestToStartForQuest || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 12 || [4.0.0+] CreateApplicationAndRequestToStart || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || [4.0.0+] CreateApplicationAndRequestToStartForQuest || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || EnsureSaveData ||&lt;br /&gt;
|-&lt;br /&gt;
| 21 || [[#GetDesiredLanguage]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 22 || [[#SetTerminateResult]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 23 || GetDisplayVersion ||&lt;br /&gt;
|-&lt;br /&gt;
| 24 || [2.0.0+] GetLaunchStorageInfoForDebug ||&lt;br /&gt;
|-&lt;br /&gt;
| 25 || [2.0.0+] ExtendSaveData ||&lt;br /&gt;
|-&lt;br /&gt;
| 26 || [2.0.0+] GetSaveDataSize ||&lt;br /&gt;
|-&lt;br /&gt;
| 27 || [5.0.0+] CreateCacheStorage ||&lt;br /&gt;
|-&lt;br /&gt;
| 30 || BeginBlockingHomeButtonShortAndLongPressed ||&lt;br /&gt;
|-&lt;br /&gt;
| 31 || EndBlockingHomeButtonShortAndLongPressed ||&lt;br /&gt;
|-&lt;br /&gt;
| 32 || BeginBlockingHomeButton ||&lt;br /&gt;
|-&lt;br /&gt;
| 33 || EndBlockingHomeButton ||&lt;br /&gt;
|-&lt;br /&gt;
| 40 || [[#NotifyRunning]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 50 || [2.0.0+] GetPseudoDeviceId ||&lt;br /&gt;
|-&lt;br /&gt;
| 60 || [2.0.0+] SetMediaPlaybackStateForApplication ||&lt;br /&gt;
|-&lt;br /&gt;
| 65 || [3.0.0+] IsGamePlayRecordingSupported ||&lt;br /&gt;
|-&lt;br /&gt;
| 66 || [3.0.0+] [[#InitializeGamePlayRecording]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 67 || [3.0.0+] [[#SetGamePlayRecordingState]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 68 || [4.0.0+] RequestFlushGamePlayingMovieForDebug || &lt;br /&gt;
|-&lt;br /&gt;
| 70 || [3.0.0+] RequestToShutdown ||&lt;br /&gt;
|-&lt;br /&gt;
| 71 || [3.0.0+] RequestToReboot ||&lt;br /&gt;
|-&lt;br /&gt;
| 80 || [4.0.0+] ExitAndRequestToShowThanksMessage || &lt;br /&gt;
|-&lt;br /&gt;
| 90 || [4.0.0+] EnableApplicationCrashReport || &lt;br /&gt;
|-&lt;br /&gt;
| 100 || [5.0.0+] InitializeApplicationCopyrightFrameBuffer || &lt;br /&gt;
|-&lt;br /&gt;
| 101 || [5.0.0+] SetApplicationCopyrightImage || &lt;br /&gt;
|-&lt;br /&gt;
| 102 || [5.0.0+] SetApplicationCopyrightVisibility || &lt;br /&gt;
|-&lt;br /&gt;
| 110 || [5.0.0+] QueryApplicationPlayStatistics || &lt;br /&gt;
|-&lt;br /&gt;
| 120 || [5.0.0+] ExecuteProgram || &lt;br /&gt;
|-&lt;br /&gt;
| 121 || [5.0.0+] ClearUserChannel || &lt;br /&gt;
|-&lt;br /&gt;
| 122 || [5.0.0+] UnpopToUserChannel || &lt;br /&gt;
|-&lt;br /&gt;
| 500 || [5.0.0+] StartContinuousRecordingFlushForDebug || &lt;br /&gt;
|-&lt;br /&gt;
| 1000 || [5.0.0+] CreateMovieMaker || &lt;br /&gt;
|-&lt;br /&gt;
| 1001 || [5.0.0+] [[#PrepareForJit]] ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The BOTW game uses this GamePlayRecording functionality from the main-nso &amp;quot;nninitStartup&amp;quot; function, with size 0x6000000(96MiB). The official GamePlayRecording-enable code does the following(this will panic on any failure):&lt;br /&gt;
* [[SVC|Creates]] TransferMemory using the input buffer and size, with permissions=0.&lt;br /&gt;
* Uses [[#InitializeGamePlayRecording]] with the TransferMemory.&lt;br /&gt;
* Closes the TransferMemory handle, + TransferMemory cleanup.&lt;br /&gt;
* Uses [[#SetGamePlayRecordingState]] with value 0x1.&lt;br /&gt;
This GamePlayRecording functionality presumably enables the video-recording usable starting with [[4.0.0]].&lt;br /&gt;
&lt;br /&gt;
==== GetDesiredLanguage ====&lt;br /&gt;
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].&lt;br /&gt;
&lt;br /&gt;
==== SetTerminateResult ====&lt;br /&gt;
Takes an input u32 &#039;&#039;&#039;Result&#039;&#039;&#039;, no output.&lt;br /&gt;
&lt;br /&gt;
For example, in some cases official apps use this with [[Error_codes|error]] 0x2A2 then uses svcBreak.&lt;br /&gt;
&lt;br /&gt;
==== NotifyRunning ====&lt;br /&gt;
Takes no input. Returns an output u8, which is ignored by official user-processes.&lt;br /&gt;
&lt;br /&gt;
==== InitializeGamePlayRecording ====&lt;br /&gt;
Takes a TransferMemory handle and an u64 for the size of the TransferMemory.&lt;br /&gt;
&lt;br /&gt;
==== SetGamePlayRecordingState ====&lt;br /&gt;
Takes an input u32.&lt;br /&gt;
&lt;br /&gt;
==== PrepareForJit ====&lt;br /&gt;
Takes no input. Launches title 010000000000003B (currently not present on retail systems) if some context variable is set.&lt;br /&gt;
&lt;br /&gt;
== ILibraryAppletCreator ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || CreateLibraryApplet || Returns an [[#ILibraryAppletAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 1 || TerminateAllLibraryApplets ||&lt;br /&gt;
|-&lt;br /&gt;
| 2 || AreAnyLibraryAppletsLeft ||&lt;br /&gt;
|-&lt;br /&gt;
| 10 || CreateStorage || Returns an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 11 || CreateTransferMemoryStorage || Returns an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 12 || [2.0.0+] CreateHandleStorage || Returns an [[#IStorage]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ILibraryAppletAccessor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetAppletStateChangedEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 1 || IsCompleted ||&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Start ||&lt;br /&gt;
|-&lt;br /&gt;
| 20 || RequestExit ||&lt;br /&gt;
|-&lt;br /&gt;
| 25 || Terminate ||&lt;br /&gt;
|-&lt;br /&gt;
| 30 || GetResult ||&lt;br /&gt;
|-&lt;br /&gt;
| 50 || SetOutOfFocusApplicationSuspendingEnabled ||&lt;br /&gt;
|-&lt;br /&gt;
| 100 || PushInData || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 101 || PopOutData || Returns an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 102 || PushExtraStorage || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 103 || PushInteractiveInData || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 104 || PopInteractiveOutData || Returns an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 105 || GetPopOutDataEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 106 || GetPopInteractiveOutDataEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 110 || NeedsToExitProcess ||&lt;br /&gt;
|-&lt;br /&gt;
| 120 || GetLibraryAppletInfo ||&lt;br /&gt;
|-&lt;br /&gt;
| 150 || RequestForAppletToGetForeground ||&lt;br /&gt;
|-&lt;br /&gt;
| 160 || [2.0.0+] GetIndirectLayerConsumerHandle ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ICommonStateGetter ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || [[#GetEventHandle]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 1 || [[#ReceiveMessage]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 2 || GetThisAppletKind ||&lt;br /&gt;
|-&lt;br /&gt;
| 3 || AllowToEnterSleep ||&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DisallowToEnterSleep ||&lt;br /&gt;
|-&lt;br /&gt;
| 5 || [[#GetOperationMode]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 6 || [[#GetPerformanceMode]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 7 || GetCradleStatus ||&lt;br /&gt;
|-&lt;br /&gt;
| 8 || GetBootMode ||&lt;br /&gt;
|-&lt;br /&gt;
| 9 || [[#GetCurrentFocusState]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 10 || RequestToAcquireSleepLock ||&lt;br /&gt;
|-&lt;br /&gt;
| 11 || ReleaseSleepLock ||&lt;br /&gt;
|-&lt;br /&gt;
| 12 || ReleaseSleepLockTransiently ||&lt;br /&gt;
|-&lt;br /&gt;
| 13 || GetAcquiredSleepLockEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 20 || PushToGeneralChannel || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 30 || GetHomeButtonReaderLockAccessor || Returns an [[#ILockAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 31 || [2.0.0+] GetReaderLockAccessorEx || Returns an [[#ILockAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 40 || [2.0.0+] GetCradleFwVersion ||&lt;br /&gt;
|-&lt;br /&gt;
| 50 || [3.0.0+] IsVrModeEnabled ||&lt;br /&gt;
|-&lt;br /&gt;
| 51 || [3.0.0+] [[#SetVrModeEnabled]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 52 || [4.0.0+] SetLcdBacklighOffEnabled ||&lt;br /&gt;
|-&lt;br /&gt;
| 55 || [3.0.0+] IsInControllerFirmwareUpdateSection ||&lt;br /&gt;
|-&lt;br /&gt;
| 60 || [3.0.0+] GetDefaultDisplayResolution ||&lt;br /&gt;
|-&lt;br /&gt;
| 61 || [3.0.0+] GetDefaultDisplayResolutionChangeEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 62 || [4.0.0+] GetHdcpAuthenticationState || &lt;br /&gt;
|-&lt;br /&gt;
| 63 || [4.0.0+] GetHdcpAuthenticationStateChangeEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 64 || [5.0.0+] SetTvPowerStateMatchingMode ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Officially notification messages are handled by the application itself, not sdk-nso in ExeFS. Official apps call code in sdk-nso which basically uses svcWaitSynchronization with the event from [[#GetEventHandle]] to check whether a message is available, then if so it uses [[#ReceiveMessage]]. The actual handling for message IDs is done in the app itself(see [[#NotificationMessage]]).&lt;br /&gt;
&lt;br /&gt;
=== GetEventHandle ===&lt;br /&gt;
No input. Returns an output event handle. This is signalled when a message is available with [[#ReceiveMessage]].&lt;br /&gt;
&lt;br /&gt;
=== ReceiveMessage ===&lt;br /&gt;
No input. Returns an output u32. Error 0x680 indicates no message is available.&lt;br /&gt;
&lt;br /&gt;
=== GetOperationMode ===&lt;br /&gt;
No input. Returns an output u8 for the current [[#OperationMode]].&lt;br /&gt;
&lt;br /&gt;
=== GetPerformanceMode ===&lt;br /&gt;
No input. Returns an output u32 for the current PerformanceMode.&lt;br /&gt;
&lt;br /&gt;
=== GetCurrentFocusState ===&lt;br /&gt;
No input. Returns an output u8:&lt;br /&gt;
&lt;br /&gt;
* 1: In focus.&lt;br /&gt;
* 2/3: Out of focus(running in &amp;quot;background&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== SetVrModeEnabled ===&lt;br /&gt;
Takes an input u8 bool flag. No output.&lt;br /&gt;
&lt;br /&gt;
Updates internal AM state fields. If the new state doesn&#039;t match the previous state, this uses the [[Backlight_services]] {Disable/Enable}VrMode command depending on whether flag={disable/enable}.&lt;br /&gt;
&lt;br /&gt;
When the VrMode is set to true, the console shows a screen rendered like vr asking the user to move his face away and hit the &#039;close&#039; button. When this button is pressed, the console resets the vrMode to false.&lt;br /&gt;
&lt;br /&gt;
== ISelfController ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name&lt;br /&gt;
|-&lt;br /&gt;
| 0 || [[#Exit]]&lt;br /&gt;
|-&lt;br /&gt;
| 1 || [[#LockExit]]&lt;br /&gt;
|-&lt;br /&gt;
| 2 || [[#UnlockExit]]&lt;br /&gt;
|-&lt;br /&gt;
| 3 || [2.0.0+] [[#EnterFatalSection]]&lt;br /&gt;
|-&lt;br /&gt;
| 4 || [2.0.0+] [[#LeaveFatalSection]]&lt;br /&gt;
|-&lt;br /&gt;
| 9 || GetLibraryAppletLaunchableEvent&lt;br /&gt;
|-&lt;br /&gt;
| 10 || [[#SetScreenShotPermission]]&lt;br /&gt;
|-&lt;br /&gt;
| 11 || [[#SetOperationModeChangedNotification]]&lt;br /&gt;
|-&lt;br /&gt;
| 12 || [[#SetPerformanceModeChangedNotification]]&lt;br /&gt;
|-&lt;br /&gt;
| 13 || [[#SetFocusHandlingMode]]&lt;br /&gt;
|-&lt;br /&gt;
| 14 || SetRestartMessageEnabled&lt;br /&gt;
|-&lt;br /&gt;
| 15 || [2.0.0+] [[#SetScreenShotAppletIdentityInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 16 || [2.0.0+] [[#SetOutOfFocusSuspendingEnabled]]&lt;br /&gt;
|-&lt;br /&gt;
| 17 || [3.0.0+] SetControllerFirmwareUpdateSection&lt;br /&gt;
|-&lt;br /&gt;
| 18 || [3.0.0+] SetRequiresCaptureButtonShortPressedMessage&lt;br /&gt;
|-&lt;br /&gt;
| 19 || [3.0.0+] [[#SetScreenShotImageOrientation]]&lt;br /&gt;
|-&lt;br /&gt;
| 20 || [4.0.0+] SetDesirableKeyboardLayout&lt;br /&gt;
|-&lt;br /&gt;
| 40 || [[#CreateManagedDisplayLayer]]&lt;br /&gt;
|-&lt;br /&gt;
| 41 || [4.0.0+] IsSystemBufferSharingEnabled&lt;br /&gt;
|-&lt;br /&gt;
| 42 || [4.0.0+] GetSystemSharedLayerHandle&lt;br /&gt;
|-&lt;br /&gt;
| 50 || SetHandlesRequestToDisplay&lt;br /&gt;
|-&lt;br /&gt;
| 51 || ApproveToDisplay&lt;br /&gt;
|-&lt;br /&gt;
| 60 || OverrideAutoSleepTimeAndDimmingTime&lt;br /&gt;
|-&lt;br /&gt;
| 61 || SetMediaPlaybackState&lt;br /&gt;
|-&lt;br /&gt;
| 62 || SetIdleTimeDetectionExtension&lt;br /&gt;
|-&lt;br /&gt;
| 63 || GetIdleTimeDetectionExtension&lt;br /&gt;
|-&lt;br /&gt;
| 64 || SetInputDetectionSourceSet&lt;br /&gt;
|-&lt;br /&gt;
| 65 || [2.0.0+] ReportUserIsActive&lt;br /&gt;
|-&lt;br /&gt;
| 66 || [3.0.0+] GetCurrentIlluminance&lt;br /&gt;
|-&lt;br /&gt;
| 67 || [3.0.0+] IsIlluminanceAvailable&lt;br /&gt;
|-&lt;br /&gt;
| 68 || [4.0.0+] SetAutoSleepDisabled&lt;br /&gt;
|-&lt;br /&gt;
| 69 || [4.0.0+] IsAutoSleepDisabled&lt;br /&gt;
|-&lt;br /&gt;
| 70 || [5.0.0+] ReportMultimediaError&lt;br /&gt;
|-&lt;br /&gt;
| 80 || [5.0.0+] SetWirelessPriorityMode&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Exit ===&lt;br /&gt;
No input/output.&lt;br /&gt;
&lt;br /&gt;
=== LockExit ===&lt;br /&gt;
No input/output.&lt;br /&gt;
&lt;br /&gt;
=== UnlockExit ===&lt;br /&gt;
No input/output.&lt;br /&gt;
&lt;br /&gt;
=== EnterFatalSection ===&lt;br /&gt;
No input/output.&lt;br /&gt;
&lt;br /&gt;
=== LeaveFatalSection ===&lt;br /&gt;
No input/output.&lt;br /&gt;
&lt;br /&gt;
=== SetScreenShotPermission ===&lt;br /&gt;
Takes an input s32. No output.&lt;br /&gt;
&lt;br /&gt;
Controls whether screenshot-capture is allowed. 0 = disable, 1 = enable, 2 = unknown.&lt;br /&gt;
&lt;br /&gt;
=== SetOperationModeChangedNotification ===&lt;br /&gt;
Takes an input u8 bool flag. No output.&lt;br /&gt;
&lt;br /&gt;
=== SetPerformanceModeChangedNotification ===&lt;br /&gt;
Takes an input u8 bool flag. No output.&lt;br /&gt;
&lt;br /&gt;
=== SetFocusHandlingMode ===&lt;br /&gt;
Takes 3 input u8s with each field located immediately after the previous u8, these are bool flags. No output.&lt;br /&gt;
&lt;br /&gt;
=== SetScreenShotAppletIdentityInfo ===&lt;br /&gt;
Takes an input 0x10-byte struct AppletIdentityInfo. No output.&lt;br /&gt;
&lt;br /&gt;
=== SetOutOfFocusSuspendingEnabled ===&lt;br /&gt;
Takes an input u8(bool flag). No output.&lt;br /&gt;
&lt;br /&gt;
=== SetScreenShotImageOrientation ===&lt;br /&gt;
Takes an input s32. No output.&lt;br /&gt;
&lt;br /&gt;
=== CreateManagedDisplayLayer ===&lt;br /&gt;
Returns an output u64 LayerId which is then used by the user-process with [[Display_services#OpenLayer]].&lt;br /&gt;
&lt;br /&gt;
== IWindowController ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || CreateWindow || Returns an IWindow object.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || [[#GetAppletResourceUserId]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 10 || [[#AcquireForegroundRights]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 11 || ReleaseForegroundRights ||&lt;br /&gt;
|-&lt;br /&gt;
| 12 || RejectToChangeIntoBackground ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GetAppletResourceUserId ===&lt;br /&gt;
Returns an output u64: [[#AppletResourceUserId]].&lt;br /&gt;
&lt;br /&gt;
=== AcquireForegroundRights ===&lt;br /&gt;
No input/output.&lt;br /&gt;
&lt;br /&gt;
== IAudioController ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name&lt;br /&gt;
|-&lt;br /&gt;
| 0 || SetExpectedMasterVolume&lt;br /&gt;
|-&lt;br /&gt;
| 1 || GetMainAppletExpectedMasterVolume&lt;br /&gt;
|-&lt;br /&gt;
| 2 || GetLibraryAppletExpectedMasterVolume&lt;br /&gt;
|-&lt;br /&gt;
| 3 || ChangeMainAppletMasterVolume&lt;br /&gt;
|-&lt;br /&gt;
| 4 || SetTransparentVolumeRate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IDisplayController ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetLastForegroundCaptureImage&lt;br /&gt;
|-&lt;br /&gt;
| 1 || UpdateLastForegroundCaptureImage&lt;br /&gt;
|-&lt;br /&gt;
| 2 || GetLastApplicationCaptureImage&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GetCallerAppletCaptureImage&lt;br /&gt;
|-&lt;br /&gt;
| 4 || UpdateCallerAppletCaptureImage&lt;br /&gt;
|-&lt;br /&gt;
| 5 || GetLastForegroundCaptureImageEx&lt;br /&gt;
|-&lt;br /&gt;
| 6 || GetLastApplicationCaptureImageEx&lt;br /&gt;
|-&lt;br /&gt;
| 7 || GetCallerAppletCaptureImageEx&lt;br /&gt;
|-&lt;br /&gt;
| 8 || [2.0.0+] TakeScreenShotOfOwnLayer&lt;br /&gt;
|-&lt;br /&gt;
| 9 || [5.0.0+] CopyBetweenCaptureBuffers&lt;br /&gt;
|-&lt;br /&gt;
| 10 || AcquireLastApplicationCaptureBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 11 || ReleaseLastApplicationCaptureBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 12 || AcquireLastForegroundCaptureBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 13 || ReleaseLastForegroundCaptureBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 14 || AcquireCallerAppletCaptureBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 15 || ReleaseCallerAppletCaptureBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 16 || AcquireLastApplicationCaptureBufferEx&lt;br /&gt;
|-&lt;br /&gt;
| 17 || AcquireLastForegroundCaptureBufferEx&lt;br /&gt;
|-&lt;br /&gt;
| 18 || AcquireCallerAppletCaptureBufferEx&lt;br /&gt;
|-&lt;br /&gt;
| 20 || [2.0.0+] ClearCaptureBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 21 || [2.0.0+] ClearAppletTransitionBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 22 || [4.0.0+] AcquireLastApplicationCaptureSharedBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 23 || [4.0.0+] ReleaseLastApplicationCaptureSharedBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 24 || [4.0.0+] AcquireLastForegroundCaptureSharedBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 25 || [4.0.0+] ReleaseLastForegroundCaptureSharedBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 26 || [4.0.0+] AcquireCallerAppletCaptureSharedBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 27 || [4.0.0+] ReleaseCallerAppletCaptureSharedBuffer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ILibraryAppletCreator==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || CreateLibraryApplet || Returns a [[#ILibraryAppletAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 1 || TerminateAllLibraryApplets ||&lt;br /&gt;
|-&lt;br /&gt;
| 2 || AreAnyLibraryAppletsLeft ||&lt;br /&gt;
|-&lt;br /&gt;
| 10 || CreateStorage || Returns an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 11 || CreateTransferMemoryStorage || Returns an [[#|IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 12 || [2.0.0+] CreateHandleStorage || Returns an [[#IStorage]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IProcessWindingController ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || [[#GetLaunchReason]] ||&lt;br /&gt;
|-&lt;br /&gt;
| 11 || OpenCallingLibraryApplet || Returns an [[#ILibraryAppletAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 21 || PushContext || Takes an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 22 || PopContext || Returns an [[#IStorage]].&lt;br /&gt;
|-&lt;br /&gt;
| 23 || CancelWindingReservation ||&lt;br /&gt;
|-&lt;br /&gt;
| 30 || WindAndDoReserved ||&lt;br /&gt;
|-&lt;br /&gt;
| 40 || ReserveToStartAndWaitAndUnwindThis || Returns an [[#ILibraryAppletAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 41 || [4.0.0+] ReserveToStartAndWait ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GetLaunchReason ===&lt;br /&gt;
No input. Returns an u32 AppletProcessLaunchReason.&lt;br /&gt;
&lt;br /&gt;
Used by LibraryApplets.&lt;br /&gt;
&lt;br /&gt;
== IDebugFunctions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || NotifyMessageToHomeMenuForDebug ||&lt;br /&gt;
|-&lt;br /&gt;
| 1 || OpenMainApplication || Returns an [[#IApplicationAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 10 || EmulateButtonEvent ||&lt;br /&gt;
|-&lt;br /&gt;
| 20 || InvalidateTransitionLayer ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IStorage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Open || No input. Returns an [[#IStorageAccessor]].&lt;br /&gt;
|-&lt;br /&gt;
| 1 || OpenTransferStorage || No input. Returns an [[#ITransferStorageAccessor]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Commands which take an IStorage as input use an unknown input u32 for that.&lt;br /&gt;
&lt;br /&gt;
== IStorageAccessor ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetSize || No input. Returns an s64.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Write || Takes an input s64 and a type-0x21 input buffer.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Read || Takes an input s64 and a type-0x22 output buffer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ITransferStorageAccessor ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetSize || No input. Returns an output s64.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || GetHandle || No input. Returns an output u64 and handle.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= appletOE =&lt;br /&gt;
This is &amp;quot;nn::am::service::IApplicationProxyService&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name || Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || [[#OpenApplicationProxy]] || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This seems to be used by all(?) regular-applications, even [[flog]].&lt;br /&gt;
&lt;br /&gt;
== OpenApplicationProxy ==&lt;br /&gt;
Returns an [[#IApplicationProxy]]. See [[#appletAE]].&lt;br /&gt;
&lt;br /&gt;
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID, and a process copy-handle(cur-proc handle alias).&lt;br /&gt;
&lt;br /&gt;
On failure, official user-processes will retry using this command in a loop while the retval is 0x19280, with svcSleepThread(10000000) being called first.&lt;br /&gt;
&lt;br /&gt;
= idle:sys =&lt;br /&gt;
This is &amp;quot;nn::idle::detail::IPolicyManagerSystem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetAutoPowerDownEvent&lt;br /&gt;
|-&lt;br /&gt;
| 1 || [1.0.0-3.0.2]&lt;br /&gt;
|-&lt;br /&gt;
| 2 || [1.0.0-3.0.2]&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= omm =&lt;br /&gt;
This is &amp;quot;nn::omm::detail::IOperationModeManager&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Operation Mode Manager (OMM) is a service responsible for arbitrating the operation changes between docked and handheld modes.&lt;br /&gt;
Besides [[PTM_services]], this is the only service that interacts with the [[Dock]] through [[USB_services|usb:pd*]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetOperationMode&lt;br /&gt;
|-&lt;br /&gt;
| 1 || GetOperationModeChangeEvent&lt;br /&gt;
|-&lt;br /&gt;
| 2 || EnableAudioVisual&lt;br /&gt;
|-&lt;br /&gt;
| 3 || DisableAudioVisual&lt;br /&gt;
|-&lt;br /&gt;
| 4 || EnterSleepAndWait&lt;br /&gt;
|-&lt;br /&gt;
| 5 || GetCradleStatus&lt;br /&gt;
|-&lt;br /&gt;
| 6 || FadeInDisplay&lt;br /&gt;
|-&lt;br /&gt;
| 7 || FadeOutDisplay&lt;br /&gt;
|-&lt;br /&gt;
| 8 || [2.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 9 || [2.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 10 || [3.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 11 || [3.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 12 || [3.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 13 || [3.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 14 || [3.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 15 || [4.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 16 || [4.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 17 || [4.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 18 || [4.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 19 || [4.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 20 || [4.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 21 || [4.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 22 || [4.0.0+]&lt;br /&gt;
|-&lt;br /&gt;
| 23 || [4.0.0+]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= spsm =&lt;br /&gt;
This is &amp;quot;nn::spsm::detail::IPowerStateInterface&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cmd || Name&lt;br /&gt;
|-&lt;br /&gt;
| 0 || GetState&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SleepSystemAndWaitAwake&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || GetNotificationMessageEventHandle&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || &lt;br /&gt;
|-&lt;br /&gt;
| 7 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || AnalyzePerformanceLogForLastSleepWakeSequence&lt;br /&gt;
|-&lt;br /&gt;
| 9 || ChangeHomeButtonLongPressingTime&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || [1.0.0-3.0.2]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Enums =&lt;br /&gt;
=== AppletId ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Title-id&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 010000000000100C&lt;br /&gt;
| &amp;quot;overlayDisp&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 0100000000001000&lt;br /&gt;
| &amp;quot;qlaunch&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 0100000000001012&lt;br /&gt;
| &amp;quot;starter&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A&lt;br /&gt;
| 0100000000001001&lt;br /&gt;
| &amp;quot;auth&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x0B&lt;br /&gt;
| 0100000000001002&lt;br /&gt;
| &amp;quot;cabinet&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 0100000000001003&lt;br /&gt;
| &amp;quot;controller&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x0D&lt;br /&gt;
| 0100000000001004&lt;br /&gt;
| &amp;quot;dataErase&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x0E&lt;br /&gt;
| 0100000000001005&lt;br /&gt;
| &amp;quot;error&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x0F&lt;br /&gt;
| 0100000000001006&lt;br /&gt;
| &amp;quot;netConnect&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0100000000001007&lt;br /&gt;
| &amp;quot;playerSelect&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| 0100000000001008&lt;br /&gt;
| &amp;quot;swkbd&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0100000000001009&lt;br /&gt;
| &amp;quot;miiEdit&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x13&lt;br /&gt;
| 010000000000100A&lt;br /&gt;
| &amp;quot;LibAppletWeb&amp;quot; [[Internet_Browser#010000000000100A|WebApplet]] applet&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 010000000000100B&lt;br /&gt;
| &amp;quot;LibAppletShop&amp;quot; [[Internet_Browser#ShopN|ShopN]] applet&lt;br /&gt;
|-&lt;br /&gt;
| 0x15&lt;br /&gt;
| 010000000000100D&lt;br /&gt;
| &amp;quot;photoViewer&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 010000000000100E&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x17&lt;br /&gt;
| 010000000000100F&lt;br /&gt;
| &amp;quot;LibAppletOff&amp;quot; [[Internet_Browser#Offline_Applet|Offline]] applet&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0100000000001010&lt;br /&gt;
| &amp;quot;LibAppletLns&amp;quot; [[Internet_Browser#Whitelisted_Applets|Whitelisted]] applet&lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| 0100000000001011&lt;br /&gt;
| &amp;quot;LibAppletAuth&amp;quot; [[Internet_Browser#WifiWebAuthApplet|WifiWebAuth]] applet&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0100000000001013&lt;br /&gt;
| &amp;quot;myPage&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== LibraryAppletMode ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| AllForeground&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ShimKind ===&lt;br /&gt;
This is from strings and code in the [[Internet_Browser| web-applets]].&lt;br /&gt;
&lt;br /&gt;
This indicates the type of web-applet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  shimKind value&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| LoginApplet&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ShareApplet&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| WebApplet&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| WifiWebAuthApplet&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| LobbyApplet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== NotificationMessage ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0xF || [[#GetCurrentFocusState|FocusState]] changed&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1E || OperationMode changed&lt;br /&gt;
|-&lt;br /&gt;
| 0x1F || PerformanceMode changed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== OperationMode ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Handheld&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Docked&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= AppletResourceUserId =&lt;br /&gt;
This u64 is officially called &amp;quot;nn::applet::AppletResourceUserId&amp;quot;. Used by a number of non-AM services.&lt;br /&gt;
&lt;br /&gt;
[[Category:Services]]&lt;/div&gt;</summary>
		<author><name>Random0666</name></author>
	</entry>
</feed>