wut  v1.7.0
Wii U Toolchain
Data Structures | Typedefs | Enumerations | Functions
nfc.h File Reference
#include <wut.h>
#include <vpadbase/base.h>
Include dependency graph for nfc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  NFCUid
 
struct  NFCTagInfo
 
struct  NFCNTAGVersion
 
struct  NFCReadT2TResult
 

Typedefs

typedef int32_t NFCError
 
typedef uint8_t NFCProtocol
 
typedef uint8_t NFCTechnology
 
typedef uint8_t NFCTechnologyMask
 
typedef uint8_t NFCNDEFFlags
 
typedef struct NFCUid NFCUid
 
typedef struct NFCTagInfo NFCTagInfo
 
typedef struct NFCNTAGVersion NFCNTAGVersion
 
typedef struct NFCReadT2TResult NFCReadT2TResult
 
typedef enum NFCMode NFCMode
 
typedef enum NFCProtocolEnum NFCProtocolEnum
 
typedef enum NFCTechnologyEnum NFCTechnologyEnum
 
typedef enum NFCTechnologyMaskEnum NFCTechnologyMaskEnum
 
typedef enum NFCNDEFFlagsEnum NFCNDEFFlagsEnum
 
typedef void(* NFCCallbackFn) (VPADChan chan, NFCError error, void *userContext)
 Generic callback function. More...
 
typedef void(* NFCTagDetectCallbackFn) (VPADChan chan, BOOL hasTag, void *userContext)
 Callback function for NFCSetTagDetectCallback. More...
 
typedef void(* NFCDetectCallbackFn) (VPADChan chan, NFCError error, NFCUid *uid, BOOL readOnly, BOOL hasLockedData, NFCNDEFFlags flags, void *userContext)
 Callback function for NFCDetect. More...
 
typedef void(* NFCRawDataCallbackFn) (VPADChan chan, NFCError error, uint32_t responseSize, void *responseData, void *userContext)
 Callback function for NFCSendRawData and variations. More...
 
typedef void(* NFCRawDataTwiceCallbackFn) (VPADChan chan, NFCError error, uint8_t numCompleted, uint32_t response0Size, void *response0Data, uint32_t response1Size, void *response1Data, void *userContext)
 Callback function for NFCSendRawDataTwice and variations. More...
 
typedef void(* NFCReadCallbackFn) (VPADChan chan, NFCError error, NFCUid *uid, BOOL readOnly, uint32_t dataSize, void *data, uint32_t lockedDataSize, void *lockedData, void *userContext)
 Callback function for NFCRead. More...
 
typedef void(* NFCReadT2TCallbackFn) (VPADChan chan, NFCError error, uint8_t rfDiscId, NFCProtocol protocol, NFCTechnology technology, uint8_t uidSize, uint8_t *uid, NFCNTAGVersion *version, NFCReadT2TResult *result, void *userContext)
 Callback function for NFCReadT2T. More...
 
typedef void(* NFCGetTagInfoCallbackFn) (VPADChan chan, NFCError error, NFCTagInfo *tagInfo, void *userContext)
 Callback function for NFCGetTagInfo. More...
 
typedef void(* NFCGetTagInfoMultiCallbackFn) (VPADChan chan, NFCError error, uint8_t numTagInfos, NFCTagInfo *tagInfo0, NFCTagInfo *tagInfo1, NFCTagInfo *tagInfo2, void *userContext)
 Callback function for NFCGetTagInfoMulti. More...
 

Enumerations

enum  NFCMode {
  NFC_MODE_INVALID = -1 ,
  NFC_MODE_IDLE = 0 ,
  NFC_MODE_ACTIVE = 1
}
 
enum  NFCProtocolEnum {
  NFC_PROTOCOL_UNKNOWN = 0x00 ,
  NFC_PROTOCOL_T1T = 0x01 ,
  NFC_PROTOCOL_T2T = 0x02 ,
  NFC_PROTOCOL_T3T = 0x03 ,
  NFC_PROTOCOL_ISO_DEP = 0x04 ,
  NFC_PROTOCOL_15693 = 0x83
}
 
