NS services: Difference between revisions

Line 1,175: Line 1,175:
| 8 || ApplyCardUpdate
| 8 || ApplyCardUpdate
|-
|-
| 9 || GetDownloadedEulaDataSize
| 9 || [[#GetDownloadedEulaDataSize]]
|-
|-
| 10 || GetDownloadedEulaData
| 10 || [[#GetDownloadedEulaData]]
|-
|-
| 11 || SetupCardUpdate
| 11 || SetupCardUpdate
Line 1,227: Line 1,227:
* Uses [[NIM_services|nim]] CommitSystemUpdateTask and [[NIM_services|nim]] DestroySystemUpdateTask.
* Uses [[NIM_services|nim]] CommitSystemUpdateTask and [[NIM_services|nim]] DestroySystemUpdateTask.
* Installs FIRM.
* Installs FIRM.
=== GetDownloadedEulaDataSize ===
Takes a type-0x15 input buffer '''path''', returns an output u64 '''filesize'''.
Runs code similar to [[#HasDownloaded]], throwing an error if a network sysupdate isn't ready for install.
Uses ListSystemUpdateTask again. Then [[NIM_services|nim]] GetDownloadedSystemDataPath, with the output ContentPath being used to mount the EULA title with FS.
Then "<mountname>:/<'''path'''>" is opened, gets the '''filesize''', then runs cleanup.
=== GetDownloadedEulaData ===
Takes a type-0x15 input buffer '''path''' and a type-0x6 output buffer, returns an output u64 '''filesize'''.
Similar to [[#GetDownloadedEulaDataSize]] except this reads the file instead, using the specified output buffer with size=filesize. This will throw an error if the filesize is larger than the buffer size.


= IAsyncValue =
= IAsyncValue =