Difference between revisions of "AM:ReadTwlBackupInfo"
Jump to navigation
Jump to search
(Add information on constant in the send buffer. Add missing recieve parameters in the IPC response.) |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 9: | Line 9: | ||
|- | |- | ||
| 1 | | 1 | ||
− | | | + | | Output Info Size (usually 0x20) |
|- | |- | ||
| 2 | | 2 | ||
− | | | + | | Banner Size (usually 0x4000) |
|- | |- | ||
| 3 | | 3 | ||
− | | Buffer | + | | Working Buffer Size |
|- | |- | ||
| 4 | | 4 | ||
− | | 0x10 | + | | 0x10 (Magic Word Header, 0x10 = HANDLE_MOVE, we are moving this handle into the IPC server) |
|- | |- | ||
| 5 | | 5 | ||
Line 24: | Line 24: | ||
|- | |- | ||
| 6 | | 6 | ||
− | | ( | + | | (Output Info Size << 4) <nowiki>|</nowiki> 0xC |
|- | |- | ||
| 7 | | 7 | ||
− | | | + | | [[Application_Manager_Services#TwlBackupInfo|TwlBackupInfo]] Output Pointer. Processing is skipped for this when the pointer is NULL. |
|- | |- | ||
| 8 | | 8 | ||
− | | ( | + | | (Banner Size << 4) <nowiki>|</nowiki> 0xC |
|- | |- | ||
| 9 | | 9 | ||
− | | | + | | [[DSiWare_Exports|DSiWare]] Banner Output Pointer. Processing is skipped for this when the pointer is NULL. |
|- | |- | ||
| 10 | | 10 | ||
− | | (Buffer | + | | (Working Buffer Size << 4) <nowiki>|</nowiki> 0xC |
|- | |- | ||
| 11 | | 11 | ||
− | | Buffer | + | | Working Buffer Pointer |
|} | |} | ||
Line 53: | Line 53: | ||
| 1 | | 1 | ||
| Result code | | Result code | ||
+ | |- | ||
+ | | 2 | ||
+ | | (Output Info Size << 4) <nowiki>|</nowiki> 0xC | ||
+ | |- | ||
+ | | 3 | ||
+ | | [[Application_Manager_Services#TwlBackupInfo|TwlBackupInfo]] Output Pointer. | ||
+ | |- | ||
+ | | 4 | ||
+ | | (Banner Size << 4) <nowiki>|</nowiki> 0xC | ||
+ | |- | ||
+ | | 5 | ||
+ | | [[DSiWare_Exports|DSiWare]] Banner Output Pointer. | ||
+ | |- | ||
+ | | 6 | ||
+ | | (Working Buffer Size << 4) <nowiki>|</nowiki> 0xC | ||
+ | |- | ||
+ | | 7 | ||
+ | | Working Buffer Pointer | ||
|} | |} | ||
=Description= | =Description= | ||
− | The specified [[DSiWare_Exports|file]] size must be | + | The specified [[DSiWare_Exports|file]] size must be at least 0x4500. This reads the DSiWare header+banner from the file, and decrypts+verifies these sections. |
+ | |||
+ | It should be noted that this command is meant for use with Exports that use 11 content sections. |
Latest revision as of 09:53, 5 June 2023
Request[edit]
Index Word | Description |
---|---|
0 | Header code [0x001E00C8] |
1 | Output Info Size (usually 0x20) |
2 | Banner Size (usually 0x4000) |
3 | Working Buffer Size |
4 | 0x10 (Magic Word Header, 0x10 = HANDLE_MOVE, we are moving this handle into the IPC server) |
5 | FSFile Handle |
6 | (Output Info Size << 4) | 0xC |
7 | TwlBackupInfo Output Pointer. Processing is skipped for this when the pointer is NULL. |
8 | (Banner Size << 4) | 0xC |
9 | DSiWare Banner Output Pointer. Processing is skipped for this when the pointer is NULL. |
10 | (Working Buffer Size << 4) | 0xC |
11 | Working Buffer Pointer |
Response[edit]
Index Word | Description |
---|---|
0 | Header code |
1 | Result code |
2 | (Output Info Size << 4) | 0xC |
3 | TwlBackupInfo Output Pointer. |
4 | (Banner Size << 4) | 0xC |
5 | DSiWare Banner Output Pointer. |
6 | (Working Buffer Size << 4) | 0xC |
7 | Working Buffer Pointer |
Description[edit]
The specified file size must be at least 0x4500. This reads the DSiWare header+banner from the file, and decrypts+verifies these sections.
It should be noted that this command is meant for use with Exports that use 11 content sections.