NS services: Difference between revisions
Masagrator (talk | contribs) No edit summary |
|||
| (3 intermediate revisions by one other user not shown) | |||
| Line 1,593: | Line 1,593: | ||
This is essentially an async wrapper for [[#GetApplicationControlData]], with support for multiple ApplicationIds. | This is essentially an async wrapper for [[#GetApplicationControlData]], with support for multiple ApplicationIds. | ||
==== Cmd421 ==== | |||
Takes an input TransferMemory handle, a type-0x5 input buffer containing an array of u64 [[NCM_services#ApplicationId|ApplicationIds]], an u8 [[#ApplicationControlSource]], an u64 size, returns an output Event handle and an [[#IAsyncValue]]. | |||
This is essentially the same as [[#ListApplicationTitle|ListApplicationTitle]] except the ApplicationControlSource is used here (ListApplicationTitle ignores it and uses 0xF0 instead). | |||
The TransferMemory size must be at least: count*sizeof(u64) + count*[[NACP#ApplicationTitle|0x300]] + [[#GetApplicationControlData|0x1d000]]. | |||
The async task impl code eventually compares ApplicationControlSource with 0xF0, with a separate code-path being used when it doesn't match (which also handles [[NACP|compression]] when needed). | |||
==== RequestCheckGameCardRegistration ==== | ==== RequestCheckGameCardRegistration ==== | ||
| Line 4,855: | Line 4,864: | ||
| 0x21 || 0x1 || [20.0.0+] ProperProgramExists. Set to whether the bit for ProperProgramExists is set from [[NCM_services|ncm]] IContentMetaDatabase GetAttributes. | | 0x21 || 0x1 || [20.0.0+] ProperProgramExists. Set to whether the bit for ProperProgramExists is set from [[NCM_services|ncm]] IContentMetaDatabase GetAttributes. | ||
|- | |- | ||
| 0x22 || | | 0x22 || 0x1 || [S2] | ||
|- | |||
| 0x23 || 0xBD || Reserved | |||
|- | |- | ||
| 0xE0 || 0x20 || HMAC-SHA256 over the previous 0xE0-bytes. Uses a different key than [[#SystemDeliveryInfo]]. | | 0xE0 || 0x20 || HMAC-SHA256 over the previous 0xE0-bytes. Uses a different key than [[#SystemDeliveryInfo]]. | ||