enum  NFCTechnologyEnum {
  NFC_TECHNOLOGY_A = 0x00 ,
  NFC_TECHNOLOGY_B = 0x01 ,
  NFC_TECHNOLOGY_F = 0x02 ,
  NFC_TECHNOLOGY_ISO15693 = 0x06
}
 
enum  NFCTechnologyMaskEnum {
  NFC_TECHNOLOGY_MASK_ALL = 0 ,
  NFC_TECHNOLOGY_MASK_A = (1 << 0) ,
  NFC_TECHNOLOGY_MASK_B = (1 << 1) ,
  NFC_TECHNOLOGY_MASK_F = (1 << 2) ,
  NFC_TECHNOLOGY_MASK_ISO15693 = (1 << 3)
}
 
enum  NFCNDEFFlagsEnum {
  NFC_NDEF_FLAG_READ_ONLY = (1 << 0) ,
  NFC_NDEF_FLAG_FORMATED = (1 << 1) ,
  NFC_NDEF_FLAG_SUPPORTED = (1 << 2) ,
  NFC_NDEF_FLAG_UNKNOWN = (1 << 3) ,
  NFC_NDEF_FLAG_FORMATABLE = (1 << 4) ,
  NFC_NDEF_FLAG_SOFT_LOCKABLE = (1 << 5) ,
  NFC_NDEF_FLAG_HARD_LOCKABLE = (1 << 6) ,
  NFC_NDEF_FLAG_OTP = (1 << 7)
}
 

Functions

NFCError NFCInit (VPADChan chan)
 Initializes the NFC library. More...
 
NFCError NFCInitEx (VPADChan chan, uint32_t powerMode)
 Initializes the NFC library. More...
 
NFCError NFCShutdown (VPADChan chan)
 Shutdown the NFC library. More...
 
BOOL NFCIsInit (VPADChan chan)
 Check if NFC is initialized. More...
 
void NFCProc (VPADChan chan)
 Process NFC. More...
 
void NFCSetTagDetectCallback (VPADChan chan, NFCTagDetectCallbackFn callback, void *userContext)
 Set a callback which will be called once a tag is attached / removed. More...
 
NFCMode NFCGetMode (VPADChan chan)
 Get the current NFC mode. More...
 
NFCError NFCSetMode (VPADChan chan, NFCMode mode)
 Set the current NFC mode. More...
 
NFCError NFCAbort (VPADChan chan, NFCCallbackFn callback, void *userContext)
 Abort pending NFC operations. More...
 
NFCError NFCAntennaCheck (VPADChan chan, NFCCallbackFn callback, void *userContext)
 Check the NFC antenna. More...
 
NFCError NFCDetect (VPADChan chan, uint32_t discoveryTimeout, NFCDetectCallbackFn callback, void *userContext)
 Start tag discovery and provide info about the first detected tag. More...
 
NFCError NFCSetLockBitsForT1T (VPADChan chan, uint8_t numBlocks, NFCRawDataCallbackFn callback, void *userContext)
 This will lock an area of blocks at the end of a 512-byte Type 1 Tag. More...
 
NFCError NFCRead (VPADChan chan, uint32_t discoveryTimeout, NFCUid *uid, NFCUid *uidMask, NFCReadCallbackFn callback, void *userContext)
 Read from a tag. More...
 
NFCError NFCWrite (VPADChan chan, uint32_t discoveryTimeout, NFCUid *uid, NFCUid *uidMask, uint32_t size, void *data, NFCCallbackFn callback, void *userContext)
 Write to a tag. More...
 
NFCError NFCSendRawData (VPADChan chan, BOOL startDiscovery, uint32_t discoveryTimeout, uint32_t commandTimeout, uint32_t commandSize, uint32_t responseSize, void *commandData, NFCRawDataCallbackFn callback, void *userContext)
 Send a raw NFC command to a tag. More...
 
NFCError NFCSendRawDataEx (VPADChan chan, BOOL startDiscovery, uint32_t discoveryTimeout, uint32_t commandTimeout, uint32_t commandSize, uint32_t responseSize, void *commandData, BOOL disableCRC, NFCRawDataCallbackFn callback, void *userContext)
 Send a raw NFC command to a tag. More...
 
