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