Changes

no edit summary
Line 349: Line 349:     
== ListApplicationRecord ==
 
== ListApplicationRecord ==
Takes a type-0x6 output buffer containing an array of the below record and an s32 entry_offset, returns an output s32 out_entrycount.
+
Takes a type-0x6 output buffer containing an array of [[#ApplicationRecord]] and an s32 entry_offset, returns an output s32 out_entrycount.
    
Returns an array of entries with the below format using the specified offset and count.
 
Returns an array of entries with the below format using the specified offset and count.
  −
=== Application Record Format ===
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| [[NCM_services#ApplicationId|ApplicationId]]
  −
|-
  −
| 0x8
  −
| 0x1
  −
| Type? (Known values: 0x2=Installing?, 0x3=Installed / Gamecard inserted, 0x5=Gamecard not inserted, 0xB=Archived)
  −
|-
  −
| 0x9
  −
| 0x1
  −
| Unknown, usually 0x02
  −
|-
  −
| 0xA
  −
| 0x6
  −
| Unknown, usually zeros?
  −
|-
  −
| 0x10
  −
| 0x1
  −
| Unknown, seems to change between reboots and removing/reinserting gamecards
  −
|-
  −
| 0x11
  −
| 0x7
  −
| Unknown, usually zeros?
  −
|}
      
== LaunchApplication ==
 
== LaunchApplication ==
Line 429: Line 397:     
Loads cached [[control.nacp]] to buf+0 and the cached icon to buf+0x4000. Returns an error if the buffer is too small.
 
Loads cached [[control.nacp]] to buf+0 and the cached icon to buf+0x4000. Returns an error if the buffer is too small.
  −
=== ApplicationControlSource ===
  −
{| class="wikitable" border="1"
  −
|-
  −
! Value
  −
! Description
  −
|-
  −
| 0x0
  −
| CacheOnly (Returns data from cache)
  −
|-
  −
| 0x1
  −
| Storage (Returns data from storage if not present in cache)
  −
|-
  −
| 0x2
  −
| StorageOnly (Returns data from storage without using cache)
  −
|}
      
== ListApplicationContentMetaStatus ==
 
== ListApplicationContentMetaStatus ==
Takes a type-0x6 output buffer containing an array of the below entries, an input s32 index and [[NCM_services#ApplicationId|ApplicationId]], returns an output s32 out_entrycount.
+
Takes a type-0x6 output buffer containing an array of [[#ApplicationContentMetaStatus]], an input s32 index and [[NCM_services#ApplicationId|ApplicationId]], returns an output s32 out_entrycount.
    
Returns 0x10-byte entries using the specified [[NCM_services#ApplicationId|ApplicationId]] starting at the specified index. Can only return game titles. The second entry if any is the update-title usually. When the input entryindex is >= totalentries, this will return 0 with out_entrycount=0.
 
Returns 0x10-byte entries using the specified [[NCM_services#ApplicationId|ApplicationId]] starting at the specified index. Can only return game titles. The second entry if any is the update-title usually. When the input entryindex is >= totalentries, this will return 0 with out_entrycount=0.
   −
Entry structure:
+
= ns:am2, ns:ec, ns:rid, ns:rt, ns:web, ns:ro, ns:sweb =
{| class="wikitable" border="1"
+
These are "nn::ns::detail::IServiceGetterInterface".
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x1
  −
| [[NCM_services#ContentMetaType|ContentMetaType]] ("type")
  −
|-
  −
| 0x1
  −
| 0x1
  −
| [[NCM_services#StorageId|StorageId]] ("installedStorage")
  −
|-
  −
| 0x2
  −
| 0x1
  −
| Unknown. Non-zero with output from cmd 605, differs for app/update titles.
  −
|-
  −
| 0x3
  −
| 0x1
  −
| Padding
  −
|-
  −
| 0x4
  −
| 0x4
  −
| Version
  −
|-
  −
| 0x8
  −
| 0x8
  −
| [[NCM_services#ApplicationId|ApplicationId]]
  −
|}
  −
 
  −
= ns:am2, ns:ec, ns:rid, ns:rt, ns:web, ns:ro, ns:sweb =
  −
These are "nn::ns::detail::IServiceGetterInterface".
      
These commands check a state field for a command-specific bit and returns an error if not set, this is likely a permissions check for service+command.
 
These commands check a state field for a command-specific bit and returns an error if not set, this is likely a permissions check for service+command.
Line 3,960: Line 3,880:  
|}
 
|}
   −
= VersionListData =
+
= ApplicationRecord =
This is "nn::ns::VersionListData".
+
This is "nn::ns::ApplicationRecord".
 
  −
= ApplicationUpdateInfo =
  −
This is "nn::ns::ApplicationUpdateInfo". This is an u8.
      
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Value
+
! Offset
 +
! Size
 
! Description
 
! Description
 
|-
 
|-
| 0 || UpToDate
+
| 0x0
 +
| 0x8
 +
| [[NCM_services#ApplicationId|Id]]
 
|-
 
|-
| 1 || Updatable
+
| 0x8
 +
| 0x1
 +
| [[#ApplicationEvent|LastEvent]]
 +
|-
 +
| 0x9
 +
| 0x1
 +
| Attributes
 +
|-
 +
| 0xA
 +
| 0x6
 +
| Reserved
 +
|-
 +
| 0x10
 +
| 0x8
 +
| LastUpdated
 
|}
 
|}
   −
[[qlaunch]] just checks whether this is 0.
+
= ApplicationEvent =
 +
This is "nn::ns::ApplicationEvent".
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Value
 +
! Description
 +
|-
 +
| 0 || Launched
 +
|-
 +
| 1 || LocalInstalled
 +
|-
 +
| 2 || DownloadStarted
 +
|-
 +
| 3 || GameCardInserted
 +
|-
 +
| 4 || Touched
 +
|-
 +
| 5 ||
 +
|-
 +
| 6 ||
 +
|-
 +
| 7 ||
 +
|-
 +
| 8 ||
 +
|-
 +
| 9 ||
 +
|-
 +
| 10 ||
 +
|-
 +
| 11 ||
 +
|-
 +
| 12 ||
 +
|-
 +
| 13 ||
 +
|-
 +
| 14 ||
 +
|-
 +
| 15 ||
 +
|-
 +
| 16 ||
 +
|}
 +
 
 +
= ApplicationControlSource =
 +
This is "nn::ns::ApplicationControlSource".
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Value
 +
! Description
 +
|-
 +
| 0
 +
| CacheOnly
 +
|-
 +
| 1
 +
| Storage
 +
|-
 +
| 2
 +
| StorageOnly
 +
|}
 +
 
 +
= ApplicationContentMetaStatus =
 +
This is "nn::ns::ApplicationContentMetaStatus".
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0
 +
| 0x1
 +
| [[NCM_services#ContentMetaType|Type]]
 +
|-
 +
| 0x1
 +
| 0x1
 +
| [[NCM_services#StorageId|InstalledStorage]]
 +
|-
 +
| 0x2
 +
| 0x1
 +
| [[#ContentMetaRightsCheck|RightsCheck]]
 +
|-
 +
| 0x3
 +
| 0x1
 +
| Reserved
 +
|-
 +
| 0x4
 +
| 0x4
 +
| Version
 +
|-
 +
| 0x8
 +
| 0x8
 +
| [[NCM_services#ApplicationId|Id]]
 +
|}
 +
 
 +
= ContentMetaRightsCheck =
 +
This is "nn::ns::ContentMetaRightsCheck".
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Value
 +
! Description
 +
|-
 +
| 0
 +
| NotChecked
 +
|-
 +
| 1
 +
| NotNeeded
 +
|-
 +
| 2
 +
| CommonRights
 +
|-
 +
| 3
 +
| PersonalizedRights
 +
|-
 +
| 4
 +
| NoRights
 +
|}
 +
 
 +
= VersionListData =
 +
This is "nn::ns::VersionListData".
 +
 
 +
= ApplicationUpdateInfo =
 +
This is "nn::ns::ApplicationUpdateInfo".
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Value
 +
! Description
 +
|-
 +
| 0 || UpToDate
 +
|-
 +
| 1 || Updatable
 +
|}
    
= ApplicationOccupiedSize =
 
= ApplicationOccupiedSize =