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