NFC Services: Difference between revisions

No edit summary
No edit summary
Line 34: Line 34:
Commands for post-9.3.0-21 have been extracted by analyzing the amiibo Settings applet. Therefore this table may be missing commands.
Commands for post-9.3.0-21 have been extracted by analyzing the amiibo Settings applet. Therefore this table may be missing commands.


Command header is stored at TLS+0x80. Input and output parameters, if any, are set at TLS+0x84 onwards. If the command specifies has a parameter named "pid", this value has to be set to 0x20, as the kernel will replace this magic value with the process' real PID.
Command header is stored at [[Thread Local Storage|TLS]]+0x80. Input and output parameters, if any, are set at TLS+0x84 onwards. If the command specifies has a parameter named "pid", this value has to be set to 0x20, as the kernel will replace the next word ("pidPlaceholder") with the process' real PID (see [[IPC_Command_Structure]]).


Note that the function name is actually a nickname for easeness of reading, as original function names have been stripped off the binaries.
Note that the function name is actually a nickname for easeness of reading, as original function names have been stripped off the binaries.
Line 71: Line 71:
| 0x00090002
| 0x00090002
| ???
| ???
| u32 pid
| u32 pid, u32 pidPlaceholder
| s32 result
| s32 result
|
|
Line 97: Line 97:
| void
| void
| s32 result, u32 unknownA[8], u32 unknownB[2], u32 unknownC
| s32 result, u32 unknownA[8], u32 unknownB[2], u32 unknownC
|
|-
| 0x00120000
| ???
| void
| s32 result, u32 unknownA
|
|
|-
|-
Line 104: Line 110:
| s32 result
| s32 result
|
|
|-
| 0x00140384
| ???
| u32 unknownA, u32 unknownB, u8 unknownB[0x30], u32 pid, u32 pidPlaceholder, u32 (buffer_size << 14) <nowiki>|</nowiki> 0x00000002, u32 * buffer
| s32 result
| See [[IPC_Command_Structure|IPC parameter type 1]] for explanation on buffer
|-
|-
| 0x00150040
| 0x00150040