Line 227:
Line 227:
| 0x1F
| 0x1F
| generate_wagonu_key()
| generate_wagonu_key()
−
| IOS_Ioctl(FD, 0x1F, ???, ???, ???, ???);
+
| IOS_Ioctl(FD, 0x1F, in_buf, 0x10, 0, 0);
−
| Generates the 0x12-keyhandle keydata used to encrypt/decrypt data for Wii U to Wii U system transfers.
+
| Generates the 0x12-keyhandle keydata used to encrypt/decrypt data for Wii U to Wii U system transfers.
−
|
+
| If in_buf is NULL, a key from SEEPROM is used. If in_buf is not NULL, then it must be a pointer to a user supplied key.
|-
|-
| 0x20
| 0x20
| IOSC_EncryptBlocks()
| IOSC_EncryptBlocks()
| IOS_Ioctlv(FD, 0x20, 3, 1, vector);
| IOS_Ioctlv(FD, 0x20, 3, 1, vector);
−
| Software AES encryption, this supports multiple AES-modes(AES-CTR, ...). Used by IOS-PAD to encrypt amiibo data.
+
| Software AES encryption, this supports multiple AES-modes (AES-CTR, ...). Used by IOS-PAD to encrypt amiibo data.
|
|
|-
|-
Line 244:
Line 244:
|-
|-
| 0x22
| 0x22
−
| mcp_auth_unk()
+
| set_crypto_thread_priority()
| IOS_Ioctl(FD, 0x22, in_buf, 4, 0, 0);
| IOS_Ioctl(FD, 0x22, in_buf, 4, 0, 0);
−
|
+
| Modifies the IOS-CRYPTO main thread's priority.
|
|
|-
|-
| 0x23
| 0x23
−
| mcp_wagon_archive_unk()
+
| get_wagon_certificate_data()
−
| IOS_Ioctl(FD, 0x23, in_buf, 0x10, out_buf, 0x200);
+
| IOS_Ioctl(FD, 0x23, in_buf, 0x10, out_buf, out_size);
−
|
+
| Gets Wagon certificate data stored inside IOS-CRYPTO.
−
|
+
| If the first word in in_buf is 0x00000000, a Root-CA00000003 with 0x400 bytes of size is written to out_buf. If the first word in in_buf is 0x00000001, a Root-CA00000003 MS00000012 with 0x240 bytes of size is written to out_buf.
|-
|-
|}
|}