35 WUT_PADDING_BYTES(0x3);
38 WUT_PADDING_BYTES(0x1C);
80 WUT_PADDING_BYTES(0x2);
95 WUT_PADDING_BYTES(0x2);
98 WUT_PADDING_BYTES(0x20);
111 WUT_PADDING_BYTES(0x3);
114 WUT_PADDING_BYTES(0x20);
116 WUT_CHECK_OFFSET(
NTAGData, 0x00, uid);
117 WUT_CHECK_OFFSET(
NTAGData, 0x07, readOnly);
118 WUT_CHECK_OFFSET(
NTAGData, 0x08, formatVersion);
119 WUT_CHECK_OFFSET(
NTAGData, 0x0C, rwInfo);
120 WUT_CHECK_OFFSET(
NTAGData, 0x3C, roInfo);
129 uint8_t characterID[3];
146 uint8_t reserved[0x1FC];
150 WUT_CHECK_OFFSET(
NTAGInfoT2T, 0x03, figureVersion);
157 WUT_CHECK_OFFSET(
NTAGInfoT2T, 0x10, applicationAreaWrites);
165 WUT_CHECK_OFFSET(
NTAGInfoT2T, 0x90, lastWriteDate);
189 uint8_t figureVersion;
194 uint16_t lastWriteDate;
199 uint8_t tagHmac[0x20];
200 uint8_t characterID[3];
202 uint16_t numberingID;
204 uint8_t formatVersion;
206 uint8_t keygenSalt[0x20];
207 uint8_t dataHmac[0x20];
212 uint16_t applicationAreaWrites;
214 uint8_t reserved[0x22];
250 WUT_CHECK_OFFSET(
NTAGRawDataT2T, 0x108, section2.applicationAreaWrites);
279 WUT_PADDING_BYTES(0x20);
282 WUT_CHECK_OFFSET(
NTAGDataT2T, 0x02D, formatVersion);
478 return NFCDetect(chan, timeout, callback, userContext);
827 uint32_t *dynamicLock,
898 uint8_t authenticate);
void(* NFCTagDetectCallbackFn)(VPADChan chan, BOOL hasTag, void *userContext)
Callback function for NFCSetTagDetectCallback.
void(* NFCDetectCallbackFn)(VPADChan chan, NFCError error, NFCUid *uid, BOOL readOnly, BOOL hasLockedData, NFCNDEFFlags flags, void *userContext)
Callback function for NFCDetect.
NFCError NFCDetect(VPADChan chan, uint32_t discoveryTimeout, NFCDetectCallbackFn callback, void *userContext)
Start tag discovery and provide info about the first detected tag.
NTAGApplicationDataT2T appData
uint16_t applicationAreaWrites
uint8_t capabilityContainer[4]
struct NTAGRawDataT2T::@44 section2
uint8_t applicationData[0xD8]
NTAGRawDataContainerT2T raw
struct NTAGRawDataT2T::@42 section0
struct NTAGRawDataT2T::@43 section1
NTAGError NTAGReadT2T(VPADChan chan, uint32_t timeout, NFCUid *uid, NFCUid *uidMask, NTAGReadT2TCallbackFn callback, void *userContext)
Read from a Type 2 Tag and decrypt & convert the data.
void NTAGSetTagDetectCallback(VPADChan chan, NFCTagDetectCallbackFn callback, void *userContext)
Set a callback which will be called once a tag is attached / removed.
NTAGError NTAGRead(VPADChan chan, uint32_t timeout, NFCUid *uid, NFCUid *uidMask, NTAGReadCallbackFn callback, void *userContext)
Read from a Type 1 Tag.
NTAGError NTAGReadT2TRawData(VPADChan chan, uint32_t timeout, NFCUid *uid, NFCUid *uidMask, NTAGReadT2TRawDataCallbackFn callback, void *userContext)
Read raw data from a Type 2 Tag.
BOOL NTAGIsInit(VPADChan chan)
Check if NTAG is initialized.
void(* NTAGReadT2TRawDataCallbackFn)(VPADChan chan, NTAGError error, NFCTagInfo *tagInfo, NTAGRawDataContainerT2T *rawData, void *userContext)
Callback function for NTAGReadT2TRawData.
NTAGError NTAGWriteT2TLockArea(VPADChan chan, uint32_t timeout, NFCUid *uid, uint32_t *lockBytes, uint32_t *dynamicLock, uint32_t *cc, NTAGCallbackFn callback, void *userContext)
Write to the lock bytes of a Type 2 Tag.
void(* NTAGReadCallbackFn)(VPADChan chan, NTAGError error, NTAGData *data, void *userContext)
Callback function for NTAGRead.
NTAGError NTAGFormat(VPADChan chan, uint32_t timeout, NFCUid *uid, uint32_t rwSize, void *rwData, NTAGCallbackFn callback, void *userContext)
Format a Type 1 Tag.
void(* NTAGReadT2TCallbackFn)(VPADChan chan, NTAGError error, NTAGDataT2T *data, void *userContext)
Callback function for NTAGReadT2T.
void(* NTAGCallbackFn)(VPADChan chan, NTAGError error, void *userContext)
Generic callback function.
NTAGError NTAGWriteT2TWithConvert(VPADChan chan, uint32_t timeout, NFCUid *uid, NTAGDataT2T *data, NTAGCallbackFn callback, void *userContext)
Convert & encrypt data and write it to a Type 2 Tag.
NTAGError NTAGWriteT2T(VPADChan chan, uint32_t timeout, NFCUid *uid, NTAGRawDataContainerT2T *dataContainer, NTAGCallbackFn callback, void *userContext)
Write to a Type 2 Tag.
void NTAGSetFormatSettings(NTAGFormatSettings *settings)
Set the format settings which should be checked against while reading from Type 1 tags.
NTAGError NTAGShutdown(VPADChan chan)
Shutdown the NTAG library.
NTAGError NTAGInit(VPADChan chan)
Initializes the NTAG library.
NTAGError NTAGInitEx(VPADChan chan)
Initializes the NTAG library.
NTAGError NTAGParseHeader(void *data, NTAGNoftHeader *outNoftHeader, NTAGInfoHeader *outInfoHeader, NTAGAreaHeader *outRwHeader, NTAGAreaHeader *outRoHeader)
Parse the headers from Type 1 Tag data.
NTAGError NTAGAbort(VPADChan chan, NTAGCallbackFn callback, void *userContext)
Abort pending NTAG operations.
void NTAGProc(VPADChan chan)
Process NTAG.
NTAGError NTAGWriteT2TRawDataEx(VPADChan chan, uint32_t timeout, NFCUid *uid, NTAGRawDataT2T *data, NTAGCallbackFn callback, void *userContext, uint8_t authenticate)
Write raw data to a Type 2 Tag.
static NFCError NTAGDetect(VPADChan chan, uint32_t timeout, NFCDetectCallbackFn callback, void *userContext)
Start tag discovery and provide info about the first detected tag.
NTAGError NTAGWriteT2TConfigArea(VPADChan chan, uint32_t timeout, NFCUid *uid, uint32_t *cfg0, uint32_t *cfg1, uint32_t *pwd, uint16_t *pack, NTAGCallbackFn callback, void *userContext)
Write to the configuration fields of a Type 2 Tag.
NTAGError NTAGSetReadOnly(VPADChan chan, uint32_t timeout, NFCUid *uid, NFCUid *uidMask, BOOL readOnly, NTAGCallbackFn callback, void *userContext)
Make a Type 1 Tag read only by setting the RWA byte.
NTAGError NTAGWrite(VPADChan chan, uint32_t timeout, NFCUid *uid, uint32_t rwSize, void *rwData, NTAGCallbackFn callback, void *userContext)
Write to the RW area of a Type 1 Tag.
NTAGError NTAGWriteT2TRawData(VPADChan chan, uint32_t timeout, NFCUid *uid, NTAGRawDataT2T *data, NTAGCallbackFn callback, void *userContext)
Write raw data to a Type 2 Tag.
NTAGError NTAGConvertT2T(NTAGDataT2T *out, NTAGDataT2T *in)
Convert and encrypt data.
VPADChan
Wii U GamePad channel.