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]] |