Changes

no edit summary
Line 1,229: Line 1,229:     
==== SetApplicationCopyrightImage ====
 
==== SetApplicationCopyrightImage ====
Takes a type-0x45 input buffer, an s32 '''x''', an s32 '''y''', an s32 '''width''', an s32 '''height''', an s32 '''WindowOriginMode''', and no output.
+
Takes a type-0x45 input buffer, an s32 '''x''', an s32 '''y''', an s32 '''width''', an s32 '''height''', an s32 [[#WindowOriginMode]], and no output.
 
  −
The last s32 is "nn::oe::WindowOriginMode". This should be at least 1.
      
'''x''' and '''y''' must not have the negative bit set. '''width''' and '''height''' must not be <1.
 
'''x''' and '''y''' must not have the negative bit set. '''width''' and '''height''' must not be <1.
Line 1,650: Line 1,648:     
=== GetPerformanceMode ===
 
=== GetPerformanceMode ===
No input. Returns an output u32 for the current PerformanceMode.
+
No input. Returns an output u32 for the current [[#PerformanceMode]].
    
=== GetCradleStatus ===
 
=== GetCradleStatus ===
Line 1,663: Line 1,661:     
=== GetCurrentFocusState ===
 
=== GetCurrentFocusState ===
No input. Returns an output u8:
+
No input. Returns an output u8 [[#FocusState]].
 
  −
* 1: In focus.
  −
* 2/3: Out of focus(running in "background").
      
=== RequestToAcquireSleepLock ===
 
=== RequestToAcquireSleepLock ===
Line 1,772: Line 1,767:     
=== 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]] and passes it to [[PPC_services#apm:sys|SetCpuBoostMode]].
    
=== CancelCpuBoostMode ===
 
=== CancelCpuBoostMode ===
Line 2,146: Line 2,141:     
=== SetWirelessPriorityMode ===
 
=== SetWirelessPriorityMode ===
Takes an input s32 enum '''WirelessPriorityMode''', no output.
+
Takes an input s32 [[#WirelessPriorityMode]], no output.
 
  −
The input value must be 1 or 2.
      
=== GetAccumulatedSuspendedTickValue ===
 
=== GetAccumulatedSuspendedTickValue ===
Line 2,618: Line 2,611:     
=== SetCpuBoostModeForApplet ===
 
=== SetCpuBoostModeForApplet ===
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]] and passes it to [[PPC_services#apm:sys|SetCpuBoostMode]].
    
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.
Line 2,945: Line 2,938:  
|}
 
|}
   −
= Enums =
+
= AppletId =
=== AppletId ===
+
This is "nn::applet::AppletId". See also [[:Category:Library Applets]].
See also [[:Category:Library Applets]].
      
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Id
+
! Value
 
! ProgramId
 
! ProgramId
 
! Description
 
! Description
 +
|-
 +
| 0x00
 +
|
 +
| None
 
|-
 
|-
 
| 0x01
 
| 0x01
Line 2,961: Line 2,957:  
| 0x02
 
| 0x02
 
| 010000000000100C
 
| 010000000000100C
| overlayDisp (OverlayApplet)
+
| OverlayApplet (overlayDisp)
 
|-
 
|-
 
| 0x03
 
| 0x03
 
| 0100000000001000
 
| 0100000000001000
| qlaunch (SystemAppletMenu)
+
| SystemAppletMenu (qlaunch)
 
|-
 
|-
 
| 0x04
 
| 0x04
 
| 0100000000001012
 
| 0100000000001012
| starter (DummyStarter)
+
| SystemApplication (starter)
 
|-
 
|-
 
| 0x0A
 
| 0x0A
 
| 0100000000001001
 
| 0100000000001001
| [[Auth_Applet|auth (LibraryAppletAuth)]]
+
| [[Auth_Applet|LibraryAppletAuth (auth)]]
 
|-
 
|-
 
| 0x0B
 
| 0x0B
 
| 0100000000001002
 
| 0100000000001002
| [[Cabinet_Applet|cabinet (LibraryAppletCabinet)]]
+
| [[Cabinet_Applet|LibraryAppletCabinet (cabinet)]]
 
|-
 
|-
 
| 0x0C
 
| 0x0C
 
| 0100000000001003
 
| 0100000000001003
| [[Controller_Applet|controller (LibraryAppletController)]]
+
| [[Controller_Applet|LibraryAppletController (controller)]]
 
|-
 
|-
 
| 0x0D
 
| 0x0D
 
| 0100000000001004
 
| 0100000000001004
| dataErase (LibraryAppletDataErase)
+
| LibraryAppletDataErase (dataErase)
 
|-
 
|-
 
| 0x0E
 
| 0x0E
 
| 0100000000001005
 
| 0100000000001005
| [[Error_Applet|error (LibraryAppletError)]]
+
| [[Error_Applet|LibraryAppletError (error)]]
 
|-
 
|-
 
| 0x0F
 
| 0x0F
 
| 0100000000001006
 
| 0100000000001006
| netConnect (LibraryAppletNetConnect)
+
| LibraryAppletNetConnect (netConnect)
 
|-
 
|-
 
| 0x10
 
| 0x10
 
| 0100000000001007
 
| 0100000000001007
| [[Profile_Selector|playerSelect (LibraryAppletPlayerSelect)]]
+
| [[Profile_Selector|LibraryAppletPlayerSelect (playerSelect)]]
 
|-
 
|-
 
| 0x11
 
| 0x11
 
| 0100000000001008
 
| 0100000000001008
| [[Software_Keyboard|swkbd (LibraryAppletSwkbd)]]
+
| [[Software_Keyboard|LibraryAppletSwkbd (swkbd)]]
 
|-
 
|-
 
| 0x12
 
| 0x12
 
| 0100000000001009
 
| 0100000000001009
| [[MiiEdit_Applet|miiEdit (LibraryAppletMiiEdit)]]
+
| [[MiiEdit_Applet|LibraryAppletMiiEdit (miiEdit)]]
 
|-
 
|-
 
| 0x13
 
| 0x13
 
| 010000000000100A
 
| 010000000000100A
| [[Internet_Browser#010000000000100A|web (LibraryAppletWeb)]]
+
| [[Internet_Browser#010000000000100A|LibraryAppletWeb (web)]]
 
|-
 
|-
 
| 0x14
 
| 0x14
 
| 010000000000100B
 
| 010000000000100B
| [[Internet_Browser#ShopN|shop (LibraryAppletShop)]]
+
| [[Internet_Browser#ShopN|LibraryAppletShop (shop)]]
 
|-
 
|-
 
| 0x15
 
| 0x15
 
| 010000000000100D
 
| 010000000000100D
| [[Album_Applet|photoViewer (LibraryAppletPhotoViewer)]]
+
| [[Album_Applet|LibraryAppletPhotoViewer (photoViewer)]]
 
|-
 
|-
 
| 0x16
 
| 0x16
 
| 010000000000100E
 
| 010000000000100E
| set (LibraryAppletSet)
+
| LibraryAppletSet (set)
 
|-
 
|-
 
| 0x17
 
| 0x17
 
| 010000000000100F
 
| 010000000000100F
| [[Internet_Browser#Offline_Applet|offlineWeb (LibraryAppletOfflineWeb)]]
+
| [[Internet_Browser#Offline_Applet|LibraryAppletOfflineWeb (offlineWeb)]]
 
|-
 
|-
 
| 0x18
 
| 0x18
 
| 0100000000001010
 
| 0100000000001010
| [[Internet_Browser#Whitelisted_Applets|loginShare (LibraryAppletLoginShare)]]
+
| [[Internet_Browser#Whitelisted_Applets|LibraryAppletLoginShare (loginShare)]]
 
|-
 
|-
 
| 0x19
 
| 0x19
 
| 0100000000001011
 
| 0100000000001011
| [[Internet_Browser#WifiWebAuthApplet|wifiWebAuth (LibraryAppletWifiWebAuth)]]
+
| [[Internet_Browser#WifiWebAuthApplet|LibraryAppletWifiWebAuth (wifiWebAuth)]]
 
|-
 
|-
 
| 0x1A
 
| 0x1A
 
| 0100000000001013
 
| 0100000000001013
| [[MyPage_Applet|myPage (LibraryAppletMyPage)]]
+
| [[MyPage_Applet|LibraryAppletMyPage (myPage)]]
 
|-
 
|-
 
| 0x1B
 
| 0x1B
 
| 010000000000101A
 
| 010000000000101A
| gift (LibraryAppletGift)
+
| LibraryAppletGift (gift)
 
|-
 
|-
 
| 0x1C
 
| 0x1C
 
| 010000000000101C
 
| 010000000000101C
| userMigration (LibraryAppletUserMigration)
+
| LibraryAppletUserMigration (userMigration)
 
|-
 
|-
 
| 0x1D
 
| 0x1D
 
| 010000000000101D
 
| 010000000000101D
| [9.0.0+] EncounterSys (LibraryAppletPreomiaSys)
+
| [9.0.0+] LibraryAppletPreomiaSys (EncounterSys)
 
|-
 
|-
 
| 0x1E
 
| 0x1E
 
| 0100000000001020
 
| 0100000000001020
| [9.0.0+] story (LibraryAppletStory)
+
| [9.0.0+] LibraryAppletStory (story)
 
|-
 
|-
 
| 0x1F
 
| 0x1F
 
| 010070000E3C0000
 
| 010070000E3C0000
| [9.0.0+] EncounterUsr (LibraryAppletPreomiaUsr)
+
| [9.0.0+] LibraryAppletPreomiaUsr (EncounterUsr)
 
|-
 
|-
 
| 0x20
 
| 0x20
 
| 010086000E49C000
 
| 010086000E49C000
| [9.0.0+] EncounterUsrDummy (LibraryAppletPreomiaUsrDummy)
+
| [9.0.0+] LibraryAppletPreomiaUsrDummy (EncounterUsrDummy)
 
|-
 
|-
 
| 0x21
 
| 0x21
 
| 0100000000001038
 
| 0100000000001038
| [10.0.0+] sample (LibraryAppletSample)
+
| [10.0.0+] LibraryAppletSample (sample)
 +
|-
 +
| 0x3E8
 +
|
 +
| [10.0.0+] DevlopmentTool
 
|-
 
|-
 
| 0x3F1
 
| 0x3F1
 
| 010000000000D619
 
| 010000000000D619
| [10.0.0+]
+
| [10.0.0+] CombinationLA
 
|-
 
|-
 
| 0x3F2
 
| 0x3F2
 
| 010000000000D610
 
| 010000000000D610
| [10.0.0+]
+
| [10.0.0+] AeSystemApplet
 
|-
 
|-
 
| 0x3F3
 
| 0x3F3
 
| 010000000000D611
 
| 010000000000D611
| [10.0.0+]
+
| [10.0.0+] AeOverlayApplet
 
|-
 
|-
 
| 0x3F4
 
| 0x3F4
 
| 010000000000D612
 
| 010000000000D612
| [10.0.0+]
+
| [10.0.0+] AeStarter
 
|-
 
|-
 
| 0x3F5
 
| 0x3F5
 
| 010000000000D613
 
| 010000000000D613
| [10.0.0+]
+
| [10.0.0+] AeLibraryAppletAlone
 
|-
 
|-
 
| 0x3F6
 
| 0x3F6
 
| 010000000000D614
 
| 010000000000D614
| [10.0.0+]
+
| [10.0.0+] AeLibraryApplet1
 
|-
 
|-
 
| 0x3F7
 
| 0x3F7
 
| 010000000000D615
 
| 010000000000D615
| [10.0.0+]
+
| [10.0.0+] AeLibraryApplet2
 
|-
 
|-
 
| 0x3F8
 
| 0x3F8
 
| 010000000000D616
 
| 010000000000D616
| [10.0.0+]
+
| [10.0.0+] AeLibraryApplet3
 
|-
 
|-
 
| 0x3F9
 
| 0x3F9
 
| 010000000000D617
 
| 010000000000D617
| [10.0.0+]
+
| [10.0.0+] AeLibraryApplet4
 
|-
 
|-
 
| 0x3FA
 
| 0x3FA
 
| 010000000000D60A
 
| 010000000000D60A
| [10.0.0+]
+
| [10.0.0+] AppletISA
 
|-
 
|-
 
| 0x3FB
 
| 0x3FB
 
| 010000000000D60B
 
| 010000000000D60B
| [10.0.0+]
+
| [10.0.0+] AppletIOA
 
|-
 
|-
 
| 0x3FC
 
| 0x3FC
 
| 010000000000D60C
 
| 010000000000D60C
| [10.0.0+]
+
| [10.0.0+] AppletISTA
 
|-
 
|-
 
| 0x3FD
 
| 0x3FD
 
| 010000000000D60D
 
| 010000000000D60D
| [10.0.0+]
+
| [10.0.0+] AppletILA1
 
|-
 
|-
 
| 0x3FE
 
| 0x3FE
 
| 010000000000D60E
 
| 010000000000D60E
| [10.0.0+]
+
| [10.0.0+] AppletILA2
 
|}
 
|}
   −
=== LibraryAppletMode ===
+
= LibraryAppletMode =
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! ID
+
! Value
! Description
+
! Description
 
|-
 
|-
 
| 0x0
 
| 0x0
Line 3,144: Line 3,144:  
| 0x4
 
| 0x4
 
| AllForegroundInitiallyHidden. Can be used by [7.0.0+] [[Internet_Browser|WebSession]].
 
| AllForegroundInitiallyHidden. Can be used by [7.0.0+] [[Internet_Browser|WebSession]].
|-
   
|}
 
|}
   −
=== AppletMessage ===
+
= AppletMessage =
 +
This is "nn::am::AppletMessage".
 +
 
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! ID
+
! Value
! Description
+
! Description
 +
|-
 +
| 4 || MessageExitRequest
 
|-
 
|-
| 0x4 || Exit requested
+
| 15 || [[#FocusState|MessageFocusStateChanged]]
 
|-
 
|-
| 0xF || [[#GetCurrentFocusState|FocusState]] changed
+
| 16 || [[#SetRestartMessageEnabled|MessageResume]]
 
|-
 
|-
| 0x10 || Current applet execution was [[#SetRestartMessageEnabled|resumed]].
+
| 30 || [[#OperationMode|MessageOperationModeChanged]]
 
|-
 
|-
| 0x1E || OperationMode changed
+
| 31 || [[#PerformanceMode|MessagePerformanceModeChanged]]
 
|-
 
|-
| 0x1F || PerformanceMode changed
+
| 51 || [[#SetHandlesRequestToDisplay|RequestToDisplay]]. Indicates that [[#ApproveToDisplay]] should be used.
 
|-
 
|-
| 0x33 || [[#SetHandlesRequestToDisplay|RequestToDisplay]]. Indicates that [[#ApproveToDisplay]] should be used.
+
| 90 || Capture button was [[#SetRequiresCaptureButtonShortPressedMessage|short-pressed]].
 
|-
 
|-
| 0x5A || Capture button was [[#SetRequiresCaptureButtonShortPressedMessage|short-pressed]].
+
| 92 || [[#SetAlbumImageTakenNotificationEnabled|MessageAlbumScreenShotTaken]]
 
|-
 
|-
| 0x5C || Screenshot was [[#SetAlbumImageTakenNotificationEnabled|taken]].
+
| 93 || MessageAlbumRecordingSaved
 
|}
 
|}
   −
This is "nn::am::AppletMessage".
+
= OperationMode =
 +
This is "nn::oe::OperationMode".
   −
=== OperationMode ===
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Value
+
! Value
! Description
+
! Description
 
|-
 
|-
 
| 0 || Handheld
 
| 0 || Handheld
 
|-
 
|-
| 1 || Docked
+
| 1 || Console
 
|}
 
|}
   −
=== TvPowerStateMatchingMode ===
+
= PerformanceMode =
 +
This is "nn::oe::PerformanceMode".
 +
 
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Value
+
! Value
! Description
+
! Description
 +
|-
 +
| -1 || Invalid
 
|-
 
|-
| 0 || Unknown
+
| 0 || Normal
 
|-
 
|-
| 1 || Unknown
+
| 1 || Boost
 
|}
 
|}
   −
This is "nn::oe::TvPowerStateMatchingMode". This is used with [[#SetTvPowerStateMatchingMode]].
+
= FocusState =
 +
This is "nn::oe::FocusState".
   −
=== SystemButtonType ===
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Value
+
! Value
! Description
+
! Description
 
|-
 
|-
| 1 || PerformHomeButtonShortPressing
+
| 1 || InFocus
 
|-
 
|-
| 2 || PerformHomeButtonLongPressing
+
| 2 || OutOfFocus
 
|-
 
|-
| 3 || Short-pressing with the Power-button. Only available with [[#PerformSystemButtonPressing]].
+
| 3 || Background
 +
|}
 +
 
 +
= CpuBoostMode =
 +
This is "nn::oe::CpuBoostMode".
 +
 
 +
{| class="wikitable" border="1"
 
|-
 
|-
| 4 || Long-pressing with the Power-button. Only available with [[#PerformSystemButtonPressing]].
+
! Value
 +
! Description
 
|-
 
|-
| 5 || Shutdown the system. Only available with [[#PerformSystemButtonPressing]].
+
| 0 || Normal
|-
  −
| 6 || PerformCaptureButtonShortPressing
   
|-
 
|-
| 7 || PerformCaptureButtonLongPressing
+
| 1 || FastLoad
 
|}
 
|}
   −
This is "nn::am::service::SystemButtonType". This is used with [[#PerformSystemButtonPressingIfInFocus]]/[[#PerformSystemButtonPressing]].
+
= WindowOriginMode =
 +
This is "nn::oe::WindowOriginMode".
   −
=== LaunchParameterKind ===
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Value
+
! Value
! Description
+
! Description
|-
  −
| 1 || UserChannel. Application-specific LaunchParameter.
   
|-
 
|-
| 2 || account PreselectedUser
+
| 0 || LowerLeft
 
|-
 
|-
| 3 || Unknown if used by anything?
+
| 1 || UpperLeft
 
|}
 
|}
   −
=== LibraryAppletExitReason ===
+
= WirelessPriorityMode =
 +
This is "nn::oe::WirelessPriorityMode".
 +
 
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Value
+
! Value
! Description
+
! Description
 
|-
 
|-
| 0 || Normal
+
| 0 || Default
 
|-
 
|-
| 1 || Canceled
+
| 1 || OptimizedForWlan
|-
  −
| 2 || Abnormal
  −
|-
  −
| 10 || Unexpected
   
|}
 
|}
   −
=== ProgramSpecifyKind ===
+
= TvPowerStateMatchingMode =
 +
This is "nn::oe::TvPowerStateMatchingMode". This is used with [[#SetTvPowerStateMatchingMode]].
 +
 
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Value
+
! Value
! Description
+
! Description
 
|-
 
|-
| 0 || u8 ProgramIndex. "ExecuteProgram". [[NS_Services|NS]] handles ProgramIndex by launching ApplicationId+ProgramIndex. After using [[#ExecuteProgram]] with this successfully, official user-processes will enter an infinite loop with sleep-thread value 86400000000000.
+
| 0 || Unknown
|-
  −
| 1 || [[NCM_services#ApplicationId|ApplicationId]]. "JumpToSubApplicationProgramForDevelopment". Only available when [[Settings_services#GetDebugModeFlag|DebugMode]] is 1.
  −
|-
  −
| 2 || u64 = value 0. "RestartProgram"
   
|-
 
|-
 +
| 1 || Unknown
 
|}
 
|}
   −
This is "nn::am::service::ProgramSpecifyKind". This controls the type of the u64 passed to [[#ExecuteProgram]].
+
= SystemButtonType =
 
+
This is "nn::am::service::SystemButtonType". This is used with [[#PerformSystemButtonPressingIfInFocus]]/[[#PerformSystemButtonPressing]].
ProgramIndex values where the title is not installed should not be used: [[qlaunch]] will display an error message and the current title will become "corrupted", however Home Menu will have an option to repair it.
     −
= InputDetectionPolicy =
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Value
+
! Value
! Description
+
! Description
 +
|-
 +
| 1 || PerformHomeButtonShortPressing
 +
|-
 +
| 2 || PerformHomeButtonLongPressing
 +
|-
 +
| 3 || Short-pressing with the Power-button. Only available with [[#PerformSystemButtonPressing]].
 +
|-
 +
| 4 || Long-pressing with the Power-button. Only available with [[#PerformSystemButtonPressing]].
 +
|-
 +
| 5 || Shutdown the system. Only available with [[#PerformSystemButtonPressing]].
 
|-
 
|-
| 0 || Unknown.
+
| 6 || PerformCaptureButtonShortPressing
 
|-
 
|-
| 1 || Unknown.
+
| 7 || PerformCaptureButtonLongPressing
 
|}
 
|}
   −
This is u32 enum "nn::applet::InputDetectionPolicy".
+
= LaunchParameterKind =
 
  −
= AppletResourceUserId =
  −
This u64 is officially called "nn::applet::AppletResourceUserId". Used by a number of non-AM services.
  −
 
  −
= AppletAttribute =
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Offset || Size || Description
+
! Value
 +
! Description
 +
|-
 +
| 1 || UserChannel. Application-specific LaunchParameter.
 
|-
 
|-
| 0x0 || 0x1 || Flag. When non-zero, two state fields are set to 1.
+
| 2 || account PreselectedUser
 
|-
 
|-
| 0x1 || 0x7F || Unused
+
| 3 || Unknown if used by anything?
 
|}
 
|}
   −
This is "nn::am::AppletAttribute". This struct is 0x8-bytes.
+
= LibraryAppletExitReason =
 
+
{| class="wikitable" border="1"
This is used by [[#OpenLibraryAppletProxy]].
+
|-
 
+
! Value
= AppletProcessLaunchReason =
+
! Description
{| class="wikitable" border="1"
+
|-
|-
+
| 0 || Normal
! Offset || Size || Description
+
|-
|-
+
| 1 || Canceled
| 0x0 || 0x1 || Flag. When non-zero, LibraryApplets then use [[#OpenCallingLibraryApplet]].
+
|-
|-
+
| 2 || Abnormal
| 0x1 || 0x2 || Always 0.
+
|-
|-
+
| 10 || Unexpected
| 0x3 || 0x1 || Always 0.
+
|}
|}
+
 
 
+
= ProgramSpecifyKind =
This is "nn::am::service::AppletProcessLaunchReason". This struct is 0x4-bytes.
+
This is "nn::am::service::ProgramSpecifyKind". This controls the type of the u64 passed to [[#ExecuteProgram]].
 
+
 
= LibraryAppletInfo =
+
{| class="wikitable" border="1"
{| class="wikitable" border="1"
+
|-
|-
+
! Value
! Offset || Size || Description
+
! Description
|-
+
|-
| 0x0 || 0x4 || [[#AppletId]]
+
| 0 || u8 ProgramIndex. "ExecuteProgram". [[NS_Services|NS]] handles ProgramIndex by launching ApplicationId+ProgramIndex. After using [[#ExecuteProgram]] with this successfully, official user-processes will enter an infinite loop with sleep-thread value 86400000000000.
|-
+
|-
| 0x4 || 0x4 || [[#LibraryAppletMode]]
+
| 1 || [[NCM_services#ApplicationId|ApplicationId]]. "JumpToSubApplicationProgramForDevelopment". Only available when [[Settings_services#GetDebugModeFlag|DebugMode]] is 1.
|}
+
|-
 
+
| 2 || u64 = value 0. "RestartProgram"
This is "nn::am::service::LibraryAppletInfo". This struct is 0x8-bytes.
+
|}
 
+
 
= AppletKind =
+
ProgramIndex values where the title is not installed should not be used: [[qlaunch]] will display an error message and the current title will become "corrupted", however Home Menu will have an option to repair it.
 +
 
 +
= InputDetectionPolicy =
 +
This is u32 enum "nn::applet::InputDetectionPolicy".
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Value
 +
! Description
 +
|-
 +
| 0 || Unknown
 +
|-
 +
| 1 || Unknown
 +
|}
 +
 
 +
= AppletResourceUserId =
 +
This is "nn::applet::AppletResourceUserId". Used by a number of non-AM services.
 +
 
 +
= AppletAttribute =
 +
This is "nn::am::AppletAttribute". This struct is 0x8-bytes.
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| 0x0 || 0x1 || Flag. When non-zero, two state fields are set to 1.
 +
|-
 +
| 0x1 || 0x7F || Unused
 +
|}
 +
 
 +
This is used by [[#OpenLibraryAppletProxy]].
 +
 
 +
= AppletProcessLaunchReason =
 +
This is "nn::am::service::AppletProcessLaunchReason". This struct is 0x4-bytes.
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| 0x0 || 0x1 || Flag. When non-zero, LibraryApplets then use [[#OpenCallingLibraryApplet]].
 +
|-
 +
| 0x1 || 0x2 || Always 0.
 +
|-
 +
| 0x3 || 0x1 || Always 0.
 +
|}
 +
 
 +
= LibraryAppletInfo =
 +
This is "nn::am::service::LibraryAppletInfo". This struct is 0x8-bytes.
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| 0x0 || 0x4 || [[#AppletId]]
 +
|-
 +
| 0x4 || 0x4 || [[#LibraryAppletMode]]
 +
|}
 +
 
 +
= AppletKind =
 
This is "nn::am::service::AppletKind". This is 8-bytes.
 
This is "nn::am::service::AppletKind". This is 8-bytes.
    
= AppletIdentityInfo =
 
= AppletIdentityInfo =
 +
This struct is "nn::am::service::AppletIdentityInfo". This struct is 0x10-bytes.
 +
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 3,336: Line 3,409:  
|}
 
|}
   −
This struct is "nn::am::service::AppletIdentityInfo". This struct is 0x10-bytes.
+
= ApplicationAttributeForQuest =
 +
This struct is "nn::applet::ApplicationAttributeForQuest".
   −
= ApplicationAttributeForQuest =
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 3,349: Line 3,422:  
| 0x8 || 0x4 || [7.0.0+] See [[#ApplicationAttribute]].
 
| 0x8 || 0x4 || [7.0.0+] See [[#ApplicationAttribute]].
 
|}
 
|}
  −
This struct is "nn::applet::ApplicationAttributeForQuest".
      
User-processes copy the first 0x8-bytes (0xC-bytes with [[#CreateApplicationWithAttributeAndPushAndRequestToStartForQuest]]/[[#CreateApplicationWithAttributeAndRequestToStartForQuest]]) to a [[#ApplicationAttribute]] with the rest of the struct being cleared, which is then passed to the actual cmd (CreateApplication*ToStartForQuest).
 
User-processes copy the first 0x8-bytes (0xC-bytes with [[#CreateApplicationWithAttributeAndPushAndRequestToStartForQuest]]/[[#CreateApplicationWithAttributeAndRequestToStartForQuest]]) to a [[#ApplicationAttribute]] with the rest of the struct being cleared, which is then passed to the actual cmd (CreateApplication*ToStartForQuest).
    
= ApplicationAttribute =
 
= ApplicationAttribute =
 +
This struct is "nn::am::ApplicationAttribute". This struct is 0x20-bytes.
 +
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 3,367: Line 3,440:  
| 0xC || 0x14 || Unused. Default is 0.
 
| 0xC || 0x14 || Unused. Default is 0.
 
|}
 
|}
  −
This struct is "nn::am::ApplicationAttribute". This struct is 0x20-bytes.
      
Internally AM only uses the first 0xC-bytes from ApplicationAttribute, regardless of the cmd.
 
Internally AM only uses the first 0xC-bytes from ApplicationAttribute, regardless of the cmd.
    
= ApplicationLaunchProperty =
 
= ApplicationLaunchProperty =
 +
This struct is 0x10-bytes.
 +
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 3,390: Line 3,463:  
|}
 
|}
   −
This struct is 0x10-bytes.
+
= ApplicationLaunchRequestInfo =
 +
This is "nn::applet::ApplicationLaunchRequestInfo". This struct is 0x10-bytes.
   −
= ApplicationLaunchRequestInfo =
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 3,404: Line 3,477:  
|}
 
|}
   −
This struct is "nn::applet::ApplicationLaunchRequestInfo". This struct is 0x10-bytes.
+
= AppletResourceUsageInfo =
 +
This is "nn::am::service::AppletResourceUsageInfo". This struct is 0x20-bytes.
   −
= AppletResourceUsageInfo =
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 3,419: Line 3,492:  
| 0xC || 0x14 || Always zero.
 
| 0xC || 0x14 || Always zero.
 
|}
 
|}
  −
This struct is "nn::am::service::AppletResourceUsageInfo". This struct is 0x20-bytes.
      
= ApplicationLicenseType =
 
= ApplicationLicenseType =