Line 46: |
Line 46: |
| | 2 || [[#ListDevices]] | | | 2 || [[#ListDevices]] |
| |- | | |- |
− | | 3 || StartDetection | + | | 3 || [[#StartDetection_2|StartDetection]] |
| |- | | |- |
− | | 4 || StopDetection | + | | 4 || [[#StopDetection]] |
| |- | | |- |
| | 5 || [[#ReadMifare|Read]] | | | 5 || [[#ReadMifare|Read]] |
Line 110: |
Line 110: |
| | 407 || [4.0.0+] [[#AttachAvailabilityChangeEvent]] | | | 407 || [4.0.0+] [[#AttachAvailabilityChangeEvent]] |
| |- | | |- |
− | | 408 || [4.0.0+] StartDetection | + | | 408 || [4.0.0+] [[#StartDetection]] |
| |- | | |- |
− | | 409 || [4.0.0+] StopDetection | + | | 409 || [4.0.0+] [[#StopDetection]] |
| |- | | |- |
| | 410 || [4.0.0+] [[#GetTagInfo]] | | | 410 || [4.0.0+] [[#GetTagInfo]] |
Line 131: |
Line 131: |
| |} | | |} |
| | | |
− | == GetStateOld == | + | === GetStateOld === |
| No input, returns an output u32. | | No input, returns an output u32. |
| | | |
− | == IsNfcEnabledOld == | + | === IsNfcEnabledOld === |
| No input, returns an output bool. | | No input, returns an output bool. |
| | | |
| This runs the same code as [[#IsNfcEnabled]]. | | This runs the same code as [[#IsNfcEnabled]]. |
| | | |
− | == GetState == | + | === GetState === |
| No input, returns an output u32. | | No input, returns an output u32. |
| | | |
| This replaces [[#GetStateOld]]. | | This replaces [[#GetStateOld]]. |
| | | |
− | == IsNfcEnabled == | + | === IsNfcEnabled === |
| No input, returns an output bool. | | No input, returns an output bool. |
| | | |
| This replaces [[#IsNfcEnabledOld]]. | | This replaces [[#IsNfcEnabledOld]]. |
| + | |
| + | === StartDetection === |
| + | Takes an input [[#DeviceHandle]] and a [[#NfcProtocol]], no output. |
| + | |
| + | === StopDetection === |
| + | Takes an input [[#DeviceHandle]], 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 timeout, 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. |
| + | |
| + | This allows using a raw NFC command. The input buffer contains the command data (id + params), and the output buffer contains the response. |
| + | |
| + | === KeepPassThroughSession === |
| + | Takes an input [[#DeviceHandle]], no output. |
| + | |
| + | === ReleasePassThroughSession === |
| + | Takes an input [[#DeviceHandle]], no output. |
| | | |
| = nfc:sys = | | = nfc:sys = |
Line 192: |
Line 219: |
| | 407 || [4.0.0+] [[#AttachAvailabilityChangeEvent]] | | | 407 || [4.0.0+] [[#AttachAvailabilityChangeEvent]] |
| |- | | |- |
− | | 408 || [4.0.0+] StartDetection | + | | 408 || [4.0.0+] [[#StartDetection]] |
| |- | | |- |
− | | 409 || [4.0.0+] StopDetection | + | | 409 || [4.0.0+] [[#StopDetection]] |
| |- | | |- |
| | 410 || [4.0.0+] [[#GetTagInfo]] | | | 410 || [4.0.0+] [[#GetTagInfo]] |
Line 229: |
Line 256: |
| === OutputTestWave === | | === OutputTestWave === |
| Takes an input bool and a [[#TestWaveType]], no output. | | 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 timeout, 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.
| |
− |
| |
− | This allows using a raw NFC command. The input buffer contains the command data (id + params), and the output buffer contains the response.
| |
− |
| |
− | === KeepPassThroughSession ===
| |
− | Takes an input [[#DeviceHandle]], no output.
| |
− |
| |
− | === ReleasePassThroughSession ===
| |
− | Takes an input [[#DeviceHandle]], no output.
| |
| | | |
| = nfp:user = | | = nfp:user = |
Line 274: |
Line 280: |
| | 2 || [[#ListDevices]] | | | 2 || [[#ListDevices]] |
| |- | | |- |
− | | 3 || StartDetection | + | | 3 || [[#StartDetection_2|StartDetection]] |
| |- | | |- |
− | | 4 || StopDetection | + | | 4 || [[#StopDetection]] |
| |- | | |- |
| | 5 || Mount | | | 5 || Mount |
Line 335: |
Line 341: |
| | | |
| This can return a maximum of 0xA entries. | | This can return a maximum of 0xA entries. |
| + | |
| + | === StartDetection === |
| + | Takes an input [[#DeviceHandle]], no output. |
| + | |
| + | This runs the same code as nfc [[#StartDetection]] with [[#NfcProtocol]] = -1. |
| | | |
| === GetTagInfo === | | === GetTagInfo === |
Line 385: |
Line 396: |
| | 2 || [[#ListDevices]] | | | 2 || [[#ListDevices]] |
| |- | | |- |
− | | 3 || StartDetection | + | | 3 || [[#StartDetection_2|StartDetection]] |
| |- | | |- |
− | | 4 || StopDetection | + | | 4 || [[#StopDetection]] |
| |- | | |- |
| | 5 || Mount | | | 5 || Mount |
Line 518: |
Line 529: |
| | 2 || [[#ListDevices]] | | | 2 || [[#ListDevices]] |
| |- | | |- |
− | | 3 || StartDetection | + | | 3 || [[#StartDetection_2|StartDetection]] |
| |- | | |- |
− | | 4 || StopDetection | + | | 4 || [[#StopDetection]] |
| |- | | |- |
| | 5 || Mount | | | 5 || Mount |
Line 570: |
Line 581: |
| = DeviceHandle = | | = DeviceHandle = |
| This is "nn::nfc::DeviceHandle". This is a 8-byte struct with 4-byte alignment. | | This is "nn::nfc::DeviceHandle". This is a 8-byte struct with 4-byte alignment. |
| + | |
| + | = NfcProtocol = |
| + | This is s32 enum "nn::nfc::NfcProtocol". Value -1 can be used as a default. |
| | | |
| = TagInfo = | | = TagInfo = |