NFCError NFCSendRawDataEx2 (VPADChan chan, BOOL startDiscovery, uint32_t discoveryTimeout, uint32_t commandTimeout, uint32_t commandSize, uint32_t responseSize, void *commandData, BOOL disableCRC, NFCTechnologyMask techMask, NFCRawDataCallbackFn callback, void *userContext)
 Send a raw NFC command to a tag. More...
 
NFCError NFCSendRawDataWithPrePolling (VPADChan chan, BOOL startDiscovery, uint32_t discoveryTimeout, uint32_t commandTimeout, uint32_t commandSize, uint32_t responseSize, void *commandData, NFCRawDataCallbackFn callback, void *userContext)
 Send a raw NFC command to a tag. More...
 
NFCError NFCSendRawDataWithPrePollingEx (VPADChan chan, BOOL startDiscovery, uint32_t discoveryTimeout, uint32_t commandTimeout, uint32_t commandSize, uint32_t responseSize, void *commandData, NFCRawDataCallbackFn callback, void *userContext)
 Send a raw NFC command to a tag. More...
 
NFCError NFCSendRawDataTwice (VPADChan chan, uint32_t command0Timeout, uint32_t command0Size, uint32_t response0Size, void *command0Data, uint32_t command1Timeout, uint32_t command1Size, uint32_t response1Size, void *command1Data, NFCRawDataTwiceCallbackFn callback, void *userContext)
 Send two raw NFC commands to an activated tag. More...
 
NFCError NFCFormat (VPADChan chan, uint32_t discoveryTimeout, NFCUid *uid, NFCUid *uidMask, NFCCallbackFn callback, void *userContext)
 Check if the tag is NDEF Formatable. More...
 
NFCError NFCGetTagInfo (VPADChan chan, uint32_t discoveryTimeout, NFCGetTagInfoCallbackFn callback, void *userContext)
 Obtain info about tags. More...
 
NFCError NFCGetTagInfoMulti (VPADChan chan, uint32_t discoveryTimeout, NFCGetTagInfoMultiCallbackFn callback, void *userContext)
 Obtain info about multiple tags. More...
 
NFCError NFCIsTagPresent (VPADChan chan, uint32_t discoveryTimeout, NFCUid *uid, NFCUid *uidMask, NFCCallbackFn callback, void *userContext)
 Check if a tag is still present. More...
 
NFCError NFCSetReadOnly (VPADChan chan, uint32_t discoveryTimeout, NFCUid *uid, NFCUid *uidMask, BOOL readOnly, NFCCallbackFn callback, void *userContext)
 Make a Type 1 Tag read only by setting the RWA byte. More...
 
NFCError NFCReadT2T (VPADChan chan, uint32_t discoveryTimeout, NFCUid *uid, NFCUid *uidMask, NFCNTAGVersion *version, uint32_t commandTimeout, uint8_t numReads, uint8_t read0Start, uint8_t read0End, uint8_t read1Start, uint8_t read1End, uint8_t read2Start, uint8_t read2End, uint8_t read3Start, uint8_t read3End, uint8_t authenticate, NFCReadT2TCallbackFn callback, void *userContext)
 Read data from a Type 2 NTAG. More...
 
NFCError NFCWriteT2T (VPADChan chan, uint16_t discoveryTimeout, NFCUid *uid, NFCUid *uidMask, NFCNTAGVersion *version, uint32_t commandTimeout, uint8_t numWrites, uint8_t write0Start, uint8_t write0Size, void *write0Data, uint8_t write1Start, uint8_t write1Size, void *write1Data, uint8_t write2Start, uint8_t write2Size, void *write2Data, uint8_t write3Start, uint8_t write3Size, void *write3Data, uint8_t activationStart, uint32_t *deactivationData, uint32_t *activationData, uint8_t authenticate, uint8_t activate, NFCCallbackFn callback, void *userContext)
 Write data to a Type 2 NTAG. More...
 
void NFCGetUIDFromActivationEventData (void *data, NFCProtocol *outProtocol, NFCTechnology *outTechnology, uint8_t *outUidSize, uint8_t *outUid)
 Get the UID and other parameters from activation event data. More...
 
NFCError __NFCSystemAbort (VPADChan chan)
 Abort and call pending callbacks. More...