NIM services: Difference between revisions

Line 253: Line 253:
== GetApplyDeltaTaskInfo ==
== GetApplyDeltaTaskInfo ==
Takes an input [[#ApplyDeltaTask]], returns an output [[#ApplyDeltaTaskInfo]].
Takes an input [[#ApplyDeltaTask]], returns an output [[#ApplyDeltaTaskInfo]].
== Cmd57 ==
Takes an input [[#ReceiveApplicationTask]], returns an output [[#ReceiveApplicationTaskInfo]].
This is the ReceiveApplication version of [[#GetSystemUpdateTaskInfo]].
== Cmd63 ==
Takes an input [[#SendApplicationTask]], returns an output [[#SendApplicationTaskInfo]].
This is the SendApplication version of [[#GetSystemUpdateTaskInfo]].
== Cmd67 ==
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]].
== Cmd68 ==
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]].


== Cmd69 ==
== Cmd69 ==
Line 259: Line 279:
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.


This is the Receive version of [[#CreateSystemUpdateTask]].
This is the ReceiveSystemUpdate version of [[#CreateSystemUpdateTask]].


The ContentMetaKey is for the SystemUpdate Meta.
The ContentMetaKey is for the SystemUpdate Meta.
Line 285: Line 305:
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 Receive version of [[#ListSystemUpdateTask]].
This is the ReceiveSystemUpdate version of [[#ListSystemUpdateTask]].


== Cmd72 ==
== Cmd72 ==
Takes an input [[#ReceiveSystemUpdateTask]], returns an output Event and an [[#IAsyncResult]].
Takes an input [[#ReceiveSystemUpdateTask]], returns an output Event and an [[#IAsyncResult]].


This is the Receive version of RequestSystemUpdateTaskRun.
This is the ReceiveSystemUpdate version of RequestSystemUpdateTaskRun.


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.
Line 297: Line 317:
Takes an input [[#ReceiveSystemUpdateTask]], returns an output [[#ReceiveSystemUpdateTaskInfo]].
Takes an input [[#ReceiveSystemUpdateTask]], returns an output [[#ReceiveSystemUpdateTaskInfo]].


This is the Receive version of [[#GetSystemUpdateTaskInfo]].
This is the ReceiveSystemUpdate version of [[#GetSystemUpdateTaskInfo]].


== Cmd76 ==
== Cmd76 ==
Line 336: Line 356:


== Cmd81 ==
== Cmd81 ==
Takes a type-0x6 output buffer, for an array of [[#SystemUpdateTask]]. 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 [[#Cmd71]].
Line 414: Line 434:
|-
|-
| 0x19 || 0x7 || Padding
| 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
|}
|}