Changes

Jump to navigation Jump to search
! Cmd || Name
|-
| 100 || [[#GetHighestAvailableVersion]]
|-
| 101 || [[#GetHighestRequiredVersion]]
|-
| 102 || [[#GetVersionListEntry]]
|-
| 103 || No input, returns an [[#IVersionListImporterGetVersionListImporter]].
|-
| 200 || [[#GetLaunchRequiredVersion]]
|-
| 202 || [[#UpgradeLaunchRequiredVersion]]
|-
| 1000 || [[#PushLaunchVersion]]
|-
| 1001 || [[#ListVersionList]]
|-
| 1002 || [[#ListRequiredVersion]]
|}
 
=== GetHighestAvailableVersion ===
Takes two u64 title ids. Returns the highest available version of both.
 
Unused by official software.
 
=== GetHighestRequiredVersion ===
Takes two u64 title ids. Returns the highest available version of both.
 
Official software calls this with the id of an application and its update.
 
=== GetVersionListEntry ===
Takes an input u64 title id. Returns associated [[#VersionListEntry]].
 
=== GetVersionListImporter ===
No input, returns an [[#IVersionListImporter]].
 
=== GetLaunchRequiredVersion ===
Takes an input u64 title id. Return the required launch version.
 
=== UpgradeLaunchRequiredVersion ===
Takes a u32 launch version and a u64 title id.
 
Version has to be greater the result of GetLaunchRequiredVersion.
 
=== PushLaunchVersion ===
Takes a u32 launch version and a u64 title id.
 
=== ListVersionList ===
No input, returns a type 6 buffer of [[#VersionListEntry]] and a u32 count.
 
=== ListRequiredVersion ===
No input, returns a type 6 buffer of [[#RequiredVersionEntry]] and a u32 count.
== IVersionListImporter ==
! Cmd || Name
|-
| 0 || [[#SetTimestamp]]|-| 1 || [[#PushEntries]]|-| 2 || [[#Flush]]|} === SetTimestamp ===Takes an input u64 unix timestamp, no output. === PushEntries ===Takes an input type-6 buffer [[#VersionListEntry]], no output. === Flush ===No input, no output. Flushed the commited data to its safe. = VersionListEntry =This is a 0x10-byte struct. {| class="wikitable" border="1"|-! Offset! Size! Description|-| 0x0 || 0x8 || Update Id.|-| 0x8 || 0x4 || Available version.|-| 0xC || 0x4 || Required version.|} = RequiredVersionEntry =This is a 0x10-byte struct. {| class="wikitable" border="1"|-! Offset! Size! Description|-| 0x0 || 0x8 || Id.
|-
| 1 0x8 || PushEntries0x4 || Required version.
|-
| 2 0xC || Flush0x4 || Padding.
|}
70

edits

Navigation menu