Changes

3,267 bytes added ,  23:18, 28 August 2020
add command names for local communication send/receive
Line 76: Line 76:  
| 35 || [2.0.0+] [[#GetApplyDeltaTaskInfo]]
 
| 35 || [2.0.0+] [[#GetApplyDeltaTaskInfo]]
 
|-
 
|-
| 36 || [2.0.0+] ListApplyDeltaTask
+
| 36 || [2.0.0+] ListApplyDeltaTaskContentMeta
 
|-
 
|-
 
| 37 || [2.0.0+] CommitApplyDeltaTask
 
| 37 || [2.0.0+] CommitApplyDeltaTask
Line 84: Line 84:  
| 39 || [2.0.0+] PrepareShutdown
 
| 39 || [2.0.0+] PrepareShutdown
 
|-
 
|-
| 40 || [2.0.0+] ListApplyDeltaTask2
+
| 40 || [2.0.0+] ListApplyDeltaTask
 
|-
 
|-
 
| 41 || [2.0.0+] ClearNotEnoughSpaceStateOfApplyDeltaTask
 
| 41 || [2.0.0+] ClearNotEnoughSpaceStateOfApplyDeltaTask
 
|-
 
|-
| 42 || [3.0.0+]
+
| 42 || [3.0.0+] CreateApplyDeltaTaskFromDownloadTask
 
|-
 
|-
| 43 || [3.0.0+]
+
| 43 || [3.0.0+] GetBackgroundApplyDeltaStressTaskInfo
 
|-
 
|-
| 44 || [3.0.0+]
+
| 44 || [3.0.0+] GetApplyDeltaTaskRequiredStorage
 
|-
 
|-
| 45 || [3.0.0+]
+
| 45 || [3.0.0+] CalculateNetworkInstallTaskContentsSize
 
|-
 
|-
| 46 || [3.0.0+]
+
| 46 || [3.0.0+] PrepareShutdownForSystemUpdate
 
|-
 
|-
| 47 || [4.0.0-9.2.0]
+
| 47 || [4.0.0-9.2.0] FindMaxRequiredApplicationVersionOfTask
 
|-
 
|-
| 48 || [4.0.0+]
+
| 48 || [4.0.0+] CommitNetworkInstallTaskPartially
 
|-
 
|-
| 49 || [4.0.0+]
+
| 49 || [4.0.0+] ListNetworkInstallTaskCommittedContentMeta
 
|-
 
|-
| 50 || [4.0.0+]
+
| 50 || [4.0.0+] ListNetworkInstallTaskNotCommittedContentMeta
 
|-
 
|-
| 51 || [4.0.0+]
+
| 51 || [4.0.0+] FindMaxRequiredSystemVersionOfTask
 
|-
 
|-
| 52 || [4.0.0+]
+
| 52 || [4.0.0+] GetNetworkInstallTaskErrorContext
 
|-
 
|-
| 53 || [4.0.0+]
+
| 53 || [4.0.0+] [[#CreateLocalCommunicationReceiveApplicationTask]]
 
|-
 
|-
| 54 || [4.0.0+]
+
| 54 || [4.0.0+] DestroyLocalCommunicationReceiveApplicationTask
 
|-
 
|-
| 55 || [4.0.0+]
+
| 55 || [4.0.0+] ListLocalCommunicationReceiveApplicationTask
 
|-
 
|-
| 56 || [4.0.0+]
+
| 56 || [4.0.0+] [[#RequestLocalCommunicationReceiveApplicationTaskRun]]
 
|-
 
|-
| 57 || [4.0.0+]
+
| 57 || [4.0.0+] [[#GetLocalCommunicationReceiveApplicationTaskInfo]]
 
|-
 
|-
| 58 || [4.0.0+]
+
| 58 || [4.0.0+] CommitLocalCommunicationReceiveApplicationTask
 
|-
 
|-
| 59 || [4.0.0+]
+
| 59 || [4.0.0+] ListLocalCommunicationReceiveApplicationTaskContentMeta
 
|-
 
|-
| 60 || [4.0.0+]
+
| 60 || [4.0.0+] [[#CreateLocalCommunicationSendApplicationTask]]
 
|-
 
|-
| 61 || [4.0.0+]
+
| 61 || [4.0.0+] [[#RequestLocalCommunicationSendApplicationTaskRun]]
 
|-
 
|-
| 62 || [4.0.0+]
+
| 62 || [4.0.0+] GetLocalCommunicationReceiveApplicationTaskErrorContext
 
|-
 
|-
| 63 || [4.0.0+]
+
| 63 || [4.0.0+] [[#GetLocalCommunicationSendApplicationTaskInfo]]
 
|-
 
|-
| 64 || [4.0.0+]
+
| 64 || [4.0.0+] DestroyLocalCommunicationSendApplicationTask
 
|-
 
|-
| 65 || [4.0.0+]
+
| 65 || [4.0.0+] GetLocalCommunicationSendApplicationTaskErrorContext
 
|-
 
|-
| 66 || [4.0.0+]
+
| 66 || [4.0.0+] CalculateLocalCommunicationReceiveApplicationTaskRequiredSize
 
|-
 
|-
| 67 || [4.0.0+]
+
| 67 || [4.0.0+] [[#ListApplicationLocalCommunicationReceiveApplicationTask]]
 
|-
 
|-
| 68 || [4.0.0+]
+
| 68 || [4.0.0+] [[#ListApplicationLocalCommunicationSendApplicationTask]]
 
|-
 
|-
| 69 || [4.0.0+]
+
| 69 || [4.0.0+] [[#CreateLocalCommunicationReceiveSystemUpdateTask]]
 
|-
 
|-
| 70 || [4.0.0+]
+
| 70 || [4.0.0+] DestroyLocalCommunicationReceiveSystemUpdateTask
 
|-
 
|-
| 71 || [4.0.0+]
+
| 71 || [4.0.0+] [[#ListLocalCommunicationReceiveSystemUpdateTask]]
 
|-
 
|-
| 72 || [4.0.0+]
+
| 72 || [4.0.0+] [[#RequestLocalCommunicationReceiveSystemUpdateTaskRun]]
 
|-
 
|-
| 73 || [4.0.0+]
+
| 73 || [4.0.0+] [[#GetLocalCommunicationReceiveSystemUpdateTaskInfo]]
 
|-
 
|-
| 74 || [4.0.0+]
+
| 74 || [4.0.0+] CommitLocalCommunicationReceiveSystemUpdateTask
 
|-
 
|-
| 75 || [4.0.0+]
+
| 75 || [4.0.0+] GetLocalCommunicationReceiveSystemUpdateTaskErrorContext
 
|-
 
|-
| 76 || [4.0.0+]
+
| 76 || [4.0.0+] [[#CreateLocalCommunicationSendSystemUpdateTask]]
 
|-
 
|-
| 77 || [4.0.0+]
+
| 77 || [4.0.0+] [[#RequestLocalCommunicationSendSystemUpdateTaskRun]]
 
|-
 
|-
| 78 || [4.0.0+]
+
| 78 || [4.0.0+] [[#GetLocalCommunicationSendSystemUpdateTaskInfo]]
 
|-
 
|-
| 79 || [4.0.0+]
+
| 79 || [4.0.0+] DestroyLocalCommunicationSendSystemUpdateTask
 
|-
 
|-
| 80 || [4.0.0+]
+
| 80 || [4.0.0+] GetLocalCommunicationSendSystemUpdateTaskErrorContext
 
|-
 
|-
| 81 || [4.0.0+]
+
| 81 || [4.0.0+] [[#ListLocalCommunicationSendSystemUpdateTask]]
 
|-
 
|-
| 82 || [4.0.0+]
+
| 82 || [4.0.0+] GetReceivedSystemDataPath
 
|-
 
|-
| 83 || [4.0.0+]
+
| 83 || [4.0.0+] CalculateApplyDeltaTaskOccupiedSize
 
|-
 
|-
 
| 84 || [5.0.0+]
 
| 84 || [5.0.0+]
 
|-
 
|-
| 85 || [5.0.0+]
+
| 85 || [5.0.0+] ListNetworkInstallTaskContentMetaFromInstallMeta
 
|-
 
|-
| 86 || [5.0.0+]
+
| 86 || [5.0.0+] ListNetworkInstallTaskOccupiedSize
 
|-
 
|-
 
| 87 || [6.0.0+]
 
| 87 || [6.0.0+]
Line 249: Line 249:  
[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.
   −
[8.0.0+] Cmd76 now takes an additional 0x8-bytes of input.
+
[8.0.0+] [[#CreateLocalCommunicationSendSystemUpdateTask]] now takes an additional 0x8-bytes of input.
    
== CreateSystemUpdateTask ==
 
== CreateSystemUpdateTask ==
Line 284: Line 284:  
Takes an input [[#ApplyDeltaTask]], returns an output [[#ApplyDeltaTaskInfo]].
 
Takes an input [[#ApplyDeltaTask]], returns an output [[#ApplyDeltaTaskInfo]].
   −
== Cmd53 ==
+
== 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 [[#ReceiveApplicationTask]].
   −
This is the ReceiveApplication version of [[#Cmd69]].
+
This is the ReceiveApplication version of [[#CreateLocalCommunicationReceiveSystemUpdateTask]].
    
The wrapper used by official sw passes hard-coded value 0x2 for '''unk'''.
 
The wrapper used by official sw passes hard-coded value 0x2 for '''unk'''.
   −
== Cmd56 ==
+
== RequestLocalCommunicationReceiveApplicationTaskRun ==
 
Takes an input [[#ReceiveApplicationTask]], returns an output Event and an [[#IAsyncResult]].
 
Takes an input [[#ReceiveApplicationTask]], returns an output Event and an [[#IAsyncResult]].
   −
This is the ReceiveApplication version of [[#Cmd72]].
+
This is the ReceiveApplication version of [[#RequestLocalCommunicationReceiveSystemUpdateTaskRun]].
   −
== Cmd57 ==
+
== GetLocalCommunicationReceiveApplicationTaskInfo ==
 
Takes an input [[#ReceiveApplicationTask]], returns an output [[#ReceiveApplicationTaskInfo]].
 
Takes an input [[#ReceiveApplicationTask]], returns an output [[#ReceiveApplicationTaskInfo]].
    
This is the ReceiveApplication version of [[#GetSystemUpdateTaskInfo]].
 
This is the ReceiveApplication version of [[#GetSystemUpdateTaskInfo]].
   −
== Cmd60 ==
+
== 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 [[#SendApplicationTask]].
   −
This is the SendApplication version of [[#Cmd69]].
+
This is the SendApplication version of [[#CreateLocalCommunicationReceiveSystemUpdateTask]].
   −
== Cmd61 ==
+
== RequestLocalCommunicationSendApplicationTaskRun ==
 
Takes an input [[#SendApplicationTask]], returns an output Event and an [[#IAsyncResult]].
 
Takes an input [[#SendApplicationTask]], returns an output Event and an [[#IAsyncResult]].
   −
This is the SendApplicationTask version of [[#Cmd72]].
+
This is the SendApplicationTask version of [[#RequestLocalCommunicationReceiveSystemUpdateTaskRun]].
   −
== Cmd63 ==
+
== GetLocalCommunicationSendApplicationTaskInfo ==
 
Takes an input [[#SendApplicationTask]], returns an output [[#SendApplicationTaskInfo]].
 
Takes an input [[#SendApplicationTask]], returns an output [[#SendApplicationTaskInfo]].
    
This is the SendApplication version of [[#GetSystemUpdateTaskInfo]].
 
This is the SendApplication version of [[#GetSystemUpdateTaskInfo]].
   −
== Cmd67 ==
+
== 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 [[#ReceiveApplicationTask]] and an input u64 <code>nn::ncm::ApplicationId</code>. Returns a s32 for total output entries.
   −
This is the ReceiveApplication version of [[#Cmd71]].
+
This is the ReceiveApplication version of [[#ListLocalCommunicationReceiveSystemUpdateTask]].
   −
== Cmd68 ==
+
== 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 [[#SendApplicationTask]] and an input u64 <code>nn::ncm::ApplicationId</code>. Returns a s32 for total output entries.
   −
This is the SendApplication version of [[#Cmd71]].
+
This is the SendApplication version of [[#ListLocalCommunicationReceiveSystemUpdateTask]].
   −
== Cmd69 ==
+
== 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 [[#ReceiveSystemUpdateTask]].
   Line 354: Line 354:  
* All error handling following successful sockfd creation via socket() will also close the socket, when certain errors occur.
 
* All error handling following successful sockfd creation via socket() will also close the socket, when certain errors occur.
   −
== Cmd71 ==
+
== 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 [[#ReceiveSystemUpdateTask]]. Returns a s32 for total output entries.
    
This is the ReceiveSystemUpdate version of [[#ListSystemUpdateTask]].
 
This is the ReceiveSystemUpdate version of [[#ListSystemUpdateTask]].
   −
== Cmd72 ==
+
== RequestLocalCommunicationReceiveSystemUpdateTaskRun ==
 
Takes an input [[#ReceiveSystemUpdateTask]], returns an output Event and an [[#IAsyncResult]].
 
Takes an input [[#ReceiveSystemUpdateTask]], returns an output Event and an [[#IAsyncResult]].
   Line 366: Line 366:  
This creates the [[#IAsyncResult]] object + the async [[#Contents_Delivery|thread]] which handles the [[#IAsyncResult]] operation, which uses the state previously setup by [[#Cmd69]]. This throws an error if the object was already created.
 
This creates the [[#IAsyncResult]] object + the async [[#Contents_Delivery|thread]] which handles the [[#IAsyncResult]] operation, which uses the state previously setup by [[#Cmd69]]. This throws an error if the object was already created.
   −
== Cmd73 ==
+
== GetLocalCommunicationReceiveSystemUpdateTaskInfo ==
 
Takes an input [[#ReceiveSystemUpdateTask]], returns an output [[#ReceiveSystemUpdateTaskInfo]].
 
Takes an input [[#ReceiveSystemUpdateTask]], returns an output [[#ReceiveSystemUpdateTaskInfo]].
    
This is the ReceiveSystemUpdate version of [[#GetSystemUpdateTaskInfo]].
 
This is the ReceiveSystemUpdate version of [[#GetSystemUpdateTaskInfo]].
   −
== Cmd76 ==
+
== 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 [[#SendSystemUpdateTask]].
   Line 378: Line 378:  
The ContentMetaKey is for the SystemUpdate Meta ([[NCM_services#ContentMetaType|ContentMetaType]] must match SystemUpdate).
 
The ContentMetaKey is for the SystemUpdate Meta ([[NCM_services#ContentMetaType|ContentMetaType]] must match SystemUpdate).
   −
This is the Send version of [[#Cmd69]].
+
This is the Send version of [[#CreateLocalCommunicationReceiveSystemUpdateTask]].
    
This does state setup, does the above ContentMetaType validation, copies ContentMetaKey/firmware_variation into state, and does socket setup.
 
This does state setup, does the above ContentMetaType validation, copies ContentMetaKey/firmware_variation into state, and does socket setup.
Line 395: Line 395:  
* The error handling for bind()/listen() will also close the socket, when certain errors occur.
 
* The error handling for bind()/listen() will also close the socket, when certain errors occur.
   −
== Cmd77 ==
+
== RequestLocalCommunicationSendSystemUpdateTaskRun ==
 
Takes an input [[#SendSystemUpdateTask]], returns an output Event and an [[#IAsyncResult]].
 
Takes an input [[#SendSystemUpdateTask]], returns an output Event and an [[#IAsyncResult]].
   −
This is the Send version of [[#Cmd72]].
+
This is the Send version of [[#RequestLocalCommunicationReceiveSystemUpdateTaskRun]].
   −
This creates the [[#IAsyncResult]] object + the async [[#Contents_Delivery|thread]] which handles the [[#IAsyncResult]] operation, which uses the state previously setup by [[#Cmd76]]. This throws an error if the object was already created.
+
This creates the [[#IAsyncResult]] object + the async [[#Contents_Delivery|thread]] which handles the [[#IAsyncResult]] operation, which uses the state previously setup by [[#CreateLocalCommunicationSendSystemUpdateTask]]. This throws an error if the object was already created.
   −
== Cmd78 ==
+
== GetLocalCommunicationSendSystemUpdateTaskInfo ==
 
Takes an input [[#SendSystemUpdateTask]], returns an output [[#SendSystemUpdateTaskInfo]].
 
Takes an input [[#SendSystemUpdateTask]], returns an output [[#SendSystemUpdateTaskInfo]].
   −
This is the Send version of [[#Cmd73]].
+
This is the Send version of [[#GetLocalCommunicationReceiveSystemUpdateTaskInfo]].
   −
== Cmd81 ==
+
== 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 [[#SendSystemUpdateTask]]. Returns a s32 for total output entries.
   −
This is the Send version of [[#Cmd71]].
+
This is the Send version of [[#ListLocalCommunicationReceiveSystemUpdateTask]].
    
== SystemUpdateTaskId ==
 
== SystemUpdateTaskId ==