NFC services: Difference between revisions

No edit summary
Line 44: Line 44:
| 1 || [[#Finalize]]
| 1 || [[#Finalize]]
|-
|-
| 2 || ListDevices
| 2 || [[#ListDevices]]
|-
|-
| 3 || StartDetection
| 3 || StartDetection
Line 62: Line 62:
| 10 || [[#GetState]]
| 10 || [[#GetState]]
|-
|-
| 11 || GetDeviceState
| 11 || [[#GetDeviceState]]
|-
|-
| 12 || GetNpadId
| 12 || GetNpadId
Line 102: Line 102:
| 403 || [4.0.0+] [[#IsNfcEnabled]]
| 403 || [4.0.0+] [[#IsNfcEnabled]]
|-
|-
| 404 || [4.0.0+] ListDevices
| 404 || [4.0.0+] [[#ListDevices]]
|-
|-
| 405 || [4.0.0+] GetDeviceState
| 405 || [4.0.0+] [[#GetDeviceState]]
|-
|-
| 406 || [4.0.0+] GetNpadId
| 406 || [4.0.0+] GetNpadId
Line 184: Line 184:
| 403 || [4.0.0+] [[#IsNfcEnabled]]
| 403 || [4.0.0+] [[#IsNfcEnabled]]
|-
|-
| 404 || [4.0.0+] ListDevices
| 404 || [4.0.0+] [[#ListDevices]]
|-
|-
| 405 || [4.0.0+] GetDeviceState
| 405 || [4.0.0+] [[#GetDeviceState]]
|-
|-
| 406 || [4.0.0+] GetNpadId
| 406 || [4.0.0+] GetNpadId
Line 272: Line 272:
| 1 || [[#Finalize]]
| 1 || [[#Finalize]]
|-
|-
| 2 || ListDevices
| 2 || [[#ListDevices]]
|-
|-
| 3 || StartDetection
| 3 || StartDetection
Line 308: Line 308:
| 19 || [[#GetState]]
| 19 || [[#GetState]]
|-
|-
| 20 || GetDeviceState
| 20 || [[#GetDeviceState]]
|-
|-
| 21 || GetNpadId
| 21 || GetNpadId
Line 330: Line 330:


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.
=== ListDevices ===
Takes a type-0xA output buffer containing an array of [[#DeviceHandle]], returns an output s32 total_out.
This can return a maximum of 0xA entries.
=== GetDeviceState ===
Takes an input [[#DeviceHandle]], returns an output u32.
The returned u32 is loaded from a lookup table. nfp services uses the same table, mifare uses a separate one, and the nfc services use another separate table.


= nfp:dbg =
= nfp:dbg =
Line 352: Line 362:
| 1 || [[#Finalize|FinalizeDebug]]
| 1 || [[#Finalize|FinalizeDebug]]
|-
|-
| 2 || ListDevices
| 2 || [[#ListDevices]]
|-
|-
| 3 || StartDetection
| 3 || StartDetection
Line 388: Line 398:
| 19 || [[#GetState]]
| 19 || [[#GetState]]
|-
|-
| 20 || GetDeviceState
| 20 || [[#GetDeviceState]]
|-
|-
| 21 || GetNpadId
| 21 || GetNpadId
Line 485: Line 495:
| 1 || [[#Finalize|FinalizeSystem]]
| 1 || [[#Finalize|FinalizeSystem]]
|-
|-
| 2 || ListDevices
| 2 || [[#ListDevices]]
|-
|-
| 3 || StartDetection
| 3 || StartDetection
Line 513: Line 523:
| 19 || [[#GetState]]
| 19 || [[#GetState]]
|-
|-
| 20 || GetDeviceState
| 20 || [[#GetDeviceState]]
|-
|-
| 21 || GetNpadId
| 21 || GetNpadId