Changes

538 bytes added ,  03:10, 1 December 2021
no edit summary
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 =