NS services: Difference between revisions
Masagrator (talk | contribs) No edit summary |
|||
| (6 intermediate revisions by 3 users not shown) | |||
| Line 359: | Line 359: | ||
== GetApplicationContentPath == | == GetApplicationContentPath == | ||
Takes a 0x16-type output buffer, an u8 [[NCM_services# | Takes a 0x16-type output buffer, an u8 [[NCM_services#ContentType|ContentType]], and an [[NCM_services#ApplicationId|ApplicationId]]. | ||
The input [[NCM_services#ApplicationId|ApplicationId]] is used with the application-title table like various other cmds, anything not in that table can't be used with this. | The input [[NCM_services#ApplicationId|ApplicationId]] is used with the application-title table like various other cmds, anything not in that table can't be used with this. | ||
| Line 730: | Line 730: | ||
|- | |- | ||
| 427 || [20.0.0+] | | 427 || [20.0.0+] | ||
|- | |||
| 428 || [21.0.0+] | |||
|- | |||
| 429 || [21.0.0+] | |||
|- | |||
| 430 || [21.0.0+] | |||
|- | |- | ||
| 502 || [[#RequestCheckGameCardRegistration]] | | 502 || [[#RequestCheckGameCardRegistration]] | ||
| Line 758: | Line 764: | ||
|- | |- | ||
| 515 || [20.0.0+] | | 515 || [20.0.0+] | ||
|- | |||
| 516 || [21.0.0+] | |||
|- | |||
| 517 || [21.0.0+] | |||
|- | |||
| 518 || [21.0.0+] | |||
|- | |||
| 519 || [21.0.0+] | |||
|- | |- | ||
| 600 || [[#CountApplicationContentMeta]] | | 600 || [[#CountApplicationContentMeta]] | ||
| Line 864: | Line 878: | ||
|- | |- | ||
| 933 || [20.1.0+] | | 933 || [20.1.0+] | ||
|- | |||
| 934 || [21.0.0+] | |||
|- | |||
| 935 || [21.0.0+] | |||
|- | |||
| 936 || [21.0.0+] | |||
|- | |- | ||
| 1000 || [[#RequestVerifyApplicationDeprecated]] | | 1000 || [[#RequestVerifyApplicationDeprecated]] | ||
| Line 1,090: | Line 1,110: | ||
|- | |- | ||
| 2368 || [20.0.0+] | | 2368 || [20.0.0+] | ||
|- | |||
| 2369 || [21.0.0+] | |||
|- | |- | ||
| 2400 || [8.0.0+] [[#GetPromotionInfo]] | | 2400 || [8.0.0+] [[#GetPromotionInfo]] | ||
| Line 1,354: | Line 1,376: | ||
|- | |- | ||
| 4097 || [20.0.0+] | | 4097 || [20.0.0+] | ||
|- | |||
| 4099 || [21.0.0+] | |||
|- | |- | ||
| 5000 || [18.0.0+] | | 5000 || [18.0.0+] | ||
| Line 1,569: | 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 2,280: | Line 2,313: | ||
|- | |- | ||
| 607 || [[#IsAnyApplicationRunning]] | | 607 || [[#IsAnyApplicationRunning]] | ||
|- | |||
| 608 || [21.0.0+] | |||
|} | |} | ||
| Line 2,421: | Line 2,456: | ||
| 4 || [9.0.0+] SelectApplicationDesiredLanguage || | | 4 || [9.0.0+] SelectApplicationDesiredLanguage || | ||
|- | |- | ||
| 5 || [19.0.0+] || | | 5 || [19.0.0+] || Same as [[#IApplicationManagerInterface]] cmd 411 | ||
|- | |- | ||
| 6 || [19.0.0+] || | | 6 || [19.0.0+] || Same as [[#IApplicationManagerInterface]] cmd 416 | ||
|- | |- | ||
| 7 || [20.0.0+] || | | 7 || [20.0.0+] || Same as [[#IApplicationManagerInterface]] cmd 921 | ||
|- | |- | ||
| 8 || [20.0.0+] || | | 8 || [20.0.0+] || Same as [[#IApplicationManagerInterface]] cmd 922 | ||
|- | |- | ||
| 9 || [20.0.0+] || | | 9 || [20.0.0+] || Same as [[#IApplicationManagerInterface]] cmd 923 | ||
|- | |- | ||
| 10 || [20.0.0+] || | | 10 || [20.0.0+] || Same as [[#IApplicationManagerInterface]] cmd 421 | ||
|- | |- | ||
| 11 || [20.0.0+] || | | 11 || [20.0.0+] || Same as [[#IApplicationManagerInterface]] cmd 422 | ||
|- | |- | ||
| 12 || [20.0.0+] || | | 12 || [20.0.0+] || Same as [[#IApplicationManagerInterface]] cmd 423 | ||
|- | |- | ||
| 13 || [20.0.0+] || | | 13 || [20.0.0+] || Same as [[#IApplicationManagerInterface]] cmd 407 | ||
|- | |- | ||
| 14 || [20.0.0+] || | | 14 || [20.0.0+] || Same as [[#IApplicationManagerInterface]] cmd 408 | ||
|- | |- | ||
| 15 || [20.0.0+] || | | 15 || [20.0.0+] || Same as [[#IApplicationManagerInterface]] cmd 415 | ||
|- | |- | ||
| 16 || [20.0.0+] || | | 16 || [20.0.0+] || | ||
|- | |- | ||
| 17 || [20.1.0+] || | | 17 || [20.1.0+] || Same as [[#IApplicationManagerInterface]] cmd 933 | ||
|- | |||
| 18 || [21.0.0+] || | |||
|- | |||
| 19 || [21.0.0+] || | |||
|- | |||
| 20 || [21.0.0+] || | |||
|- | |||
| 21 || [21.0.0+] || | |||
|- | |||
| 22 || [21.0.0+] || | |||
|} | |} | ||
| Line 2,510: | Line 2,555: | ||
|- | |- | ||
| 28 || [20.0.0+] | | 28 || [20.0.0+] | ||
|- | |||
| 29 || [21.0.0+] | |||
|- | |||
| 30 || [21.0.0+] | |||
|} | |} | ||
| Line 2,605: | Line 2,654: | ||
|- | |- | ||
| 13 || [20.0.0+] | | 13 || [20.0.0+] | ||
|- | |||
| 14 || [21.0.0+] | |||
|} | |} | ||
| Line 4,813: | 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]]. | ||