NS services: Difference between revisions

No edit summary
Line 1,361: Line 1,361:


[[NIM_services|NIM]] will use the input addr/port with [[Sockets_services|bind()]].
[[NIM_services|NIM]] will use the input addr/port with [[Sockets_services|bind()]].
This validates the [[#SystemDeliveryInfo]] and generates a [[NCM_services#ContentMetaKey|ContentMetaKey]] from that, and creates the [[#IAsyncResult]] + the async thread which handles the [[#IAsyncResult]] operation. Then the thread does:
* Calls a func which does:
** Uses [[NIM_services|nim]] cmd76, returning the Result on failure.
** Uses [[NIM_services|nim]] cmd77, returning the Result on failure. Waits for the IAsyncResult operation from this to finish, then uses the Get cmd to get the output Result.
** Handles cleanup and returns.
* Unlike [[#RequestReceiveSystemUpdate]], this doesn't save a SystemPlayReport.


== GetSendSystemUpdateProgress ==
== GetSendSystemUpdateProgress ==
Line 1,532: Line 1,539:
[[NIM_services|NIM]] will use the input addr/port with [[Sockets_services|connect()]].
[[NIM_services|NIM]] will use the input addr/port with [[Sockets_services|connect()]].


This validates the [[#SystemDeliveryInfo]] and generates a [[NCM_services#ContentMetaKey|ContentMetaKey]], and creates the [[#IAsyncResult]] + the async thread which handles the [[#IAsyncResult]] operation. Then the thread does:
This validates the [[#SystemDeliveryInfo]] and generates a [[NCM_services#ContentMetaKey|ContentMetaKey]] from that, and creates the [[#IAsyncResult]] + the async thread which handles the [[#IAsyncResult]] operation. Then the thread does:


* Calls a func which does:
* Calls a func which does:
Line 1,753: Line 1,760:
| 0x10 || 0x8 || SystemUpdate meta titleID.
| 0x10 || 0x8 || SystemUpdate meta titleID.
|-
|-
| 0x18 || 0x1 || Copied into state by [[#RequestSendSystemUpdate]].
| 0x18 || 0x1 || firmware_variation, used by [[#RequestSendSystemUpdate]].
|-
|-
| 0x19 || 0x1 || Unknown. Unused by [[#RequestSendSystemUpdate]]/[[#RequestReceiveSystemUpdate]], besides HMAC validation.
| 0x19 || 0x1 || Unknown. Unused by [[#RequestSendSystemUpdate]]/[[#RequestReceiveSystemUpdate]], besides HMAC validation.