94 WUT_CHECK_OFFSET(
Date, 0x0, year);
95 WUT_CHECK_OFFSET(
Date, 0x2, month);
96 WUT_CHECK_OFFSET(
Date, 0x3, day);
97 WUT_CHECK_SIZE(
Date, 0x4);
123 WUT_CHECK_OFFSET(
TagId, 0x0, size);
124 WUT_CHECK_OFFSET(
TagId, 0x1, uid);
125 WUT_CHECK_SIZE(
TagId, 0xB);
140 WUT_CHECK_OFFSET(
TagInfo, 0x0,
id);
141 WUT_CHECK_OFFSET(
TagInfo, 0xB, reserved0);
142 WUT_CHECK_OFFSET(
TagInfo, 0x20, technology);
143 WUT_CHECK_OFFSET(
TagInfo, 0x21, tag_type);
144 WUT_CHECK_OFFSET(
TagInfo, 0x22, reserved1);
168 WUT_CHECK_OFFSET(
CommonInfo, 0x0, lastWriteDate);
170 WUT_CHECK_OFFSET(
CommonInfo, 0x6, characterID);
172 WUT_CHECK_OFFSET(
CommonInfo, 0xA, numberingID);
173 WUT_CHECK_OFFSET(
CommonInfo, 0xC, figureType);
174 WUT_CHECK_OFFSET(
CommonInfo, 0xD, figureVersion);
175 WUT_CHECK_OFFSET(
CommonInfo, 0xE, applicationAreaSize);
192 uint8_t reserved[0x2c];
205 uint8_t characterID[3];
213 uint8_t reserved[0x2f];
236 uint8_t reserved[0x2d];
259 uint8_t reserved[0x2f];
261 WUT_CHECK_OFFSET(
AdminInfo, 0x0, titleID);
262 WUT_CHECK_OFFSET(
AdminInfo, 0x8, accessID);
263 WUT_CHECK_OFFSET(
AdminInfo, 0xC, applicationAreaWrites);
265 WUT_CHECK_OFFSET(
AdminInfo, 0xF, formatVersion);
266 WUT_CHECK_OFFSET(
AdminInfo, 0x10, platform);
267 WUT_CHECK_OFFSET(
AdminInfo, 0x11, reserved);
278 asm("GetNfpState__Q2_2nn3nfpFv");
285 asm("Initialize__Q2_2nn3nfpFv");
292 asm("Finalize__Q2_2nn3nfpFv");
303 asm("AntennaCheck__Q2_2nn3nfpFv");
314 asm("SetActivateEvent__Q2_2nn3nfpFP7OSEvent");
325 asm("SetDeactivateEvent__Q2_2nn3nfpFP7OSEvent");
333 asm("StartDetection__Q2_2nn3nfpFv");
341 asm("StopDetection__Q2_2nn3nfpFv");
350 asm("Mount__Q2_2nn3nfpFv");
359 asm("MountReadOnly__Q2_2nn3nfpFv");
368 asm("MountRom__Q2_2nn3nfpFv");
377 asm("Flush__Q2_2nn3nfpFv");
390 asm("Unmount__Q2_2nn3nfpFv");
402 asm("IsExistApplicationArea__Q2_2nn3nfpFv");
412 asm("InitializeCreateInfo__Q2_2nn3nfpFPQ3_2nn3nfp25ApplicationAreaCreateInfo");
425 asm("CreateApplicationArea__Q2_2nn3nfpFRCQ3_2nn3nfp25ApplicationAreaCreateInfo");
438 asm("OpenApplicationArea__Q2_2nn3nfpFUi");
448 asm("DeleteApplicationArea__Q2_2nn3nfpFv");
467 asm("WriteApplicationArea__Q2_2nn3nfpFPCvUiRCQ3_2nn3nfp5TagId");
483 asm("ReadApplicationArea__Q2_2nn3nfpFPvUi");
493 asm("InitializeRegisterInfoSet__Q2_2nn3nfpFPQ3_2nn3nfp15RegisterInfoSet");
505 asm("SetNfpRegisterInfo__Q2_2nn3nfpFRCQ3_2nn3nfp15RegisterInfoSet");
517 asm("GetNfpRegisterInfo__Q2_2nn3nfpFPQ3_2nn3nfp12RegisterInfo");
526 asm("DeleteNfpRegisterInfo__Q2_2nn3nfpFv");
538 asm("GetNfpCommonInfo__Q2_2nn3nfpFPQ3_2nn3nfp10CommonInfo");
550 asm("GetNfpReadOnlyInfo__Q2_2nn3nfpFPQ3_2nn3nfp12ReadOnlyInfo");
562 asm("GetNfpAdminInfo__Q2_2nn3nfpFPQ3_2nn3nfp9AdminInfo");
574 asm("GetNfpRomInfo__Q2_2nn3nfpFPQ3_2nn3nfp7RomInfo");
586 asm("GetTagInfo__Q2_2nn3nfpFPQ3_2nn3nfp7TagInfo");
601 Format(const uint8_t *data, int32_t size)
602 asm("Format__Q2_2nn3nfpFPCUci");
606 asm("Restore__Q2_2nn3nfpFv");
616 asm("GetErrorCode__Q2_2nn3nfpFRCQ2_2nn6Result");
Result value type used by nn libraries.
nn::Result StopDetection() asm("StopDetection__Q2_2nn3nfpFv")
Stops searching for tags.
uint8_t reserved1[0x32]
reserved bytes
nn::Result WriteApplicationArea(const void *data, uint32_t size, const TagId &id) asm("WriteApplicationArea__Q2_2nn3nfpFPCvUiRCQ3_2nn3nfp5TagId")
Writes data to the opened application area.
uint64_t titleID
The titleID of the application which wrote to the application data.
uint8_t characterID[3]
The character id of the amiibo.
uint16_t numberingID
Numbering ID of the amiibo.
nn::Result DeleteNfpRegisterInfo() asm("DeleteNfpRegisterInfo__Q2_2nn3nfpFv")
Deletes the register info of the mounted tag.
NfpState GetNfpState() asm("GetNfpState__Q2_2nn3nfpFv")
Gets the state nfp is currently in.
NFCTechnology technology
Technology (always NFC_TECHNOLOGY_A)
nn::Result Mount() asm("Mount__Q2_2nn3nfpFv")
Mounts a found tag.
uint16_t applicationAreaWrites
The amount of times the application area was written to.
nn::Result Initialize() asm("Initialize__Q2_2nn3nfpFv")
Initializes NFP.
uint8_t month
Month (0 - 11)
uint16_t writes
The amount of times this tag was written to.
nn::Result DeleteApplicationArea() asm("DeleteApplicationArea__Q2_2nn3nfpFv")
Deletes the application area.
uint8_t figureVersion
The version of this figure (always 0x00)
nn::Result GetNfpAdminInfo(AdminInfo *outInfo) asm("GetNfpAdminInfo__Q2_2nn3nfpFPQ3_2nn3nfp9AdminInfo")
Gets the admin info of the mounted tag.
uint8_t platform
The platform which wrote to the amiibo (0x01 if Wii U)
nn::Result StartDetection() asm("StartDetection__Q2_2nn3nfpFv")
Starts searching for tags.
nn::Result Flush() asm("Flush__Q2_2nn3nfpFv")
Writes any changes done while mounted to the tag.
uint16_t year
Year (Starting at 0)
uint8_t figureType
The type of this figure.
nn::Result ReadApplicationArea(void *outData, uint32_t size) asm("ReadApplicationArea__Q2_2nn3nfpFPvUi")
Reads data from the opened application area.
uint8_t reserved0[0x15]
reserved bytes
FFLStoreData mii
The mii this figure was registered with.
void * data
The initial data to write to the area.
uint8_t reserved[0x30]
reserved bytes, must be set to 0
ResultDescription
NN_NFP result descriptions for nn::Result::GetDescription.
@ RESULT_APP_AREA_ALREADY_EXISTS
@ RESULT_APP_AREA_TAGID_MISMATCH
@ RESULT_INVALID_TAG_INFO
@ RESULT_APP_AREA_MISSING
@ RESULT_APP_AREA_ACCESS_ID_MISMATCH
@ RESULT_NO_BACKUP_SAVEDATA
@ RESULT_NO_REGISTER_INFO
@ RESULT_INVALID_ALIGNMENT
nn::Result InitializeRegisterInfoSet(RegisterInfoSet *infoSet) asm("InitializeRegisterInfoSet__Q2_2nn3nfpFPQ3_2nn3nfp15RegisterInfoSet")
Initializes a RegisterInfoSet struct.
uint8_t country
Country code.
nn::Result MountReadOnly() asm("MountReadOnly__Q2_2nn3nfpFv")
Mounts a found tag as read-only.
uint16_t applicationAreaSize
The size of the application area.
nn::Result SetNfpRegisterInfo(const RegisterInfoSet &info) asm("SetNfpRegisterInfo__Q2_2nn3nfpFRCQ3_2nn3nfp15RegisterInfoSet")
Sets the register info of the mounted tag.
nn::Result AntennaCheck() asm("AntennaCheck__Q2_2nn3nfpFv")
Checks if the NFC Antenna can be used.
nn::Result GetNfpReadOnlyInfo(ReadOnlyInfo *outInfo) asm("GetNfpReadOnlyInfo__Q2_2nn3nfpFPQ3_2nn3nfp12ReadOnlyInfo")
Gets the read only info of the mounted tag.
nn::Result GetNfpRegisterInfo(RegisterInfo *outInfo) asm("GetNfpRegisterInfo__Q2_2nn3nfpFPQ3_2nn3nfp12RegisterInfo")
Gets the register info of the mounted tag.
nn::Result MountRom() asm("MountRom__Q2_2nn3nfpFv")
Mounts a found tag in ROM mode.
Date registerDate
The date when the amiibo was registered.
@ IsRegistered
The tag was registered and contains register info.
@ HasApplicationData
The tag contains an application area.
nn::Result GetTagInfo(TagInfo *outInfo) asm("GetTagInfo__Q2_2nn3nfpFPQ3_2nn3nfp7TagInfo")
Gets the tag info.
TagId id
The id of the tag.
nn::Result OpenApplicationArea(uint32_t accessID) asm("OpenApplicationArea__Q2_2nn3nfpFUi")
Opens the application area for reading and writing.
nn::Result SetDeactivateEvent(OSEvent *event) asm("SetDeactivateEvent__Q2_2nn3nfpFP7OSEvent")
Sets an event which will be signalled once a tag has been lost.
nn::Result SetActivateEvent(OSEvent *event) asm("SetActivateEvent__Q2_2nn3nfpFP7OSEvent")
Sets an event which will be signalled once a tag has been found.
nn::Result GetNfpCommonInfo(CommonInfo *outInfo) asm("GetNfpCommonInfo__Q2_2nn3nfpFPQ3_2nn3nfp10CommonInfo")
Gets the common info of the mounted tag.
nn::Result Unmount() asm("Unmount__Q2_2nn3nfpFv")
Unmounts a currently mounted tag.
uint32_t size
The size of the data.
nn::Result InitializeCreateInfo(ApplicationAreaCreateInfo *info) asm("InitializeCreateInfo__Q2_2nn3nfpFPQ3_2nn3nfp25ApplicationAreaCreateInfo")
Initializes a ApplicationAreaCreateInfo struct.
uint32_t accessID
The access ID with which the area should be created.
@ Initialized
nn_nfp has been initialized
@ Found
A tag has been found.
@ Searching
Searching for a tag.
@ MountedROM
The tag was mounted in ROM mode.
@ Removed
Tag was removed.
@ Mounted
The tag is mounted.
@ Uninitialized
nn_nfp is uninitialized
nn::Result CreateApplicationArea(const ApplicationAreaCreateInfo &createInfo) asm("CreateApplicationArea__Q2_2nn3nfpFRCQ3_2nn3nfp25ApplicationAreaCreateInfo")
Initializes the application area of the tag.
TagType tag_type
Tag type (always TagType::Type2Tag)
uint8_t formatVersion
The version of the amiibo format (always 0x02)
nn::Result Restore() asm("Restore__Q2_2nn3nfpFv")
uint8_t seriesID
The series this amiibo is from.
uint8_t fontRegion
Font region.
uint8_t uid[10]
The uid of the tag.
uint32_t GetErrorCode(const nn::Result &res) asm("GetErrorCode__Q2_2nn3nfpFRCQ2_2nn6Result")
Converts a nn::Result to an error code.
nn::Result GetNfpRomInfo(RomInfo *outInfo) asm("GetNfpRomInfo__Q2_2nn3nfpFPQ3_2nn3nfp7RomInfo")
Gets the rom info of the mounted tag.
nn::Result Finalize() asm("Finalize__Q2_2nn3nfpFv")
Finalizes NFP.
bool IsExistApplicationArea() asm("IsExistApplicationArea__Q2_2nn3nfpFv")
Checks if the tag contains application data.
uint8_t size
The size of the id.
nn::Result Format(const uint8_t *data, int32_t size) asm("Format__Q2_2nn3nfpFPCUci")
Formats a found tag.
Date lastWriteDate
The date when the tag was last written to.