Line 18: |
Line 18: |
| | 5 || [[#CommitSystemUpdateTask]] | | | 5 || [[#CommitSystemUpdateTask]] |
| |- | | |- |
− | | 6 || CreateNetworkInstallTask | + | | 6 || CreateNetworkInstallTaskDeprecated |
| |- | | |- |
| | 7 || DestroyNetworkInstallTask | | | 7 || DestroyNetworkInstallTask |
Line 172: |
Line 172: |
| | 83 || [4.0.0+] CalculateApplyDeltaTaskOccupiedSize | | | 83 || [4.0.0+] CalculateApplyDeltaTaskOccupiedSize |
| |- | | |- |
− | | 84 || [5.0.0+] | + | | 84 || [5.0.0+] ReloadErrorSimulation |
| |- | | |- |
| | 85 || [5.0.0+] ListNetworkInstallTaskContentMetaFromInstallMeta | | | 85 || [5.0.0+] ListNetworkInstallTaskContentMetaFromInstallMeta |
Line 178: |
Line 178: |
| | 86 || [5.0.0+] ListNetworkInstallTaskOccupiedSize | | | 86 || [5.0.0+] ListNetworkInstallTaskOccupiedSize |
| |- | | |- |
− | | 87 || [6.0.0+] | + | | 87 || [6.0.0+] RequestQueryAvailableELicenses |
| |- | | |- |
− | | 88 || [6.0.0+] | + | | 88 || [6.0.0+] RequestAssignELicenses |
| |- | | |- |
− | | 89 || [6.0.0+] | + | | 89 || [6.0.0+] RequestExtendELicenses |
| |- | | |- |
− | | 90 || [6.0.0+] | + | | 90 || [6.0.0+] RequestSyncELicenses |
| |- | | |- |
| | 91 || [6.0.0-14.1.2] | | | 91 || [6.0.0-14.1.2] |
| |- | | |- |
− | | 92 || [6.0.0+] | + | | 92 || [6.0.0+] RequestQueryRevokeReason |
| |- | | |- |
− | | 93 || [6.0.0+] | + | | 93 || [6.0.0+] RequestReportActiveELicenses |
| |- | | |- |
− | | 94 || [6.0.0+] | + | | 94 || [6.0.0+] RequestReportActiveELicensesPassively |
| |- | | |- |
− | | 95 || [6.0.0+] | + | | 95 || [6.0.0+] RequestRegisterDynamicRightsNotificationToken |
| |- | | |- |
− | | 96 || [6.0.0+] | + | | 96 || [6.0.0+] RequestAssignAllDeviceLinkedELicenses |
| |- | | |- |
− | | 97 || [6.0.0+] | + | | 97 || [6.0.0+] RequestRevokeAllELicenses |
| |- | | |- |
− | | 98 || [6.0.0+] | + | | 98 || [6.0.0+] RequestPrefetchForDynamicRights |
| |- | | |- |
− | | 99 || [7.0.0+] | + | | 99 || [7.0.0+] CreateNetworkInstallTask |
| |- | | |- |
− | | 100 || [9.0.0+] | + | | 100 || [9.0.0+] ListNetworkInstallTaskRightsIds |
| |- | | |- |
− | | 101 || [9.0.0+] | + | | 101 || [9.0.0+] RequestDownloadETickets |
| |- | | |- |
− | | 102 || [9.0.0+] | + | | 102 || [9.0.0+] RequestQueryDownloadableContents |
| |- | | |- |
− | | 103 || [9.0.0+] | + | | 103 || [9.0.0+] DeleteNetworkInstallTaskContentMeta |
| |- | | |- |
− | | 104 || [9.0.0+] | + | | 104 || [9.0.0+] RequestIssueEdgeTokenForDebug |
| |- | | |- |
− | | 105 || [9.0.0+] | + | | 105 || [9.0.0+] RequestQueryAvailableELicenses2 |
| |- | | |- |
− | | 106 || [9.0.0+] | + | | 106 || [9.0.0+] RequestAssignELicenses2 |
| |- | | |- |
− | | 107 || [10.0.0+] | + | | 107 || [10.0.0+] GetNetworkInstallTaskStateCounter |
| |- | | |- |
− | | 108 || [10.0.0+] | + | | 108 || [10.0.0+] InvalidateDynamicRightsNaIdTokenCacheForDebug |
| |- | | |- |
− | | 109 || [10.0.0+] | + | | 109 || [10.0.0+] ListNetworkInstallTaskPartialInstallContentMeta |
| |- | | |- |
− | | 110 || [10.0.0+] | + | | 110 || [10.0.0+] ListNetworkInstallTaskRightsIdsFromIndex |
| |- | | |- |
− | | 111 || [10.0.0+] | + | | 111 || [10.0.0+] AddNetworkInstallTaskContentMetaForUser |
| |- | | |- |
− | | 112 || [10.0.0+] | + | | 112 || [10.0.0+] RequestAssignELicensesAndDownloadETickets |
| |- | | |- |
− | | 113 || [10.0.0+] | + | | 113 || [10.0.0+] RequestQueryAvailableCommonELicenses |
| |- | | |- |
− | | 114 || [10.0.0+] | + | | 114 || [10.0.0+] SetNetworkInstallTaskExtendedAttribute |
| |- | | |- |
− | | 115 || [10.0.0+] | + | | 115 || [10.0.0+] GetNetworkInstallTaskExtendedAttribute |
| |- | | |- |
− | | 116 || [10.0.0+] | + | | 116 || [10.0.0+] GetAllocatorInfo |
| |- | | |- |
− | | 117 || [11.0.0+] | + | | 117 || [11.0.0+] RequestQueryDownloadableContentsByApplicationId |
| |- | | |- |
− | | 118 || [10.0.0+] | + | | 118 || [10.0.0+] MarkNoDownloadRightsErrorResolved |
| |- | | |- |
− | | 119 || [11.0.0+] | + | | 119 || [11.0.0+] GetApplyDeltaTaskAllAppliedContentMeta |
| |- | | |- |
− | | 120 || [11.0.0+] | + | | 120 || [11.0.0+] PrioritizeNetworkInstallTask |
| |- | | |- |
− | | 121 || [10.1.0+] | + | | 121 || [10.1.0+] RequestQueryAvailableCommonELicenses2 |
| |- | | |- |
− | | 122 || [10.1.0+] | + | | 122 || [10.1.0+] RequestAssignCommonELicenses |
| |- | | |- |
− | | 123 || [10.1.0+] | + | | 123 || [10.1.0+] RequestAssignCommonELicenses2 |
| |- | | |- |
− | | 124 || [11.0.0+] | + | | 124 || [11.0.0+] IsNetworkInstallTaskFrontOfQueue |
| |- | | |- |
− | | 125 || [11.0.0+] | + | | 125 || [11.0.0+] PrioritizeApplyDeltaTask |
| |- | | |- |
− | | 126 || [12.0.0+] | + | | 126 || [12.0.0+] RerouteDownloadingPatch |
| |- | | |- |
− | | 127 || [12.0.0+] | + | | 127 || [12.0.0+] UnmarkNoDownloadRightsErrorResolved |
| |- | | |- |
− | | 128 || [12.0.0+] | + | | 128 || [12.0.0+] RequestContentsSize |
| |- | | |- |
− | | 129 || [12.0.0+] | + | | 129 || [12.0.0+] RequestContentsAuthorizationToken |
| |- | | |- |
− | | 130 || [13.0.0+] | + | | 130 || [13.0.0+] RequestCdnVendorDiscovery |
| |- | | |- |
− | | 131 || [13.0.0+] | + | | 131 || [13.0.0+] RefreshDebugAvailability |
| |- | | |- |
− | | 132 || [13.0.0+] | + | | 132 || [13.0.0+] ClearResponseSimulationEntry |
| |- | | |- |
− | | 133 || [13.0.0+] | + | | 133 || [13.0.0+] RegisterResponseSimulationEntry |
| |- | | |- |
− | | 134 || [13.0.0+] | + | | 134 || [13.0.0+] GetProcessedCdnVendors |
| |- | | |- |
− | | 135 || [14.0.0+] | + | | 135 || [14.0.0+] RefreshRuntimeBehaviorsForDebug |
| |- | | |- |
− | | 136 || [14.0.0+] | + | | 136 || [14.0.0+] RequestOnlineSubscriptionFreeTrialAvailability |
| |- | | |- |
− | | 137 || [14.0.0+] | + | | 137 || [14.0.0+] GetNetworkInstallTaskContentMetaCount |
| |- | | |- |
− | | 138 || [15.0.0+] | + | | 138 || [15.0.0+] RequestRevokeELicenses |
| |- | | |- |
− | | 139 || [15.0.0+] | + | | 139 || [15.0.0+] EnableNetworkConnectionToUseApplicationCore |
| |- | | |- |
− | | 140 || [15.0.0+] | + | | 140 || [15.0.0+] DisableNetworkConnectionToUseApplicationCore |
| |- | | |- |
− | | 141 || [15.0.0+] | + | | 141 || [15.0.0+] IsNetworkConnectionEnabledToUseApplicationCore |
| |- | | |- |
− | | 142 || [17.0.0+] | + | | 142 || [17.0.0+] RequestCheckSafeSystemVersion |
| |- | | |- |
− | | 143 || [17.0.0+] | + | | 143 || [17.0.0+] RequestApplicationIcon |
| |- | | |- |
− | | 144 || [17.0.0+] | + | | 144 || [17.0.0+] RequestDownloadIdbeIconFile |
| |- | | |- |
| | 147 || [18.0.0+] | | | 147 || [18.0.0+] |
Line 300: |
Line 300: |
| | 150 || [19.0.0+] | | | 150 || [19.0.0+] |
| |- | | |- |
− | | 3000 || [17.0.0+] | + | | 3000 || [17.0.0+] RequestLatestApplicationIcon |
| |- | | |- |
− | | 3001 || [17.0.0+] | + | | 3001 || [17.0.0+] RequestDownloadIdbeLatestIconFile |
| |} | | |} |
| | | |
| [5.0.0+] RequestGameCardRegistrationStatus/RequestRegisterGameCard removed 8-bytes of input, and now takes an additional type-0x5 input buffer. | | [5.0.0+] RequestGameCardRegistrationStatus/RequestRegisterGameCard removed 8-bytes of input, and now takes an additional type-0x5 input buffer. |
| | | |
− | [12.0.0+] Cmd92 now returns an [[#IAsyncData]] instead of [[#IAsyncValue]]. | + | [12.0.0+] RequestQueryRevokeReason now returns an [[#IAsyncData]] instead of [[#IAsyncValue]]. |
| | | |
| == CreateSystemUpdateTask == | | == CreateSystemUpdateTask == |
Line 332: |
Line 332: |
| | | |
| == GetNetworkInstallTaskInfo == | | == GetNetworkInstallTaskInfo == |
− | Takes an input [[#NetworkInstallTask]], returns an output [[#NetworkInstallTaskInfo]]. | + | Takes an input [[#NetworkInstallTaskId]], returns an output [[#NetworkInstallTaskInfo]]. |
| | | |
| [10.0.0+] This now returns a total of 0x48-bytes of output instead of 0x40-bytes. | | [10.0.0+] This now returns a total of 0x48-bytes of output instead of 0x40-bytes. |
Line 345: |
Line 345: |
| | | |
| == GetApplyDeltaTaskInfo == | | == GetApplyDeltaTaskInfo == |
− | Takes an input [[#ApplyDeltaTask]], returns an output [[#ApplyDeltaTaskInfo]]. | + | Takes an input [[#ApplyDeltaTaskId]], returns an output [[#ApplyDeltaTaskInfo]]. |
| | | |
| == CreateLocalCommunicationReceiveApplicationTask == | | == CreateLocalCommunicationReceiveApplicationTask == |
− | Takes an input [[NCM_services#StorageId|StorageId]], an u16 port, an u32 Ipv4Address, an u32 '''unk''', an u64 <code>nn::ncm::ApplicationId</code>, a type-0x5 input buffer containing an array of [[NCM_services#ContentMetaKey|ContentMetaKey]], returns an output [[#ReceiveApplicationTask]]. | + | Takes an input [[NCM_services#StorageId|StorageId]], an u16 port, an u32 Ipv4Address, an u32 '''unk''', an u64 <code>nn::ncm::ApplicationId</code>, a type-0x5 input buffer containing an array of [[NCM_services#ContentMetaKey|ContentMetaKey]], returns an output [[#LocalCommunicationReceiveApplicationTaskId]]. |
| | | |
| This is the ReceiveApplication version of [[#CreateLocalCommunicationReceiveSystemUpdateTask]]. | | This is the ReceiveApplication version of [[#CreateLocalCommunicationReceiveSystemUpdateTask]]. |
Line 355: |
Line 355: |
| | | |
| == RequestLocalCommunicationReceiveApplicationTaskRun == | | == RequestLocalCommunicationReceiveApplicationTaskRun == |
− | Takes an input [[#ReceiveApplicationTask]], returns an output Event and an [[#IAsyncResult]]. | + | Takes an input [[#LocalCommunicationReceiveApplicationTaskId]], returns an output Event and an [[#IAsyncResult]]. |
| | | |
| This is the ReceiveApplication version of [[#RequestLocalCommunicationReceiveSystemUpdateTaskRun]]. | | This is the ReceiveApplication version of [[#RequestLocalCommunicationReceiveSystemUpdateTaskRun]]. |
| | | |
| == GetLocalCommunicationReceiveApplicationTaskInfo == | | == GetLocalCommunicationReceiveApplicationTaskInfo == |
− | Takes an input [[#ReceiveApplicationTask]], returns an output [[#ReceiveApplicationTaskInfo]]. | + | Takes an input [[#LocalCommunicationReceiveApplicationTaskId]], returns an output [[#LocalCommunicationReceiveApplicationTaskInfo]]. |
| | | |
| This is the ReceiveApplication version of [[#GetSystemUpdateTaskInfo]]. | | This is the ReceiveApplication version of [[#GetSystemUpdateTaskInfo]]. |
| | | |
| == CreateLocalCommunicationSendApplicationTask == | | == CreateLocalCommunicationSendApplicationTask == |
− | Takes an input u16 port, an u32 Ipv4Address, an u64 <code>nn::ncm::ApplicationId</code>, a type-0x5 input buffer containing an array of {unknown}, returns an output [[#SendApplicationTask]]. | + | Takes an input u16 port, an u32 Ipv4Address, an u64 <code>nn::ncm::ApplicationId</code>, a type-0x5 input buffer containing an array of {unknown}, returns an output [[#LocalCommunicationSendApplicationTaskId]]. |
| | | |
| This is the SendApplication version of [[#CreateLocalCommunicationReceiveSystemUpdateTask]]. | | This is the SendApplication version of [[#CreateLocalCommunicationReceiveSystemUpdateTask]]. |
| | | |
| == RequestLocalCommunicationSendApplicationTaskRun == | | == RequestLocalCommunicationSendApplicationTaskRun == |
− | Takes an input [[#SendApplicationTask]], returns an output Event and an [[#IAsyncResult]]. | + | Takes an input [[#LocalCommunicationSendApplicationTaskId]], returns an output Event and an [[#IAsyncResult]]. |
| | | |
| This is the SendApplicationTask version of [[#RequestLocalCommunicationReceiveSystemUpdateTaskRun]]. | | This is the SendApplicationTask version of [[#RequestLocalCommunicationReceiveSystemUpdateTaskRun]]. |
| | | |
| == GetLocalCommunicationSendApplicationTaskInfo == | | == GetLocalCommunicationSendApplicationTaskInfo == |
− | Takes an input [[#SendApplicationTask]], returns an output [[#SendApplicationTaskInfo]]. | + | Takes an input [[#LocalCommunicationSendApplicationTaskId]], returns an output [[#LocalCommunicationSendApplicationTaskInfo]]. |
| | | |
| This is the SendApplication version of [[#GetSystemUpdateTaskInfo]]. | | This is the SendApplication version of [[#GetSystemUpdateTaskInfo]]. |
| | | |
| == ListApplicationLocalCommunicationReceiveApplicationTask == | | == ListApplicationLocalCommunicationReceiveApplicationTask == |
− | Takes a type-0x6 output buffer containing an array of [[#ReceiveApplicationTask]] and an input u64 <code>nn::ncm::ApplicationId</code>. Returns a s32 for total output entries. | + | Takes a type-0x6 output buffer containing an array of [[#LocalCommunicationReceiveApplicationTaskId]] and an input u64 <code>nn::ncm::ApplicationId</code>. Returns a s32 for total output entries. |
| | | |
| This is the ReceiveApplication version of [[#ListLocalCommunicationReceiveSystemUpdateTask]]. | | This is the ReceiveApplication version of [[#ListLocalCommunicationReceiveSystemUpdateTask]]. |
| | | |
| == ListApplicationLocalCommunicationSendApplicationTask == | | == ListApplicationLocalCommunicationSendApplicationTask == |
− | Takes a type-0x6 output buffer containing an array of [[#SendApplicationTask]] and an input u64 <code>nn::ncm::ApplicationId</code>. Returns a s32 for total output entries. | + | Takes a type-0x6 output buffer containing an array of [[#LocalCommunicationSendApplicationTaskId]] and an input u64 <code>nn::ncm::ApplicationId</code>. Returns a s32 for total output entries. |
| | | |
| This is the SendApplication version of [[#ListLocalCommunicationReceiveSystemUpdateTask]]. | | This is the SendApplication version of [[#ListLocalCommunicationReceiveSystemUpdateTask]]. |
| | | |
| == CreateLocalCommunicationReceiveSystemUpdateTask == | | == CreateLocalCommunicationReceiveSystemUpdateTask == |
− | Takes an input u16 port, an u32 Ipv4Address, an u32 firmware_variation, an u32 '''unk''', a [[NCM_services#ContentMetaKey|ContentMetaKey]], returns an output [[#ReceiveSystemUpdateTask]]. | + | Takes an input u16 port, an u32 Ipv4Address, an u32 firmware_variation, an u32 '''unk''', a [[NCM_services#ContentMetaKey|ContentMetaKey]], returns an output [[#LocalCommunicationReceiveSystemUpdateTaskId]]. |
| | | |
| Official sw sets '''unk''' to: <code>unk = stateflag==0 ? 0x4 : 0xC</code>. The port/Ipv4Address params originate from the [[NS_Services#RequestReceiveSystemUpdate|RequestReceiveSystemUpdate]] params. | | Official sw sets '''unk''' to: <code>unk = stateflag==0 ? 0x4 : 0xC</code>. The port/Ipv4Address params originate from the [[NS_Services#RequestReceiveSystemUpdate|RequestReceiveSystemUpdate]] params. |
Line 418: |
Line 418: |
| | | |
| == ListLocalCommunicationReceiveSystemUpdateTask == | | == ListLocalCommunicationReceiveSystemUpdateTask == |
− | Takes a type-0x6 output buffer, for an array of [[#ReceiveSystemUpdateTask]]. Returns a s32 for total output entries. | + | Takes a type-0x6 output buffer, for an array of [[#LocalCommunicationReceiveSystemUpdateTaskId]]. Returns a s32 for total output entries. |
| | | |
| This is the ReceiveSystemUpdate version of [[#ListSystemUpdateTask]]. | | This is the ReceiveSystemUpdate version of [[#ListSystemUpdateTask]]. |
| | | |
| == RequestLocalCommunicationReceiveSystemUpdateTaskRun == | | == RequestLocalCommunicationReceiveSystemUpdateTaskRun == |
− | Takes an input [[#ReceiveSystemUpdateTask]], returns an output Event and an [[#IAsyncResult]]. | + | Takes an input [[#LocalCommunicationReceiveSystemUpdateTaskId]], returns an output Event and an [[#IAsyncResult]]. |
| | | |
| This is the ReceiveSystemUpdate version of RequestSystemUpdateTaskRun. | | This is the ReceiveSystemUpdate version of RequestSystemUpdateTaskRun. |
Line 430: |
Line 430: |
| | | |
| == GetLocalCommunicationReceiveSystemUpdateTaskInfo == | | == GetLocalCommunicationReceiveSystemUpdateTaskInfo == |
− | Takes an input [[#ReceiveSystemUpdateTask]], returns an output [[#ReceiveSystemUpdateTaskInfo]]. | + | Takes an input [[#LocalCommunicationReceiveSystemUpdateTaskId]], returns an output [[#LocalCommunicationReceiveSystemUpdateTaskInfo]]. |
| | | |
| This is the ReceiveSystemUpdate version of [[#GetSystemUpdateTaskInfo]]. | | This is the ReceiveSystemUpdate version of [[#GetSystemUpdateTaskInfo]]. |
| | | |
| == CreateLocalCommunicationSendSystemUpdateTask == | | == CreateLocalCommunicationSendSystemUpdateTask == |
− | Takes an input u16 port, an u32 Ipv4Address, an u32 firmware_variation, and a [[NCM_services#ContentMetaKey|ContentMetaKey]], returns an output [[#SendSystemUpdateTask]]. | + | Takes an input u16 port, an u32 Ipv4Address, an u32 firmware_variation, and a [[NCM_services#ContentMetaKey|ContentMetaKey]], returns an output [[#LocalCommunicationSendSystemUpdateTaskId]]. |
| | | |
| [8.0.0+] This now takes an additional 0x8-bytes of input. | | [8.0.0+] This now takes an additional 0x8-bytes of input. |
Line 461: |
Line 461: |
| | | |
| == RequestLocalCommunicationSendSystemUpdateTaskRun == | | == RequestLocalCommunicationSendSystemUpdateTaskRun == |
− | Takes an input [[#SendSystemUpdateTask]], returns an output Event and an [[#IAsyncResult]]. | + | Takes an input [[#LocalCommunicationSendSystemUpdateTaskId]], returns an output Event and an [[#IAsyncResult]]. |
| | | |
| This is the Send version of [[#RequestLocalCommunicationReceiveSystemUpdateTaskRun]]. | | This is the Send version of [[#RequestLocalCommunicationReceiveSystemUpdateTaskRun]]. |
Line 468: |
Line 468: |
| | | |
| == GetLocalCommunicationSendSystemUpdateTaskInfo == | | == GetLocalCommunicationSendSystemUpdateTaskInfo == |
− | Takes an input [[#SendSystemUpdateTask]], returns an output [[#SendSystemUpdateTaskInfo]]. | + | Takes an input [[#LocalCommunicationSendSystemUpdateTaskId]], returns an output [[#LocalCommunicationSendSystemUpdateTaskInfo]]. |
| | | |
| This is the Send version of [[#GetLocalCommunicationReceiveSystemUpdateTaskInfo]]. | | This is the Send version of [[#GetLocalCommunicationReceiveSystemUpdateTaskInfo]]. |
| | | |
| == ListLocalCommunicationSendSystemUpdateTask == | | == ListLocalCommunicationSendSystemUpdateTask == |
− | Takes a type-0x6 output buffer, for an array of [[#SendSystemUpdateTask]]. Returns a s32 for total output entries. | + | Takes a type-0x6 output buffer, for an array of [[#LocalCommunicationSendSystemUpdateTaskId]]. Returns a s32 for total output entries. |
| | | |
| This is the Send version of [[#ListLocalCommunicationReceiveSystemUpdateTask]]. | | This is the Send version of [[#ListLocalCommunicationReceiveSystemUpdateTask]]. |
− |
| |
− | == SystemUpdateTaskId ==
| |
− | This is an 0x10 byte struct containing an nn::util::Uuid.
| |
− |
| |
− | == SystemUpdateTaskInfo ==
| |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! Offset
| |
− | ! Size
| |
− | ! Description
| |
− | |-
| |
− | | 0x0 || 0x1 || InstallProgressState
| |
− | |-
| |
− | | 0x4 || 0x4 || LastResult
| |
− | |-
| |
− | | 0x8 || 0x8 || InstalledSize
| |
− | |-
| |
− | | 0x10 || 0x8 || TotalSize
| |
− | |-
| |
− | | 0x18 || 0x8 || [[NCM_services#ContentMetaKey|ContentMetaKey]]
| |
− | |-
| |
− | | 0x28 || 0x8 || BytesInstalled
| |
− | |-
| |
− | | 0x30 || 0x8 || ElapsedTimeNs
| |
− | |-
| |
− | | 0x38 || 0x1 || SystemUpdateTaskApplyInfo
| |
− | |}
| |
− |
| |
− | This is a 0x28-byte struct. [3.0.0+] This is a 0x38-byte struct. [5.0.0+] This is a 0x40-byte struct.
| |
− |
| |
− | The first 0x18-bytes are obtained from [[NCM_services#GetProgress]] and the 0x10-bytes at +0x8 are returned by [[NS_Services#GetDownloadProgress]].
| |
− |
| |
− | The two u64s at +0x28/+0x30 are obtained from [[NCM_services#GetThroughput]] and used by [[NS_Services|NS]] to calculate "ThroughputKBps" for a SystemPlayReport.
| |
− |
| |
− | The byte at +0x38 is obtained from [[NCM_services#GetSystemUpdateTaskApplyInfo]].
| |
− |
| |
− | == NetworkInstallTask ==
| |
− | This is a 0x10-byte struct.
| |
− |
| |
− | == NetworkInstallTaskInfo ==
| |
− | This is a 0x28-byte struct. [3.0.0+] This is a 0x40-byte struct.
| |
− |
| |
− | == ApplyDeltaTask ==
| |
− | This is a 0x10-byte struct.
| |
− |
| |
− | == ApplyDeltaTaskInfo ==
| |
− | This is a 0x20-byte struct. [3.0.0+] This is a 0x30-byte struct.
| |
− |
| |
− | == ReceiveSystemUpdateTask ==
| |
− | This is a 0x10-byte struct.
| |
− |
| |
− | == ReceiveSystemUpdateTaskInfo ==
| |
− | This is a 0x38-byte struct.
| |
− |
| |
− | == SendSystemUpdateTask ==
| |
− | This is a 0x10-byte struct.
| |
− |
| |
− | == SendSystemUpdateTaskInfo ==
| |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! Offset
| |
− | ! Size
| |
− | ! Description
| |
− | |-
| |
− | | 0x0 || 0x1 || Status
| |
− | |-
| |
− | | 0x1 || 0x7 || ?
| |
− | |-
| |
− | | 0x8 || 0x10 || [[NS_Services#SystemUpdateProgress|SystemUpdateProgress]]
| |
− | |-
| |
− | | 0x18 || 0x1 || Unknown
| |
− | |-
| |
− | | 0x19 || 0x7 || Padding
| |
− | |}
| |
− |
| |
− | This is a 0x20-byte struct.
| |
− |
| |
− | == ReceiveApplicationTask ==
| |
− | This is a 0x10-byte struct.
| |
− |
| |
− | == ReceiveApplicationTaskInfo ==
| |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! Offset
| |
− | ! Size
| |
− | ! Description
| |
− | |-
| |
− | | 0x0 || 0x1 || Status
| |
− | |-
| |
− | | 0x1 || 0x7 || ?
| |
− | |-
| |
− | | 0x8 || 0x10 || [[NS_Services#ReceiveApplicationProgress|ReceiveApplicationProgress]]
| |
− | |-
| |
− | | 0x18 || 0x20 || Unknown
| |
− | |}
| |
− |
| |
− | This is a 0x38-byte struct.
| |
− |
| |
− | == SendApplicationTask ==
| |
− | This is a 0x10-byte struct.
| |
− |
| |
− | == SendApplicationTaskInfo ==
| |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! Offset
| |
− | ! Size
| |
− | ! Description
| |
− | |-
| |
− | | 0x0 || 0x1 || Status
| |
− | |-
| |
− | | 0x1 || 0x7 || ?
| |
− | |-
| |
− | | 0x8 || 0x10 || [[NS_Services#SendApplicationProgress|SendApplicationProgress]]
| |
− | |-
| |
− | | 0x18 || 0x8 || Unknown
| |
− | |}
| |
− |
| |
− | This is a 0x20-byte struct.
| |
| | | |
| = nim:shp = | | = nim:shp = |
Line 790: |
Line 672: |
| |- | | |- |
| | 5 || [3.0.0+] GetServerTime | | | 5 || [3.0.0+] GetServerTime |
| + | |} |
| + | |
| + | = SystemUpdateTaskId = |
| + | This is "nn::nim::SystemUpdateTaskId". This is an 0x10 byte struct containing an nn::util::Uuid. |
| + | |
| + | = SystemUpdateTaskInfo = |
| + | This is "nn::nim::SystemUpdateTaskInfo". This is a 0x28-byte struct. |
| + | |
| + | [3.0.0+] This is a 0x38-byte struct. |
| + | |
| + | [5.0.0+] This is a 0x40-byte struct. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 || 0x1 || InstallProgressState |
| + | |- |
| + | | 0x4 || 0x4 || LastResult |
| + | |- |
| + | | 0x8 || 0x8 || InstalledSize |
| + | |- |
| + | | 0x10 || 0x8 || TotalSize |
| + | |- |
| + | | 0x18 || 0x8 || [[NCM_services#ContentMetaKey|ContentMetaKey]] |
| + | |- |
| + | | 0x28 || 0x8 || BytesInstalled |
| + | |- |
| + | | 0x30 || 0x8 || ElapsedTimeNs |
| + | |- |
| + | | 0x38 || 0x1 || SystemUpdateTaskApplyInfo |
| + | |} |
| + | |
| + | The first 0x18-bytes are obtained from [[NCM_services#GetProgress]] and the 0x10-bytes at +0x8 are returned by [[NS_Services#GetDownloadProgress]]. |
| + | |
| + | The two u64s at +0x28/+0x30 are obtained from [[NCM_services#GetThroughput]] and used by [[NS_Services|NS]] to calculate "ThroughputKBps" for a SystemPlayReport. |
| + | |
| + | The byte at +0x38 is obtained from [[NCM_services#GetSystemUpdateTaskApplyInfo]]. |
| + | |
| + | = NetworkInstallTaskId = |
| + | This is "nn::nim::NetworkInstallTaskId". This is a 0x10-byte struct. |
| + | |
| + | = NetworkInstallTaskInfo = |
| + | This is "nn::nim::NetworkInstallTaskInfo". This is a 0x28-byte struct. |
| + | |
| + | [3.0.0+] This is a 0x40-byte struct. |
| + | |
| + | = ApplyDeltaTaskId = |
| + | This is "nn::nim::ApplyDeltaTaskId". This is a 0x10-byte struct. |
| + | |
| + | = ApplyDeltaTaskInfo = |
| + | This is "nn::nim::ApplyDeltaTaskInfo". This is a 0x20-byte struct. |
| + | |
| + | [3.0.0+] This is a 0x30-byte struct. |
| + | |
| + | = ReceiveSystemUpdateTask = |
| + | This is "nn::nim::LocalCommunicationReceiveSystemUpdateTaskId". This is a 0x10-byte struct. |
| + | |
| + | = ReceiveSystemUpdateTaskInfo = |
| + | This is "nn::nim::LocalCommunicationReceiveSystemUpdateTaskInfo". This is a 0x38-byte struct. |
| + | |
| + | = SendSystemUpdateTask = |
| + | This is "nn::nim::LocalCommunicationSendSystemUpdateTaskId". This is a 0x10-byte struct. |
| + | |
| + | = SendSystemUpdateTaskInfo = |
| + | This is "nn::nim::LocalCommunicationSendSystemUpdateTaskInfo". This is a 0x20-byte struct. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 || 0x1 || Status |
| + | |- |
| + | | 0x1 || 0x7 || ? |
| + | |- |
| + | | 0x8 || 0x10 || [[NS_Services#SystemUpdateProgress|SystemUpdateProgress]] |
| + | |- |
| + | | 0x18 || 0x1 || Unknown |
| + | |- |
| + | | 0x19 || 0x7 || Padding |
| + | |} |
| + | |
| + | = LocalCommunicationReceiveApplicationTaskId = |
| + | This is "nn::nim::LocalCommunicationReceiveApplicationTaskId". This is a 0x10-byte struct. |
| + | |
| + | = LocalCommunicationReceiveApplicationTaskInfo = |
| + | This is "nn::nim::LocalCommunicationReceiveApplicationTaskInfo". This is a 0x38-byte struct. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 || 0x1 || Status |
| + | |- |
| + | | 0x1 || 0x7 || ? |
| + | |- |
| + | | 0x8 || 0x10 || [[NS_Services#ReceiveApplicationProgress|ReceiveApplicationProgress]] |
| + | |- |
| + | | 0x18 || 0x20 || Unknown |
| + | |} |
| + | |
| + | = LocalCommunicationSendApplicationTaskId = |
| + | This is "nn::nim::LocalCommunicationSendApplicationTaskId". This is a 0x10-byte struct. |
| + | |
| + | = LocalCommunicationSendApplicationTaskInfo = |
| + | This is "nn::nim::LocalCommunicationSendApplicationTaskInfo". This is a 0x20-byte struct. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 || 0x1 || Status |
| + | |- |
| + | | 0x1 || 0x7 || ? |
| + | |- |
| + | | 0x8 || 0x10 || [[NS_Services#SendApplicationProgress|SendApplicationProgress]] |
| + | |- |
| + | | 0x18 || 0x8 || Unknown |
| |} | | |} |
| | | |
Line 947: |
Line 955: |
| | 0x1 || [[NCM_services#ContentMetaKey|ContentMetaKey]] || [[CNMT#Content_Records|PackagedContentInfo]] || Gets the PackagedContentInfo with type==Meta for the specified ContentMetaKey. The SystemUpdate client uses the ContentMetaKey from [[#CreateLocalCommunicationReceiveSystemUpdateTask]]. | | | 0x1 || [[NCM_services#ContentMetaKey|ContentMetaKey]] || [[CNMT#Content_Records|PackagedContentInfo]] || Gets the PackagedContentInfo with type==Meta for the specified ContentMetaKey. The SystemUpdate client uses the ContentMetaKey from [[#CreateLocalCommunicationReceiveSystemUpdateTask]]. |
| |- | | |- |
− | | 0x2 || 0x18-bytes: [[NCM_services#ContentId|ContentId]], u8 flag, u8 pad[7]. When flag is 0, during the transfer [[#SendSystemUpdateTaskInfo]] [[NS_Services#SystemUpdateProgress|SystemUpdateProgress]] current_size is increased using the size of the current chunk. Once the transfer is finished, the end result is that it would be increased by the total content-size. The only time the nim client sets this flag to 1 with SystemUpdate is with the SystemUpdate Meta content. || Size from [[NCM_services#GetSizeFromContentId|GetSizeFromContentId]] with data from [[NCM_services#ReadContentIdFile|ReadContentIdFile]]. || Gets the entire content data for the specified ContentId. The client uses each received chunk of data during the transfer with [[NCM_services|WritePlaceHolder]]. | + | | 0x2 || 0x18-bytes: [[NCM_services#ContentId|ContentId]], u8 flag, u8 pad[7]. When flag is 0, during the transfer [[#LocalCommunicationSendSystemUpdateTaskInfo]] [[NS_Services#SystemUpdateProgress|SystemUpdateProgress]] current_size is increased using the size of the current chunk. Once the transfer is finished, the end result is that it would be increased by the total content-size. The only time the nim client sets this flag to 1 with SystemUpdate is with the SystemUpdate Meta content. || Size from [[NCM_services#GetSizeFromContentId|GetSizeFromContentId]] with data from [[NCM_services#ReadContentIdFile|ReadContentIdFile]]. || Gets the entire content data for the specified ContentId. The client uses each received chunk of data during the transfer with [[NCM_services|WritePlaceHolder]]. |
| |- | | |- |
| | 0x3 || 0x10-byte input for [[ETicket_services|es]] GetCommonTicketAndCertificateSize/GetCommonTicketAndCertificateData. || 0x8-bytes: two size u32s. Then two blocks of data with the sizes specified by the u32s. The server loads the sizes and data from [[ETicket_services|es]] GetCommonTicketAndCertificateSize/GetCommonTicketAndCertificateData. || The two blocks of data are used as the buffers for [[ETicket_services|es]] ImportTicket by the client. This is used for transferring the specified Application Patch CommonTicket. | | | 0x3 || 0x10-byte input for [[ETicket_services|es]] GetCommonTicketAndCertificateSize/GetCommonTicketAndCertificateData. || 0x8-bytes: two size u32s. Then two blocks of data with the sizes specified by the u32s. The server loads the sizes and data from [[ETicket_services|es]] GetCommonTicketAndCertificateSize/GetCommonTicketAndCertificateData. || The two blocks of data are used as the buffers for [[ETicket_services|es]] ImportTicket by the client. This is used for transferring the specified Application Patch CommonTicket. |
| |- | | |- |
− | | 0x4 || s64 total_size || 0x0 || The input data is copied into the server state, for [[#SendSystemUpdateTaskInfo]] [[NS_Services#SystemUpdateProgress|SystemUpdateProgress]] total_size. | + | | 0x4 || s64 total_size || 0x0 || The input data is copied into the server state, for [[#LocalCommunicationSendSystemUpdateTaskInfo]] [[NS_Services#SystemUpdateProgress|SystemUpdateProgress]] total_size. |
| |} | | |} |
| | | |
| [[Category:Services]] | | [[Category:Services]] |