Changes

3,208 bytes added ,  Tuesday at 22:19
no edit summary
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]]