Changes

183 bytes added ,  04:26, 27 October 2019
no edit summary
Line 1,553: Line 1,553:  
=== RequestCheckLatestUpdateIncludesRebootlessUpdate ===
 
=== RequestCheckLatestUpdateIncludesRebootlessUpdate ===
 
No input, returns an output Event handle and an [[#IAsyncValue]].
 
No input, returns an output Event handle and an [[#IAsyncValue]].
  −
== BackgroundNetworkUpdateState ==
  −
{| class="wikitable" border="1"
  −
|-
  −
!  Value
  −
!  Description
  −
|-
  −
| 0 || No sysupdate task exists.
  −
|-
  −
| 1 || Sysupdate download in progress.
  −
|-
  −
| 2 || Sysupdate ready, pending install.
  −
|}
  −
  −
This is "nn::ns::BackgroundNetworkUpdateState". This is an u8.
  −
  −
Similar to [[#HasDownloaded]], [[#GetBackgroundNetworkUpdateState]] uses [[NIM_services|nim]] ListSystemUpdateTask and [[NIM_services|nim]] GetSystemUpdateTaskInfo. When ListSystemUpdateTask successfully returns a task and GetSystemUpdateTaskInfo is successful, the output value is set to: <code>1 + *((u8*)(taskinfo+0) == 0x3</code>. Otherwise, value=0.
  −
  −
[[#GetBackgroundNetworkUpdateState]] always returns Result 0, however this will assert if GetSystemUpdateTaskInfo fails with ret!=0x3C89.
  −
  −
== SystemUpdateProgress ==
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0 || 0x8 || s64 Current size. This value can be larger than total_size when the async operation is finishing. When total_size is <=0, this current_size field may contain a progress value for when the total_size is not yet determined.
  −
|-
  −
| 0x8 || 0x8 || s64 Total size, this field is only valid when >0.
  −
|}
  −
  −
This is "nn::ns::SystemUpdateProgress". This is a 0x10-byte struct.
  −
  −
Commands which have this as output will return 0 with the output cleared, when no task is available.
  −
  −
== EulaDataPath ==
  −
This is "nn::ns::detail::EulaDataPath". This is a 0x100-byte struct.
  −
  −
This contains a file path.
  −
  −
== SystemDeliveryInfo ==
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0 || 0x4 || Must be <= to and match [[System_Settings|system-setting]] <code>contents_delivery!system_delivery_protocol_version</code>.
  −
|-
  −
| 0x4 || 0x4 || Loaded from [[System_Settings|system-setting]] <code>contents_delivery!application_delivery_protocol_version</code>. Unused by [[#RequestSendSystemUpdate]]/[[#RequestReceiveSystemUpdate]], besides HMAC validation.
  −
|-
  −
| 0x8 || 0x4 || Whether ExFat is included. Unused by [[#RequestSendSystemUpdate]]/[[#RequestReceiveSystemUpdate]], besides HMAC validation.
  −
|-
  −
| 0xC || 0x4 || SystemUpdate meta version.
  −
|-
  −
| 0x10 || 0x8 || SystemUpdate meta titleID.
  −
|-
  −
| 0x18 || 0x1 || Copied into state by [[#RequestSendSystemUpdate]].
  −
|-
  −
| 0x19 || 0x1 || Unknown. Unused by [[#RequestSendSystemUpdate]]/[[#RequestReceiveSystemUpdate]], besides HMAC validation.
  −
|-
  −
| 0x1A || 0xC6 || Unused by [[#RequestSendSystemUpdate]]/[[#RequestReceiveSystemUpdate]], besides HMAC validation.
  −
|-
  −
| 0xE0 || 0x20 || HMAC-SHA256 over the previous 0xE0-bytes.
  −
|}
  −
  −
This is "nn::ns::SystemDeliveryInfo". This is a 0x100-byte struct.
  −
  −
== LatestSystemUpdate ==
  −
{| class="wikitable" border="1"
  −
|-
  −
!  Value
  −
!  Description
  −
|-
  −
| 1 || Unknown.
  −
|-
  −
| 2 || Unknown.
  −
|-
  −
| Other values || Unknown.
  −
|}
  −
  −
This is "nn::ns::LatestSystemUpdate". This is an u8.
      
= IAsyncValue =
 
= IAsyncValue =
Line 1,763: Line 1,680:  
= NoDownloadRightsErrorResolution =
 
= NoDownloadRightsErrorResolution =
 
This is "nn::ns::NoDownloadRightsErrorResolution".
 
This is "nn::ns::NoDownloadRightsErrorResolution".
 +
 +
= BackgroundNetworkUpdateState =
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Value
 +
!  Description
 +
|-
 +
| 0 || No sysupdate task exists.
 +
|-
 +
| 1 || Sysupdate download in progress.
 +
|-
 +
| 2 || Sysupdate ready, pending install.
 +
|}
 +
 +
This is "nn::ns::BackgroundNetworkUpdateState". This is an u8.
 +
 +
Similar to [[#HasDownloaded]], [[#GetBackgroundNetworkUpdateState]] uses [[NIM_services|nim]] ListSystemUpdateTask and [[NIM_services|nim]] GetSystemUpdateTaskInfo. When ListSystemUpdateTask successfully returns a task and GetSystemUpdateTaskInfo is successful, the output value is set to: <code>1 + *((u8*)(taskinfo+0) == 0x3</code>. Otherwise, value=0.
 +
 +
[[#GetBackgroundNetworkUpdateState]] always returns Result 0, however this will assert if GetSystemUpdateTaskInfo fails with ret!=0x3C89.
 +
 +
= SystemUpdateProgress =
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0 || 0x8 || s64 Current size. This value can be larger than total_size when the async operation is finishing. When total_size is <=0, this current_size field may contain a progress value for when the total_size is not yet determined.
 +
|-
 +
| 0x8 || 0x8 || s64 Total size, this field is only valid when >0.
 +
|}
 +
 +
This is "nn::ns::SystemUpdateProgress". This is a 0x10-byte struct.
 +
 +
Commands which have this as output will return 0 with the output cleared, when no task is available.
 +
 +
= EulaDataPath =
 +
This is "nn::ns::detail::EulaDataPath". This is a 0x100-byte struct.
 +
 +
This contains a file path.
 +
 +
= SystemDeliveryInfo =
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0 || 0x4 || Must be <= to and match [[System_Settings|system-setting]] <code>contents_delivery!system_delivery_protocol_version</code>.
 +
|-
 +
| 0x4 || 0x4 || Loaded from [[System_Settings|system-setting]] <code>contents_delivery!application_delivery_protocol_version</code>. Unused by [[#RequestSendSystemUpdate]]/[[#RequestReceiveSystemUpdate]], besides HMAC validation.
 +
|-
 +
| 0x8 || 0x4 || Whether ExFat is included. Unused by [[#RequestSendSystemUpdate]]/[[#RequestReceiveSystemUpdate]], besides HMAC validation.
 +
|-
 +
| 0xC || 0x4 || SystemUpdate meta version.
 +
|-
 +
| 0x10 || 0x8 || SystemUpdate meta titleID.
 +
|-
 +
| 0x18 || 0x1 || Copied into state by [[#RequestSendSystemUpdate]].
 +
|-
 +
| 0x19 || 0x1 || Unknown. Unused by [[#RequestSendSystemUpdate]]/[[#RequestReceiveSystemUpdate]], besides HMAC validation.
 +
|-
 +
| 0x1A || 0xC6 || Unused by [[#RequestSendSystemUpdate]]/[[#RequestReceiveSystemUpdate]], besides HMAC validation.
 +
|-
 +
| 0xE0 || 0x20 || HMAC-SHA256 over the previous 0xE0-bytes.
 +
|}
 +
 +
This is "nn::ns::SystemDeliveryInfo". This is a 0x100-byte struct.
 +
 +
= ApplicationDeliveryInfo =
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0 || 0x100 || ?
 +
|}
 +
 +
This is "nn::ns::ApplicationDeliveryInfo". This is a 0x100-byte struct.
 +
 +
= LatestSystemUpdate =
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Value
 +
!  Description
 +
|-
 +
| 1 || Unknown.
 +
|-
 +
| 2 || Unknown.
 +
|-
 +
| Other values || Unknown.
 +
|}
 +
 +
This is "nn::ns::LatestSystemUpdate". This is an u8.
    
[[Category:Services]]
 
[[Category:Services]]