NFC services: Difference between revisions
Document some nfp stuff |
Document some nfp IDebug commands and types |
||
Line 480: | Line 480: | ||
| 106 || [[#ExistsApplicationArea]] | | 106 || [[#ExistsApplicationArea]] | ||
|- | |- | ||
| 200 || GetAll | | 200 || [[#GetAll]] | ||
|- | |- | ||
| 201 || SetAll | | 201 || [[#SetAll]] | ||
|- | |- | ||
| 202 || FlushDebug | | 202 || [[#FlushDebug]] | ||
|- | |- | ||
| 203 || BreakTag | | 203 || [[#BreakTag]] | ||
|- | |- | ||
| 204 || ReadBackupData | | 204 || [[#ReadBackupData]] | ||
|- | |- | ||
| 205 || WriteBackupData | | 205 || [[#WriteBackupData]] | ||
|- | |- | ||
| 206 || [[#WriteNtf]] | | 206 || [[#WriteNtf]] | ||
Line 524: | Line 524: | ||
| 314 || [3.0.0-3.0.2] | | 314 || [3.0.0-3.0.2] | ||
|} | |} | ||
==== GetAll ==== | |||
Takes an input [[#DeviceHandle]], a type-0x1A output buffer containing [[#NfpData]], no output. | |||
==== SetAll ==== | |||
Takes an input [[#DeviceHandle]], a type-0x19 input buffer containing [[#NfpData]], no output. | |||
==== FlushDebug ==== | |||
Takes an input [[#DeviceHandle]], no output. | |||
==== BreakTag ==== | |||
Takes an input [[#DeviceHandle]], an input u32 [[#BreakType]], no output. | |||
==== ReadBackupData ==== | |||
Takes an input [[#DeviceHandle]], a type-0x6 output buffer, and an output u32 (read_size). | |||
==== WriteBackupData ==== | |||
Takes an input [[#DeviceHandle]], a type-0x5 input buffer, no output. | |||
The buffer size must be less or equal than 0x1FBD20. | |||
==== WriteNtf ==== | ==== WriteNtf ==== | ||
Takes an input [[#DeviceHandle]], an u32, a type-0x5 input buffer, no output. | Takes an input [[#DeviceHandle]], an input u32 [[#WriteType]], a type-0x5 input buffer, no output. | ||
The input buffer size must match 0x2A0. | The input buffer size must match 0x2A0. This handles Amiibo crypto, etc. | ||
This handles Amiibo crypto etc. | |||
== Common == | == Common == | ||
Line 538: | Line 556: | ||
=== Initialize* === | === Initialize* === | ||
Takes a PID, an [[AM_services|AppletResourceUserId]], an u64, a type-0x5 input buffer containing an array of [[#RequiredMcuVersionData]], no output | Takes a PID, an [[AM_services|AppletResourceUserId]], an u64 placeholder for the PID, a type-0x5 input buffer containing an array of [[#RequiredMcuVersionData]], no output. | ||
Internally this is mostly the same for each service, this differs depending on the service/cmd however. | Internally this is mostly the same for each service, this differs depending on the service/cmd however. | ||
Line 563: | Line 579: | ||
=== Mount === | === Mount === | ||
Takes an input [[#DeviceHandle]], an input [[#ModelType]] and an input [[#MountTarget]], no output. | Takes an input [[#DeviceHandle]], an input u32 [[#ModelType]] and an input u32 [[#MountTarget]], no output. | ||
=== Unmount === | === Unmount === | ||
Line 878: | Line 894: | ||
|- | |- | ||
| 0x72 || 0x8E || Reserved | | 0x72 || 0x8E || Reserved | ||
|} | |||
= NfpData = | |||
This is "nn::nfp::NfpData". This is a 0x298-byte struct. | |||
= BreakType = | |||
This is "nn::nfp::BreakType". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value || Description | |||
|- | |||
| 0 || ? | |||
|- | |||
| 1 || ? | |||
|- | |||
| 2 || ? | |||
|} | |||
Value 0 is internally used in some places, aside for [[#BreakTag]] commands called externally. | |||
= WriteType = | |||
This is "nn::nfp::WriteType". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value || Description | |||
|- | |||
| 0 || ? | |||
|- | |||
| 1 || ? | |||
|} | |} | ||