Line 50: |
Line 50: |
| | 4 || StopDetection | | | 4 || StopDetection |
| |- | | |- |
− | | 5 || Read | + | | 5 || [[#ReadMifare|Read]] |
| |- | | |- |
− | | 6 || Write | + | | 6 || [[#WriteMifare|Write]] |
| |- | | |- |
| | 7 || GetTagInfo | | | 7 || GetTagInfo |
Line 120: |
Line 120: |
| | 412 || [4.0.0+] AttachDeactivateEvent | | | 412 || [4.0.0+] AttachDeactivateEvent |
| |- | | |- |
− | | 1000 || [4.0.0+] ReadMifare | + | | 1000 || [4.0.0+] [[#ReadMifare]] |
| |- | | |- |
− | | 1001 || [4.0.0+] WriteMifare | + | | 1001 || [4.0.0+] [[#WriteMifare]] |
| |- | | |- |
− | | 1300 || [4.0.0+] SendCommandByPassThrough | + | | 1300 || [4.0.0+] [[#SendCommandByPassThrough]] |
| |- | | |- |
− | | 1301 || [4.0.0+] KeepPassThroughSession | + | | 1301 || [4.0.0+] [[#KeepPassThroughSession]] |
| |- | | |- |
− | | 1302 || [4.0.0+] ReleasePassThroughSession | + | | 1302 || [4.0.0+] [[#ReleasePassThroughSession]] |
| |} | | |} |
| | | |
Line 184: |
Line 184: |
| | 412 || [4.0.0+] AttachDeactivateEvent | | | 412 || [4.0.0+] AttachDeactivateEvent |
| |- | | |- |
− | | 500 || [4.0.0+] SetNfcEnabled | + | | 500 || [4.0.0+] [[#SetNfcEnabled]] |
| |- | | |- |
− | | 510 || [7.0.0+] OutputTestWave | + | | 510 || [7.0.0+] [[#OutputTestWave]] |
| |- | | |- |
− | | 1000 || [4.0.0+] ReadMifare | + | | 1000 || [4.0.0+] [[#ReadMifare]] |
| |- | | |- |
− | | 1001 || [4.0.0+] WriteMifare | + | | 1001 || [4.0.0+] [[#WriteMifare]] |
| |- | | |- |
− | | 1300 || [4.0.0+] SendCommandByPassThrough | + | | 1300 || [4.0.0+] [[#SendCommandByPassThrough]] |
| |- | | |- |
− | | 1301 || [4.0.0+] KeepPassThroughSession | + | | 1301 || [4.0.0+] [[#KeepPassThroughSession]] |
| |- | | |- |
− | | 1302 || [4.0.0+] ReleasePassThroughSession | + | | 1302 || [4.0.0+] [[#ReleasePassThroughSession]] |
| |} | | |} |
| + | |
| + | == SetNfcEnabled == |
| + | Takes an input bool, no output. |
| + | |
| + | == OutputTestWave == |
| + | Takes an input bool and a [[#TestWaveType]], no output. |
| + | |
| + | == ReadMifare == |
| + | Takes an input [[#DeviceHandle]], a type-0x6 output buffer containing an array of [[#MifareReadBlockData]], a type-0x5 input buffer containing an array of [[#MifareReadBlockParameter]], no output. |
| + | |
| + | sdknso passes the same user-specified array-count for both buffers. |
| + | |
| + | == WriteMifare == |
| + | Takes an input [[#DeviceHandle]], a type-0x5 input buffer containing an array of [[#MifareWriteBlockParameter]], no output. |
| + | |
| + | == SendCommandByPassThrough == |
| + | Takes an input [[#DeviceHandle]], a nn::TimeSpan, a type-0x6 output buffer, a type-0x5 input buffer, returns an output u32 out_size. |
| + | |
| + | sdknso copies the output u32 into an u64. This is the actual size which was copied into the output buffer. |
| + | |
| + | == KeepPassThroughSession == |
| + | Takes an input [[#DeviceHandle]], no output. |
| + | |
| + | == ReleasePassThroughSession == |
| + | Takes an input [[#DeviceHandle]], no output. |
| | | |
| = nfp:user = | | = nfp:user = |
Line 360: |
Line 385: |
| | 205 || WriteBackupData | | | 205 || WriteBackupData |
| |- | | |- |
− | | 206 || WriteNtf | + | | 206 || [[#WriteNtf]] |
| |- | | |- |
| | 300 || [3.0.0-3.0.2] | | | 300 || [3.0.0-3.0.2] |
Line 392: |
Line 417: |
| | 314 || [3.0.0-3.0.2] | | | 314 || [3.0.0-3.0.2] |
| |} | | |} |
| + | |
| + | === WriteNtf === |
| + | Takes an input [[#DeviceHandle]], an u32, a type-0x5 input buffer, no output. |
| + | |
| + | The input buffer size must match 0x2A0. |
| + | |
| + | This handles Amiibo crypto etc. |
| | | |
| = nfp:sys = | | = nfp:sys = |
Line 462: |
Line 494: |
| | 106 || ExistsApplicationArea | | | 106 || ExistsApplicationArea |
| |} | | |} |
| + | |
| + | = DeviceHandle = |
| + | This is "nn::nfc::DeviceHandle". This is a 8-byte struct with 4-byte alignment. |
| + | |
| + | = TestWaveType = |
| + | This is u32 enum "nn::nfc::TestWaveType". |
| + | |
| + | = MifareReadBlockData = |
| + | This is "nn::nfc::MifareReadBlockData". This is a 0x18-byte struct. |
| + | |
| + | = MifareReadBlockParameter = |
| + | This is "nn::nfc::MifareReadBlockParameter". This is a 0x18-byte struct. |
| + | |
| + | = MifareWriteBlockParameter = |
| + | This is "nn::nfc::MifareWriteBlockParameter". This is a 0x28-byte struct. |
| | | |
| = RomFS = | | = RomFS = |