NFC services: Difference between revisions
mNo edit summary |
No edit summary |
||
| Line 124: | Line 124: | ||
| 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 192: | Line 192: | ||
| 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]] | ||
|} | |} | ||
== SendCommandByPassThrough == | |||
Takes an input [[#DeviceHandle]], a nn::TimeSpan, a type-0x6 output buffer, a type-0x5 input buffer, returns an output u32. | |||
sdknso copies the output u32 into an u64. | |||
== KeepPassThroughSession == | |||
Takes an input [[#DeviceHandle]], no output. | |||
== ReleasePassThroughSession == | |||
Takes an input [[#DeviceHandle]], no output. | |||
= nfp:user = | = nfp:user = | ||
| Line 462: | Line 473: | ||
| 106 || ExistsApplicationArea | | 106 || ExistsApplicationArea | ||
|} | |} | ||
= DeviceHandle = | |||
This is "nn::nfc::DeviceHandle". This is a 8-byte struct with 4-byte alignment. | |||
= RomFS = | = RomFS = | ||
Revision as of 05:55, 27 November 2021
nfc:am
This is "nn::nfc::am::detail::IAmManager".
| Cmd | Name |
|---|---|
| 0 | CreateAmInterface |
IAm
This is "nn::nfc::am::detail::IAm".
| Cmd | Name |
|---|---|
| 0 | Initialize |
| 1 | Finalize |
| 2 | NotifyForegroundApplet |
nfc:mf:u
This is "nn::nfc::mifare::detail::IUserManager".
| Cmd | Name |
|---|---|
| 0 | CreateUserInterface |
IUser
This is "nn::nfc::mifare::detail::IUser".
| Cmd | Name |
|---|---|
| 0 | Initialize |
| 1 | Finalize |
| 2 | ListDevices |
| 3 | StartDetection |
| 4 | StopDetection |
| 5 | Read |
| 6 | Write |
| 7 | GetTagInfo |
| 8 | GetActivateEventHandle |
| 9 | GetDeactivateEventHandle |
| 10 | GetState |
| 11 | GetDeviceState |
| 12 | GetNpadId |
| 13 | [3.0.0+] GetAvailabilityChangeEventHandle |
nfc:user
This is "nn::nfc::detail::IUserManager".
| Cmd | Name |
|---|---|
| 0 | CreateUserInterface |
IUser
This is "nn::nfc::detail::IUser".
| Cmd | Name |
|---|---|
| 0 | InitializeOld |
| 1 | FinalizeOld |
| 2 | GetStateOld |
| 3 | IsNfcEnabledOld |
| 400 | [4.0.0+] Initialize |
| 401 | [4.0.0+] Finalize |
| 402 | [4.0.0+] GetState |
| 403 | [4.0.0+] IsNfcEnabled |
| 404 | [4.0.0+] ListDevices |
| 405 | [4.0.0+] GetDeviceState |
| 406 | [4.0.0+] GetNpadId |
| 407 | [4.0.0+] AttachAvailabilityChangeEvent |
| 408 | [4.0.0+] StartDetection |
| 409 | [4.0.0+] StopDetection |
| 410 | [4.0.0+] GetTagInfo |
| 411 | [4.0.0+] AttachActivateEvent |
| 412 | [4.0.0+] AttachDeactivateEvent |
| 1000 | [4.0.0+] ReadMifare |
| 1001 | [4.0.0+] WriteMifare |
| 1300 | [4.0.0+] #SendCommandByPassThrough |
| 1301 | [4.0.0+] #KeepPassThroughSession |
| 1302 | [4.0.0+] #ReleasePassThroughSession |
nfc:sys
This is "nn::nfc::detail::ISystemManager".
| Cmd | Name |
|---|---|
| 0 | CreateSystemInterface |
ISystem
This is "nn::nfc::detail::ISystem".
| Cmd | Name |
|---|---|
| 0 | Initialize |
| 1 | Finalize |
| 2 | GetStateOld |
| 3 | IsNfcEnabledOld |
| 100 | SetNfcEnabledOld |
| 400 | [4.0.0+] InitializeSystem |
| 401 | [4.0.0+] FinalizeSystem |
| 402 | [4.0.0+] GetState |
| 403 | [4.0.0+] IsNfcEnabled |
| 404 | [4.0.0+] ListDevices |
| 405 | [4.0.0+] GetDeviceState |
| 406 | [4.0.0+] GetNpadId |
| 407 | [4.0.0+] AttachAvailabilityChangeEvent |
| 408 | [4.0.0+] StartDetection |
| 409 | [4.0.0+] StopDetection |
| 410 | [4.0.0+] GetTagInfo |
| 411 | [4.0.0+] AttachActivateEvent |
| 412 | [4.0.0+] AttachDeactivateEvent |
| 500 | [4.0.0+] SetNfcEnabled |
| 510 | [7.0.0+] OutputTestWave |
| 1000 | [4.0.0+] ReadMifare |
| 1001 | [4.0.0+] WriteMifare |
| 1300 | [4.0.0+] #SendCommandByPassThrough |
| 1301 | [4.0.0+] #KeepPassThroughSession |
| 1302 | [4.0.0+] #ReleasePassThroughSession |
SendCommandByPassThrough
Takes an input #DeviceHandle, a nn::TimeSpan, a type-0x6 output buffer, a type-0x5 input buffer, returns an output u32.
sdknso copies the output u32 into an u64.
KeepPassThroughSession
Takes an input #DeviceHandle, no output.
ReleasePassThroughSession
Takes an input #DeviceHandle, no output.
nfp:user
This is "nn::nfp::detail::IUserManager".
| Cmd | Name |
|---|---|
| 0 | CreateUserInterface |
IUser
This is "nn::nfp::detail::IUser".
| Cmd | Name |
|---|---|
| 0 | Initialize |
| 1 | Finalize |
| 2 | ListDevices |
| 3 | StartDetection |
| 4 | StopDetection |
| 5 | Mount |
| 6 | Unmount |
| 7 | OpenApplicationArea |
| 8 | GetApplicationArea |
| 9 | SetApplicationArea |
| 10 | Flush |
| 11 | Restore |
| 12 | CreateApplicationArea |
| 13 | GetTagInfo |
| 14 | GetRegisterInfo |
| 15 | GetCommonInfo |
| 16 | GetModelInfo |
| 17 | AttachActivateEvent |
| 18 | AttachDeactivateEvent |
| 19 | GetState |
| 20 | GetDeviceState |
| 21 | GetNpadId |
| 22 | GetApplicationAreaSize |
| 23 | [3.0.0+] AttachAvailabilityChangeEvent |
| 24 | [3.0.0+] RecreateApplicationArea |
nfp:dbg
This is "nn::nfp::detail::IDebugManager".
| Cmd | Name |
|---|---|
| 0 | CreateDebugInterface |
IDebug
This is "nn::nfp::detail::IDebug".
| Cmd | Name |
|---|---|
| 0 | InitializeDebug |
| 1 | FinalizeDebug |
| 2 | ListDevices |
| 3 | StartDetection |
| 4 | StopDetection |
| 5 | Mount |
| 6 | Unmount |
| 7 | OpenApplicationArea |
| 8 | GetApplicationArea |
| 9 | SetApplicationArea |
| 10 | Flush |
| 11 | Restore |
| 12 | CreateApplicationArea |
| 13 | GetTagInfo |
| 14 | GetRegisterInfo |
| 15 | GetCommonInfo |
| 16 | GetModelInfo |
| 17 | AttachActivateEvent |
| 18 | AttachDeactivateEvent |
| 19 | GetState |
| 20 | GetDeviceState |
| 21 | GetNpadId |
| 22 | GetApplicationArea2 |
| 23 | [3.0.0+] AttachAvailabilityChangeEvent |
| 24 | [3.0.0+] RecreateApplicationArea |
| 100 | Format |
| 101 | GetAdminInfo |
| 102 | GetRegisterInfo |
| 103 | SetRegisterInfo |
| 104 | DeleteRegisterInfo |
| 105 | DeleteApplicationArea |
| 106 | ExistsApplicationArea |
| 200 | GetAll |
| 201 | SetAll |
| 202 | FlushDebug |
| 203 | BreakTag |
| 204 | ReadBackupData |
| 205 | WriteBackupData |
| 206 | WriteNtf |
| 300 | [3.0.0-3.0.2] |
| 301 | [3.0.0-3.0.2] |
| 302 | [3.0.0-3.0.2] |
| 303 | [3.0.0-3.0.2] |
| 304 | [3.0.0-3.0.2] |
| 305 | [3.0.0-3.0.2] |
| 306 | [3.0.0-3.0.2] |
| 307 | [3.0.0-3.0.2] |
| 308 | [3.0.0-3.0.2] |
| 309 | [3.0.0-3.0.2] |
| 310 | [3.0.0-3.0.2] |
| 311 | [3.0.0-3.0.2] |
| 312 | [3.0.0-3.0.2] |
| 313 | [3.0.0-3.0.2] |
| 314 | [3.0.0-3.0.2] |
nfp:sys
This is "nn::nfp::detail::ISystemManager".
| Cmd | Name |
|---|---|
| 0 | CreateSystemInterface |
ISystem
This is "nn::nfp::detail::ISystem".
| Cmd | Name |
|---|---|
| 0 | InitializeSystem |
| 1 | FinalizeSystem |
| 2 | ListDevices |
| 3 | StartDetection |
| 4 | StopDetection |
| 5 | Mount |
| 6 | Unmount |
| 10 | Flush |
| 11 | Restore |
| 13 | GetTagInfo |
| 14 | GetRegisterInfo |
| 15 | GetCommonInfo |
| 16 | GetModelInfo |
| 17 | AttachActivateEvent |
| 18 | AttachDeactivateEvent |
| 19 | GetState |
| 20 | GetDeviceState |
| 21 | GetNpadId |
| 23 | [3.0.0+] AttachAvailabilityChangeEvent |
| 100 | Format |
| 101 | GetAdminInfo |
| 102 | GetRegisterInfo |
| 103 | SetRegisterInfo |
| 104 | DeleteRegisterInfo |
| 105 | DeleteApplicationArea |
| 106 | ExistsApplicationArea |
DeviceHandle
This is "nn::nfc::DeviceHandle". This is a 8-byte struct with 4-byte alignment.
RomFS
[9.0.0+] The nfc-sysmodule RomFS contains:
ST21NFCD_01_05_6811.bin
These are firmware files for the NFC IC inside Switch Lite units.
Application IDs
Application IDs (also referenced as "access_id" in official software) are game-unique u32s used to access the amiibo 0xd8-big application area.
| Game | AppID |
|---|---|
| Super Smash Bros. Ultimate | 0x34f80200 |