IPCCommandExample2

From 3dbrew
Jump to navigation Jump to search

Adapted from PS:EncryptDecryptAes to illustrate the new IPC command templates.

Request[edit]

Index Word Description
0 Header code [0x00040204]
1 Size in bytes
2 Destination size in bytes (Unused)
3 IV / CTR
4 IV / CTR
5 IV / CTR
6 IV / CTR
7 u8 Algorithm Type (0..5)
8 u8 Key Type (0..7)
9 Descriptor for mapping a read-only buffer in the target process
10 Source pointer
11 Descriptor for mapping a write-only buffer in the target process
12 Destination pointer

Response[edit]

Index Word Description
0 Header code [0x00040144]
1 Result code
2-5 See here.

Description[edit]

This is a wrapper for PSPXI:EncryptDecryptAes. Before using this PSPXI command, PS module will check whether the algorithm type is AES-CCM. PS module will return error-code 0xC90107E8 when the algorithm type is AES-CCM, since PSPXI:EncryptDecryptAes doesn't support AES-CCM. When the algorithm type is AES-CBC, PS module will clear the low 4-bits of the data size.