diff --git a/libctru/include/3ds/services/cfgu.h b/libctru/include/3ds/services/cfgu.h index 5da6937..88b9a01 100644 --- a/libctru/include/3ds/services/cfgu.h +++ b/libctru/include/3ds/services/cfgu.h @@ -84,6 +84,12 @@ Result CFGU_GetCountryCodeString(u16 code, u16* string); */ Result CFGU_GetCountryCodeID(u16 string, u16* code); +/** + * @brief Checks if NFC (code name: fangate) is supported. + * @param isSupported pointer to the output the result to. + */ +Result CFGU_IsNFCSupported(bool* isSupported); + /** * @brief Gets a config info block with flags = 2. * @param size Size of the data to retrieve. diff --git a/libctru/source/services/cfgu.c b/libctru/source/services/cfgu.c index d8ec8d3..f9dced2 100644 --- a/libctru/source/services/cfgu.c +++ b/libctru/source/services/cfgu.c @@ -133,6 +133,20 @@ Result CFGU_GetCountryCodeID(u16 string, u16* code) return (Result)cmdbuf[1]; } +Result CFGU_IsNFCSupported(bool* isSupported) +{ + Result ret = 0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0xB,0,0); // 0x000B0000 + + if(R_FAILED(ret = svcSendSyncRequest(cfguHandle)))return ret; + + *isSupported = cmdbuf[2] & 0xFF; + + return (Result)cmdbuf[1]; +} + // See here for block IDs: // http://3dbrew.org/wiki/Config_Savegame#Configuration_blocks Result CFGU_GetConfigInfoBlk2(u32 size, u32 blkID, u8* outData)