NDEF: NDEF (NFC Data Exchange Format)

NDEF
NDEF (NFC Data Exchange Format)

The NDEF layer provides several functionalities required for NDEF message management.

The NDEF layer is MISRA C 2012 compliant (Motor Industry Software Reliability Association).

The NFC technologies currently supported by the NDEF layer are:

  • T2T
  • T3T
  • T4AT
  • T4BT
  • T5T

The NDEF library design is split in RF Technology-dependent layer and RF Technology-independent layer:

  • Message, record and supported types management layer (Technology independent)
  • NDEF wrapper layer abstracting the underlying technologies
  • NDEF Technology layer defining a common API on top of the RFAL (Technology dependent)

The NDEF wrapper on top of the NDEF Technology-dependent components allows to manage NDEF tags without taking care of the underlying NFC Technologies.

NDEF
Message, Record and supported types
NDEF Wrapper
NDEF T2T | NDEF T3T | NDEF T4T | NDEF T5T
RFAL
ST25R3911 | ST25R3916 |  | ST25R95

The types currently supported are the following:

  • RTD Device Information
  • RTD Text
  • RTD URI
  • AAR (Android Application Record)
  • vCard
  • Wifi

Examples

Two NDEF usage examples are provided here to show how to create and read message, records and the supported types:

  • ndef_example_read.c:
    In this example, an NFC device is detected, activated and the NDEF content is read from the tag.
  • ndef_example_write.c:
    In this example, an NFC device is detected, activated and an NDEF message is encoded and written to the tag.

Setting up NDEF

The following modules need to be enabled in platform.h

  • for NDEF T2T:
    RFAL_FEATURE_NFCA and RFAL_FEATURE_T2T
  • for NDEF T3T:
    RFAL_FEATURE_NFCF
  • for NDEF T4AT:
    RFAL_FEATURE_NFCA and RFAL_FEATURE_T4T
  • for NDEF T4BT:
    RFAL_FEATURE_NFCB and RFAL_FEATURE_T4T
  • for NDEF T5T:
    RFAL_FEATURE_NFCV

When the user only needs to read NDEF from tags (i.e. no NDEF write, no tag format), NDEF_FEATURE_ALL can be set to false in ndef_poller.h to reduce the code size.

Setting up RFAL

Please refer to the RFAL documentation for the proper setup and configuration.

NDEF Resources

Limited memory requirement for message and record handling:

  • sizeof(ndefMessage) = 12 bytes
  • sizeof(ndefRecord) = 28 bytes

Limited memory requirement for supported types handling:

  • sizeof(ndefType) = 268 bytes

ndefType is the union of the following elementary types:

  • sizeof(ndefTypeRtdDeviceInfo) = 40 bytes
  • sizeof(ndefTypeRtdText) = 20 bytes
  • sizeof(ndefTypeRtdUri) = 12 bytes
  • sizeof(ndefTypeRtdAar) = 16 bytes
  • sizeof(ndefTypeMedia) = 16 bytes
  • sizeof(ndefTypeVCard) = 256 bytes
  • sizeof(ndefTypeWifi) = 20 bytes)

Detailed analysis of compiled NDEF modules:

   text	   data	    bss	    dec	    hex	filename
    814	     24	      0	    838	    346	ndef_poller.o
   1674	      0	      0	   1674	    68a	ndef_t2t.o
   2020	      0	      0	   2020	    7e4	ndef_t3t.o
   2218	      0	      0	   2218	    8aa	ndef_t4t.o
   2918	      0	      0	   2918	    b66	ndef_t5t.o
    422	      1	    280	    703	    2bf	ndef_message.o
   1014	      0	      0	   1014	    3f6	ndef_record.o
    634	     73	      0	    707	    2c3	ndef_type_wifi.o
    678	      8	      0	    686	    2ae	ndef_types.o
   2262	     12	      0	   2274	    8e2	ndef_types_mime.o
   2966	     12	      0	   2978	    ba2	ndef_types_rtd.o
  17620	    130	    280	  18030	   466e	(TOTALS)

Generated on Mon Jul 22 2019 14:19:58 for NDEF by doxygen 1.8.14


NDEF: Modules

NDEF
Modules
Here is a list of all modules:
NDEF


NDEF: NDEF

NDEF
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
NDEF

Data Structures

struct | ndefMessageInfo
struct | ndefMessageStruct
struct | ndefRecordStruct
struct | ndefTypeWifi
struct | ndefDeviceInfoEntry
struct | ndefTypeRtdDeviceInfo
struct | ndefTypeRtdText
struct | ndefTypeRtdUri
struct | ndefTypeRtdAar
struct | ndefTypeMedia
struct | ndefVCardInput
struct | ndefVCardEntry
struct | ndefTypeVCard
struct | ndefTypeStruct
struct | ndefInfo
struct | ndefSystemInformation
struct | ndefCapabilityContainerT1T
struct | ndefCapabilityContainerT2T
struct | ndefAttribInfoBlockT3T
struct | ndefCapabilityContainerT4T
struct | ndefCapabilityContainerT5T
union | ndefCapabilityContainer
struct | ndefT1TContext
struct | ndefT2TContext
struct | ndefT3TContext
struct | ndefT4TContext
struct | ndefT5TContext
struct | ndefContext
struct | ndefPollerWrapperStruct

Macros

#define | ndefMessageGetFirstRecord(message) (((message) == NULL) ? NULL : (message)->record)
#define | ndefMessageGetNextRecord(record) (((record) == NULL) ? NULL : (record)->next)
#define | NDEF_RECORD_HEADER_LEN 7U
#define | NDEF_SHORT_RECORD_LENGTH_MAX 255U
#define | NDEF_TNF_EMPTY 0U
#define | NDEF_TNF_RTD_WELL_KNOWN_TYPE 1U
#define | NDEF_TNF_MEDIA_TYPE 2U
#define | NDEF_TNF_URI 3U
#define | NDEF_TNF_RTD_EXTERNAL_TYPE 4U
#define | NDEF_TNF_UNKNOWN 5U
#define | NDEF_TNF_UNCHANGED 6U
#define | NDEF_TNF_RESERVED 7U
#define | NDEF_TNF_MASK 7U
#define | ndefHeader(MB, ME, CF, SR, IL, TNF) ((((MB) & 1U) << 7U) | (((ME) & 1U) << 6U) | (((CF) & 1U) << 5U) | (((SR) & 1U) << 4U) | (((IL) & 1U) << 3U) | ((uint8_t)(TNF) & NDEF_TNF_MASK) ) /*< Build the record header byte, made of MB, ME, CF, SR, IL bits and TNF type */
#define | ndefHeaderMB(record) ( ((record)->header & 0x80U) >> 7 )
#define | ndefHeaderME(record) ( ((record)->header & 0x40U) >> 6 )
#define | ndefHeaderCF(record) ( ((record)->header & 0x20U) >> 5 )
#define | ndefHeaderSR(record) ( ((record)->header & 0x10U) >> 4 )
#define | ndefHeaderIL(record) ( ((record)->header & 0x08U) >> 3 )
#define | ndefHeaderTNF(record) ( (record)->header & NDEF_TNF_MASK )
#define | ndefHeaderSetMB(record) ( (record)->header |= (1U << 7) )
#define | ndefHeaderSetME(record) ( (record)->header |= (1U << 6) )
#define | ndefHeaderSetCF(record) ( (record)->header |= (1U << 5) )
#define | ndefHeaderSetSR(record) ( (record)->header |= (1U << 4) )
#define | ndefHeaderSetIL(record) ( (record)->header |= (1U << 3) )
#define | ndefHeaderSetTNF(record, value) ( (record)->header |= (uint8_t)(value) & NDEF_TNF_MASK )
#define | ndefHeaderClearMB(record) ( (record)->header &= 0x7FU )
#define | ndefHeaderClearME(record) ( (record)->header &= 0xBFU )
#define | ndefHeaderClearCF(record) ( (record)->header &= 0xDFU )
#define | ndefHeaderClearSR(record) ( (record)->header &= 0xEFU )
#define | ndefHeaderClearIL(record) ( (record)->header &= 0xF7U )
#define | ndefHeaderClearTNF(record, value) ( (record)->header &= 0xF8U )
#define | ndefHeaderSetValueMB(record, value) do{ (record)->header &= 0x7FU; (record)->header |= (((uint8_t)(value)) & 1U) << 7; }while(0)
#define | ndefHeaderSetValueME(record, value) do{ (record)->header &= 0xBFU; (record)->header |= (((uint8_t)(value)) & 1U) << 6; }while(0)
#define | ndefHeaderSetValueSR(record, value) do{ (record)->header &= 0xEFU; (record)->header |= (((uint8_t)(value)) & 1U) << 4; }while(0)
#define | ndefHeaderIsSetMB(record) ( ndefHeaderMB(record) == 1U )
#define | ndefHeaderIsSetSR(record) ( ndefHeaderSR(record) == 1U )
#define | ndefHeaderIsSetIL(record) ( ndefHeaderIL(record) == 1U )
#define | NDEF_WIFI_AUTHENTICATION_NONE 0U
#define | NDEF_WIFI_AUTHENTICATION_WPAPSK 2U
#define | NDEF_WIFI_AUTHENTICATION_SHARED 3U
#define | NDEF_WIFI_AUTHENTICATION_WPA 4U
#define | NDEF_WIFI_AUTHENTICATION_WPA2 5U
#define | NDEF_WIFI_AUTHENTICATION_WPA2PSK 6U
#define | NDEF_WIFI_ENCRYPTION_NONE 0U
#define | NDEF_WIFI_ENCRYPTION_WEP 2U
#define | NDEF_WIFI_ENCRYPTION_TKIP 3U
#define | NDEF_WIFI_ENCRYPTION_AES 4U
#define | NDEF_UUID_LENGTH 16U
#define | TEXT_ENCODING_UTF8 0U
#define | TEXT_ENCODING_UTF16 1U
#define | NDEF_RTD_TEXT_ENCODING_MASK 0x80U
#define | NDEF_RTD_TEXT_ENCODING_SHIFT 7U
#define | NDEF_URI_PREFIX_NONE 0x00U
#define | NDEF_URI_PREFIX_HTTP_WWW 0x01U
#define | NDEF_URI_PREFIX_HTTPS_WWW 0x02U
#define | NDEF_URI_PREFIX_HTTP 0x03U
#define | NDEF_URI_PREFIX_HTTPS 0x04U
#define | NDEF_URI_PREFIX_TEL 0x05U
#define | NDEF_URI_PREFIX_MAILTO 0x06U
#define | NDEF_URI_PREFIX_FTP_ANONYMOUS 0x07U
#define | NDEF_URI_PREFIX_FTP_FTP 0x08U
#define | NDEF_URI_PREFIX_FTPS 0x09U
#define | NDEF_URI_PREFIX_SFTP 0x0AU
#define | NDEF_URI_PREFIX_SMB 0x0BU
#define | NDEF_URI_PREFIX_NFS 0x0CU
#define | NDEF_URI_PREFIX_FTP 0x0DU
#define | NDEF_URI_PREFIX_DAV 0x0EU
#define | NDEF_URI_PREFIX_NEWS 0x0FU
#define | NDEF_URI_PREFIX_TELNET 0x10U
#define | NDEF_URI_PREFIX_IMAP 0x11U
#define | NDEF_URI_PREFIX_RTSP 0x12U
#define | NDEF_URI_PREFIX_URN 0x13U
#define | NDEF_URI_PREFIX_POP 0x14U
#define | NDEF_URI_PREFIX_SIP 0x15U
#define | NDEF_URI_PREFIX_SIPS 0x16U
#define | NDEF_URI_PREFIX_TFTP 0x17U
#define | NDEF_URI_PREFIX_BTSPP 0x18U
#define | NDEF_URI_PREFIX_BTL2CAP 0x19U
#define | NDEF_URI_PREFIX_BTGOEP 0x1AU
#define | NDEF_URI_PREFIX_TCPOBEX 0x1BU
#define | NDEF_URI_PREFIX_IRDAOBEX 0x1CU
#define | NDEF_URI_PREFIX_FILE 0x1DU
#define | NDEF_URI_PREFIX_URN_EPC_ID 0x1EU
#define | NDEF_URI_PREFIX_URN_EPC_TAG 0x1FU
#define | NDEF_URI_PREFIX_URN_EPC_PAT 0x20U
#define | NDEF_URI_PREFIX_URN_EPC_RAW 0x21U
#define | NDEF_URI_PREFIX_URN_EPC 0x22U
#define | NDEF_URI_PREFIX_URN_NFC 0x23U
#define | NDEF_URI_PREFIX_AUTODETECT 0x24U
#define | NDEF_URI_PREFIX_COUNT 0x25U
#define | NDEF_VCARD_ENTRY_MAX 16U
#define | NDEF_DEVICE_INFO_MANUFACTURER_NAME 0U
#define | NDEF_DEVICE_INFO_MODEL_NAME 1U
#define | NDEF_DEVICE_INFO_DEVICE_UNIQUE_NAME 2U
#define | NDEF_DEVICE_INFO_UUID 3U
#define | NDEF_DEVICE_INFO_FIRMWARE_VERSION 4U
#define | NDEF_DEVICE_INFO_TYPE_COUNT 5U
#define | NDEF_CC_BUF_LEN 17U
#define | NDEF_NFCV_SUPPORTED_CMD_LEN 4U
#define | NDEF_SHORT_VFIELD_MAX_LEN 254U
#define | NDEF_TERMINATOR_TLV_LEN 1U
#define | NDEF_TERMINATOR_TLV_T 0xFEU
#define | NDEF_T2T_READ_RESP_SIZE 16U
#define | NDEF_T3T_BLOCK_SIZE 16U
#define | NDEF_T3T_MAX_NB_BLOCKS 4U
#define | NDEF_T3T_MAX_RX_SIZE ((NDEF_T3T_BLOCK_SIZE*NDEF_T3T_MAX_NB_BLOCKS) + 16U)
#define | NDEF_T3T_MAX_TX_SIZE ((NDEF_T3T_BLOCK_SIZE*NDEF_T3T_MAX_NB_BLOCKS) + 16U)
#define | NDEF_T5T_TxRx_BUFF_HEADER_SIZE 1U
#define | NDEF_T5T_TxRx_BUFF_FOOTER_SIZE 2U
#define | NDEF_T5T_TxRx_BUFF_SIZE (32U + NDEF_T5T_TxRx_BUFF_HEADER_SIZE + NDEF_T5T_TxRx_BUFF_FOOTER_SIZE)
#define | ndefBytes2Uint16(hiB, loB) ((uint16_t)((((uint32_t)(hiB)) << 8U) | ((uint32_t)(loB))))
#define | ndefMajorVersion(V) ((uint8_t)((V) >> 4U))
#define | ndefMinorVersion(V) ((uint8_t)((V) & 0xFU))
#define | NDEF_FEATURE_ALL true
#define | NDEF_T4T_MAPPING_VERSION_2_0 0x20U
#define | NDEF_T4T_MAPPING_VERSION_3_0 0x30U
#define | NDEF_T4T_MAX_RAPDU_BODY_LEN 256U
#define | NDEF_T4T_MAX_RAPDU_LEN (NDEF_T4T_MAX_RAPDU_BODY_LEN + RFAL_T4T_MAX_RAPDU_SW1SW2_LEN)
#define | NDEF_T4T_MAX_CAPDU_BODY_LEN 255U
#define | NDEF_T4T_MAX_CAPDU_LEN
#define | ndefT4TIsReadAccessGranted(r) ( ((r) == 0x00U) || (((r) >= 0x80U) && ((r) <= 0xFEU)) )
#define | ndefT4TIsWriteAccessGranted(w) ( ((w) == 0x00U) || (((w) >= 0x80U) && ((w) <= 0xFEU)) )
#define | NDEF_SYSINFO_FLAG_DFSID_POS (0U)
#define | NDEF_SYSINFO_FLAG_AFI_POS (1U)
#define | NDEF_SYSINFO_FLAG_MEMSIZE_POS (2U)
#define | NDEF_SYSINFO_FLAG_ICREF_POS (3U)
#define | NDEF_SYSINFO_FLAG_MOI_POS (4U)
#define | NDEF_SYSINFO_FLAG_CMDLIST_POS (5U)
#define | NDEF_SYSINFO_FLAG_CSI_POS (6U)
#define | NDEF_SYSINFO_FLAG_LEN_POS (7U)
#define | NDEF_CMDLIST_READSINGLEBLOCK_POS (0U)
#define | NDEF_CMDLIST_WRITESINGLEBLOCK_POS (1U)
#define | NDEF_CMDLIST_LOCKSINGLEBLOCK_POS (2U)
#define | NDEF_CMDLIST_READMULTIPLEBLOCKS_POS (3U)
#define | NDEF_CMDLIST_WRITEMULTIPLEBLOCKS_POS (4U)
#define | NDEF_CMDLIST_SELECT_POS (5U)
#define | NDEF_CMDLIST_RESETTOREADY_POS (6U)
#define | NDEF_CMDLIST_GETMULTIPLEBLOCKSECSTATUS_POS (7U)
#define | NDEF_CMDLIST_WRITEAFI_POS (0U)
#define | NDEF_CMDLIST_LOCKAFI_POS (1U)
#define | NDEF_CMDLIST_WRITEDSFID_POS (2U)
#define | NDEF_CMDLIST_LOCKDSFID_POS (3U)
#define | NDEF_CMDLIST_GETSYSTEMINFORMATION_POS (4U)
#define | NDEF_CMDLIST_CUSTOMCMDS_POS (5U)
#define | NDEF_CMDLIST_FASTREADMULTIPLEBLOCKS_POS (6U)
#define | NDEF_CMDLIST_EXTREADSINGLEBLOCK_POS (0U)
#define | NDEF_CMDLIST_EXTWRITESINGLEBLOCK_POS (1U)
#define | NDEF_CMDLIST_EXTLOCKSINGLEBLOCK_POS (2U)
#define | NDEF_CMDLIST_EXTREADMULTIPLEBLOCKS_POS (3U)
#define | NDEF_CMDLIST_EXTWRITEMULTIPLEBLOCKS_POS (4U)
#define | NDEF_CMDLIST_EXTGETMULTIPLEBLOCKSECSTATUS_POS (5U)
#define | NDEF_CMDLIST_FASTEXTENDEDREADMULTIPLEBLOCKS_POS (6U)
#define | NDEF_T5T_CC_MAGIC_1_BYTE_ADDR_MODE 0xE1U
#define | NDEF_T5T_CC_MAGIC_2_BYTE_ADDR_MODE 0xE2U
#define | NDEF_T5T_CC_LEN_4_BYTES 4U
#define | NDEF_T5T_CC_LEN_8_BYTES 8U
#define | NDEF_T5T_FORMAT_OPTION_NFC_FORUM 1U
#define | ndefT5TSysInfoDFSIDPresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_DFSID_POS) & 0x01U)
#define | ndefT5TSysInfoAFIPresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_AFI_POS) & 0x01U)
#define | ndefT5TSysInfoMemSizePresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_MEMSIZE_POS) & 0x01U)
#define | ndefT5TSysInfoICRefPresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_ICREF_POS) & 0x01U)
#define | ndefT5TSysInfoMOIValue(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_MOI_POS) & 0x01U)
#define | ndefT5TSysInfoCmdListPresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_CMDLIST_POS) & 0x01U)
#define | ndefT5TSysInfoCSIPresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_CSI_POS) & 0x01U)
#define | ndefT5TSysInfoLenValue(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_LEN_POS) & 0x01U)
#define | ndefT5TSysInfoReadSingleBlockSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_READSINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoWriteSingleBlockSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_WRITESINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoLockSingleBlockSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_LOCKSINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoReadMultipleBlocksSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_READMULTIPLEBLOCKS_POS) & 0x01U)
#define | ndefT5TSysInfoWriteMultipleBlocksSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_WRITEMULTIPLEBLOCKS_POS) & 0x01U)
#define | ndefT5TSysInfoSelectSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_SELECT_POS) & 0x01U)
#define | ndefT5TSysInfoResetToReadySupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_RESETTOREADY_POS) & 0x01U)
#define | ndefT5TSysInfoGetMultipleBlockSecStatusSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_GETMULTIPLEBLOCKSECSTATUS_POS) & 0x01U)
#define | ndefT5TSysInfoWriteAFISupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_WRITEAFI_POS) & 0x01U)
#define | ndefT5TSysInfoLockAFISupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_LOCKAFI_POS) & 0x01U)
#define | ndefT5TSysInfoWriteDSFIDSupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_WRITEDSFID_POS) & 0x01U)
#define | ndefT5TSysInfoLockDSFIDSupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_LOCKDSFID_POS) & 0x01U)
#define | ndefT5TSysInfoGetSystemInformationSupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_GETSYSTEMINFORMATION_POS) & 0x01U)
#define | ndefT5TSysInfoCustomCmdsSupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_CUSTOMCMDS_POS) & 0x01U)
#define | ndefT5TSysInfoFastReadMultipleBlocksSupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_FASTREADMULTIPLEBLOCKS_POS) & 0x01U)
#define | ndefT5TSysInfoExtReadSingleBlockSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTREADSINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoExtWriteSingleBlockSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTWRITESINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoExtLockSingleBlockSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTLOCKSINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoExtReadMultipleBlocksSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTREADMULTIPLEBLOCKS_POS) & 0x01U)
#define | ndefT5TSysInfoExtWriteMultipleBlocksSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTWRITEMULTIPLEBLOCKS_POS) & 0x01U)
#define | ndefT5TSysInfoExtGetMultipleBlockSecStatusSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTGETMULTIPLEBLOCKSECSTATUS_POS) & 0x01U)
#define | ndefT5TSysInfoFastExtendedReadMultipleBlocksSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_FASTEXTENDEDREADMULTIPLEBLOCKS_POS) & 0x01U)

Typedefs

typedef struct ndefTypeStruct | ndefType
typedef struct ndefMessageStruct | ndefMessage
typedef struct ndefRecordStruct | ndefRecord
typedef struct ndefPollerWrapperStruct | ndefPollerWrapper

Enumerations

enum ndefTypeId {
NDEF_TYPE_EMPTY = 0, NDEF_TYPE_RTD_DEVICE_INFO, NDEF_TYPE_RTD_TEXT, NDEF_TYPE_RTD_URI,
NDEF_TYPE_RTD_AAR, NDEF_TYPE_MEDIA, NDEF_TYPE_MEDIA_VCARD, NDEF_TYPE_MEDIA_WIFI,
NDEF_TYPE_ID_COUNT
}
enum ndefDeviceType {
NDEF_DEV_NONE = 0x00U, NDEF_DEV_T1T = 0x01U, NDEF_DEV_T2T = 0x02U, NDEF_DEV_T3T = 0x03U,
NDEF_DEV_T4T = 0x04U, NDEF_DEV_T5T = 0x05U
}
enum ndefState { NDEF_STATE_INVALID = 0x00U, NDEF_STATE_INITIALIZED = 0x01U, NDEF_STATE_READWRITE = 0x02U, NDEF_STATE_READONLY = 0x03U }

Functions

ReturnCode | ndefMessageInit (ndefMessage *message)
ReturnCode | ndefMessageGetInfo (const ndefMessage *message, ndefMessageInfo *info)
uint32_t | ndefMessageGetRecordCount (const ndefMessage *message)
ReturnCode | ndefMessageAppend (ndefMessage *message, ndefRecord *record)
ReturnCode | ndefMessageDecode (const ndefConstBuffer *bufPayload, ndefMessage *message)
ReturnCode | ndefMessageEncode (const ndefMessage *message, ndefBuffer *bufPayload)
ReturnCode | ndefRecordReset (ndefRecord *record)
ReturnCode | ndefRecordInit (ndefRecord *record, uint8_t tnf, const ndefConstBuffer8 *bufType, const ndefConstBuffer8 *bufId, const ndefConstBuffer *bufPayload)
uint32_t | ndefRecordGetHeaderLength (const ndefRecord *record)
uint32_t | ndefRecordGetLength (const ndefRecord *record)
ReturnCode | ndefRecordSetType (ndefRecord *record, uint8_t tnf, const ndefConstBuffer8 *bufType)
ReturnCode | ndefRecordGetType (const ndefRecord *record, uint8_t *tnf, ndefConstBuffer8 *bufType)
bool | ndefRecordTypeMatch (const ndefRecord *record, uint8_t tnf, const ndefConstBuffer8 *bufType)
ReturnCode | ndefRecordSetId (ndefRecord *record, const ndefConstBuffer8 *bufId)
ReturnCode | ndefRecordGetId (const ndefRecord *record, ndefConstBuffer8 *bufId)
ReturnCode | ndefRecordSetPayload (ndefRecord *record, const ndefConstBuffer *bufPayload)
ReturnCode | ndefRecordGetPayload (const ndefRecord *record, ndefConstBuffer *bufPayload)
ReturnCode | ndefRecordDecode (const ndefConstBuffer *bufPayload, ndefRecord *record)
ReturnCode | ndefRecordEncodeHeader (const ndefRecord *record, ndefBuffer *bufHeader)
ReturnCode | ndefRecordEncode (const ndefRecord *record, ndefBuffer *bufRecord)
uint32_t | ndefRecordGetPayloadLength (const ndefRecord *record)
const uint8_t * | ndefRecordGetPayloadItem (const ndefRecord *record, ndefConstBuffer *bufPayloadItem, bool begin)
ReturnCode | ndefWifi (ndefType *wifi, const ndefTypeWifi *wifiConfig)
ReturnCode | ndefGetWifi (const ndefType *wifi, ndefTypeWifi *wifiConfig)
ReturnCode | ndefRecordToWifi (const ndefRecord *record, ndefType *wifi)
ReturnCode | ndefWifiToRecord (const ndefType *wifi, ndefRecord *record)
ReturnCode | ndefRecordTypeStringToTypeId (const ndefRecord *record, ndefTypeId *typeId)
ReturnCode | ndefRecordToType (const ndefRecord *record, ndefType *type)
ReturnCode | ndefTypeToRecord (const ndefType *type, ndefRecord *record)
ReturnCode | ndefRecordSetNdefType (ndefRecord *record, const ndefType *type)
const ndefType * | ndefRecordGetNdefType (const ndefRecord *record)
ReturnCode | ndefMedia (ndefType *media, const ndefConstBuffer8 *bufType, const ndefConstBuffer *bufPayload)
ReturnCode | ndefGetMedia (const ndefType *media, ndefConstBuffer8 *bufType, ndefConstBuffer *bufPayload)
ReturnCode | ndefRecordToMedia (const ndefRecord *record, ndefType *media)
ReturnCode | ndefMediaToRecord (const ndefType *media, ndefRecord *record)
ReturnCode | ndefVCard (ndefType *vCard, const ndefVCardInput *bufVCardInput, uint32_t bufVCardInputCount)
ReturnCode | ndefGetVCard (const ndefType *vCard, const ndefConstBuffer *bufType, ndefConstBuffer *bufSubType, ndefConstBuffer *bufValue)
ReturnCode | ndefRecordToVCard (const ndefRecord *record, ndefType *vCard)
ReturnCode | ndefVCardToRecord (const ndefType *vCard, ndefRecord *record)
ReturnCode | ndefEmptyType (ndefType *empty)
ReturnCode | ndefRecordToEmptyType (const ndefRecord *record, ndefType *empty)
ReturnCode | ndefEmptyTypeToRecord (const ndefType *empty, ndefRecord *record)
ReturnCode | ndefRtdDeviceInfo (ndefType *devInfo, const ndefDeviceInfoEntry *devInfoData, uint8_t devInfoDataCount)
ReturnCode | ndefGetRtdDeviceInfo (const ndefType *devInfo, ndefTypeRtdDeviceInfo *devInfoData)
ReturnCode | ndefRecordToRtdDeviceInfo (const ndefRecord *record, ndefType *devInfo)
ReturnCode | ndefRtdDeviceInfoToRecord (const ndefType *devInfo, ndefRecord *record)
ReturnCode | ndefRtdText (ndefType *text, uint8_t utfEncoding, const ndefConstBuffer8 *bufLanguageCode, const ndefConstBuffer *bufSentence)
ReturnCode | ndefGetRtdText (const ndefType *text, uint8_t *utfEncoding, ndefConstBuffer8 *bufLanguageCode, ndefConstBuffer *bufSentence)
ReturnCode | ndefRecordToRtdText (const ndefRecord *record, ndefType *text)
ReturnCode | ndefRtdTextToRecord (const ndefType *text, ndefRecord *record)
ReturnCode | ndefRtdUri (ndefType *uri, uint8_t protocol, const ndefConstBuffer *bufUriString)
ReturnCode | ndefGetRtdUri (const ndefType *uri, ndefConstBuffer *bufProtocol, ndefConstBuffer *bufUriString)
ReturnCode | ndefRecordToRtdUri (const ndefRecord *record, ndefType *uri)
ReturnCode | ndefRtdUriToRecord (const ndefType *uri, ndefRecord *record)
ReturnCode | ndefRtdAar (ndefType *aar, const ndefConstBuffer *bufPayload)
ReturnCode | ndefGetRtdAar (const ndefType *aar, ndefConstBuffer *bufAarString)
ReturnCode | ndefRecordToRtdAar (const ndefRecord *record, ndefType *aar)
ReturnCode | ndefRtdAarToRecord (const ndefType *aar, ndefRecord *record)
ReturnCode | ndefPollerContextInitialization (ndefContext *ctx, const rfalNfcDevice *dev)
Handle NDEF context activation. More...
ReturnCode | ndefPollerNdefDetect (ndefContext *ctx, ndefInfo *info)
NDEF Detection procedure. More...
ReturnCode | ndefPollerReadBytes (ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)
Read data. More...
ReturnCode | ndefPollerWriteBytes (ndefContext *ctx, uint32_t offset, const uint8_t *buf, uint32_t len)
Write data. More...
ReturnCode | ndefPollerReadRawMessage (ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)
Read raw NDEF message. More...
ReturnCode | ndefPollerWriteRawMessage (ndefContext *ctx, const uint8_t *buf, uint32_t bufLen)
Write raw NDEF message. More...
ReturnCode | ndefPollerTagFormat (ndefContext *ctx, const ndefCapabilityContainer *cc, uint32_t options)
Format Tag. More...
ReturnCode | ndefPollerWriteRawMessageLen (ndefContext *ctx, uint32_t rawMessageLen)
Write NDEF message length. More...
ReturnCode | ndefPollerWriteMessage (ndefContext *ctx, const ndefMessage *message)
Write an NDEF message. More...
ReturnCode | ndefPollerCheckPresence (ndefContext *ctx)
Check Presence. More...
ReturnCode | ndefPollerCheckAvailableSpace (const ndefContext *ctx, uint32_t messageLen)
Check Available Space. More...
ReturnCode | ndefPollerBeginWriteMessage (ndefContext *ctx, uint32_t messageLen)
Begin Write Message. More...
ReturnCode | ndefPollerEndWriteMessage (ndefContext *ctx, uint32_t messageLen)
End Write Message. More...
ReturnCode | ndefT2TPollerContextInitialization (ndefContext *ctx, const rfalNfcDevice *dev)
Handle T2T NDEF context activation. More...
ReturnCode | ndefT2TPollerNdefDetect (ndefContext *ctx, ndefInfo *info)
T2T NDEF Detection procedure. More...
ReturnCode | ndefT2TPollerReadBytes (ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)
T2T Read data from tag memory. More...
ReturnCode | ndefT2TPollerWriteBytes (ndefContext *ctx, uint32_t offset, const uint8_t *buf, uint32_t len)
T2T write data to tag memory. More...
ReturnCode | ndefT2TPollerReadRawMessage (ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)
T2T Read raw NDEF message. More...
ReturnCode | ndefT2TPollerWriteRawMessage (ndefContext *ctx, const uint8_t *buf, uint32_t bufLen)
T2T Write raw NDEF message. More...
ReturnCode | ndefT2TPollerWriteRawMessageLen (ndefContext *ctx, uint32_t rawMessageLen)
T2T Write NDEF message length. More...
ReturnCode | ndefT2TPollerTagFormat (ndefContext *ctx, const ndefCapabilityContainer *cc, uint32_t options)
T2T Format Tag. More...
ReturnCode | ndefT2TPollerCheckPresence (ndefContext *ctx)
T2T Check Presence. More...
ReturnCode | ndefT2TPollerCheckAvailableSpace (const ndefContext *ctx, uint32_t messageLen)
T2T Check Available Space. More...
ReturnCode | ndefT2TPollerBeginWriteMessage (ndefContext *ctx, uint32_t messageLen)
T2T Begin Write Message. More...
ReturnCode | ndefT2TPollerEndWriteMessage (ndefContext *ctx, uint32_t messageLen)
T2T End Write Message. More...
ReturnCode | ndefT3TPollerContextInitialization (ndefContext *ctx, const rfalNfcDevice *dev)
Handle T3T NDEF context activation. More...
ReturnCode | ndefT3TPollerNdefDetect (ndefContext *ctx, ndefInfo *info)
T3T NDEF Detection procedure. More...
ReturnCode | ndefT3TPollerReadBytes (ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)
T3T Read data from file. More...
ReturnCode | ndefT3TPollerWriteBytes (ndefContext *ctx, uint32_t offset, const uint8_t *buf, uint32_t len)
T3T write data to file. More...
ReturnCode | ndefT3TPollerReadRawMessage (ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)
T3T Read raw NDEF message. More...
ReturnCode | ndefT3TPollerWriteRawMessage (ndefContext *ctx, const uint8_t *buf, uint32_t bufLen)
T3T Write raw NDEF message. More...
ReturnCode | ndefT3TPollerWriteRawMessageLen (ndefContext *ctx, uint32_t rawMessageLen)
T3T Write NDEF message length. More...
ReturnCode | ndefT3TPollerTagFormat (ndefContext *ctx, const ndefCapabilityContainer *cc, uint32_t options)
T3T Format Tag. More...
ReturnCode | ndefT3TPollerCheckPresence (ndefContext *ctx)
T3T Check Presence. More...
ReturnCode | ndefT3TPollerCheckAvailableSpace (const ndefContext *ctx, uint32_t messageLen)
T3T Check Available Space. More...
ReturnCode | ndefT3TPollerBeginWriteMessage (ndefContext *ctx, uint32_t messageLen)
T3T Begin Write Message. More...
ReturnCode | ndefT3TPollerEndWriteMessage (ndefContext *ctx, uint32_t messageLen)
T3T End Write Message. More...
ReturnCode | ndefT4TPollerContextInitialization (ndefContext *ctx, const rfalNfcDevice *dev)
Handle T4T NDEF context activation. More...
ReturnCode | ndefT4TPollerNdefDetect (ndefContext *ctx, ndefInfo *info)
T4T NDEF Detection procedure. More...
ReturnCode | ndefT4TPollerSelectNdefTagApplication (ndefContext *ctx)
T4T Select NDEF Tag Application. More...
ReturnCode | ndefT4TPollerSelectFile (ndefContext *ctx, const uint8_t *fileId)
T4T Select File. More...
ReturnCode | ndefT4TPollerReadBinary (ndefContext *ctx, uint16_t offset, uint8_t len)
T4T ReadBinary. More...
ReturnCode | ndefT4TPollerReadBinaryODO (ndefContext *ctx, uint32_t offset, uint8_t len)
T4T ReadBinary with ODO. More...
ReturnCode | ndefT4TPollerReadBytes (ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)
T4T Read data from file. More...
ReturnCode | ndefT4TPollerWriteBinary (ndefContext *ctx, uint16_t offset, const uint8_t *data, uint8_t len)
T4T WriteBinary. More...
ReturnCode | ndefT4TPollerWriteBinaryODO (ndefContext *ctx, uint32_t offset, const uint8_t *data, uint8_t len)
T4T WriteBinary with ODO. More...
ReturnCode | ndefT4TPollerWriteBytes (ndefContext *ctx, uint32_t offset, const uint8_t *buf, uint32_t len)
T4T write data to file. More...
ReturnCode | ndefT4TPollerReadRawMessage (ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)
T4T Read raw NDEF message. More...
ReturnCode | ndefT4TPollerWriteRawMessage (ndefContext *ctx, const uint8_t *buf, uint32_t bufLen)
T4T Write raw NDEF message. More...
ReturnCode | ndefT4TPollerWriteRawMessageLen (ndefContext *ctx, uint32_t rawMessageLen)
T4T Write NDEF message length. More...
ReturnCode | ndefT4TPollerTagFormat (ndefContext *ctx, const ndefCapabilityContainer *cc, uint32_t options)
T4T Format Tag. More...
ReturnCode | ndefT4TPollerCheckPresence (ndefContext *ctx)
T4T Check Presence. More...
ReturnCode | ndefT4TPollerCheckAvailableSpace (const ndefContext *ctx, uint32_t messageLen)
T4T Check Available Space. More...
ReturnCode | ndefT4TPollerBeginWriteMessage (ndefContext *ctx, uint32_t messageLen)
T4T Begin Write Message. More...
ReturnCode | ndefT4TPollerEndWriteMessage (ndefContext *ctx, uint32_t messageLen)
T4T End Write Message. More...
ReturnCode | ndefT5TPollerContextInitialization (ndefContext *ctx, const rfalNfcDevice *dev)
Handle T5T NDEF context activation. More...
ReturnCode | ndefT5TPollerNdefDetect (ndefContext *ctx, ndefInfo *info)
T5T NDEF Detection procedure. More...
ReturnCode | ndefT5TPollerReadBytes (ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)
T5T Read data from tag memory. More...
ReturnCode | ndefT5TPollerWriteBytes (ndefContext *ctx, uint32_t offset, const uint8_t *buf, uint32_t len)
T5T write data to tag memory. More...
ReturnCode | ndefT5TPollerReadRawMessage (ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)
T5T Read raw NDEF message. More...
ReturnCode | ndefT5TPollerWriteRawMessage (ndefContext *ctx, const uint8_t *buf, uint32_t bufLen)
T5T Write raw NDEF message. More...
ReturnCode | ndefT5TPollerWriteRawMessageLen (ndefContext *ctx, uint32_t rawMessageLen)
T5T Write NDEF message length. More...
ReturnCode | ndefT5TPollerTagFormat (ndefContext *ctx, const ndefCapabilityContainer *cc, uint32_t options)
T5T Format Tag. More...
ReturnCode | ndefT5TPollerCheckPresence (ndefContext *ctx)
T5T Check Presence. More...
ReturnCode | ndefT5TPollerCheckAvailableSpace (const ndefContext *ctx, uint32_t messageLen)
T5T Check Available Space. More...
ReturnCode | ndefT5TPollerBeginWriteMessage (ndefContext *ctx, uint32_t messageLen)
T5T Begin Write Message. More...
ReturnCode | ndefT5TPollerEndWriteMessage (ndefContext *ctx, uint32_t messageLen)
T5T End Write Message. More...

Variables

const ndefConstBuffer8 | bufMediaTypeWifi
const ndefConstBuffer8 | bufMediaTypeVCard
const ndefConstBuffer8 | bufRtdTypeDeviceInfo
const ndefConstBuffer8 | bufRtdTypeText
const ndefConstBuffer8 | bufRtdTypeUri
const ndefConstBuffer8 | bufRtdTypeAar

Detailed Description

Macro Definition Documentation

◆ NDEF_CC_BUF_LEN

#define NDEF_CC_BUF_LEN 17U

CC buffer len. Max len = 17 in case of T4T v3

◆ NDEF_CMDLIST_CUSTOMCMDS_POS

#define NDEF_CMDLIST_CUSTOMCMDS_POS (5U)

Cmd List: CustomCmds position

◆ NDEF_CMDLIST_EXTGETMULTIPLEBLOCKSECSTATUS_POS

#define NDEF_CMDLIST_EXTGETMULTIPLEBLOCKSECSTATUS_POS (5U)

Cmd List: ExtGetMultipleBlockSecStatus position

◆ NDEF_CMDLIST_EXTLOCKSINGLEBLOCK_POS

#define NDEF_CMDLIST_EXTLOCKSINGLEBLOCK_POS (2U)

Cmd List: ExtLockSingleBlock position

◆ NDEF_CMDLIST_EXTREADMULTIPLEBLOCKS_POS

#define NDEF_CMDLIST_EXTREADMULTIPLEBLOCKS_POS (3U)

Cmd List: ExtReadMultipleBlocks position

◆ NDEF_CMDLIST_EXTREADSINGLEBLOCK_POS

#define NDEF_CMDLIST_EXTREADSINGLEBLOCK_POS (0U)

Cmd List: ExtReadSingleBlock position

◆ NDEF_CMDLIST_EXTWRITEMULTIPLEBLOCKS_POS

#define NDEF_CMDLIST_EXTWRITEMULTIPLEBLOCKS_POS (4U)

Cmd List: ExtWriteMultipleBlocks position

◆ NDEF_CMDLIST_EXTWRITESINGLEBLOCK_POS

#define NDEF_CMDLIST_EXTWRITESINGLEBLOCK_POS (1U)

Cmd List: ExtWriteSingleBlock position

◆ NDEF_CMDLIST_FASTEXTENDEDREADMULTIPLEBLOCKS_POS

#define NDEF_CMDLIST_FASTEXTENDEDREADMULTIPLEBLOCKS_POS (6U)

Cmd List: FastExtendedReadMultipleBlocks position

◆ NDEF_CMDLIST_FASTREADMULTIPLEBLOCKS_POS

#define NDEF_CMDLIST_FASTREADMULTIPLEBLOCKS_POS (6U)

Cmd List: FastReadMultipleBlocks position

◆ NDEF_CMDLIST_GETMULTIPLEBLOCKSECSTATUS_POS

#define NDEF_CMDLIST_GETMULTIPLEBLOCKSECSTATUS_POS (7U)

Cmd List: GetMultipleBlockSecStatus position

◆ NDEF_CMDLIST_GETSYSTEMINFORMATION_POS

#define NDEF_CMDLIST_GETSYSTEMINFORMATION_POS (4U)

Cmd List: GetSystemInformation position

◆ NDEF_CMDLIST_LOCKAFI_POS

#define NDEF_CMDLIST_LOCKAFI_POS (1U)

Cmd List: LockAFI position

◆ NDEF_CMDLIST_LOCKDSFID_POS

#define NDEF_CMDLIST_LOCKDSFID_POS (3U)

Cmd List: LockDSFID position

◆ NDEF_CMDLIST_LOCKSINGLEBLOCK_POS

#define NDEF_CMDLIST_LOCKSINGLEBLOCK_POS (2U)

Cmd List: LockSingleBlock position

◆ NDEF_CMDLIST_READMULTIPLEBLOCKS_POS

#define NDEF_CMDLIST_READMULTIPLEBLOCKS_POS (3U)

Cmd List: ReadMultipleBlocks position

◆ NDEF_CMDLIST_READSINGLEBLOCK_POS

#define NDEF_CMDLIST_READSINGLEBLOCK_POS (0U)

Cmd List: ReadSingleBlock position

◆ NDEF_CMDLIST_RESETTOREADY_POS

#define NDEF_CMDLIST_RESETTOREADY_POS (6U)

Cmd List: ResetToReady position

◆ NDEF_CMDLIST_SELECT_POS

#define NDEF_CMDLIST_SELECT_POS (5U)

Cmd List: SelectSupported position

◆ NDEF_CMDLIST_WRITEAFI_POS

#define NDEF_CMDLIST_WRITEAFI_POS (0U)

Cmd List: WriteAFI position

◆ NDEF_CMDLIST_WRITEDSFID_POS

#define NDEF_CMDLIST_WRITEDSFID_POS (2U)

Cmd List: WriteDSFID position

◆ NDEF_CMDLIST_WRITEMULTIPLEBLOCKS_POS

#define NDEF_CMDLIST_WRITEMULTIPLEBLOCKS_POS (4U)

Cmd List: WriteMultipleBlocks position

◆ NDEF_CMDLIST_WRITESINGLEBLOCK_POS

#define NDEF_CMDLIST_WRITESINGLEBLOCK_POS (1U)

Cmd List: WriteSingleBlock position

◆ NDEF_DEVICE_INFO_DEVICE_UNIQUE_NAME

#define NDEF_DEVICE_INFO_DEVICE_UNIQUE_NAME 2U

Device Unique Name aka "Friendly Name"

◆ NDEF_DEVICE_INFO_FIRMWARE_VERSION

#define NDEF_DEVICE_INFO_FIRMWARE_VERSION 4U

Firmware Version

◆ NDEF_DEVICE_INFO_MANUFACTURER_NAME

#define NDEF_DEVICE_INFO_MANUFACTURER_NAME 0U

RTD Device Information types Manufacturer name

◆ NDEF_DEVICE_INFO_MODEL_NAME

#define NDEF_DEVICE_INFO_MODEL_NAME 1U

Model name

◆ NDEF_DEVICE_INFO_TYPE_COUNT

#define NDEF_DEVICE_INFO_TYPE_COUNT 5U

Maximum Device Information types

◆ NDEF_DEVICE_INFO_UUID

#define NDEF_DEVICE_INFO_UUID 3U

UUID

◆ NDEF_FEATURE_ALL

#define NDEF_FEATURE_ALL true

Enable/Disable NDEF support for full features (write NDEF, format, ...)

◆ NDEF_NFCV_SUPPORTED_CMD_LEN

#define NDEF_NFCV_SUPPORTED_CMD_LEN 4U

Ext sys info supported commands list len

◆ NDEF_RECORD_HEADER_LEN

#define NDEF_RECORD_HEADER_LEN 7U

Record header length (sizeof(uint8_t) + sizeof(uint8_t) + sizeof(uint32_t) + sizeof(uint8_t)

◆ NDEF_RTD_TEXT_ENCODING_MASK

#define NDEF_RTD_TEXT_ENCODING_MASK 0x80U

Text encoding mask

◆ NDEF_RTD_TEXT_ENCODING_SHIFT

#define NDEF_RTD_TEXT_ENCODING_SHIFT 7U

Text encoding bit shift

◆ NDEF_SHORT_RECORD_LENGTH_MAX

#define NDEF_SHORT_RECORD_LENGTH_MAX 255U

Short record maximum length

◆ NDEF_SHORT_VFIELD_MAX_LEN

#define NDEF_SHORT_VFIELD_MAX_LEN 254U

Max V-field length for 1-byte Lengh encoding

◆ NDEF_SYSINFO_FLAG_AFI_POS

#define NDEF_SYSINFO_FLAG_AFI_POS (1U)

Info flags AFI flag position

◆ NDEF_SYSINFO_FLAG_CMDLIST_POS

#define NDEF_SYSINFO_FLAG_CMDLIST_POS (5U)

Info flags Command List flag position

◆ NDEF_SYSINFO_FLAG_CSI_POS

#define NDEF_SYSINFO_FLAG_CSI_POS (6U)

Info flags CSI flag position

◆ NDEF_SYSINFO_FLAG_DFSID_POS

#define NDEF_SYSINFO_FLAG_DFSID_POS (0U)

Info flags DFSID flag position

◆ NDEF_SYSINFO_FLAG_ICREF_POS

#define NDEF_SYSINFO_FLAG_ICREF_POS (3U)

Info flags IC reference flag position

◆ NDEF_SYSINFO_FLAG_LEN_POS

#define NDEF_SYSINFO_FLAG_LEN_POS (7U)

Info flags Length position

◆ NDEF_SYSINFO_FLAG_MEMSIZE_POS

#define NDEF_SYSINFO_FLAG_MEMSIZE_POS (2U)

Info flags Memory Size flag position

◆ NDEF_SYSINFO_FLAG_MOI_POS

#define NDEF_SYSINFO_FLAG_MOI_POS (4U)

Info flags MOI flag position

◆ NDEF_T2T_READ_RESP_SIZE

#define NDEF_T2T_READ_RESP_SIZE 16U

Size of the READ response i.e. four blocks

◆ NDEF_T3T_BLOCK_SIZE

#define NDEF_T3T_BLOCK_SIZE 16U

size for a block in t3t

◆ NDEF_T3T_MAX_NB_BLOCKS

#define NDEF_T3T_MAX_NB_BLOCKS 4U

size for a block in t3t

◆ NDEF_T3T_MAX_RX_SIZE

#define NDEF_T3T_MAX_RX_SIZE ((NDEF_T3T_BLOCK_SIZE*NDEF_T3T_MAX_NB_BLOCKS) + 16U)

size for receive 4 blocks of 16 + UID + HEADER + CHECKSUM

◆ NDEF_T3T_MAX_TX_SIZE

#define NDEF_T3T_MAX_TX_SIZE ((NDEF_T3T_BLOCK_SIZE*NDEF_T3T_MAX_NB_BLOCKS) + 16U)

size for send Check 4 blocks of 16 + UID + HEADER + CHECKSUM

◆ NDEF_T4T_MAPPING_VERSION_2_0

#define NDEF_T4T_MAPPING_VERSION_2_0 0x20U

Mapping version 2.0

◆ NDEF_T4T_MAPPING_VERSION_3_0

#define NDEF_T4T_MAPPING_VERSION_3_0 0x30U

Mapping version 3.0

◆ NDEF_T4T_MAX_CAPDU_BODY_LEN

#define NDEF_T4T_MAX_CAPDU_BODY_LEN 255U

Maximun Command-APDU data length (short field coding)

◆ NDEF_T4T_MAX_CAPDU_LEN

#define NDEF_T4T_MAX_CAPDU_LEN
Value:
( RFAL_T4T_MAX_CAPDU_PROLOGUE_LEN \
+ RFAL_T4T_LC_LEN \
+ NDEF_T4T_MAX_CAPDU_BODY_LEN \
+ RFAL_T4T_LC_LEN )
NDEF_T4T_MAX_CAPDU_BODY_LEN
#define NDEF_T4T_MAX_CAPDU_BODY_LEN
Definition: ndef_t4t.h:80

Maximun Command-APDU Length (short field coding)

◆ NDEF_T4T_MAX_RAPDU_BODY_LEN

#define NDEF_T4T_MAX_RAPDU_BODY_LEN 256U

Maximun Response-APDU response body length (short field coding)

◆ NDEF_T4T_MAX_RAPDU_LEN

#define NDEF_T4T_MAX_RAPDU_LEN (NDEF_T4T_MAX_RAPDU_BODY_LEN + RFAL_T4T_MAX_RAPDU_SW1SW2_LEN)

Maximun Response-APDU Length (short field coding)

◆ NDEF_T5T_CC_LEN_4_BYTES

#define NDEF_T5T_CC_LEN_4_BYTES 4U

T5T CC Length (4 bytes)

◆ NDEF_T5T_CC_LEN_8_BYTES

#define NDEF_T5T_CC_LEN_8_BYTES 8U

T5T CC Length (8 bytes)

◆ NDEF_T5T_CC_MAGIC_1_BYTE_ADDR_MODE

#define NDEF_T5T_CC_MAGIC_1_BYTE_ADDR_MODE 0xE1U

T5T CC Magic Number (1-byte Addres Mode)

◆ NDEF_T5T_CC_MAGIC_2_BYTE_ADDR_MODE

#define NDEF_T5T_CC_MAGIC_2_BYTE_ADDR_MODE 0xE2U

T5T CC Magic Number (2-byte Addres Mode)

◆ NDEF_T5T_FORMAT_OPTION_NFC_FORUM

#define NDEF_T5T_FORMAT_OPTION_NFC_FORUM 1U

Format tag according to NFC Forum MLEN computation

◆ NDEF_T5T_TxRx_BUFF_FOOTER_SIZE

#define NDEF_T5T_TxRx_BUFF_FOOTER_SIZE 2U

CRC size

◆ NDEF_T5T_TxRx_BUFF_HEADER_SIZE

#define NDEF_T5T_TxRx_BUFF_HEADER_SIZE 1U

Request Flags/Responses Flags size

◆ NDEF_T5T_TxRx_BUFF_SIZE

#define NDEF_T5T_TxRx_BUFF_SIZE (32U + NDEF_T5T_TxRx_BUFF_HEADER_SIZE + NDEF_T5T_TxRx_BUFF_FOOTER_SIZE)

T5T working buffer size

◆ NDEF_TERMINATOR_TLV_LEN

#define NDEF_TERMINATOR_TLV_LEN 1U

Terminator TLV size

◆ NDEF_TERMINATOR_TLV_T

#define NDEF_TERMINATOR_TLV_T 0xFEU

Terminator TLV T=FEh

◆ NDEF_TNF_EMPTY

#define NDEF_TNF_EMPTY 0U

Type Name Format aka TNF types TNF Empty

◆ NDEF_TNF_MASK

#define NDEF_TNF_MASK 7U

Type Name Format mask

◆ NDEF_TNF_MEDIA_TYPE

#define NDEF_TNF_MEDIA_TYPE 2U

TNF Media Type

◆ NDEF_TNF_RESERVED

#define NDEF_TNF_RESERVED 7U

TNF Reserved

◆ NDEF_TNF_RTD_EXTERNAL_TYPE

#define NDEF_TNF_RTD_EXTERNAL_TYPE 4U

TNF External Type

◆ NDEF_TNF_RTD_WELL_KNOWN_TYPE

#define NDEF_TNF_RTD_WELL_KNOWN_TYPE 1U

TNF Well-known Type

◆ NDEF_TNF_UNCHANGED

#define NDEF_TNF_UNCHANGED 6U

TNF Unchanged

◆ NDEF_TNF_UNKNOWN

#define NDEF_TNF_UNKNOWN 5U

TNF Unknown

◆ NDEF_TNF_URI

#define NDEF_TNF_URI 3U

TNF URI

◆ NDEF_URI_PREFIX_AUTODETECT

#define NDEF_URI_PREFIX_AUTODETECT 0x24U

ST Protocol Autodetect

◆ NDEF_URI_PREFIX_BTGOEP

#define NDEF_URI_PREFIX_BTGOEP 0x1AU

URI Protocol btgoep://

◆ NDEF_URI_PREFIX_BTL2CAP

#define NDEF_URI_PREFIX_BTL2CAP 0x19U

URI Protocol btl2cap://

◆ NDEF_URI_PREFIX_BTSPP

#define NDEF_URI_PREFIX_BTSPP 0x18U

URI Protocol btspp://

◆ NDEF_URI_PREFIX_COUNT

#define NDEF_URI_PREFIX_COUNT 0x25U

Number of URI protocols

◆ NDEF_URI_PREFIX_DAV

#define NDEF_URI_PREFIX_DAV 0x0EU

URI Protocol dav://

◆ NDEF_URI_PREFIX_FILE

#define NDEF_URI_PREFIX_FILE 0x1DU

URI Protocol file://

◆ NDEF_URI_PREFIX_FTP

#define NDEF_URI_PREFIX_FTP 0x0DU

URI Protocol ftp://

◆ NDEF_URI_PREFIX_FTP_ANONYMOUS

#define NDEF_URI_PREFIX_FTP_ANONYMOUS 0x07U

URI Protocol ftp://anonymous@

◆ NDEF_URI_PREFIX_FTP_FTP

#define NDEF_URI_PREFIX_FTP_FTP 0x08U

URI Protocol ftp://ftp.

◆ NDEF_URI_PREFIX_FTPS

#define NDEF_URI_PREFIX_FTPS 0x09U

URI Protocol ftps://

◆ NDEF_URI_PREFIX_HTTP

#define NDEF_URI_PREFIX_HTTP 0x03U

URI Protocol http://

◆ NDEF_URI_PREFIX_HTTP_WWW

#define NDEF_URI_PREFIX_HTTP_WWW 0x01U

URI Protocol http://www.

Examples:
ndef_example_write.c.

◆ NDEF_URI_PREFIX_HTTPS

#define NDEF_URI_PREFIX_HTTPS 0x04U

URI Protocol https://

◆ NDEF_URI_PREFIX_HTTPS_WWW

#define NDEF_URI_PREFIX_HTTPS_WWW 0x02U

URI Protocol https://www.

◆ NDEF_URI_PREFIX_IMAP

#define NDEF_URI_PREFIX_IMAP 0x11U

URI Protocol imap:

◆ NDEF_URI_PREFIX_IRDAOBEX

#define NDEF_URI_PREFIX_IRDAOBEX 0x1CU

URI Protocol irdaobex://

◆ NDEF_URI_PREFIX_MAILTO

#define NDEF_URI_PREFIX_MAILTO 0x06U

URI Protocol mailto:

◆ NDEF_URI_PREFIX_NEWS

#define NDEF_URI_PREFIX_NEWS 0x0FU

URI Protocol news:

◆ NDEF_URI_PREFIX_NFS

#define NDEF_URI_PREFIX_NFS 0x0CU

URI Protocol nfs://

◆ NDEF_URI_PREFIX_NONE

#define NDEF_URI_PREFIX_NONE 0x00U

RTD Type URI Protocols No URI Protocol

◆ NDEF_URI_PREFIX_POP

#define NDEF_URI_PREFIX_POP 0x14U

URI Protocol pop:

◆ NDEF_URI_PREFIX_RTSP

#define NDEF_URI_PREFIX_RTSP 0x12U

URI Protocol rtsp://

◆ NDEF_URI_PREFIX_SFTP

#define NDEF_URI_PREFIX_SFTP 0x0AU

URI Protocol sftp://

◆ NDEF_URI_PREFIX_SIP

#define NDEF_URI_PREFIX_SIP 0x15U

URI Protocol sip:

◆ NDEF_URI_PREFIX_SIPS

#define NDEF_URI_PREFIX_SIPS 0x16U

URI Protocol sips:

◆ NDEF_URI_PREFIX_SMB

#define NDEF_URI_PREFIX_SMB 0x0BU

URI Protocol smb://

◆ NDEF_URI_PREFIX_TCPOBEX

#define NDEF_URI_PREFIX_TCPOBEX 0x1BU

URI Protocol tcpobex://

◆ NDEF_URI_PREFIX_TEL

#define NDEF_URI_PREFIX_TEL 0x05U

URI Protocol tel:

◆ NDEF_URI_PREFIX_TELNET

#define NDEF_URI_PREFIX_TELNET 0x10U

URI Protocol telnet://

◆ NDEF_URI_PREFIX_TFTP

#define NDEF_URI_PREFIX_TFTP 0x17U

URI Protocol tftp:

◆ NDEF_URI_PREFIX_URN

#define NDEF_URI_PREFIX_URN 0x13U

URI Protocol urn:

◆ NDEF_URI_PREFIX_URN_EPC

#define NDEF_URI_PREFIX_URN_EPC 0x22U

URI Protocol urn:epc:

◆ NDEF_URI_PREFIX_URN_EPC_ID

#define NDEF_URI_PREFIX_URN_EPC_ID 0x1EU

URI Protocol urn:epc:id:

◆ NDEF_URI_PREFIX_URN_EPC_PAT

#define NDEF_URI_PREFIX_URN_EPC_PAT 0x20U

URI Protocol urn:epc:pat:

◆ NDEF_URI_PREFIX_URN_EPC_RAW

#define NDEF_URI_PREFIX_URN_EPC_RAW 0x21U

URI Protocol urn:epc:raw:

◆ NDEF_URI_PREFIX_URN_EPC_TAG

#define NDEF_URI_PREFIX_URN_EPC_TAG 0x1FU

URI Protocol urn:epc:tag

◆ NDEF_URI_PREFIX_URN_NFC

#define NDEF_URI_PREFIX_URN_NFC 0x23U

URI Protocol urn:nfc:

◆ NDEF_UUID_LENGTH

#define NDEF_UUID_LENGTH 16U

Device Information defines Device Information UUID length

◆ NDEF_VCARD_ENTRY_MAX

#define NDEF_VCARD_ENTRY_MAX 16U

vCard defines vCard maximum entries

◆ NDEF_WIFI_AUTHENTICATION_NONE

#define NDEF_WIFI_AUTHENTICATION_NONE 0U

WPS No Authentication (Should be 1, but set to 0 for Android native support)

◆ NDEF_WIFI_AUTHENTICATION_SHARED

#define NDEF_WIFI_AUTHENTICATION_SHARED 3U

WPS Authentication

◆ NDEF_WIFI_AUTHENTICATION_WPA

#define NDEF_WIFI_AUTHENTICATION_WPA 4U

WPS Authentication based on WPA

◆ NDEF_WIFI_AUTHENTICATION_WPA2

#define NDEF_WIFI_AUTHENTICATION_WPA2 5U

WPS Authentication based on WPA2

◆ NDEF_WIFI_AUTHENTICATION_WPA2PSK

#define NDEF_WIFI_AUTHENTICATION_WPA2PSK 6U

WPS Authentication based on WPA2PSK

◆ NDEF_WIFI_AUTHENTICATION_WPAPSK

#define NDEF_WIFI_AUTHENTICATION_WPAPSK 2U

WPS Authentication based on WPAPSK

◆ NDEF_WIFI_ENCRYPTION_AES

#define NDEF_WIFI_ENCRYPTION_AES 4U

WPS Encryption based on AES

◆ NDEF_WIFI_ENCRYPTION_NONE

#define NDEF_WIFI_ENCRYPTION_NONE 0U

WPS No Encryption (Should be 1, but set to 0 for Android native support)

◆ NDEF_WIFI_ENCRYPTION_TKIP

#define NDEF_WIFI_ENCRYPTION_TKIP 3U

WPS Encryption based on TKIP

◆ NDEF_WIFI_ENCRYPTION_WEP

#define NDEF_WIFI_ENCRYPTION_WEP 2U

WPS Encryption based on WEP

◆ ndefBytes2Uint16

#define ndefBytes2Uint16 | ( | hiB,
 |  | loB
 | ) | ((uint16_t)((((uint32_t)(hiB)) << 8U) | ((uint32_t)(loB))))

convert 2 bytes to a u16

◆ ndefHeader

#define ndefHeader | ( | MB,
 |  | ME,
 |  | CF,
 |  | SR,
 |  | IL,
 |  | TNF
 | ) | ((((MB) & 1U) << 7U) | (((ME) & 1U) << 6U) | (((CF) & 1U) << 5U) | (((SR) & 1U) << 4U) | (((IL) & 1U) << 3U) | ((uint8_t)(TNF) & NDEF_TNF_MASK) ) /*< Build the record header byte, made of MB, ME, CF, SR, IL bits and TNF type */

Build the record header byte, made of MB, ME, CF, SR, IL bits and TNF type

◆ ndefHeaderCF

#define ndefHeaderCF ( record ) ( ((record)->header & 0x20U) >> 5 )

Return the CF bit from the record header byte

◆ ndefHeaderClearCF

#define ndefHeaderClearCF ( record ) ( (record)->header &= 0xDFU )

Clear the CF bit in the record header byte

◆ ndefHeaderClearIL

#define ndefHeaderClearIL ( record ) ( (record)->header &= 0xF7U )

Clear the IL bit in the record header byte

◆ ndefHeaderClearMB

#define ndefHeaderClearMB ( record ) ( (record)->header &= 0x7FU )

Clear bits in header byte Clear the MB bit in the record header byte

◆ ndefHeaderClearME

#define ndefHeaderClearME ( record ) ( (record)->header &= 0xBFU )

Clear the ME bit in the record header byte

◆ ndefHeaderClearSR

#define ndefHeaderClearSR ( record ) ( (record)->header &= 0xEFU )

Clear the SR bit in the record header byte

◆ ndefHeaderClearTNF

#define ndefHeaderClearTNF | ( | record,
 |  | value
 | ) | ( (record)->header &= 0xF8U )

Clear the TNF type in the record header byte

◆ ndefHeaderIL

#define ndefHeaderIL ( record ) ( ((record)->header & 0x08U) >> 3 )

Return the IL bit from the record header byte

◆ ndefHeaderIsSetIL

#define ndefHeaderIsSetIL ( record ) ( ndefHeaderIL(record) == 1U )

Return true if the Id Length bit is set

◆ ndefHeaderIsSetMB

#define ndefHeaderIsSetMB ( record ) ( ndefHeaderMB(record) == 1U )

Test bit in header byte Return true if the Message Begin bit is set

◆ ndefHeaderIsSetSR

#define ndefHeaderIsSetSR ( record ) ( ndefHeaderSR(record) == 1U )

Return true if the Short Record bit is set

◆ ndefHeaderMB

#define ndefHeaderMB ( record ) ( ((record)->header & 0x80U) >> 7 )

Read bits in header byte Return the MB bit from the record header byte

◆ ndefHeaderME

#define ndefHeaderME ( record ) ( ((record)->header & 0x40U) >> 6 )

Return the ME bit from the record header byte

◆ ndefHeaderSetCF

#define ndefHeaderSetCF ( record ) ( (record)->header |= (1U << 5) )

Set the CF bit in the record header byte

◆ ndefHeaderSetIL

#define ndefHeaderSetIL ( record ) ( (record)->header |= (1U << 3) )

Set the IL bit in the record header byte

◆ ndefHeaderSetMB

#define ndefHeaderSetMB ( record ) ( (record)->header |= (1U << 7) )

Set bits in header byte Set the MB bit in the record header byte

◆ ndefHeaderSetME

#define ndefHeaderSetME ( record ) ( (record)->header |= (1U << 6) )

Set the ME bit in the record header byte

◆ ndefHeaderSetSR

#define ndefHeaderSetSR ( record ) ( (record)->header |= (1U << 4) )

Set the SR bit in the record header byte

◆ ndefHeaderSetTNF

#define ndefHeaderSetTNF | ( | record,
 |  | value
 | ) | ( (record)->header |= (uint8_t)(value) & NDEF_TNF_MASK )

Set the TNF type in the record header byte

◆ ndefHeaderSetValueMB

#define ndefHeaderSetValueMB | ( | record,
 |  | value
 | ) | do{ (record)->header &= 0x7FU; (record)->header |= (((uint8_t)(value)) & 1U) << 7; }while(0)

Set or Clear the MB/ME bit in header byte Write the value to the MB bit in the record header byte

◆ ndefHeaderSetValueME

#define ndefHeaderSetValueME | ( | record,
 |  | value
 | ) | do{ (record)->header &= 0xBFU; (record)->header |= (((uint8_t)(value)) & 1U) << 6; }while(0)

Write the value to the ME bit in the record header byte

◆ ndefHeaderSetValueSR

#define ndefHeaderSetValueSR | ( | record,
 |  | value
 | ) | do{ (record)->header &= 0xEFU; (record)->header |= (((uint8_t)(value)) & 1U) << 4; }while(0)

Write the value to the SR bit in the record header byte

◆ ndefHeaderSR

#define ndefHeaderSR ( record ) ( ((record)->header & 0x10U) >> 4 )

Return the SR bit from the record header byte

◆ ndefHeaderTNF

#define ndefHeaderTNF ( record ) ( (record)->header & NDEF_TNF_MASK )

Return the TNF type from the record header byte

◆ ndefMajorVersion

#define ndefMajorVersion ( V ) ((uint8_t)((V) >> 4U))

Get major version

◆ ndefMessageGetFirstRecord

#define ndefMessageGetFirstRecord ( message ) (((message) == NULL) ? NULL : (message)->record)

Message scanning macros Get first record

Examples:
ndef_example_read.c.

◆ ndefMessageGetNextRecord

#define ndefMessageGetNextRecord ( record ) (((record) == NULL) ? NULL : (record)->next)

Get next record

Examples:
ndef_example_read.c.

◆ ndefMinorVersion

#define ndefMinorVersion ( V ) ((uint8_t)((V) & 0xFU))

Get minor version

◆ ndefT4TIsReadAccessGranted

#define ndefT4TIsReadAccessGranted ( r ) ( ((r) == 0x00U) || (((r) >= 0x80U) && ((r) <= 0xFEU)) )

Read access status

◆ ndefT4TIsWriteAccessGranted

#define ndefT4TIsWriteAccessGranted ( w ) ( ((w) == 0x00U) || (((w) >= 0x80U) && ((w) <= 0xFEU)) )

Write access status

◆ ndefT5TSysInfoAFIPresent

#define ndefT5TSysInfoAFIPresent ( infoFlags ) (((infoFlags) >> NDEF_SYSINFO_FLAG_AFI_POS) & 0x01U)

Returns AFI presence flag

◆ ndefT5TSysInfoCmdListPresent

#define ndefT5TSysInfoCmdListPresent ( infoFlags ) (((infoFlags) >> NDEF_SYSINFO_FLAG_CMDLIST_POS) & 0x01U)

Returns Command List presence flag

◆ ndefT5TSysInfoCSIPresent

#define ndefT5TSysInfoCSIPresent ( infoFlags ) (((infoFlags) >> NDEF_SYSINFO_FLAG_CSI_POS) & 0x01U)

Returns CSI presence flag

◆ ndefT5TSysInfoCustomCmdsSupported

#define ndefT5TSysInfoCustomCmdsSupported ( cmdList ) (((cmdList)[1] >> NDEF_CMDLIST_CUSTOMCMDS_POS) & 0x01U)

Returns CustomCmds support flag

◆ ndefT5TSysInfoDFSIDPresent

#define ndefT5TSysInfoDFSIDPresent ( infoFlags ) (((infoFlags) >> NDEF_SYSINFO_FLAG_DFSID_POS) & 0x01U)

Returns DFSID presence flag

◆ ndefT5TSysInfoExtGetMultipleBlockSecStatusSupported

#define ndefT5TSysInfoExtGetMultipleBlockSecStatusSupported ( cmdList ) (((cmdList)[2] >> NDEF_CMDLIST_EXTGETMULTIPLEBLOCKSECSTATUS_POS) & 0x01U)

Returns ExtGetMultipleBlockSecStatus support flag

◆ ndefT5TSysInfoExtLockSingleBlockSupported

#define ndefT5TSysInfoExtLockSingleBlockSupported ( cmdList ) (((cmdList)[2] >> NDEF_CMDLIST_EXTLOCKSINGLEBLOCK_POS) & 0x01U)

Returns ExtLockSingleBlock support flag

◆ ndefT5TSysInfoExtReadMultipleBlocksSupported

#define ndefT5TSysInfoExtReadMultipleBlocksSupported ( cmdList ) (((cmdList)[2] >> NDEF_CMDLIST_EXTREADMULTIPLEBLOCKS_POS) & 0x01U)

Returns ExtReadMultipleBlocks support flag

◆ ndefT5TSysInfoExtReadSingleBlockSupported

#define ndefT5TSysInfoExtReadSingleBlockSupported ( cmdList ) (((cmdList)[2] >> NDEF_CMDLIST_EXTREADSINGLEBLOCK_POS) & 0x01U)

Returns ExtReadSingleBlock support flag

◆ ndefT5TSysInfoExtWriteMultipleBlocksSupported

#define ndefT5TSysInfoExtWriteMultipleBlocksSupported ( cmdList ) (((cmdList)[2] >> NDEF_CMDLIST_EXTWRITEMULTIPLEBLOCKS_POS) & 0x01U)

Returns ExtWriteMultipleBlocks support flag

◆ ndefT5TSysInfoExtWriteSingleBlockSupported

#define ndefT5TSysInfoExtWriteSingleBlockSupported ( cmdList ) (((cmdList)[2] >> NDEF_CMDLIST_EXTWRITESINGLEBLOCK_POS) & 0x01U)

Returns ExtWriteSingleBlock support flag

◆ ndefT5TSysInfoFastExtendedReadMultipleBlocksSupported

#define ndefT5TSysInfoFastExtendedReadMultipleBlocksSupported ( cmdList ) (((cmdList)[2] >> NDEF_CMDLIST_FASTEXTENDEDREADMULTIPLEBLOCKS_POS) & 0x01U)

Returns FastExtendedReadMultipleBlocks support flag

◆ ndefT5TSysInfoFastReadMultipleBlocksSupported

#define ndefT5TSysInfoFastReadMultipleBlocksSupported ( cmdList ) (((cmdList)[1] >> NDEF_CMDLIST_FASTREADMULTIPLEBLOCKS_POS) & 0x01U)

Returns FastReadMultipleBlocks support flag

◆ ndefT5TSysInfoGetMultipleBlockSecStatusSupported

#define ndefT5TSysInfoGetMultipleBlockSecStatusSupported ( cmdList ) (((cmdList)[0] >> NDEF_CMDLIST_GETMULTIPLEBLOCKSECSTATUS_POS) & 0x01U)

Returns GetMultipleBlockSecStatus support flag

◆ ndefT5TSysInfoGetSystemInformationSupported

#define ndefT5TSysInfoGetSystemInformationSupported ( cmdList ) (((cmdList)[1] >> NDEF_CMDLIST_GETSYSTEMINFORMATION_POS) & 0x01U)

Returns GetSystemInformation support flag

◆ ndefT5TSysInfoICRefPresent

#define ndefT5TSysInfoICRefPresent ( infoFlags ) (((infoFlags) >> NDEF_SYSINFO_FLAG_ICREF_POS) & 0x01U)

Returns IC Reference presence flag

◆ ndefT5TSysInfoLenValue

#define ndefT5TSysInfoLenValue ( infoFlags ) (((infoFlags) >> NDEF_SYSINFO_FLAG_LEN_POS) & 0x01U)

Returns Info flag len value

◆ ndefT5TSysInfoLockAFISupported

#define ndefT5TSysInfoLockAFISupported ( cmdList ) (((cmdList)[1] >> NDEF_CMDLIST_LOCKAFI_POS) & 0x01U)

Returns LockAFI support flag

◆ ndefT5TSysInfoLockDSFIDSupported

#define ndefT5TSysInfoLockDSFIDSupported ( cmdList ) (((cmdList)[1] >> NDEF_CMDLIST_LOCKDSFID_POS) & 0x01U)

Returns LockDSFID support flag

◆ ndefT5TSysInfoLockSingleBlockSupported

#define ndefT5TSysInfoLockSingleBlockSupported ( cmdList ) (((cmdList)[0] >> NDEF_CMDLIST_LOCKSINGLEBLOCK_POS) & 0x01U)

Returns LockSingleBlock support flag

◆ ndefT5TSysInfoMemSizePresent

#define ndefT5TSysInfoMemSizePresent ( infoFlags ) (((infoFlags) >> NDEF_SYSINFO_FLAG_MEMSIZE_POS) & 0x01U)

Returns Memory size presence flag

◆ ndefT5TSysInfoMOIValue

#define ndefT5TSysInfoMOIValue ( infoFlags ) (((infoFlags) >> NDEF_SYSINFO_FLAG_MOI_POS) & 0x01U)

Returns MOI value

◆ ndefT5TSysInfoReadMultipleBlocksSupported

#define ndefT5TSysInfoReadMultipleBlocksSupported ( cmdList ) (((cmdList)[0] >> NDEF_CMDLIST_READMULTIPLEBLOCKS_POS) & 0x01U)

Returns ReadMultipleBlocks support flag

◆ ndefT5TSysInfoReadSingleBlockSupported

#define ndefT5TSysInfoReadSingleBlockSupported ( cmdList ) (((cmdList)[0] >> NDEF_CMDLIST_READSINGLEBLOCK_POS) & 0x01U)

Returns ReadSingleBlock support flag

◆ ndefT5TSysInfoResetToReadySupported

#define ndefT5TSysInfoResetToReadySupported ( cmdList ) (((cmdList)[0] >> NDEF_CMDLIST_RESETTOREADY_POS) & 0x01U)

Returns ResetToReady support flag

◆ ndefT5TSysInfoSelectSupported

#define ndefT5TSysInfoSelectSupported ( cmdList ) (((cmdList)[0] >> NDEF_CMDLIST_SELECT_POS) & 0x01U)

Returns SelectSupported support flag

◆ ndefT5TSysInfoWriteAFISupported

#define ndefT5TSysInfoWriteAFISupported ( cmdList ) (((cmdList)[1] >> NDEF_CMDLIST_WRITEAFI_POS) & 0x01U)

Returns WriteAFI support flag

◆ ndefT5TSysInfoWriteDSFIDSupported

#define ndefT5TSysInfoWriteDSFIDSupported ( cmdList ) (((cmdList)[1] >> NDEF_CMDLIST_WRITEDSFID_POS) & 0x01U)

Returns WriteDSFID support flag

◆ ndefT5TSysInfoWriteMultipleBlocksSupported

#define ndefT5TSysInfoWriteMultipleBlocksSupported ( cmdList ) (((cmdList)[0] >> NDEF_CMDLIST_WRITEMULTIPLEBLOCKS_POS) & 0x01U)

Returns WriteMultipleBlocks support flag

◆ ndefT5TSysInfoWriteSingleBlockSupported

#define ndefT5TSysInfoWriteSingleBlockSupported ( cmdList ) (((cmdList)[0] >> NDEF_CMDLIST_WRITESINGLEBLOCK_POS) & 0x01U)

Returns WriteSingleBlock support flag

◆ TEXT_ENCODING_UTF16

#define TEXT_ENCODING_UTF16 1U

UTF16 text encoding

◆ TEXT_ENCODING_UTF8

#define TEXT_ENCODING_UTF8 0U

Text defines

RTD Type Text Encoding UTF8 text encoding

Typedef Documentation

◆ ndefMessage

typedef struct ndefMessageStruct ndefMessage

Forward declaration

◆ ndefPollerWrapper

typedef struct ndefPollerWrapperStruct ndefPollerWrapper

Wrapper struture to hold the function pointers on each tag type

◆ ndefRecord

typedef struct ndefRecordStruct ndefRecord

Record type

◆ ndefType

typedef struct ndefTypeStruct ndefType

Forward declaration

Enumeration Type Documentation

◆ ndefDeviceType

enum ndefDeviceType

NDEF device type

Enumerator
NDEF_DEV_NONE | Device type undef
NDEF_DEV_T1T | Device type T1T
NDEF_DEV_T2T | Device type T2T
NDEF_DEV_T3T | Device type T3T
NDEF_DEV_T4T | Device type T4AT
NDEF_DEV_T5T | Device type T5T

◆ ndefState

enum ndefState

NDEF states

Enumerator
NDEF_STATE_INVALID | Invalid state (e.g. no CC)
NDEF_STATE_INITIALIZED | State Initialized (no NDEF message)
NDEF_STATE_READWRITE | Valid NDEF found. Read/Write capability
NDEF_STATE_READONLY | Valid NDEF found. Read only

◆ ndefTypeId

enum ndefTypeId

NDEF Type Id enum

Function Documentation

◆ ndefEmptyType()

ReturnCode ndefEmptyType ( ndefType * empty )

AAR (Android Application Record) Record Type buffer

Initialize an Empty type

Parameters
[out] empty Type to initialize
Returns
ERR_NONE if successful or a standard error code

◆ ndefEmptyTypeToRecord()

ReturnCode ndefEmptyTypeToRecord | ( | const ndefType * | empty,
 |  | ndefRecord * | record
 | ) |  |

Convert an Empty type to an NDEF record

Parameters
[in] | empty | Type to convert
[out] | record | The converted type
Returns
ERR_NONE if successful or a standard error code

◆ ndefGetMedia()

ReturnCode ndefGetMedia | ( | const ndefType * | media,
 |  | ndefConstBuffer8 * | bufType,
 |  | ndefConstBuffer * | bufPayload
 | ) |  |

Get Media type content

Parameters
[in] | media | Media type to get information from
[out] | bufType | Type buffer
[out] | bufPayload | Payload buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefGetRtdAar()

ReturnCode ndefGetRtdAar | ( | const ndefType * | aar,
 |  | ndefConstBuffer * | bufAarString
 | ) |  |

Get RTD Android Application Record type content

Parameters
[in] | aar | Type to get information from
[out] | bufAarString | AAR string buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefGetRtdDeviceInfo()

ReturnCode ndefGetRtdDeviceInfo | ( | const ndefType * | devInfo,
 |  | ndefTypeRtdDeviceInfo * | devInfoData
 | ) |  |

Get RTD Device Information type content

Parameters
[in] | devInfo | Type to get information from
[out] | devInfoData | Device Information data
Returns
ERR_NONE if successful or a standard error code

◆ ndefGetRtdText()

ReturnCode ndefGetRtdText | ( | const ndefType * | text,
 |  | uint8_t * | utfEncoding,
 |  | ndefConstBuffer8 * | bufLanguageCode,
 |  | ndefConstBuffer * | bufSentence
 | ) |  |

Get RTD Text type content

Parameters
[in] | text | Type to get information from
[out] | utfEncoding | UTF-8/UTF-16
[out] | bufLanguageCode | ISO/IANA language code buffer
[out] | bufSentence | Actual text buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefGetRtdUri()

ReturnCode ndefGetRtdUri | ( | const ndefType * | uri,
 |  | ndefConstBuffer * | bufProtocol,
 |  | ndefConstBuffer * | bufUriString
 | ) |  |

Get URI RTD type content

Parameters
[in] | uri | Type to get information from
[out] | bufProtocol | URI protocol buffer
[out] | bufUriString | URI string buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefGetVCard()

ReturnCode ndefGetVCard | ( | const ndefType * | vCard,
 |  | const ndefConstBuffer * | bufType,
 |  | ndefConstBuffer * | bufSubType,
 |  | ndefConstBuffer * | bufValue
 | ) |  |

Get vCard content

Parameters
[in] | vCard | vCard type to get information from
[out] | bufType | Type buffer to extract
[out] | bufSubType | SubType buffer extracted. Can be NULL is not required
[out] | bufValue | Value buffer extracted
Returns
ERR_NONE if successful or a standard error code

◆ ndefGetWifi()

ReturnCode ndefGetWifi | ( | const ndefType * | wifi,
 |  | ndefTypeWifi * | wifiConfig
 | ) |  |

Get Wifi configuration

Parameters
[in] | wifi | wifi type to get information from
[out] | wifiConfig | wifi configuration
Returns
ERR_NONE if successful or a standard error code

◆ ndefMedia()

ReturnCode ndefMedia | ( | ndefType * | media,
 |  | const ndefConstBuffer8 * | bufType,
 |  | const ndefConstBuffer * | bufPayload
 | ) |  |

vCard Record Type buffer

Initialize a Media type

Parameters
[out] | media | Media type to initialize
[in] | bufType | Type buffer
[in] | bufPayload | Payload buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefMediaToRecord()

ReturnCode ndefMediaToRecord | ( | const ndefType * | media,
 |  | ndefRecord * | record
 | ) |  |

Convert a Media type to an NDEF record

Parameters
[in] | media | Type to convert
[out] | record | The converted type
Returns
ERR_NONE if successful or a standard error code

◆ ndefMessageAppend()

ReturnCode ndefMessageAppend | ( | ndefMessage * | message,
 |  | ndefRecord * | record
 | ) |  |

Append a record to an NDEF message

Parameters
[in] | record | Record to append
[in,out] | message | Message to be appended with the given record
Returns
ERR_NONE if successful or a standard error code
Examples:
ndef_example_write.c.

◆ ndefMessageDecode()

ReturnCode ndefMessageDecode | ( | const ndefConstBuffer * | bufPayload,
 |  | ndefMessage * | message
 | ) |  |

Decode a raw buffer to an NDEF message

Convert a raw buffer to a message

Parameters
[in] | bufPayload | Payload buffer to convert into message
[out] | message | Message created from the raw buffer
Returns
ERR_NONE if successful or a standard error code
Examples:
ndef_example_read.c.

◆ ndefMessageEncode()

ReturnCode ndefMessageEncode | ( | const ndefMessage * | message,
 |  | ndefBuffer * | bufPayload
 | ) |  |

Encode an NDEF message to a raw buffer

Convert a message to a raw buffer

Parameters
[in] | message | Message to convert
[in,out] | bufPayload | Output buffer to store the converted message The input length provides the output buffer allocated length, used for parameter check to avoid overflow. In case the buffer provided is too short, it is updated with the required buffer length. On success, it is updated with the actual buffer length used to contain the converted message.
Returns
ERR_NONE if successful or a standard error code

◆ ndefMessageGetInfo()

ReturnCode ndefMessageGetInfo | ( | const ndefMessage * | message,
 |  | ndefMessageInfo * | info
 | ) |  |

Get NDEF message information

Return the message information

Parameters
[in] | message
[out] | info | e.g. message length in bytes, number of records
Returns
ERR_NONE if successful or a standard error code

◆ ndefMessageGetRecordCount()

uint32_t ndefMessageGetRecordCount ( const ndefMessage * message )

Get the number of NDEF message records

Return the number of records in the given message

Parameters
[in] message
Returns
number of records

◆ ndefMessageInit()

ReturnCode ndefMessageInit ( ndefMessage * message )

Initialize an empty NDEF message

Parameters
[in,out] message to initialize
Returns
ERR_NONE if successful or a standard error code
Examples:
ndef_example_write.c.

◆ ndefPollerBeginWriteMessage()

ReturnCode ndefPollerBeginWriteMessage | ( | ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method sets the L-field to 0 (T1T, T2T, T4T, T5T) or set the WriteFlag (T3T) and sets the message offset to the proper value according to messageLen

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefPollerCheckAvailableSpace()

ReturnCode ndefPollerCheckAvailableSpace | ( | const ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method check whether a NFC tag has enough space to write a message of a given length

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefPollerCheckPresence()

ReturnCode ndefPollerCheckPresence ( ndefContext * ctx )

This method check whether an NFC tag is still present in the operating field

Parameters
[in] ctx : ndef Context
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefPollerContextInitialization()

ReturnCode ndefPollerContextInitialization | ( | ndefContext * | ctx,
 |  | const rfalNfcDevice * | dev
 | ) |  |

This method performs the initialization of the NDEF context. It must be called after a successful anti-collision procedure and prior to any NDEF procedures such as NDEF detection procedure.

Parameters
[in] | ctx | : ndef Context
[in] | dev | : ndef Device
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
Examples:
ndef_example_read.c, and ndef_example_write.c.

◆ ndefPollerEndWriteMessage()

ReturnCode ndefPollerEndWriteMessage | ( | ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method updates the L-field value after the message has been written and resets the WriteFlag (for T3T only)

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefPollerNdefDetect()

ReturnCode ndefPollerNdefDetect | ( | ndefContext * | ctx,
 |  | ndefInfo * | info
 | ) |  |

This method performs the NDEF Detection procedure

Parameters
[in] | ctx | : ndef Context
[out] | info | : ndef Information (optional parameter, NULL may be used when no NDEF Information is needed)
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : Detection failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
Examples:
ndef_example_read.c, and ndef_example_write.c.

◆ ndefPollerReadBytes()

ReturnCode ndefPollerReadBytes | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | uint32_t | len,
 |  | uint8_t * | buf,
 |  | uint32_t * | rcvdLen
 | ) |  |

This method reads arbitrary length data

Parameters
[in] | ctx | : ndef Context
[in] | offset | : file offset of where to start reading data
[in] | len | : requested len
[out] | buf | : buffer to place the data read from the tag
[out] | rcvdLen | received length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefPollerReadRawMessage()

ReturnCode ndefPollerReadRawMessage | ( | ndefContext * | ctx,
 |  | uint8_t * | buf,
 |  | uint32_t | bufLen,
 |  | uint32_t * | rcvdLen
 | ) |  |

This method reads a raw NDEF message. Prior to NDEF Read procedure, a successful ndefPollerNdefDetect() has to be performed.

Parameters
[in] | ctx | : ndef Context
[out] | buf | : buffer to place the NDEF message
[in] | bufLen | : buffer length
[out] | rcvdLen | received length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
Examples:
ndef_example_read.c.

◆ ndefPollerTagFormat()

ReturnCode ndefPollerTagFormat | ( | ndefContext * | ctx,
 |  | const ndefCapabilityContainer * | cc,
 |  | uint32_t | options
 | ) |  |

This method format a tag to make it ready for NDEF storage. cc and options parameters usage is described in each technology method (ndefT[2345]TPollerTagFormat)

Parameters
[in] | ctx | : ndef Context
[in] | cc | : Capability Container
[in] | options | : specific flags
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefPollerWriteBytes()

ReturnCode ndefPollerWriteBytes | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | const uint8_t * | buf,
 |  | uint32_t | len
 | ) |  |

This method writes arbitrary length data from the current selected file

Parameters
[in] | ctx | : ndef Context
[in] | offset | : file offset of where to start writing data
[in] | buf | : data to write
[in] | len | : buf len
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefPollerWriteMessage()

ReturnCode ndefPollerWriteMessage | ( | ndefContext * | ctx,
 |  | const ndefMessage * | message
 | ) |  |

Write the NDEF message to the tag

Parameters
[in] | ctx | NDEF Context
[in] | message | Message to write
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
Examples:
ndef_example_write.c.

◆ ndefPollerWriteRawMessage()

ReturnCode ndefPollerWriteRawMessage | ( | ndefContext * | ctx,
 |  | const uint8_t * | buf,
 |  | uint32_t | bufLen
 | ) |  |

This method writes a raw NDEF message. Prior to NDEF Write procedure, a successful ndefPollerNdefDetect() has to be performed.

Parameters
[in] | ctx | : ndef Context
[in] | buf | : raw message buffer
[in] | bufLen | : buffer length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefPollerWriteRawMessageLen()

ReturnCode ndefPollerWriteRawMessageLen | ( | ndefContext * | ctx,
 |  | uint32_t | rawMessageLen
 | ) |  |

This method writes the NLEN field

Parameters
[in] | ctx | : ndef Context
[in] | rawMessageLen | len
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefRecordDecode()

ReturnCode ndefRecordDecode | ( | const ndefConstBuffer * | bufPayload,
 |  | ndefRecord * | record
 | ) |  |

Decode a raw buffer to create an NDEF record

Convert a raw buffer to a record

Parameters
[in] | bufPayload | Payload buffer to convert into record
[out] | record | Record created from the raw buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordEncode()

ReturnCode ndefRecordEncode | ( | const ndefRecord * | record,
 |  | ndefBuffer * | bufRecord
 | ) |  |

Encode an NDEF record to a raw buffer

Convert a record to a raw buffer

Parameters
[in] | record | Record to convert
[in,out] | bufRecord | Output buffer to store the converted record The input length provides the output buffer allocated length, used for parameter check to avoid overflow. In case the buffer provided is too short, it is updated with the required buffer length. On success, it is updated with the actual buffer length used to contain the converted record.
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordEncodeHeader()

ReturnCode ndefRecordEncodeHeader | ( | const ndefRecord * | record,
 |  | ndefBuffer * | bufHeader
 | ) |  |

Encode an NDEF record header to a raw buffer

Convert a record header to a raw buffer. It is made of: "header byte" (1 byte), type length (1 byte), payload length (4 bytes), Id length (1 byte). Total 7 bytes.

Parameters
[in] | record | Record header to convert
[in,out] | bufHeader | Output buffer to store the converted record header The input length provides the output buffer allocated length, used for parameter check to avoid overflow. In case the buffer provided is too short, it is updated with the required buffer length. On success, it is updated with the actual buffer length used to contain the converted record.
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordGetHeaderLength()

uint32_t ndefRecordGetHeaderLength ( const ndefRecord * record )

Get NDEF record header length

Return the length of header for the given record

Parameters
[in] record
Returns
header length in bytes

◆ ndefRecordGetId()

ReturnCode ndefRecordGetId | ( | const ndefRecord * | record,
 |  | ndefConstBuffer8 * | bufId
 | ) |  |

Get NDEF record Id

Return the Id for the given NDEF record

Parameters
[in] | record | Record to get the Id from
[out] | bufId | Id buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordGetLength()

uint32_t ndefRecordGetLength ( const ndefRecord * record )

Get NDEF record length

Return the length of the given record, needed to store it as a raw buffer

Parameters
[in] record
Returns
record length in bytes

◆ ndefRecordGetNdefType()

const ndefType* ndefRecordGetNdefType ( const ndefRecord * record )

Get the NDEF type structure of this record

Parameters
[in] record Record
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordGetPayload()

ReturnCode ndefRecordGetPayload | ( | const ndefRecord * | record,
 |  | ndefConstBuffer * | bufPayload
 | ) |  |

Get NDEF record payload

Return the payload for the given record

Parameters
[in] | record | Record to get the payload from
[out] | bufPayload | Payload buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordGetPayloadItem()

const uint8_t* ndefRecordGetPayloadItem | ( | const ndefRecord * | record,
 |  | ndefConstBuffer * | bufPayloadItem,
 |  | bool | begin
 | ) |  |

Return a payload elementary item needed to build the complete record payload

Call this function to get either the first payload item, or the next one. Returns the next payload item, call it until it returns NULL.

Parameters
[in] | record | Record
[out] | bufPayloadItem | The payload item returned
[in] | begin | Tell to return the first payload item or the next one
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordGetPayloadLength()

uint32_t ndefRecordGetPayloadLength ( const ndefRecord * record )

Get NDEF record payload length

Return the length of payload for the given record

Parameters
[in] record
Returns
payload length in bytes

◆ ndefRecordGetType()

ReturnCode ndefRecordGetType | ( | const ndefRecord * | record,
 |  | uint8_t * | tnf,
 |  | ndefConstBuffer8 * | bufType
 | ) |  |

Get NDEF record type

Return the type for the given record

Parameters
[in] | record | Record to get the type from
[out] | tnf | Pointer to the TNF type
[out] | bufType | Type string buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordInit()

ReturnCode ndefRecordInit | ( | ndefRecord * | record,
 |  | uint8_t | tnf,
 |  | const ndefConstBuffer8 * | bufType,
 |  | const ndefConstBuffer8 * | bufId,
 |  | const ndefConstBuffer * | bufPayload
 | ) |  |

Initialize an NDEF record

This function initializes all record fields

Parameters
[in,out] | record | Record to initialize
[in] | tnf | TNF type
[in] | bufType | Type buffer
[in] | bufId | Id buffer
[in] | bufPayload | Payload buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordReset()

ReturnCode ndefRecordReset ( ndefRecord * record )

Reset an NDEF record

This function clears every record field

Parameters
[in,out] record to reset
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordSetId()

ReturnCode ndefRecordSetId | ( | ndefRecord * | record,
 |  | const ndefConstBuffer8 * | bufId
 | ) |  |

Set NDEF record Id

Set the Id for the given NDEF record

Parameters
[in] | record | Record to set the Id
[out] | bufId | Id buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordSetNdefType()

ReturnCode ndefRecordSetNdefType | ( | ndefRecord * | record,
 |  | const ndefType * | type
 | ) |  |

Set the NDEF specific structure to process NDEF types

Parameters
[in] | record | Record
[out] | type | NDEF type structure
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordSetPayload()

ReturnCode ndefRecordSetPayload | ( | ndefRecord * | record,
 |  | const ndefConstBuffer * | bufPayload
 | ) |  |

Set NDEF record payload

Set the payload for the given record, update the SR bit accordingly

Parameters
[in,out] | record | Record to set the payload
[in] | bufPayload | Payload buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordSetType()

ReturnCode ndefRecordSetType | ( | ndefRecord * | record,
 |  | uint8_t | tnf,
 |  | const ndefConstBuffer8 * | bufType
 | ) |  |

Set NDEF record type

Set the type for the given record

Parameters
[in,out] | record | Record to set the type
[in] | tnf | TNF type
[in] | bufType | Type buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordToEmptyType()

ReturnCode ndefRecordToEmptyType | ( | const ndefRecord * | record,
 |  | ndefType * | empty
 | ) |  |

Convert an NDEF record to an Empty type

Parameters
[in] | record | Record to convert
[out] | empty | The converted type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordToMedia()

ReturnCode ndefRecordToMedia | ( | const ndefRecord * | record,
 |  | ndefType * | media
 | ) |  |

Convert an NDEF record to a Media type

Parameters
[in] | record | Record to convert
[out] | media | The converted Media type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordToRtdAar()

ReturnCode ndefRecordToRtdAar | ( | const ndefRecord * | record,
 |  | ndefType * | aar
 | ) |  |

Convert an NDEF record to an RTD Android Application Record External type

Parameters
[in] | record | Record to convert
[out] | aar | The converted AAR external type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordToRtdDeviceInfo()

ReturnCode ndefRecordToRtdDeviceInfo | ( | const ndefRecord * | record,
 |  | ndefType * | devInfo
 | ) |  |

Convert an NDEF record to a Device Information RTD type

Parameters
[in] | record | Record to convert
[out] | devInfo | The converted type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordToRtdText()

ReturnCode ndefRecordToRtdText | ( | const ndefRecord * | record,
 |  | ndefType * | text
 | ) |  |

Convert an NDEF record to a Text type

Parameters
[in] | record | Record to convert
[out] | text | The converted type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordToRtdUri()

ReturnCode ndefRecordToRtdUri | ( | const ndefRecord * | record,
 |  | ndefType * | uri
 | ) |  |

Convert an NDEF record to a URI RTD type

Parameters
[in] | record | Record to convert
[out] | uri | The converted type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordToType()

ReturnCode ndefRecordToType | ( | const ndefRecord * | record,
 |  | ndefType * | type
 | ) |  |

Convert a record to a supported type

Parameters
[in] | record | Record to read
[out] | type | Type to store the converted record
Returns
ERR_NONE if successful or a standard error code
Examples:
ndef_example_read.c.

◆ ndefRecordToVCard()

ReturnCode ndefRecordToVCard | ( | const ndefRecord * | record,
 |  | ndefType * | vCard
 | ) |  |

Convert an NDEF record to a vCard

Parameters
[in] | record | Record to convert
[out] | vCard | The converted vCard type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordToWifi()

ReturnCode ndefRecordToWifi | ( | const ndefRecord * | record,
 |  | ndefType * | wifi
 | ) |  |

Convert an NDEF record to a wifi type

Parameters
[in] | record | Record to convert
[out] | wifi | The converted wifi type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRecordTypeMatch()

bool ndefRecordTypeMatch | ( | const ndefRecord * | record,
 |  | uint8_t | tnf,
 |  | const ndefConstBuffer8 * | bufType
 | ) |  |

Check the record type matches a given type

Parameters
[in] | record | Record to get the type from
[out] | tnf | the TNF type to compare with
[out] | bufType | Type string buffer to compare with
Returns
true or false

◆ ndefRecordTypeStringToTypeId()

ReturnCode ndefRecordTypeStringToTypeId | ( | const ndefRecord * | record,
 |  | ndefTypeId * | typeId
 | ) |  |

Return an NDEF record type Id

Parameters
[in] | record | Record to get the type from
[out] | typeId | The record RTD type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRtdAar()

ReturnCode ndefRtdAar | ( | ndefType * | aar,
 |  | const ndefConstBuffer * | bufPayload
 | ) |  |

Initialize an RTD Android Application Record External type

Parameters
[out] | aar | Type to initialize
[in] | bufPayload | Payload buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefRtdAarToRecord()

ReturnCode ndefRtdAarToRecord | ( | const ndefType * | aar,
 |  | ndefRecord * | record
 | ) |  |

Convert an RTD Android Application Record External type to an NDEF record

Parameters
[in] | aar | AAR External type to convert
[out] | record | The converted type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRtdDeviceInfo()

ReturnCode ndefRtdDeviceInfo | ( | ndefType * | devInfo,
 |  | const ndefDeviceInfoEntry * | devInfoData,
 |  | uint8_t | devInfoDataCount
 | ) |  |

Initialize a RTD Device Information type

Parameters
[out] | devInfo | Type to initialize
[in] | devInfoData | Device Information data
[in] | devInfoDataCount | Number of Device Information data
Returns
ERR_NONE if successful or a standard error code

◆ ndefRtdDeviceInfoToRecord()

ReturnCode ndefRtdDeviceInfoToRecord | ( | const ndefType * | devInfo,
 |  | ndefRecord * | record
 | ) |  |

Convert a Device Information RTD type to an NDEF record

Parameters
[in] | devInfo | Type to convert
[out] | record | The converted type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRtdText()

ReturnCode ndefRtdText | ( | ndefType * | text,
 |  | uint8_t | utfEncoding,
 |  | const ndefConstBuffer8 * | bufLanguageCode,
 |  | const ndefConstBuffer * | bufSentence
 | ) |  |

Initialize a Text RTD type

Parameters
[out] | text | Type to initialize
[out] | utfEncoding | UTF-8/UTF-16
[in] | bufLanguageCode | ISO/IANA language code buffer
[in] | bufSentence | Actual text buffer
Returns
ERR_NONE if successful or a standard error code

◆ ndefRtdTextToRecord()

ReturnCode ndefRtdTextToRecord | ( | const ndefType * | text,
 |  | ndefRecord * | record
 | ) |  |

Convert a Text RTD type to an NDEF record

Parameters
[in] | text | Type to convert
[out] | record | The converted type
Returns
ERR_NONE if successful or a standard error code

◆ ndefRtdUri()

ReturnCode ndefRtdUri | ( | ndefType * | uri,
 |  | uint8_t | protocol,
 |  | const ndefConstBuffer * | bufUriString
 | ) |  |

Initialize a URI RTD type

Parameters
[out] | uri | Type to initialize
[in] | protocol | URI protocol
[in] | bufUriString | URI string buffer
Returns
ERR_NONE if successful or a standard error code
Examples:
ndef_example_write.c.

◆ ndefRtdUriToRecord()

ReturnCode ndefRtdUriToRecord | ( | const ndefType * | uri,
 |  | ndefRecord * | record
 | ) |  |

Convert a URI RTD type to an NDEF record

Parameters
[in] | uri | Type to convert
[out] | record | The converted type
Returns
ERR_NONE if successful or a standard error code
Examples:
ndef_example_write.c.

◆ ndefT2TPollerBeginWriteMessage()

ReturnCode ndefT2TPollerBeginWriteMessage | ( | ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method sets the L-field to 0 and sets the message offset to the proper value according to messageLen

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT2TPollerCheckAvailableSpace()

ReturnCode ndefT2TPollerCheckAvailableSpace | ( | const ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method checks whether a T2T tag has enough space to write a message of a given length

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT2TPollerCheckPresence()

ReturnCode ndefT2TPollerCheckPresence ( ndefContext * ctx )

This method checks whether a T2T tag is still present in the operating field

Parameters
[in] ctx : ndef Context
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT2TPollerContextInitialization()

ReturnCode ndefT2TPollerContextInitialization | ( | ndefContext * | ctx,
 |  | const rfalNfcDevice * | dev
 | ) |  |

This method performs the initialization of the NDEF context and handles the activation of the ISO-DEP layer. It must be called after a successful anti-collision procedure and prior to any NDEF procedures such as NDEF detection procedure.

Parameters
[in] | ctx | : ndef Context
[in] | dev | : ndef Device
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT2TPollerEndWriteMessage()

ReturnCode ndefT2TPollerEndWriteMessage | ( | ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method updates the L-field value after the message has been written

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT2TPollerNdefDetect()

ReturnCode ndefT2TPollerNdefDetect | ( | ndefContext * | ctx,
 |  | ndefInfo * | info
 | ) |  |

This method performs the T2T NDEF Detection procedure

Parameters
[in] | ctx | : ndef Context
[out] | info | : ndef Information (optional parameter, NULL may be used when no NDEF Information is needed)
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : Detection failed (application or ccfile not found)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT2TPollerReadBytes()

ReturnCode ndefT2TPollerReadBytes | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | uint32_t | len,
 |  | uint8_t * | buf,
 |  | uint32_t * | rcvdLen
 | ) |  |

This method reads arbitrary length data from the current selected file

Parameters
[in] | ctx | : ndef Context
[in] | len | : requested len
[in] | offset | : file offset of where to start reading data
[out] | buf | : buffer to place the data read from the tag
[out] | rcvdLen | received length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT2TPollerReadRawMessage()

ReturnCode ndefT2TPollerReadRawMessage | ( | ndefContext * | ctx,
 |  | uint8_t * | buf,
 |  | uint32_t | bufLen,
 |  | uint32_t * | rcvdLen
 | ) |  |

This method reads a raw NDEF message from the current selected file. Prior to NDEF Read procedure, a successful ndefT2TPollerNdefDetect() has to be performed.

Parameters
[in] | ctx | : ndef Context
[out] | buf | : buffer to place the NDEF message
[in] | bufLen | : buffer length
[out] | rcvdLen | received length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT2TPollerTagFormat()

ReturnCode ndefT2TPollerTagFormat | ( | ndefContext * | ctx,
 |  | const ndefCapabilityContainer * | cc,
 |  | uint32_t | options
 | ) |  |

This method formats a tag to make it ready for NDEF storage. The Capability Container block is written only for virgin tags. If the cc parameter is not provided (i.e. NULL), a default one is used with T2T_AreaSize = 48 bytes. Beware that formatting is on most tags a one time operation (OTP bits!!!!) Doing a wrong format may render your tag unusable. options parameter is not used for T2T Tag Format method

Parameters
[in] | ctx | : ndef Context
[in] | cc | : Capability Container
[in] | options | specific flags
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT2TPollerWriteBytes()

ReturnCode ndefT2TPollerWriteBytes | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | const uint8_t * | buf,
 |  | uint32_t | len
 | ) |  |

This method reads arbitrary length data from the current selected file

Parameters
[in] | ctx | : ndef Context
[in] | offset | : file offset of where to start writing data
[in] | buf | : data to write
[in] | len | : buf len
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT2TPollerWriteRawMessage()

ReturnCode ndefT2TPollerWriteRawMessage | ( | ndefContext * | ctx,
 |  | const uint8_t * | buf,
 |  | uint32_t | bufLen
 | ) |  |

This method writes a raw NDEF message in the current selected file. Prior to NDEF Write procedure, a successful ndefT2TPollerNdefDetect() has to be performed.

Warning
Current selected file must not be changed between NDEF Detect procedure and NDEF Write procedure. If another file is selected before NDEF Write procedure, it is user responsibility to re-select NDEF file or to call ndefT2TPollerNdefDetect() to restore proper context.
Parameters
[in] | ctx | : ndef Context
[in] | buf | : raw message buffer
[in] | bufLen | : buffer length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT2TPollerWriteRawMessageLen()

ReturnCode ndefT2TPollerWriteRawMessageLen | ( | ndefContext * | ctx,
 |  | uint32_t | rawMessageLen
 | ) |  |

This method writes the NLEN field (V2 mapping) or the ENLEN (V3 mapping).

Parameters
[in] | ctx | : ndef Context
[in] | rawMessageLen | len
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT3TPollerBeginWriteMessage()

ReturnCode ndefT3TPollerBeginWriteMessage | ( | ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method sets the WriteFlag to the appropriate value before starting to write the NDEF message

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT3TPollerCheckAvailableSpace()

ReturnCode ndefT3TPollerCheckAvailableSpace | ( | const ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method checks whether a T3T tag has enough space to write a message of a given length

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT3TPollerCheckPresence()

ReturnCode ndefT3TPollerCheckPresence ( ndefContext * ctx )

This method checks whether a T3T tag is still present in the operating field

Parameters
[in] ctx : ndef Context
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT3TPollerContextInitialization()

ReturnCode ndefT3TPollerContextInitialization | ( | ndefContext * | ctx,
 |  | const rfalNfcDevice * | dev
 | ) |  |

This method performs the initialization of the NDEF context and handles the activation of the ISO-DEP layer. It must be called after a successful anti-collision procedure and prior to any NDEF procedures such as NDEF detection procedure.

Parameters
[in] | ctx | : ndef Context
[in] | dev | : ndef Device
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT3TPollerEndWriteMessage()

ReturnCode ndefT3TPollerEndWriteMessage | ( | ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method updates the Ln field of the AIB and resets the WriteFlag

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT3TPollerNdefDetect()

ReturnCode ndefT3TPollerNdefDetect | ( | ndefContext * | ctx,
 |  | ndefInfo * | info
 | ) |  |

This method performs the T3T NDEF Detection procedure

Parameters
[in] | ctx | : ndef Context
[out] | info | : ndef Information (optional parameter, NULL may be used when no NDEF Information is needed)
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : Detection failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT3TPollerReadBytes()

ReturnCode ndefT3TPollerReadBytes | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | uint32_t | len,
 |  | uint8_t * | buf,
 |  | uint32_t * | rcvdLen
 | ) |  |

This method reads arbitrary length data from the current selected file

Parameters
[in] | ctx | : ndef Context
[in] | len | : requested len
[in] | offset | : file offset of where to start reading data
[out] | buf | : buffer to place the data read from the tag
[out] | rcvdLen | received length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT3TPollerReadRawMessage()

ReturnCode ndefT3TPollerReadRawMessage | ( | ndefContext * | ctx,
 |  | uint8_t * | buf,
 |  | uint32_t | bufLen,
 |  | uint32_t * | rcvdLen
 | ) |  |

This method reads a raw NDEF message from the current selected file. Prior to NDEF Read procedure, a successful ndefT3TPollerNdefDetect() has to be performed.

Parameters
[in] | ctx | : ndef Context
[out] | buf | : buffer to place the NDEF message
[in] | bufLen | : buffer length
[out] | rcvdLen | received length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT3TPollerTagFormat()

ReturnCode ndefT3TPollerTagFormat | ( | ndefContext * | ctx,
 |  | const ndefCapabilityContainer * | cc,
 |  | uint32_t | options
 | ) |  |

This method formats a tag to make it ready for NDEF storage. cc parameter contains the Attribute Information Block fields If cc parameter is not provided (i.e. NULL), this method assumes that the AIB is already present. options parameter is not used for T3T Tag Format method

Parameters
[in] | ctx | : ndef Context
[in] | cc | : Capability Container
[in] | options | specific flags
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT3TPollerWriteBytes()

ReturnCode ndefT3TPollerWriteBytes | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | const uint8_t * | buf,
 |  | uint32_t | len
 | ) |  |

This method reads arbitrary length data from the current selected file

Parameters
[in] | ctx | : ndef Context
[in] | offset | : file offset of where to start writing data
[in] | buf | : data to write
[in] | len | : buf len
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT3TPollerWriteRawMessage()

ReturnCode ndefT3TPollerWriteRawMessage | ( | ndefContext * | ctx,
 |  | const uint8_t * | buf,
 |  | uint32_t | bufLen
 | ) |  |

This method writes a raw NDEF message in the current selected file. Prior to NDEF Write procedure, a successful ndefT3TPollerNdefDetect() has to be performed.

Warning
Current selected file must not be changed between NDEF Detect procedure and NDEF Write procedure. If another file is selected before NDEF Write procedure, it is user responsibility to re-select NDEF file or to call ndefT3TPollerNdefDetect() to restore proper context.
Parameters
[in] | ctx | : ndef Context
[in] | buf | : raw message buffer
[in] | bufLen | : buffer length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT3TPollerWriteRawMessageLen()

ReturnCode ndefT3TPollerWriteRawMessageLen | ( | ndefContext * | ctx,
 |  | uint32_t | rawMessageLen
 | ) |  |

This method writes the NLEN field (V2 mapping) or the ENLEN (V3 mapping).

Parameters
[in] | ctx | : ndef Context
[in] | rawMessageLen | len
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerBeginWriteMessage()

ReturnCode ndefT4TPollerBeginWriteMessage | ( | ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method sets the L-field to 0

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT4TPollerCheckAvailableSpace()

ReturnCode ndefT4TPollerCheckAvailableSpace | ( | const ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method checks whether a T4T tag has enough space to write a message of a given length

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT4TPollerCheckPresence()

ReturnCode ndefT4TPollerCheckPresence ( ndefContext * ctx )

This method checks whether a T4T tag is still present in the operating field

Parameters
[in] ctx : ndef Context
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerContextInitialization()

ReturnCode ndefT4TPollerContextInitialization | ( | ndefContext * | ctx,
 |  | const rfalNfcDevice * | dev
 | ) |  |

This method performs the initialization of the NDEF context and handles the activation of the ISO-DEP layer. It must be called after a successful anti-collision procedure and prior to any NDEF procedures such as NDEF detection procedure.

Parameters
[in] | ctx | : ndef Context
[in] | dev | : ndef Device
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerEndWriteMessage()

ReturnCode ndefT4TPollerEndWriteMessage | ( | ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method updates the L-field value after the message has been written

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT4TPollerNdefDetect()

ReturnCode ndefT4TPollerNdefDetect | ( | ndefContext * | ctx,
 |  | ndefInfo * | info
 | ) |  |

This method performs the T4T NDEF Detection procedure

Parameters
[in] | ctx | : ndef Context
[out] | info | : ndef Information (optional parameter, NULL may be used when no NDEF Information is needed)
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : Detection failed (application or ccfile not found)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerReadBinary()

ReturnCode ndefT4TPollerReadBinary | ( | ndefContext * | ctx,
 |  | uint16_t | offset,
 |  | uint8_t | len
 | ) |  |

This method reads the data from the tag using a single ReadBinary command

Parameters
[in] | ctx | : ndef Context
[in] | offset | : file offset of where to star reading data; valid range 0000h-7FFFh
[in] | len | : requested len (short field coding)
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed (SW1SW2 <> 9000h)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerReadBinaryODO()

ReturnCode ndefT4TPollerReadBinaryODO | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | uint8_t | len
 | ) |  |

This method reads the data from the tag using a single ReadBinary ODO command

Parameters
[in] | ctx | : ndef Context
[in] | offset | : file offset of where to star reading data; valid range 0000h-7FFFh
[in] | len | : requested len (short field coding)
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed (SW1SW2 <> 9000h)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerReadBytes()

ReturnCode ndefT4TPollerReadBytes | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | uint32_t | len,
 |  | uint8_t * | buf,
 |  | uint32_t * | rcvdLen
 | ) |  |

This method reads arbitrary length data from the current selected file

Parameters
[in] | ctx | : ndef Context
[in] | len | : requested len
[in] | offset | : file offset of where to start reading data
[out] | buf | : buffer to place the data read from the tag
[out] | rcvdLen | received length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed (SW1SW2 <> 9000h)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerReadRawMessage()

ReturnCode ndefT4TPollerReadRawMessage | ( | ndefContext * | ctx,
 |  | uint8_t * | buf,
 |  | uint32_t | bufLen,
 |  | uint32_t * | rcvdLen
 | ) |  |

This method reads a raw NDEF message from the current selected file. Prior to NDEF Read procedure, a successfull ndefT4TPollerNdefDetect() has to be performed.

Warning
Current selected file must not be changed between NDEF Detect procedure and NDEF Read procedure. If another file is selected before NDEF Read procedure, it is user responsibility to re-select NDEF file or to call ndefT4TPollerNdefDetect() to restore proper context.
Parameters
[in] | ctx | : ndef Context
[out] | buf | : buffer to place the NDEF message
[in] | bufLen | : buffer length
[out] | rcvdLen | received length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed (SW1SW2 <> 9000h)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerSelectFile()

ReturnCode ndefT4TPollerSelectFile | ( | ndefContext * | ctx,
 |  | const uint8_t * | fileId
 | ) |  |

This method sends a Select File Command-APDU.

The following fields of the ndef Context must be filled up before calling this method:

  • devType: device type
  • subCtx.t4t.mv1Flag: Mapping version 1 flag
Parameters
[in] | ctx | : ndef Context
[in] | fileId | : file identifier
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : File not found
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerSelectNdefTagApplication()

ReturnCode ndefT4TPollerSelectNdefTagApplication ( ndefContext * ctx )

This method sends the Select NDEF tag application. If V2 Tag Application is not found, a Select NDEF tag V1 application is sent/

Parameters
[in] ctx : ndef Context
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : Application not found
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerTagFormat()

ReturnCode ndefT4TPollerTagFormat | ( | ndefContext * | ctx,
 |  | const ndefCapabilityContainer * | cc,
 |  | uint32_t | options
 | ) |  |

This method formats a tag to make it ready for NDEF storage. In case of T4T, it writes NLEN/ENLEN=0 to the NDEF File. cc and options parameters are not used for T4T Tag Format method.

Parameters
[in] | ctx | : ndef Context
[in] | cc | : Capability Container
[in] | options | specific flags
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed (SW1SW2 <> 9000h)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerWriteBinary()

ReturnCode ndefT4TPollerWriteBinary | ( | ndefContext * | ctx,
 |  | uint16_t | offset,
 |  | const uint8_t * | data,
 |  | uint8_t | len
 | ) |  |

This method writes the data to the tag using a single WriteBinary command

Parameters
[in] | ctx | : ndef Context
[in] | offset | : file offset of where to star reading data; valid range 0000h-7FFFh
[in] | data | : data to be written
[in] | len | : data length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed (SW1SW2 <> 9000h)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerWriteBinaryODO()

ReturnCode ndefT4TPollerWriteBinaryODO | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | const uint8_t * | data,
 |  | uint8_t | len
 | ) |  |

This method writes the data to the tag using a single WriteBinary ODO command

Parameters
[in] | ctx | : ndef Context
[in] | offset | : file offset of where to star reading data; valid range 0000h-7FFFh
[in] | data | : data to be written
[in] | len | : data length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed (SW1SW2 <> 9000h)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerWriteBytes()

ReturnCode ndefT4TPollerWriteBytes | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | const uint8_t * | buf,
 |  | uint32_t | len
 | ) |  |

This method reads arbitrary length data from the current selected file

Parameters
[in] | ctx | : ndef Context
[in] | offset | : file offset of where to start writing data
[in] | buf | : data to write
[in] | len | : buf len
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed (SW1SW2 <> 9000h)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerWriteRawMessage()

ReturnCode ndefT4TPollerWriteRawMessage | ( | ndefContext * | ctx,
 |  | const uint8_t * | buf,
 |  | uint32_t | bufLen
 | ) |  |

This method writes a raw NDEF message in the current selected file. Prior to NDEF Write procedure, a successfull ndefT4TPollerNdefDetect() has to be performed.

Warning
Current selected file must not be changed between NDEF Detect procedure and NDEF Write procedure. If another file is selected before NDEF Write procedure, it is user responsibility to re-select NDEF file or to call ndefT4TPollerNdefDetect() to restore proper context.
Parameters
[in] | ctx | : ndef Context
[in] | buf | : raw message buffer
[in] | bufLen | : buffer length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed (SW1SW2 <> 9000h)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT4TPollerWriteRawMessageLen()

ReturnCode ndefT4TPollerWriteRawMessageLen | ( | ndefContext * | ctx,
 |  | uint32_t | rawMessageLen
 | ) |  |

This method writes the NLEN field (V2 mapping) or the ENLEN (V3 mapping).

Parameters
[in] | ctx | : ndef Context
[in] | rawMessageLen | len
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed (SW1SW2 <> 9000h)
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT5TPollerBeginWriteMessage()

ReturnCode ndefT5TPollerBeginWriteMessage | ( | ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method sets the L-field to 0 and sets the message offset to the proper value according to messageLen

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT5TPollerCheckAvailableSpace()

ReturnCode ndefT5TPollerCheckAvailableSpace | ( | const ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method check whether a T5T tag has enough space to write a message of a given length

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT5TPollerCheckPresence()

ReturnCode ndefT5TPollerCheckPresence ( ndefContext * ctx )

This method check whether a T5T tag is still present in the operating field

Parameters
[in] ctx : ndef Context
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT5TPollerContextInitialization()

ReturnCode ndefT5TPollerContextInitialization | ( | ndefContext * | ctx,
 |  | const rfalNfcDevice * | dev
 | ) |  |

This method performs the initialisation of the NDEF context. It must be called after a successfull anticollition procedure and prior to any NDEF procedures such as NDEF detection procedure.

Parameters
[in] | ctx | : ndef Context
[in] | dev | : ndef Device
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT5TPollerEndWriteMessage()

ReturnCode ndefT5TPollerEndWriteMessage | ( | ndefContext * | ctx,
 |  | uint32_t | messageLen
 | ) |  |

This method updates the L-field value after the message has been written

Parameters
[in] | ctx | : ndef Context
[in] | messageLen | message length
Returns
ERR_PARAM : Invalid parameter
ERR_NOMEM : not enough space
ERR_NONE : Enough space for message of messageLen length

◆ ndefT5TPollerNdefDetect()

ReturnCode ndefT5TPollerNdefDetect | ( | ndefContext * | ctx,
 |  | ndefInfo * | info
 | ) |  |

This method performs the T5T NDEF Detection procedure

Parameters
[in] | ctx | : ndef Context
[out] | info | : ndef Information (optional parameter, NULL may be used when no NDEF Information is needed)
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : Detection failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT5TPollerReadBytes()

ReturnCode ndefT5TPollerReadBytes | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | uint32_t | len,
 |  | uint8_t * | buf,
 |  | uint32_t * | rcvdLen
 | ) |  |

This method reads arbitrary length data from tag memory

Parameters
[in] | ctx | : ndef Context
[in] | offset | : file offset of where to start reading data
[in] | len | : requested len
[out] | buf | : buffer to place the data read from the tag
[out] | rcvdLen | received length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT5TPollerReadRawMessage()

ReturnCode ndefT5TPollerReadRawMessage | ( | ndefContext * | ctx,
 |  | uint8_t * | buf,
 |  | uint32_t | bufLen,
 |  | uint32_t * | rcvdLen
 | ) |  |

This method reads a raw NDEF message from the current selected file. Prior to NDEF Read procedure, a successfull ndefT5TPollerNdefDetect() has to be performed.

Parameters
[in] | ctx | : ndef Context
[out] | buf | : buffer to place the NDEF message
[in] | bufLen | : buffer length
[out] | rcvdLen | received length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT5TPollerTagFormat()

ReturnCode ndefT5TPollerTagFormat | ( | ndefContext * | ctx,
 |  | const ndefCapabilityContainer * | cc,
 |  | uint32_t | options
 | ) |  |

This method format a tag to make it ready for NDEF storage. When the cc parameter is provided, the Capability Container is initialized with the value provided by the user. When the cc parameter is not provided (i.e. NULL), this method retrieves the appropriate CC field from (Extended) Get System Information or returns ERR_REQUEST if (Extended) Get System Information is not supported. The option parameter is used in case of NULL cc parameter to choose between Android CC format (default when option = 0) or NFC Forum Format (option = NDEF_T5T_FORMAT_OPTION_NFC_FORUM)

Parameters
[in] | ctx | : ndef Context
[in] | cc | : Capability Container
[in] | options | : specific flags
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT5TPollerWriteBytes()

ReturnCode ndefT5TPollerWriteBytes | ( | ndefContext * | ctx,
 |  | uint32_t | offset,
 |  | const uint8_t * | buf,
 |  | uint32_t | len
 | ) |  |

This method write arbitrary length data from to tag memory

Parameters
[in] | ctx | : ndef Context
[in] | offset | : file offset of where to start writing data
[in] | buf | : data to write
[in] | len | : buf len
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : read failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT5TPollerWriteRawMessage()

ReturnCode ndefT5TPollerWriteRawMessage | ( | ndefContext * | ctx,
 |  | const uint8_t * | buf,
 |  | uint32_t | bufLen
 | ) |  |

This method writes a raw NDEF message in the current selected file. Prior to NDEF Write procedure, a successfull ndefT5TPollerNdefDetect() has to be performed.

Parameters
[in] | ctx | : ndef Context
[in] | buf | : raw message buffer
[in] | bufLen | : buffer length
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefT5TPollerWriteRawMessageLen()

ReturnCode ndefT5TPollerWriteRawMessageLen | ( | ndefContext * | ctx,
 |  | uint32_t | rawMessageLen
 | ) |  |

This method writes the L field to the tag memory

Parameters
[in] | ctx | : ndef Context
[in] | rawMessageLen | len
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_REQUEST : write failed
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error

◆ ndefTypeToRecord()

ReturnCode ndefTypeToRecord | ( | const ndefType * | type,
 |  | ndefRecord * | record
 | ) |  |

Convert a supported type to a record

Parameters
[in] | type | Pointer to the type to read data from
[out] | record | Record to fill
Returns
ERR_NONE if successful or a standard error code

◆ ndefVCard()

ReturnCode ndefVCard | ( | ndefType * | vCard,
 |  | const ndefVCardInput * | bufVCardInput,
 |  | uint32_t | bufVCardInputCount
 | ) |  |

Initialize a vCard

Parameters
[out] | vCard | vCard type to initialize
[in] | bufVCardInput | vCard buffer content
[in] | bufVCardInputCount | Number of vCard entries
Returns
ERR_NONE if successful or a standard error code

◆ ndefVCardToRecord()

ReturnCode ndefVCardToRecord | ( | const ndefType * | vCard,
 |  | ndefRecord * | record
 | ) |  |

Convert a vCard type to an NDEF record

Parameters
[in] | vCard | vCard type to convert
[out] | record | The converted type
Returns
ERR_NONE if successful or a standard error code

◆ ndefWifi()

ReturnCode ndefWifi | ( | ndefType * | wifi,
 |  | const ndefTypeWifi * | wifiConfig
 | ) |  |

Wifi Record Type buffer

Initialize a Wifi configuration

Parameters
[out] | wifi | wifi type to initialize
[in] | wifiConfig | wifi configuration to use
Returns
ERR_NONE if successful or a standard error code

◆ ndefWifiToRecord()

ReturnCode ndefWifiToRecord | ( | const ndefType * | wifi,
 |  | ndefRecord * | record
 | ) |  |

Convert a wifi type to an NDEF record

Parameters
[in] | wifi | wifi type to convert
[out] | record | The converted type
Returns
ERR_NONE if successful or a standard error code

Variable Documentation

◆ bufMediaTypeVCard

const ndefConstBuffer8 bufMediaTypeVCard

Media Record Type buffers

◆ bufMediaTypeWifi

const ndefConstBuffer8 bufMediaTypeWifi

Wifi Record Type buffers

◆ bufRtdTypeAar

const ndefConstBuffer8 bufRtdTypeAar

URI Record Type buffer

◆ bufRtdTypeDeviceInfo

const ndefConstBuffer8 bufRtdTypeDeviceInfo

RTD Record Type buffers

◆ bufRtdTypeText

const ndefConstBuffer8 bufRtdTypeText

Device Information Record Type buffer

◆ bufRtdTypeUri

const ndefConstBuffer8 bufRtdTypeUri

Text Record Type buffer


NDEF: ndefMessageInfo Struct Reference

NDEF
Data Fields
ndefMessageInfo Struct Reference
NDEF

#include <ndef_message.h>

Data Fields

uint32_t | length
uint32_t | recordCount

Detailed Description

Message information

Field Documentation

◆ length

uint32_t ndefMessageInfo::length

Message length in bytes

◆ recordCount

uint32_t ndefMessageInfo::recordCount

Number of records in the message

The documentation for this struct was generated from the following file:
  • ndef_message.h


NDEF: ndefMessageStruct Struct Reference

NDEF
Data Fields
ndefMessageStruct Struct Reference
NDEF

#include <ndef_message.h>

Collaboration diagram for ndefMessageStruct:
[legend]

Data Fields

ndefRecord * record
ndefMessageInfo info

Detailed Description

NDEF message

Examples:
ndef_example_read.c, and ndef_example_write.c.

Field Documentation

◆ info

ndefMessageInfo ndefMessageStruct::info

Message information, e.g. length in bytes, record count

◆ record

ndefRecord* ndefMessageStruct::record

Pointer to a record

The documentation for this struct was generated from the following file:
  • ndef_message.h


NDEF: ndefRecordStruct Struct Reference

NDEF
Data Fields
ndefRecordStruct Struct Reference
NDEF

#include <ndef_record.h>

Collaboration diagram for ndefRecordStruct:
[legend]

Data Fields

uint8_t | header
uint8_t | typeLength
uint8_t | idLength
const uint8_t * | type
const uint8_t * | id
ndefConstBuffer bufPayload
const ndefType * | ndeftype
struct ndefRecordStruct * | next

Detailed Description

Record type

Examples:
ndef_example_read.c, and ndef_example_write.c.

Field Documentation

◆ bufPayload

ndefConstBuffer ndefRecordStruct::bufPayload

Payload buffer. Payload length depends on the SR bit (either coded on 1 or 4 bytes)

◆ header

uint8_t ndefRecordStruct::header

Header byte made of MB:1 ME:1 CF:1 SR:1 IL:1 TNF:3 => 8 bits

◆ id

const uint8_t* ndefRecordStruct::id

Id (middle and terminating record chunks MUST NOT have an ID field)

◆ idLength

uint8_t ndefRecordStruct::idLength

Id Length, presence depends on the IL bit

◆ ndeftype

const ndefType* ndefRecordStruct::ndeftype

Well-known type data

◆ next

struct ndefRecordStruct* ndefRecordStruct::next

Pointer to the next record, if any

◆ type

const uint8_t* ndefRecordStruct::type

Type follows the structure implied by the value of the TNF field

◆ typeLength

uint8_t ndefRecordStruct::typeLength

Type length in bytes

The documentation for this struct was generated from the following file:
  • ndef_record.h


NDEF: ndefTypeWifi Struct Reference

NDEF
Data Fields
ndefTypeWifi Struct Reference
NDEF

#include <ndef_type_wifi.h>

Collaboration diagram for ndefTypeWifi:
[legend]

Data Fields

ndefConstBuffer bufNetworkSSID
ndefConstBuffer bufNetworkKey
uint8_t | authentication
uint8_t | encryption

Detailed Description

Structure to store Network SSID, Authentication Type, Encryption Type and Network Key

Field Documentation

◆ authentication

uint8_t ndefTypeWifi::authentication

Authentication type

◆ bufNetworkKey

ndefConstBuffer ndefTypeWifi::bufNetworkKey

Network Key

◆ bufNetworkSSID

ndefConstBuffer ndefTypeWifi::bufNetworkSSID

Network SSID

◆ encryption

uint8_t ndefTypeWifi::encryption

Encryption

The documentation for this struct was generated from the following file:
  • ndef_type_wifi.h


NDEF: ndefDeviceInfoEntry Struct Reference

NDEF
Data Fields
ndefDeviceInfoEntry Struct Reference
NDEF

#include <ndef_types.h>

Data Fields

uint8_t | type
uint8_t | length
const uint8_t * | buffer

Detailed Description

RTD Device Information Entry

Field Documentation

◆ buffer

const uint8_t* ndefDeviceInfoEntry::buffer

Device Information pointer to buffer

◆ length

uint8_t ndefDeviceInfoEntry::length

Device Information length

◆ type

uint8_t ndefDeviceInfoEntry::type

Device Information Type

The documentation for this struct was generated from the following file:
  • ndef_types.h


NDEF: ndefTypeRtdDeviceInfo Struct Reference

NDEF
Data Fields
ndefTypeRtdDeviceInfo Struct Reference
NDEF

#include <ndef_types.h>

Collaboration diagram for ndefTypeRtdDeviceInfo:
[legend]

Data Fields

ndefDeviceInfoEntry devInfo [NDEF_DEVICE_INFO_TYPE_COUNT]

Detailed Description

RTD Type Device Information

Field Documentation

◆ devInfo

ndefDeviceInfoEntry ndefTypeRtdDeviceInfo::devInfo[NDEF_DEVICE_INFO_TYPE_COUNT]

Device Information entries

The documentation for this struct was generated from the following file:
  • ndef_types.h


NDEF: ndefTypeRtdText Struct Reference

NDEF
Data Fields
ndefTypeRtdText Struct Reference
NDEF

#include <ndef_types.h>

Collaboration diagram for ndefTypeRtdText:
[legend]

Data Fields

uint8_t status
ndefConstBuffer8 bufLanguageCode
ndefConstBuffer bufSentence

Detailed Description

RTD Type Text

Field Documentation

◆ bufLanguageCode

ndefConstBuffer8 ndefTypeRtdText::bufLanguageCode

ISO/IANA language code buffer

◆ bufSentence

ndefConstBuffer ndefTypeRtdText::bufSentence

Sentence buffer

Examples:
ndef_example_read.c.

◆ status

uint8_t ndefTypeRtdText::status

Status byte

The documentation for this struct was generated from the following file:
  • ndef_types.h


NDEF: ndefTypeRtdUri Struct Reference

NDEF
Data Fields
ndefTypeRtdUri Struct Reference
NDEF

#include <ndef_types.h>

Collaboration diagram for ndefTypeRtdUri:
[legend]

Data Fields

uint8_t protocol
ndefConstBuffer bufUriString

Detailed Description

RTD Type URI

Field Documentation

◆ bufUriString

ndefConstBuffer ndefTypeRtdUri::bufUriString

URI string buffer

Examples:
ndef_example_read.c.

◆ protocol

uint8_t ndefTypeRtdUri::protocol

Protocol Idendifier

The documentation for this struct was generated from the following file:
  • ndef_types.h


NDEF: ndefTypeRtdAar Struct Reference

NDEF
Data Fields
ndefTypeRtdAar Struct Reference
NDEF

#include <ndef_types.h>

Collaboration diagram for ndefTypeRtdAar:
[legend]

Data Fields

ndefConstBuffer8 bufType
ndefConstBuffer bufPayload

Detailed Description

RTD Android Application Record External Type

Field Documentation

◆ bufPayload

ndefConstBuffer ndefTypeRtdAar::bufPayload

AAR payload

Examples:
ndef_example_read.c.

◆ bufType

ndefConstBuffer8 ndefTypeRtdAar::bufType

AAR type

The documentation for this struct was generated from the following file:
  • ndef_types.h


NDEF: ndefTypeMedia Struct Reference

NDEF
Data Fields
ndefTypeMedia Struct Reference
NDEF

#include <ndef_types.h>

Collaboration diagram for ndefTypeMedia:
[legend]

Data Fields

ndefConstBuffer8 bufType
ndefConstBuffer bufPayload

Detailed Description

Media Type

Field Documentation

◆ bufPayload

ndefConstBuffer ndefTypeMedia::bufPayload

Media payload

◆ bufType

ndefConstBuffer8 ndefTypeMedia::bufType

Media type

The documentation for this struct was generated from the following file:
  • ndef_types.h


NDEF: ndefVCardInput Struct Reference

NDEF
Data Fields
ndefVCardInput Struct Reference
NDEF

#include <ndef_types.h>

Collaboration diagram for ndefVCardInput:
[legend]

Data Fields

ndefConstBuffer * bufType
ndefConstBuffer * bufSubType
ndefConstBuffer * bufValue

Detailed Description

vCard input

Field Documentation

◆ bufSubType

ndefConstBuffer* ndefVCardInput::bufSubType

SubType buffer

◆ bufType

ndefConstBuffer* ndefVCardInput::bufType

Type buffer

◆ bufValue

ndefConstBuffer* ndefVCardInput::bufValue

Value buffer

The documentation for this struct was generated from the following file:
  • ndef_types.h


NDEF: ndefVCardEntry Struct Reference

NDEF
Data Fields
ndefVCardEntry Struct Reference
NDEF

#include <ndef_types.h>

Data Fields

const uint8_t * | bufTypeBuffer
const uint8_t * | bufSubTypeBuffer
const uint8_t * | bufValueBuffer
uint8_t | bufTypeLength
uint8_t | bufSubTypeLength
uint16_t | bufValueLength

Detailed Description

vCard Entry

Field Documentation

◆ bufSubTypeBuffer

const uint8_t* ndefVCardEntry::bufSubTypeBuffer

Subtype buffer

◆ bufSubTypeLength

uint8_t ndefVCardEntry::bufSubTypeLength

Subtype buffer length

◆ bufTypeBuffer

const uint8_t* ndefVCardEntry::bufTypeBuffer

Type buffer

◆ bufTypeLength

uint8_t ndefVCardEntry::bufTypeLength

Type buffer length

◆ bufValueBuffer

const uint8_t* ndefVCardEntry::bufValueBuffer

Value buffer

◆ bufValueLength

uint16_t ndefVCardEntry::bufValueLength

Value buffer length

The documentation for this struct was generated from the following file:
  • ndef_types.h


NDEF: ndefTypeVCard Struct Reference

NDEF
Data Fields
ndefTypeVCard Struct Reference
NDEF

#include <ndef_types.h>

Collaboration diagram for ndefTypeVCard:
[legend]

Data Fields

ndefVCardEntry entry [NDEF_VCARD_ENTRY_MAX]

Detailed Description

NDEF Type vCard

Field Documentation

◆ entry

ndefVCardEntry ndefTypeVCard::entry[NDEF_VCARD_ENTRY_MAX]

vCard entries

The documentation for this struct was generated from the following file:
  • ndef_types.h


NDEF: ndefTypeStruct Struct Reference

NDEF
Data Fields
ndefTypeStruct Struct Reference
NDEF

#include <ndef_types.h>

Collaboration diagram for ndefTypeStruct:
[legend]

Data Fields

ndefTypeId id
uint32_t(* | getPayloadLength )(const ndefType *type)
const uint8_t *(* | getPayloadItem )(const ndefType *type, ndefConstBuffer *item, bool begin)
union {
ndefTypeRtdDeviceInfo deviceInfo
ndefTypeRtdText text
ndefTypeRtdUri uri
ndefTypeRtdAar aar
ndefTypeMedia media
ndefTypeVCard vCard
ndefTypeWifi wifi
} data

Detailed Description

NDEF abstraction Struct

Examples:
ndef_example_read.c, and ndef_example_write.c.

Field Documentation

◆ aar

ndefTypeRtdAar ndefTypeStruct::aar

AAR

Examples:
ndef_example_read.c.

◆ data

union { ... } ndefTypeStruct::data

Type data union

Examples:
ndef_example_read.c.

◆ deviceInfo

ndefTypeRtdDeviceInfo ndefTypeStruct::deviceInfo

Device Information

◆ getPayloadItem

const uint8_t*(* ndefTypeStruct::getPayloadItem) (const ndefType *type, ndefConstBuffer *item, bool begin)

Payload Encoder, specific to each type

◆ getPayloadLength

uint32_t(* ndefTypeStruct::getPayloadLength) (const ndefType *type)

Return payload length, specific to each type

◆ id

ndefTypeId ndefTypeStruct::id

Type Id

Examples:
ndef_example_read.c.

◆ media

ndefTypeMedia ndefTypeStruct::media

Media

◆ text

ndefTypeRtdText ndefTypeStruct::text

Text

Examples:
ndef_example_read.c.

◆ uri

ndefTypeRtdUri ndefTypeStruct::uri

URI

Examples:
ndef_example_read.c.

◆ vCard

ndefTypeVCard ndefTypeStruct::vCard

vCard

◆ wifi

ndefTypeWifi ndefTypeStruct::wifi

Wifi

The documentation for this struct was generated from the following file:
  • ndef_types.h


NDEF: ndefInfo Struct Reference

NDEF
Data Fields
ndefInfo Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

uint8_t | majorVersion
uint8_t | minorVersion
uint32_t | areaLen
uint32_t | areaAvalableSpaceLen
uint32_t | messageLen
ndefState state

Detailed Description

NDEF Information

Field Documentation

◆ areaAvalableSpaceLen

uint32_t ndefInfo::areaAvalableSpaceLen

Remaining Space in case a propTLV is present

◆ areaLen

uint32_t ndefInfo::areaLen

Area Len for NDEF storage

◆ majorVersion

uint8_t ndefInfo::majorVersion

Major version

◆ messageLen

uint32_t ndefInfo::messageLen

NDEF message Len

◆ minorVersion

uint8_t ndefInfo::minorVersion

Minor version

◆ state

ndefState ndefInfo::state

Tag state e.g. NDEF_STATE_INITIALIZED

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefSystemInformation Struct Reference

NDEF
Data Fields
ndefSystemInformation Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

uint16_t | numberOfBlock
uint8_t | UID [RFAL_NFCV_UID_LEN]
uint8_t | supportedCmd [NDEF_NFCV_SUPPORTED_CMD_LEN]
uint8_t | infoFlags
uint8_t | DFSID
uint8_t | AFI
uint8_t | blockSize
uint8_t | ICRef

Detailed Description

NFCV (Extended) System Information

Field Documentation

◆ AFI

uint8_t ndefSystemInformation::AFI

AFI Value

◆ blockSize

uint8_t ndefSystemInformation::blockSize

Block Size Value

◆ DFSID

uint8_t ndefSystemInformation::DFSID

DFSID Value

◆ ICRef

uint8_t ndefSystemInformation::ICRef

IC Reference

◆ infoFlags

uint8_t ndefSystemInformation::infoFlags

Information flags

◆ numberOfBlock

uint16_t ndefSystemInformation::numberOfBlock

Number of block

◆ supportedCmd

uint8_t ndefSystemInformation::supportedCmd[NDEF_NFCV_SUPPORTED_CMD_LEN]

Supported Commands list

◆ UID

uint8_t ndefSystemInformation::UID[RFAL_NFCV_UID_LEN]

UID Value

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefCapabilityContainerT1T Struct Reference

NDEF
Data Fields
ndefCapabilityContainerT1T Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

uint8_t | magicNumber
uint8_t | majorVersion
uint8_t | minorVersion
uint16_t | tagMemorySize
uint8_t | readAccess
uint8_t | writeAccess

Detailed Description

T1T Capability Container

Field Documentation

◆ magicNumber

uint8_t ndefCapabilityContainerT1T::magicNumber

Magic number e.g. E1h

◆ majorVersion

uint8_t ndefCapabilityContainerT1T::majorVersion

Major version i.e 1

◆ minorVersion

uint8_t ndefCapabilityContainerT1T::minorVersion

Minor version i.e 2

◆ readAccess

uint8_t ndefCapabilityContainerT1T::readAccess

NDEF READ access condition

◆ tagMemorySize

uint16_t ndefCapabilityContainerT1T::tagMemorySize

Tag Memory Size (TMS)

◆ writeAccess

uint8_t ndefCapabilityContainerT1T::writeAccess

NDEF WRITE access condition

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefCapabilityContainerT2T Struct Reference

NDEF
Data Fields
ndefCapabilityContainerT2T Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

uint8_t | magicNumber
uint8_t | majorVersion
uint8_t | minorVersion
uint8_t | size
uint8_t | readAccess
uint8_t | writeAccess

Detailed Description

T2T Capability Container

Field Documentation

◆ magicNumber

uint8_t ndefCapabilityContainerT2T::magicNumber

Magic number e.g. E1h

◆ majorVersion

uint8_t ndefCapabilityContainerT2T::majorVersion

Major version i.e 1

◆ minorVersion

uint8_t ndefCapabilityContainerT2T::minorVersion

Minor version i.e 2

◆ readAccess

uint8_t ndefCapabilityContainerT2T::readAccess

NDEF READ access condition

◆ size

uint8_t ndefCapabilityContainerT2T::size

Size. T2T_Area_Size = Size * 8

◆ writeAccess

uint8_t ndefCapabilityContainerT2T::writeAccess

NDEF WRITE access condition

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefAttribInfoBlockT3T Struct Reference

NDEF
Data Fields
ndefAttribInfoBlockT3T Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

uint8_t | majorVersion
uint8_t | minorVersion
uint8_t | nbR
uint8_t | nbW
uint16_t | nMaxB
uint8_t | writeFlag
uint8_t | rwFlag
uint32_t | Ln

Detailed Description

T3T Attribute info block

Field Documentation

◆ Ln

uint32_t ndefAttribInfoBlockT3T::Ln

Ln size of the actual stored NDEF data in bytes

◆ majorVersion

uint8_t ndefAttribInfoBlockT3T::majorVersion

Major version i.e 1

◆ minorVersion

uint8_t ndefAttribInfoBlockT3T::minorVersion

Minor version i.e 2

◆ nbR

uint8_t ndefAttribInfoBlockT3T::nbR

Nbr: number of blocks read in one CHECK cmd

◆ nbW

uint8_t ndefAttribInfoBlockT3T::nbW

Nbr: number of blocks written in one UPDATE cmd

◆ nMaxB

uint16_t ndefAttribInfoBlockT3T::nMaxB

NmaxB: max number of blocks for NDEF data

◆ rwFlag

uint8_t ndefAttribInfoBlockT3T::rwFlag

RWFlag indicates whether the NDEF can be updated

◆ writeFlag

uint8_t ndefAttribInfoBlockT3T::writeFlag

WriteFlag indicates completion of previous NDEF

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefCapabilityContainerT4T Struct Reference

NDEF
Data Fields
ndefCapabilityContainerT4T Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

uint16_t | ccLen
uint8_t | vNo
uint16_t | mLe
uint16_t | mLc
uint8_t | fileId [2]
uint32_t | fileSize
uint8_t | readAccess
uint8_t | writeAccess

Detailed Description

T4T Capability Container

Field Documentation

◆ ccLen

uint16_t ndefCapabilityContainerT4T::ccLen

CCFILE Len

◆ fileId

uint8_t ndefCapabilityContainerT4T::fileId[2]

NDEF File Identifier

◆ fileSize

uint32_t ndefCapabilityContainerT4T::fileSize

NDEF File Size

◆ mLc

uint16_t ndefCapabilityContainerT4T::mLc

Max data size that can be sent using a single cmd

◆ mLe

uint16_t ndefCapabilityContainerT4T::mLe

Max data size that can be read using a ReadBinary

◆ readAccess

uint8_t ndefCapabilityContainerT4T::readAccess

NDEF File READ access condition

◆ vNo

uint8_t ndefCapabilityContainerT4T::vNo

Mapping version

◆ writeAccess

uint8_t ndefCapabilityContainerT4T::writeAccess

NDEF File WRITE access condition

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefCapabilityContainerT5T Struct Reference

NDEF
Data Fields
ndefCapabilityContainerT5T Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

uint8_t | ccLen
uint8_t | magicNumber
uint8_t | majorVersion
uint8_t | minorVersion
uint8_t | readAccess
uint8_t | writeAccess
bool | specialFrame
bool | lockBlock
bool | multipleBlockRead
bool | mlenOverflow
uint16_t | memoryLen

Detailed Description

T5T Capability Container

Field Documentation

◆ ccLen

uint8_t ndefCapabilityContainerT5T::ccLen

CC Len

◆ lockBlock

bool ndefCapabilityContainerT5T::lockBlock

(EXTENDED_)LOCK_SINGLE_BLOCK supported

◆ magicNumber

uint8_t ndefCapabilityContainerT5T::magicNumber

Magic number i.e. E1h or E2h

◆ majorVersion

uint8_t ndefCapabilityContainerT5T::majorVersion

Major version i.e 1

◆ memoryLen

uint16_t ndefCapabilityContainerT5T::memoryLen

MLEN (Memory Len). T5T_Area size = 8 * MLEN (bytes)

◆ minorVersion

uint8_t ndefCapabilityContainerT5T::minorVersion

Minor version i.e 0

◆ mlenOverflow

bool ndefCapabilityContainerT5T::mlenOverflow

memory size exceeds 2040 bytes (Android)

◆ multipleBlockRead

bool ndefCapabilityContainerT5T::multipleBlockRead

(EXTENDED_)READ_MULTIPLE_BLOCK supported

◆ readAccess

uint8_t ndefCapabilityContainerT5T::readAccess

NDEF READ access condition

◆ specialFrame

bool ndefCapabilityContainerT5T::specialFrame

Use Special Frames for Write-alike commands

◆ writeAccess

uint8_t ndefCapabilityContainerT5T::writeAccess

NDEF WRITE access condition

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefCapabilityContainer Union Reference

NDEF
Data Fields
ndefCapabilityContainer Union Reference
NDEF

#include <ndef_poller.h>

Collaboration diagram for ndefCapabilityContainer:
[legend]

Data Fields

ndefCapabilityContainerT1T t1t
ndefCapabilityContainerT2T t2t
ndefAttribInfoBlockT3T t3t
ndefCapabilityContainerT4T t4t
ndefCapabilityContainerT5T t5t

Detailed Description

Generic Capability Container

Field Documentation

◆ t1t

ndefCapabilityContainerT1T ndefCapabilityContainer::t1t

T1T Capability Container

◆ t2t

ndefCapabilityContainerT2T ndefCapabilityContainer::t2t

T2T Capability Container

◆ t3t

ndefAttribInfoBlockT3T ndefCapabilityContainer::t3t

T3T Attribute Information Block

◆ t4t

ndefCapabilityContainerT4T ndefCapabilityContainer::t4t

T4T Capability Container

◆ t5t

ndefCapabilityContainerT5T ndefCapabilityContainer::t5t

T5T Capability Container

The documentation for this union was generated from the following file:
  • ndef_poller.h


NDEF: ndefT1TContext Struct Reference

NDEF
Data Fields
ndefT1TContext Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

void * rfu

Detailed Description

NDEF T1T sub context structure

Field Documentation

◆ rfu

void* ndefT1TContext::rfu

RFU

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefT2TContext Struct Reference

NDEF
Data Fields
ndefT2TContext Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

uint8_t | currentSecNo
uint8_t | cacheBuf [NDEF_T2T_READ_RESP_SIZE]
uint32_t | cacheAddr
uint32_t | offsetNdefTLV

Detailed Description

NDEF T2T sub context structure

Field Documentation

◆ cacheAddr

uint32_t ndefT2TContext::cacheAddr

Address of cached data

◆ cacheBuf

uint8_t ndefT2TContext::cacheBuf[NDEF_T2T_READ_RESP_SIZE]

Cache buffer

◆ currentSecNo

uint8_t ndefT2TContext::currentSecNo

Current sector number

◆ offsetNdefTLV

uint32_t ndefT2TContext::offsetNdefTLV

NDEF TLV message offset

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefT3TContext Struct Reference

NDEF
Data Fields
ndefT3TContext Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

uint8_t | txbuf [NDEF_T3T_MAX_TX_SIZE]
uint8_t | rxbuf [NDEF_T3T_MAX_RX_SIZE]
rfalNfcfBlockListElem | listBlocks [NDEF_T3T_MAX_NB_BLOCKS]

Detailed Description

NDEF T3T sub context structure

Field Documentation

◆ listBlocks

rfalNfcfBlockListElem ndefT3TContext::listBlocks[NDEF_T3T_MAX_NB_BLOCKS]

block number list for T3T internal operations

◆ rxbuf

uint8_t ndefT3TContext::rxbuf[NDEF_T3T_MAX_RX_SIZE]

Rx buffer dedicated for T3T internal operations

◆ txbuf

uint8_t ndefT3TContext::txbuf[NDEF_T3T_MAX_TX_SIZE]

Tx buffer dedicated for T3T internal operations

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefT4TContext Struct Reference

NDEF
Data Fields
ndefT4TContext Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

uint8_t | curMLe
uint8_t | curMLc
bool | mv1Flag
rfalIsoDepApduBufFormat | cApduBuf
rfalIsoDepApduBufFormat | rApduBuf
rfalT4tRApduParam | respAPDU
rfalIsoDepBufFormat | tmpBuf
uint16_t | rApduBodyLen

Detailed Description

NDEF T4T sub context structure

Field Documentation

◆ cApduBuf

rfalIsoDepApduBufFormat ndefT4TContext::cApduBuf

Command-APDU buffer

◆ curMLc

uint8_t ndefT4TContext::curMLc

Current MLc. Default Dh until CC file is read

◆ curMLe

uint8_t ndefT4TContext::curMLe

Current MLe. Default Fh until CC file is read

◆ mv1Flag

bool ndefT4TContext::mv1Flag

Mapping version 1 flag

◆ rApduBodyLen

uint16_t ndefT4TContext::rApduBodyLen

Response Body Len

◆ rApduBuf

rfalIsoDepApduBufFormat ndefT4TContext::rApduBuf

Response-APDU buffer

◆ respAPDU

rfalT4tRApduParam ndefT4TContext::respAPDU

Response-APDU params

◆ tmpBuf

rfalIsoDepBufFormat ndefT4TContext::tmpBuf

I-Block temporary buffer

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefT5TContext Struct Reference

NDEF
Data Fields
ndefT5TContext Struct Reference
NDEF

#include <ndef_poller.h>

Collaboration diagram for ndefT5TContext:
[legend]

Data Fields

uint8_t * | pAddressedUid
uint32_t | TlvNDEFOffset
uint8_t | blockLen
ndefSystemInformation sysInfo
bool | sysInfoSupported
bool | legacySTHighDensity
uint8_t | txrxBuf [NDEF_T5T_TxRx_BUFF_SIZE]

Detailed Description

NDEF T5T sub context structure

Field Documentation

◆ blockLen

uint8_t ndefT5TContext::blockLen

T5T BLEN parameter

◆ legacySTHighDensity

bool ndefT5TContext::legacySTHighDensity

Legacy ST High Density flag

◆ pAddressedUid

uint8_t* ndefT5TContext::pAddressedUid

Pointer to UID in Addr mode or NULL selected one

◆ sysInfo

ndefSystemInformation ndefT5TContext::sysInfo

System Information (when supported)

◆ sysInfoSupported

bool ndefT5TContext::sysInfoSupported

System Information Supported flag

◆ TlvNDEFOffset

uint32_t ndefT5TContext::TlvNDEFOffset

NDEF TLV message offset

◆ txrxBuf

uint8_t ndefT5TContext::txrxBuf[NDEF_T5T_TxRx_BUFF_SIZE]

Tx Rx Buffer

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefContext Struct Reference

NDEF
Data Fields
ndefContext Struct Reference
NDEF

#include <ndef_poller.h>

Collaboration diagram for ndefContext:
[legend]

Data Fields

rfalNfcDevice | device
ndefState state
ndefCapabilityContainer cc
uint32_t | messageLen
uint32_t | messageOffset
uint32_t | areaLen
uint8_t | ccBuf [NDEF_CC_BUF_LEN]
const struct ndefPollerWrapperStruct * | ndefPollWrapper
union {
ndefT1TContext t1t
ndefT2TContext t2t
ndefT3TContext t3t
ndefT5TContext t5t
} subCtx

Detailed Description

NDEF context structure

Examples:
ndef_example_read.c, and ndef_example_write.c.

Field Documentation

◆ areaLen

uint32_t ndefContext::areaLen

Area Len for NDEF storage

◆ cc

ndefCapabilityContainer ndefContext::cc

Capability Container

◆ ccBuf

uint8_t ndefContext::ccBuf[NDEF_CC_BUF_LEN]

buffer for CC

◆ device

rfalNfcDevice ndefContext::device

ndef Device

◆ messageLen

uint32_t ndefContext::messageLen

NDEF message len

◆ messageOffset

uint32_t ndefContext::messageOffset

NDEF message offset

◆ ndefPollWrapper

const struct ndefPollerWrapperStruct* ndefContext::ndefPollWrapper

pointer to array of function for wrapper

◆ state

ndefState ndefContext::state

Tag state e.g. NDEF_STATE_INITIALIZED

◆ subCtx

union { ... } ndefContext::subCtx

Sub-context union

◆ t1t

ndefT1TContext ndefContext::t1t

T1T context

◆ t2t

ndefT2TContext ndefContext::t2t

T2T context

◆ t3t

ndefT3TContext ndefContext::t3t

T3T context

◆ t5t

ndefT5TContext ndefContext::t5t

T5T context

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: ndefPollerWrapperStruct Struct Reference

NDEF
Data Fields
ndefPollerWrapperStruct Struct Reference
NDEF

#include <ndef_poller.h>

Data Fields

ReturnCode(* | pollerContextInitialization )(ndefContext *ctx, const rfalNfcDevice *dev)
ReturnCode(* | pollerNdefDetect )(ndefContext *ctx, ndefInfo *info)
ReturnCode(* | pollerReadBytes )(ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)
ReturnCode(* | pollerReadRawMessage )(ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)

Detailed Description

Wrapper struture to hold the function pointers on each tag type

Field Documentation

◆ pollerContextInitialization

ReturnCode(* ndefPollerWrapperStruct::pollerContextInitialization) (ndefContext *ctx, const rfalNfcDevice *dev)

ContextInitialization function pointer

◆ pollerNdefDetect

ReturnCode(* ndefPollerWrapperStruct::pollerNdefDetect) (ndefContext *ctx, ndefInfo *info)

NdefDetect function pointer

◆ pollerReadBytes

ReturnCode(* ndefPollerWrapperStruct::pollerReadBytes) (ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)

Read function pointer

◆ pollerReadRawMessage

ReturnCode(* ndefPollerWrapperStruct::pollerReadRawMessage) (ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)

ReadRawMessage function pointer

The documentation for this struct was generated from the following file:
  • ndef_poller.h


NDEF: Data Structures

NDEF
Data Structures
Here are the data structures with brief descriptions:
C ndefAttribInfoBlockT3T
C ndefBuffer
C ndefBuffer8
C ndefCapabilityContainer
C ndefCapabilityContainerT1T
C ndefCapabilityContainerT2T
C ndefCapabilityContainerT4T
C ndefCapabilityContainerT5T
C ndefConstBuffer
C ndefConstBuffer8
C ndefContext
C ndefDeviceInfoEntry
C ndefInfo
C ndefMessageInfo
C ndefMessageStruct
C ndefPollerWrapperStruct
C ndefRecordStruct
C ndefSystemInformation
C ndefT1TContext
C ndefT2TContext
C ndefT3TContext
C ndefT4TContext
C ndefT5TContext
C ndefTypeMedia
C ndefTypeRtdAar
C ndefTypeRtdDeviceInfo
C ndefTypeRtdText
C ndefTypeRtdUri
C ndefTypeStruct
C ndefTypeVCard
C ndefTypeWifi
C ndefVCardEntry
C ndefVCardInput


NDEF: ndefBuffer Struct Reference

NDEF
Data Fields
ndefBuffer Struct Reference

#include <ndef_buffer.h>

Data Fields

uint8_t * | buffer
uint32_t | length

Detailed Description

NDEF structure to handle buffers

Field Documentation

◆ buffer

uint8_t* ndefBuffer::buffer

Pointer to buffer

◆ length

uint32_t ndefBuffer::length

buffer length

The documentation for this struct was generated from the following file:
  • ndef_buffer.h


NDEF: ndefBuffer8 Struct Reference

NDEF
Data Fields
ndefBuffer8 Struct Reference

#include <ndef_buffer.h>

Data Fields

uint8_t * | buffer
uint8_t | length

Detailed Description

NDEF structure to handle buffers limited to 256 bytes

Field Documentation

◆ buffer

uint8_t* ndefBuffer8::buffer

Pointer to buffer

◆ length

uint8_t ndefBuffer8::length

buffer length

The documentation for this struct was generated from the following file:
  • ndef_buffer.h


NDEF: ndefConstBuffer Struct Reference

NDEF
Data Fields
ndefConstBuffer Struct Reference

#include <ndef_buffer.h>

Data Fields

const uint8_t * | buffer
uint32_t | length

Detailed Description

NDEF structure to handle const buffers

Examples:
ndef_example_read.c, and ndef_example_write.c.

Field Documentation

◆ buffer

const uint8_t* ndefConstBuffer::buffer

Pointer to const buffer

Examples:
ndef_example_read.c, and ndef_example_write.c.

◆ length

uint32_t ndefConstBuffer::length

buffer length

Examples:
ndef_example_read.c, and ndef_example_write.c.
The documentation for this struct was generated from the following file:
  • ndef_buffer.h


NDEF: ndefConstBuffer8 Struct Reference

NDEF
Data Fields
ndefConstBuffer8 Struct Reference

#include <ndef_buffer.h>

Data Fields

const uint8_t * | buffer
uint8_t | length

Detailed Description

NDEF structure to handle const buffers limited to 256 bytes

Field Documentation

◆ buffer

const uint8_t* ndefConstBuffer8::buffer

Pointer to const buffer

◆ length

uint8_t ndefConstBuffer8::length

buffer length

The documentation for this struct was generated from the following file:
  • ndef_buffer.h


NDEF: Data Structure Index

NDEF
Data Structure Index
n
n
ndefCapabilityContainerT2T ndefInfo ndefT2TContext ndefTypeRtdText
ndefCapabilityContainerT4T ndefMessageInfo ndefT3TContext ndefTypeRtdUri
ndefAttribInfoBlockT3T ndefCapabilityContainerT5T ndefMessageStruct ndefT4TContext ndefTypeStruct
ndefBuffer ndefConstBuffer ndefPollerWrapperStruct ndefT5TContext ndefTypeVCard
ndefBuffer8 ndefConstBuffer8 ndefRecordStruct ndefTypeMedia ndefTypeWifi
ndefCapabilityContainer ndefContext ndefSystemInformation ndefTypeRtdAar ndefVCardEntry
ndefCapabilityContainerT1T ndefDeviceInfoEntry ndefT1TContext ndefTypeRtdDeviceInfo ndefVCardInput
n


NDEF: Data Fields

NDEF
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- a -

  • aar : ndefTypeStruct
  • AFI : ndefSystemInformation
  • areaAvalableSpaceLen : ndefInfo
  • areaLen : ndefContext , ndefInfo
  • authentication : ndefTypeWifi

- b -

  • blockLen : ndefT5TContext
  • blockSize : ndefSystemInformation
  • buffer : ndefBuffer8 , ndefBuffer , ndefConstBuffer8 , ndefConstBuffer , ndefDeviceInfoEntry
  • bufLanguageCode : ndefTypeRtdText
  • bufNetworkKey : ndefTypeWifi
  • bufNetworkSSID : ndefTypeWifi
  • bufPayload : ndefRecordStruct , ndefTypeMedia , ndefTypeRtdAar
  • bufSentence : ndefTypeRtdText
  • bufSubType : ndefVCardInput
  • bufSubTypeBuffer : ndefVCardEntry
  • bufSubTypeLength : ndefVCardEntry
  • bufType : ndefTypeMedia , ndefTypeRtdAar , ndefVCardInput
  • bufTypeBuffer : ndefVCardEntry
  • bufTypeLength : ndefVCardEntry
  • bufUriString : ndefTypeRtdUri
  • bufValue : ndefVCardInput
  • bufValueBuffer : ndefVCardEntry
  • bufValueLength : ndefVCardEntry

- c -

  • cacheAddr : ndefT2TContext
  • cacheBuf : ndefT2TContext
  • cApduBuf : ndefT4TContext
  • cc : ndefContext
  • ccBuf : ndefContext
  • ccLen : ndefCapabilityContainerT4T , ndefCapabilityContainerT5T
  • curMLc : ndefT4TContext
  • curMLe : ndefT4TContext
  • currentSecNo : ndefT2TContext

- d -

  • data : ndefTypeStruct
  • device : ndefContext
  • deviceInfo : ndefTypeStruct
  • devInfo : ndefTypeRtdDeviceInfo
  • DFSID : ndefSystemInformation

- e -

  • encryption : ndefTypeWifi
  • entry : ndefTypeVCard

- f -

  • fileId : ndefCapabilityContainerT4T
  • fileSize : ndefCapabilityContainerT4T

- g -

  • getPayloadItem : ndefTypeStruct
  • getPayloadLength : ndefTypeStruct

- h -

  • header : ndefRecordStruct

- i -

  • ICRef : ndefSystemInformation
  • id : ndefRecordStruct , ndefTypeStruct
  • idLength : ndefRecordStruct
  • info : ndefMessageStruct
  • infoFlags : ndefSystemInformation

- l -

  • legacySTHighDensity : ndefT5TContext
  • length : ndefBuffer8 , ndefBuffer , ndefConstBuffer8 , ndefConstBuffer , ndefDeviceInfoEntry , ndefMessageInfo
  • listBlocks : ndefT3TContext
  • Ln : ndefAttribInfoBlockT3T
  • lockBlock : ndefCapabilityContainerT5T

- m -

  • magicNumber : ndefCapabilityContainerT1T , ndefCapabilityContainerT2T , ndefCapabilityContainerT5T
  • majorVersion : ndefAttribInfoBlockT3T , ndefCapabilityContainerT1T , ndefCapabilityContainerT2T , ndefCapabilityContainerT5T , ndefInfo
  • media : ndefTypeStruct
  • memoryLen : ndefCapabilityContainerT5T
  • messageLen : ndefContext , ndefInfo
  • messageOffset : ndefContext
  • minorVersion : ndefAttribInfoBlockT3T , ndefCapabilityContainerT1T , ndefCapabilityContainerT2T , ndefCapabilityContainerT5T , ndefInfo
  • mLc : ndefCapabilityContainerT4T
  • mLe : ndefCapabilityContainerT4T
  • mlenOverflow : ndefCapabilityContainerT5T
  • multipleBlockRead : ndefCapabilityContainerT5T
  • mv1Flag : ndefT4TContext

- n -

  • nbR : ndefAttribInfoBlockT3T
  • nbW : ndefAttribInfoBlockT3T
  • ndefPollWrapper : ndefContext
  • ndeftype : ndefRecordStruct
  • next : ndefRecordStruct
  • nMaxB : ndefAttribInfoBlockT3T
  • numberOfBlock : ndefSystemInformation

- o -

  • offsetNdefTLV : ndefT2TContext

- p -

  • pAddressedUid : ndefT5TContext
  • pollerContextInitialization : ndefPollerWrapperStruct
  • pollerNdefDetect : ndefPollerWrapperStruct
  • pollerReadBytes : ndefPollerWrapperStruct
  • pollerReadRawMessage : ndefPollerWrapperStruct
  • protocol : ndefTypeRtdUri

- r -

  • rApduBodyLen : ndefT4TContext
  • rApduBuf : ndefT4TContext
  • readAccess : ndefCapabilityContainerT1T , ndefCapabilityContainerT2T , ndefCapabilityContainerT4T , ndefCapabilityContainerT5T
  • record : ndefMessageStruct
  • recordCount : ndefMessageInfo
  • respAPDU : ndefT4TContext
  • rfu : ndefT1TContext
  • rwFlag : ndefAttribInfoBlockT3T
  • rxbuf : ndefT3TContext

- s -

  • size : ndefCapabilityContainerT2T
  • specialFrame : ndefCapabilityContainerT5T
  • state : ndefContext , ndefInfo
  • status : ndefTypeRtdText
  • subCtx : ndefContext
  • supportedCmd : ndefSystemInformation
  • sysInfo : ndefT5TContext
  • sysInfoSupported : ndefT5TContext

- t -

  • t1t : ndefCapabilityContainer , ndefContext
  • t2t : ndefCapabilityContainer , ndefContext
  • t3t : ndefCapabilityContainer , ndefContext
  • t4t : ndefCapabilityContainer
  • t5t : ndefCapabilityContainer , ndefContext
  • tagMemorySize : ndefCapabilityContainerT1T
  • text : ndefTypeStruct
  • TlvNDEFOffset : ndefT5TContext
  • tmpBuf : ndefT4TContext
  • txbuf : ndefT3TContext
  • txrxBuf : ndefT5TContext
  • type : ndefDeviceInfoEntry , ndefRecordStruct
  • typeLength : ndefRecordStruct

- u -

  • UID : ndefSystemInformation
  • uri : ndefTypeStruct

- v -

  • vCard : ndefTypeStruct
  • vNo : ndefCapabilityContainerT4T

- w -

  • wifi : ndefTypeStruct
  • writeAccess : ndefCapabilityContainerT1T , ndefCapabilityContainerT2T , ndefCapabilityContainerT4T , ndefCapabilityContainerT5T
  • writeFlag : ndefAttribInfoBlockT3T


NDEF: Data Fields - Variables

NDEF

- a -

  • aar : ndefTypeStruct
  • AFI : ndefSystemInformation
  • areaAvalableSpaceLen : ndefInfo
  • areaLen : ndefContext , ndefInfo
  • authentication : ndefTypeWifi

- b -

  • blockLen : ndefT5TContext
  • blockSize : ndefSystemInformation
  • buffer : ndefBuffer8 , ndefBuffer , ndefConstBuffer8 , ndefConstBuffer , ndefDeviceInfoEntry
  • bufLanguageCode : ndefTypeRtdText
  • bufNetworkKey : ndefTypeWifi
  • bufNetworkSSID : ndefTypeWifi
  • bufPayload : ndefRecordStruct , ndefTypeMedia , ndefTypeRtdAar
  • bufSentence : ndefTypeRtdText
  • bufSubType : ndefVCardInput
  • bufSubTypeBuffer : ndefVCardEntry
  • bufSubTypeLength : ndefVCardEntry
  • bufType : ndefTypeMedia , ndefTypeRtdAar , ndefVCardInput
  • bufTypeBuffer : ndefVCardEntry
  • bufTypeLength : ndefVCardEntry
  • bufUriString : ndefTypeRtdUri
  • bufValue : ndefVCardInput
  • bufValueBuffer : ndefVCardEntry
  • bufValueLength : ndefVCardEntry

- c -

  • cacheAddr : ndefT2TContext
  • cacheBuf : ndefT2TContext
  • cApduBuf : ndefT4TContext
  • cc : ndefContext
  • ccBuf : ndefContext
  • ccLen : ndefCapabilityContainerT4T , ndefCapabilityContainerT5T
  • curMLc : ndefT4TContext
  • curMLe : ndefT4TContext
  • currentSecNo : ndefT2TContext

- d -

  • data : ndefTypeStruct
  • device : ndefContext
  • deviceInfo : ndefTypeStruct
  • devInfo : ndefTypeRtdDeviceInfo
  • DFSID : ndefSystemInformation

- e -

  • encryption : ndefTypeWifi
  • entry : ndefTypeVCard

- f -

  • fileId : ndefCapabilityContainerT4T
  • fileSize : ndefCapabilityContainerT4T

- g -

  • getPayloadItem : ndefTypeStruct
  • getPayloadLength : ndefTypeStruct

- h -

  • header : ndefRecordStruct

- i -

  • ICRef : ndefSystemInformation
  • id : ndefRecordStruct , ndefTypeStruct
  • idLength : ndefRecordStruct
  • info : ndefMessageStruct
  • infoFlags : ndefSystemInformation

- l -

  • legacySTHighDensity : ndefT5TContext
  • length : ndefBuffer8 , ndefBuffer , ndefConstBuffer8 , ndefConstBuffer , ndefDeviceInfoEntry , ndefMessageInfo
  • listBlocks : ndefT3TContext
  • Ln : ndefAttribInfoBlockT3T
  • lockBlock : ndefCapabilityContainerT5T

- m -

  • magicNumber : ndefCapabilityContainerT1T , ndefCapabilityContainerT2T , ndefCapabilityContainerT5T
  • majorVersion : ndefAttribInfoBlockT3T , ndefCapabilityContainerT1T , ndefCapabilityContainerT2T , ndefCapabilityContainerT5T , ndefInfo
  • media : ndefTypeStruct
  • memoryLen : ndefCapabilityContainerT5T
  • messageLen : ndefContext , ndefInfo
  • messageOffset : ndefContext
  • minorVersion : ndefAttribInfoBlockT3T , ndefCapabilityContainerT1T , ndefCapabilityContainerT2T , ndefCapabilityContainerT5T , ndefInfo
  • mLc : ndefCapabilityContainerT4T
  • mLe : ndefCapabilityContainerT4T
  • mlenOverflow : ndefCapabilityContainerT5T
  • multipleBlockRead : ndefCapabilityContainerT5T
  • mv1Flag : ndefT4TContext

- n -

  • nbR : ndefAttribInfoBlockT3T
  • nbW : ndefAttribInfoBlockT3T
  • ndefPollWrapper : ndefContext
  • ndeftype : ndefRecordStruct
  • next : ndefRecordStruct
  • nMaxB : ndefAttribInfoBlockT3T
  • numberOfBlock : ndefSystemInformation

- o -

  • offsetNdefTLV : ndefT2TContext

- p -

  • pAddressedUid : ndefT5TContext
  • pollerContextInitialization : ndefPollerWrapperStruct
  • pollerNdefDetect : ndefPollerWrapperStruct
  • pollerReadBytes : ndefPollerWrapperStruct
  • pollerReadRawMessage : ndefPollerWrapperStruct
  • protocol : ndefTypeRtdUri

- r -

  • rApduBodyLen : ndefT4TContext
  • rApduBuf : ndefT4TContext
  • readAccess : ndefCapabilityContainerT1T , ndefCapabilityContainerT2T , ndefCapabilityContainerT4T , ndefCapabilityContainerT5T
  • record : ndefMessageStruct
  • recordCount : ndefMessageInfo
  • respAPDU : ndefT4TContext
  • rfu : ndefT1TContext
  • rwFlag : ndefAttribInfoBlockT3T
  • rxbuf : ndefT3TContext

- s -

  • size : ndefCapabilityContainerT2T
  • specialFrame : ndefCapabilityContainerT5T
  • state : ndefContext , ndefInfo
  • status : ndefTypeRtdText
  • subCtx : ndefContext
  • supportedCmd : ndefSystemInformation
  • sysInfo : ndefT5TContext
  • sysInfoSupported : ndefT5TContext

- t -

  • t1t : ndefCapabilityContainer , ndefContext
  • t2t : ndefCapabilityContainer , ndefContext
  • t3t : ndefCapabilityContainer , ndefContext
  • t4t : ndefCapabilityContainer
  • t5t : ndefCapabilityContainer , ndefContext
  • tagMemorySize : ndefCapabilityContainerT1T
  • text : ndefTypeStruct
  • TlvNDEFOffset : ndefT5TContext
  • tmpBuf : ndefT4TContext
  • txbuf : ndefT3TContext
  • txrxBuf : ndefT5TContext
  • type : ndefDeviceInfoEntry , ndefRecordStruct
  • typeLength : ndefRecordStruct

- u -

  • UID : ndefSystemInformation
  • uri : ndefTypeStruct

- v -

  • vCard : ndefTypeStruct
  • vNo : ndefCapabilityContainerT4T

- w -

  • wifi : ndefTypeStruct
  • writeAccess : ndefCapabilityContainerT1T , ndefCapabilityContainerT2T , ndefCapabilityContainerT4T , ndefCapabilityContainerT5T
  • writeFlag : ndefAttribInfoBlockT3T


NDEF: File List

NDEF
File List
Here is a list of all documented files with brief descriptions:
ndef_buffer.h | NDEF buffer type structures
ndef_message.h | NDEF message header file
ndef_poller.h | Provides NDEF methods and definitions to access NFC Forum Tags
ndef_record.h | NDEF record header file
ndef_t2t.h | Provides NDEF methods and definitions to access NFC Forum T2T
ndef_t3t.h | Provides NDEF methods and definitions to access NFC Forum T3T
ndef_t4t.h | Provides NDEF methods and definitions to access NFC Forum T4T
ndef_t5t.h | Provides NDEF methods and definitions to access NFC Forum T5T
ndef_type_wifi.h | NDEF Wifi type header file
ndef_types.h | Common NDEF RTD (well-known and external) and Media types header file
ndef_types_mime.h | NDEF MIME types header file
ndef_types_rtd.h | NDEF RTD (well-known and external) types header file


NDEF: ndef_buffer.h File Reference

NDEF
  • include
  • message
Data Structures
ndef_buffer.h File Reference

NDEF buffer type structures. More...

This graph shows which files directly or indirectly include this file:

Data Structures

struct | ndefConstBuffer
struct | ndefBuffer
struct | ndefConstBuffer8
struct | ndefBuffer8

Detailed Description

Author
Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_message.h File Reference

NDEF
  • include
  • message
Data Structures | Macros | Functions
ndef_message.h File Reference

NDEF message header file. More...

#include "ndef_record.h"
Include dependency graph for ndef_message.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct | ndefMessageInfo
struct | ndefMessageStruct

Macros

#define | ndefMessageGetFirstRecord(message) (((message) == NULL) ? NULL : (message)->record)
#define | ndefMessageGetNextRecord(record) (((record) == NULL) ? NULL : (record)->next)

Functions

ReturnCode | ndefMessageInit (ndefMessage *message)
ReturnCode | ndefMessageGetInfo (const ndefMessage *message, ndefMessageInfo *info)
uint32_t | ndefMessageGetRecordCount (const ndefMessage *message)
ReturnCode | ndefMessageAppend (ndefMessage *message, ndefRecord *record)
ReturnCode | ndefMessageDecode (const ndefConstBuffer *bufPayload, ndefMessage *message)
ReturnCode | ndefMessageEncode (const ndefMessage *message, ndefBuffer *bufPayload)

Detailed Description

Author

NDEF Message provides functionalities required to perform message management. A message is a list of records.

The most common interfaces are:
ndefMessageReset()
ndefMessageAppend()
ndefMessageEncode()
ndefMessageDecode()

Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_poller.h File Reference

NDEF
  • include
  • poller
Data Structures | Macros | Typedefs | Enumerations | Functions
ndef_poller.h File Reference

Provides NDEF methods and definitions to access NFC Forum Tags. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_nfca.h"
#include "rfal_nfcb.h"
#include "rfal_nfcf.h"
#include "rfal_nfcv.h"
#include "rfal_nfc.h"
#include "rfal_isoDep.h"
#include "rfal_t4t.h"
#include "ndef_record.h"
#include "ndef_message.h"
Include dependency graph for ndef_poller.h:

Data Structures

struct | ndefInfo
struct | ndefSystemInformation
struct | ndefCapabilityContainerT1T
struct | ndefCapabilityContainerT2T
struct | ndefAttribInfoBlockT3T
struct | ndefCapabilityContainerT4T
struct | ndefCapabilityContainerT5T
union | ndefCapabilityContainer
struct | ndefT1TContext
struct | ndefT2TContext
struct | ndefT3TContext
struct | ndefT4TContext
struct | ndefT5TContext
struct | ndefContext
struct | ndefPollerWrapperStruct

Macros

#define | NDEF_CC_BUF_LEN 17U
#define | NDEF_NFCV_SUPPORTED_CMD_LEN 4U
#define | NDEF_SHORT_VFIELD_MAX_LEN 254U
#define | NDEF_TERMINATOR_TLV_LEN 1U
#define | NDEF_TERMINATOR_TLV_T 0xFEU
#define | NDEF_T2T_READ_RESP_SIZE 16U
#define | NDEF_T3T_BLOCK_SIZE 16U
#define | NDEF_T3T_MAX_NB_BLOCKS 4U
#define | NDEF_T3T_MAX_RX_SIZE ((NDEF_T3T_BLOCK_SIZE*NDEF_T3T_MAX_NB_BLOCKS) + 16U)
#define | NDEF_T3T_MAX_TX_SIZE ((NDEF_T3T_BLOCK_SIZE*NDEF_T3T_MAX_NB_BLOCKS) + 16U)
#define | NDEF_T5T_TxRx_BUFF_HEADER_SIZE 1U
#define | NDEF_T5T_TxRx_BUFF_FOOTER_SIZE 2U
#define | NDEF_T5T_TxRx_BUFF_SIZE (32U + NDEF_T5T_TxRx_BUFF_HEADER_SIZE + NDEF_T5T_TxRx_BUFF_FOOTER_SIZE)
#define | ndefBytes2Uint16(hiB, loB) ((uint16_t)((((uint32_t)(hiB)) << 8U) | ((uint32_t)(loB))))
#define | ndefMajorVersion(V) ((uint8_t)((V) >> 4U))
#define | ndefMinorVersion(V) ((uint8_t)((V) & 0xFU))
#define | NDEF_FEATURE_ALL true

Typedefs

typedef struct ndefPollerWrapperStruct ndefPollerWrapper

Enumerations

enum ndefDeviceType {
NDEF_DEV_NONE = 0x00U, NDEF_DEV_T1T = 0x01U, NDEF_DEV_T2T = 0x02U, NDEF_DEV_T3T = 0x03U,
NDEF_DEV_T4T = 0x04U, NDEF_DEV_T5T = 0x05U
}
enum ndefState { NDEF_STATE_INVALID = 0x00U, NDEF_STATE_INITIALIZED = 0x01U, NDEF_STATE_READWRITE = 0x02U, NDEF_STATE_READONLY = 0x03U }

Functions

ReturnCode | ndefPollerContextInitialization (ndefContext *ctx, const rfalNfcDevice *dev)
Handle NDEF context activation. More...
ReturnCode | ndefPollerNdefDetect (ndefContext *ctx, ndefInfo *info)
NDEF Detection procedure. More...
ReturnCode | ndefPollerReadBytes (ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)
Read data. More...
ReturnCode | ndefPollerWriteBytes (ndefContext *ctx, uint32_t offset, const uint8_t *buf, uint32_t len)
Write data. More...
ReturnCode | ndefPollerReadRawMessage (ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)
Read raw NDEF message. More...
ReturnCode | ndefPollerWriteRawMessage (ndefContext *ctx, const uint8_t *buf, uint32_t bufLen)
Write raw NDEF message. More...
ReturnCode | ndefPollerTagFormat (ndefContext *ctx, const ndefCapabilityContainer *cc, uint32_t options)
Format Tag. More...
ReturnCode | ndefPollerWriteRawMessageLen (ndefContext *ctx, uint32_t rawMessageLen)
Write NDEF message length. More...
ReturnCode | ndefPollerWriteMessage (ndefContext *ctx, const ndefMessage *message)
Write an NDEF message. More...
ReturnCode | ndefPollerCheckPresence (ndefContext *ctx)
Check Presence. More...
ReturnCode | ndefPollerCheckAvailableSpace (const ndefContext *ctx, uint32_t messageLen)
Check Available Space. More...
ReturnCode | ndefPollerBeginWriteMessage (ndefContext *ctx, uint32_t messageLen)
Begin Write Message. More...
ReturnCode | ndefPollerEndWriteMessage (ndefContext *ctx, uint32_t messageLen)
End Write Message. More...

Detailed Description

Author

NDEF provides several functionalities required to perform NFC NDEF activities.
The NDEF encapsulates the different tag technologies (T2T, T3T, T4AT, T4BT, T5T) into a common and easy to use interface.

It provides interfaces to Detect, Read, Write and Format NDEF.

The most common interfaces are:
ndefPollerContextInitialization()
ndefPollerNdefDetect()
ndefPollerReadRawMessage()
ndefPollerWriteRawMessage()
ndefPollerTagFormat()
ndefPollerWriteMessage()

An NDEF read usage example is provided here: ndef_example_read.c

Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_record.h File Reference

NDEF
  • include
  • message
Data Structures | Macros | Typedefs | Functions
ndef_record.h File Reference

NDEF record header file. More...

#include "platform.h"
#include "st_errno.h"
#include "ndef_buffer.h"
Include dependency graph for ndef_record.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct ndefRecordStruct

Macros

#define | NDEF_RECORD_HEADER_LEN 7U
#define | NDEF_SHORT_RECORD_LENGTH_MAX 255U
#define | NDEF_TNF_EMPTY 0U
#define | NDEF_TNF_RTD_WELL_KNOWN_TYPE 1U
#define | NDEF_TNF_MEDIA_TYPE 2U
#define | NDEF_TNF_URI 3U
#define | NDEF_TNF_RTD_EXTERNAL_TYPE 4U
#define | NDEF_TNF_UNKNOWN 5U
#define | NDEF_TNF_UNCHANGED 6U
#define | NDEF_TNF_RESERVED 7U
#define | NDEF_TNF_MASK 7U
#define | ndefHeader(MB, ME, CF, SR, IL, TNF) ((((MB) & 1U) << 7U) | (((ME) & 1U) << 6U) | (((CF) & 1U) << 5U) | (((SR) & 1U) << 4U) | (((IL) & 1U) << 3U) | ((uint8_t)(TNF) & NDEF_TNF_MASK) ) /*< Build the record header byte, made of MB, ME, CF, SR, IL bits and TNF type */
#define | ndefHeaderMB(record) ( ((record)->header & 0x80U) >> 7 )
#define | ndefHeaderME(record) ( ((record)->header & 0x40U) >> 6 )
#define | ndefHeaderCF(record) ( ((record)->header & 0x20U) >> 5 )
#define | ndefHeaderSR(record) ( ((record)->header & 0x10U) >> 4 )
#define | ndefHeaderIL(record) ( ((record)->header & 0x08U) >> 3 )
#define | ndefHeaderTNF(record) ( (record)->header & NDEF_TNF_MASK )
#define | ndefHeaderSetMB(record) ( (record)->header |= (1U << 7) )
#define | ndefHeaderSetME(record) ( (record)->header |= (1U << 6) )
#define | ndefHeaderSetCF(record) ( (record)->header |= (1U << 5) )
#define | ndefHeaderSetSR(record) ( (record)->header |= (1U << 4) )
#define | ndefHeaderSetIL(record) ( (record)->header |= (1U << 3) )
#define | ndefHeaderSetTNF(record, value) ( (record)->header |= (uint8_t)(value) & NDEF_TNF_MASK )
#define | ndefHeaderClearMB(record) ( (record)->header &= 0x7FU )
#define | ndefHeaderClearME(record) ( (record)->header &= 0xBFU )
#define | ndefHeaderClearCF(record) ( (record)->header &= 0xDFU )
#define | ndefHeaderClearSR(record) ( (record)->header &= 0xEFU )
#define | ndefHeaderClearIL(record) ( (record)->header &= 0xF7U )
#define | ndefHeaderClearTNF(record, value) ( (record)->header &= 0xF8U )
#define | ndefHeaderSetValueMB(record, value) do{ (record)->header &= 0x7FU; (record)->header |= (((uint8_t)(value)) & 1U) << 7; }while(0)
#define | ndefHeaderSetValueME(record, value) do{ (record)->header &= 0xBFU; (record)->header |= (((uint8_t)(value)) & 1U) << 6; }while(0)
#define | ndefHeaderSetValueSR(record, value) do{ (record)->header &= 0xEFU; (record)->header |= (((uint8_t)(value)) & 1U) << 4; }while(0)
#define | ndefHeaderIsSetMB(record) ( ndefHeaderMB(record) == 1U )
#define | ndefHeaderIsSetSR(record) ( ndefHeaderSR(record) == 1U )
#define | ndefHeaderIsSetIL(record) ( ndefHeaderIL(record) == 1U )

Typedefs

typedef struct ndefTypeStruct | ndefType
typedef struct ndefMessageStruct | ndefMessage
typedef struct ndefRecordStruct | ndefRecord

Functions

ReturnCode | ndefRecordReset (ndefRecord *record)
ReturnCode | ndefRecordInit (ndefRecord *record, uint8_t tnf, const ndefConstBuffer8 *bufType, const ndefConstBuffer8 *bufId, const ndefConstBuffer *bufPayload)
uint32_t | ndefRecordGetHeaderLength (const ndefRecord *record)
uint32_t | ndefRecordGetLength (const ndefRecord *record)
ReturnCode | ndefRecordSetType (ndefRecord *record, uint8_t tnf, const ndefConstBuffer8 *bufType)
ReturnCode | ndefRecordGetType (const ndefRecord *record, uint8_t *tnf, ndefConstBuffer8 *bufType)
bool | ndefRecordTypeMatch (const ndefRecord *record, uint8_t tnf, const ndefConstBuffer8 *bufType)
ReturnCode | ndefRecordSetId (ndefRecord *record, const ndefConstBuffer8 *bufId)
ReturnCode | ndefRecordGetId (const ndefRecord *record, ndefConstBuffer8 *bufId)
ReturnCode | ndefRecordSetPayload (ndefRecord *record, const ndefConstBuffer *bufPayload)
ReturnCode | ndefRecordGetPayload (const ndefRecord *record, ndefConstBuffer *bufPayload)
ReturnCode | ndefRecordDecode (const ndefConstBuffer *bufPayload, ndefRecord *record)
ReturnCode | ndefRecordEncodeHeader (const ndefRecord *record, ndefBuffer *bufHeader)
ReturnCode | ndefRecordEncode (const ndefRecord *record, ndefBuffer *bufRecord)
uint32_t | ndefRecordGetPayloadLength (const ndefRecord *record)
const uint8_t * | ndefRecordGetPayloadItem (const ndefRecord *record, ndefConstBuffer *bufPayloadItem, bool begin)

Detailed Description

Author

NDEF record provides functionalities required to perform record management.

Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_t2t.h File Reference

NDEF
  • include
  • poller
Functions
ndef_t2t.h File Reference

Provides NDEF methods and definitions to access NFC Forum T2T. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_nfca.h"
#include "rfal_t2t.h"
Include dependency graph for ndef_t2t.h:

Functions

ReturnCode | ndefT2TPollerContextInitialization (ndefContext *ctx, const rfalNfcDevice *dev)
Handle T2T NDEF context activation. More...
ReturnCode | ndefT2TPollerNdefDetect (ndefContext *ctx, ndefInfo *info)
T2T NDEF Detection procedure. More...
ReturnCode | ndefT2TPollerReadBytes (ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)
T2T Read data from tag memory. More...
ReturnCode | ndefT2TPollerWriteBytes (ndefContext *ctx, uint32_t offset, const uint8_t *buf, uint32_t len)
T2T write data to tag memory. More...
ReturnCode | ndefT2TPollerReadRawMessage (ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)
T2T Read raw NDEF message. More...
ReturnCode | ndefT2TPollerWriteRawMessage (ndefContext *ctx, const uint8_t *buf, uint32_t bufLen)
T2T Write raw NDEF message. More...
ReturnCode | ndefT2TPollerWriteRawMessageLen (ndefContext *ctx, uint32_t rawMessageLen)
T2T Write NDEF message length. More...
ReturnCode | ndefT2TPollerTagFormat (ndefContext *ctx, const ndefCapabilityContainer *cc, uint32_t options)
T2T Format Tag. More...
ReturnCode | ndefT2TPollerCheckPresence (ndefContext *ctx)
T2T Check Presence. More...
ReturnCode | ndefT2TPollerCheckAvailableSpace (const ndefContext *ctx, uint32_t messageLen)
T2T Check Available Space. More...
ReturnCode | ndefT2TPollerBeginWriteMessage (ndefContext *ctx, uint32_t messageLen)
T2T Begin Write Message. More...
ReturnCode | ndefT2TPollerEndWriteMessage (ndefContext *ctx, uint32_t messageLen)
T2T End Write Message. More...

Detailed Description

Author

NDEF T2T provides several functionalities required to perform NDEF message management with T2T tags.

The most common interfaces are
ndefT2TPollerContextInitialization()
ndefT2TPollerNdefDetect()
ndefT2TPollerReadRawMessage()
ndefT2TPollerWriteRawMessage()
ndefT2TPollerTagFormat()

Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_t3t.h File Reference

NDEF
  • include
  • poller
Functions
ndef_t3t.h File Reference

Provides NDEF methods and definitions to access NFC Forum T3T. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_nfcv.h"
Include dependency graph for ndef_t3t.h:

Functions

ReturnCode | ndefT3TPollerContextInitialization (ndefContext *ctx, const rfalNfcDevice *dev)
Handle T3T NDEF context activation. More...
ReturnCode | ndefT3TPollerNdefDetect (ndefContext *ctx, ndefInfo *info)
T3T NDEF Detection procedure. More...
ReturnCode | ndefT3TPollerReadBytes (ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)
T3T Read data from file. More...
ReturnCode | ndefT3TPollerWriteBytes (ndefContext *ctx, uint32_t offset, const uint8_t *buf, uint32_t len)
T3T write data to file. More...
ReturnCode | ndefT3TPollerReadRawMessage (ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)
T3T Read raw NDEF message. More...
ReturnCode | ndefT3TPollerWriteRawMessage (ndefContext *ctx, const uint8_t *buf, uint32_t bufLen)
T3T Write raw NDEF message. More...
ReturnCode | ndefT3TPollerWriteRawMessageLen (ndefContext *ctx, uint32_t rawMessageLen)
T3T Write NDEF message length. More...
ReturnCode | ndefT3TPollerTagFormat (ndefContext *ctx, const ndefCapabilityContainer *cc, uint32_t options)
T3T Format Tag. More...
ReturnCode | ndefT3TPollerCheckPresence (ndefContext *ctx)
T3T Check Presence. More...
ReturnCode | ndefT3TPollerCheckAvailableSpace (const ndefContext *ctx, uint32_t messageLen)
T3T Check Available Space. More...
ReturnCode | ndefT3TPollerBeginWriteMessage (ndefContext *ctx, uint32_t messageLen)
T3T Begin Write Message. More...
ReturnCode | ndefT3TPollerEndWriteMessage (ndefContext *ctx, uint32_t messageLen)
T3T End Write Message. More...

Detailed Description

Author

NDEF T3T provides several functionalities required to perform NDEF message management with T3T tags.

The most common interfaces are
ndefT3TPollerContextInitialization()
ndefT3TPollerNdefDetect()
ndefT3TPollerReadRawMessage()
ndefT3TPollerWriteRawMessage()
ndefT3TPollerTagFormat()

Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_t4t.h File Reference

NDEF
  • include
  • poller
Macros | Functions
ndef_t4t.h File Reference

Provides NDEF methods and definitions to access NFC Forum T4T. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_nfca.h"
#include "rfal_nfcb.h"
#include "rfal_nfcf.h"
#include "rfal_nfcv.h"
#include "rfal_isoDep.h"
#include "rfal_t4t.h"
Include dependency graph for ndef_t4t.h:

Macros

#define | NDEF_T4T_MAPPING_VERSION_2_0 0x20U
#define | NDEF_T4T_MAPPING_VERSION_3_0 0x30U
#define | NDEF_T4T_MAX_RAPDU_BODY_LEN 256U
#define | NDEF_T4T_MAX_RAPDU_LEN (NDEF_T4T_MAX_RAPDU_BODY_LEN + RFAL_T4T_MAX_RAPDU_SW1SW2_LEN)
#define | NDEF_T4T_MAX_CAPDU_BODY_LEN 255U
#define | NDEF_T4T_MAX_CAPDU_LEN
#define | ndefT4TIsReadAccessGranted(r) ( ((r) == 0x00U) || (((r) >= 0x80U) && ((r) <= 0xFEU)) )
#define | ndefT4TIsWriteAccessGranted(w) ( ((w) == 0x00U) || (((w) >= 0x80U) && ((w) <= 0xFEU)) )

Functions

ReturnCode | ndefT4TPollerContextInitialization (ndefContext *ctx, const rfalNfcDevice *dev)
Handle T4T NDEF context activation. More...
ReturnCode | ndefT4TPollerNdefDetect (ndefContext *ctx, ndefInfo *info)
T4T NDEF Detection procedure. More...
ReturnCode | ndefT4TPollerSelectNdefTagApplication (ndefContext *ctx)
T4T Select NDEF Tag Application. More...
ReturnCode | ndefT4TPollerSelectFile (ndefContext *ctx, const uint8_t *fileId)
T4T Select File. More...
ReturnCode | ndefT4TPollerReadBinary (ndefContext *ctx, uint16_t offset, uint8_t len)
T4T ReadBinary. More...
ReturnCode | ndefT4TPollerReadBinaryODO (ndefContext *ctx, uint32_t offset, uint8_t len)
T4T ReadBinary with ODO. More...
ReturnCode | ndefT4TPollerReadBytes (ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)
T4T Read data from file. More...
ReturnCode | ndefT4TPollerWriteBinary (ndefContext *ctx, uint16_t offset, const uint8_t *data, uint8_t len)
T4T WriteBinary. More...
ReturnCode | ndefT4TPollerWriteBinaryODO (ndefContext *ctx, uint32_t offset, const uint8_t *data, uint8_t len)
T4T WriteBinary with ODO. More...
ReturnCode | ndefT4TPollerWriteBytes (ndefContext *ctx, uint32_t offset, const uint8_t *buf, uint32_t len)
T4T write data to file. More...
ReturnCode | ndefT4TPollerReadRawMessage (ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)
T4T Read raw NDEF message. More...
ReturnCode | ndefT4TPollerWriteRawMessage (ndefContext *ctx, const uint8_t *buf, uint32_t bufLen)
T4T Write raw NDEF message. More...
ReturnCode | ndefT4TPollerWriteRawMessageLen (ndefContext *ctx, uint32_t rawMessageLen)
T4T Write NDEF message length. More...
ReturnCode | ndefT4TPollerTagFormat (ndefContext *ctx, const ndefCapabilityContainer *cc, uint32_t options)
T4T Format Tag. More...
ReturnCode | ndefT4TPollerCheckPresence (ndefContext *ctx)
T4T Check Presence. More...
ReturnCode | ndefT4TPollerCheckAvailableSpace (const ndefContext *ctx, uint32_t messageLen)
T4T Check Available Space. More...
ReturnCode | ndefT4TPollerBeginWriteMessage (ndefContext *ctx, uint32_t messageLen)
T4T Begin Write Message. More...
ReturnCode | ndefT4TPollerEndWriteMessage (ndefContext *ctx, uint32_t messageLen)
T4T End Write Message. More...

Detailed Description

Author

NDEF T4T provides several functionalities required to perform NDEF message management with T4T tags.

The most common interfaces are
ndefT4TPollerContextInitialization()
ndefT4TPollerNdefDetect()
ndefT4TPollerReadRawMessage()
ndefT4TPollerWriteRawMessage()
ndefT4TPollerTagFormat()

Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_t5t.h File Reference

NDEF
  • include
  • poller
Macros | Functions
ndef_t5t.h File Reference

Provides NDEF methods and definitions to access NFC Forum T5T. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_nfcv.h"
#include "rfal_st25xv.h"
Include dependency graph for ndef_t5t.h:

Macros

#define | NDEF_SYSINFO_FLAG_DFSID_POS (0U)
#define | NDEF_SYSINFO_FLAG_AFI_POS (1U)
#define | NDEF_SYSINFO_FLAG_MEMSIZE_POS (2U)
#define | NDEF_SYSINFO_FLAG_ICREF_POS (3U)
#define | NDEF_SYSINFO_FLAG_MOI_POS (4U)
#define | NDEF_SYSINFO_FLAG_CMDLIST_POS (5U)
#define | NDEF_SYSINFO_FLAG_CSI_POS (6U)
#define | NDEF_SYSINFO_FLAG_LEN_POS (7U)
#define | NDEF_CMDLIST_READSINGLEBLOCK_POS (0U)
#define | NDEF_CMDLIST_WRITESINGLEBLOCK_POS (1U)
#define | NDEF_CMDLIST_LOCKSINGLEBLOCK_POS (2U)
#define | NDEF_CMDLIST_READMULTIPLEBLOCKS_POS (3U)
#define | NDEF_CMDLIST_WRITEMULTIPLEBLOCKS_POS (4U)
#define | NDEF_CMDLIST_SELECT_POS (5U)
#define | NDEF_CMDLIST_RESETTOREADY_POS (6U)
#define | NDEF_CMDLIST_GETMULTIPLEBLOCKSECSTATUS_POS (7U)
#define | NDEF_CMDLIST_WRITEAFI_POS (0U)
#define | NDEF_CMDLIST_LOCKAFI_POS (1U)
#define | NDEF_CMDLIST_WRITEDSFID_POS (2U)
#define | NDEF_CMDLIST_LOCKDSFID_POS (3U)
#define | NDEF_CMDLIST_GETSYSTEMINFORMATION_POS (4U)
#define | NDEF_CMDLIST_CUSTOMCMDS_POS (5U)
#define | NDEF_CMDLIST_FASTREADMULTIPLEBLOCKS_POS (6U)
#define | NDEF_CMDLIST_EXTREADSINGLEBLOCK_POS (0U)
#define | NDEF_CMDLIST_EXTWRITESINGLEBLOCK_POS (1U)
#define | NDEF_CMDLIST_EXTLOCKSINGLEBLOCK_POS (2U)
#define | NDEF_CMDLIST_EXTREADMULTIPLEBLOCKS_POS (3U)
#define | NDEF_CMDLIST_EXTWRITEMULTIPLEBLOCKS_POS (4U)
#define | NDEF_CMDLIST_EXTGETMULTIPLEBLOCKSECSTATUS_POS (5U)
#define | NDEF_CMDLIST_FASTEXTENDEDREADMULTIPLEBLOCKS_POS (6U)
#define | NDEF_T5T_CC_MAGIC_1_BYTE_ADDR_MODE 0xE1U
#define | NDEF_T5T_CC_MAGIC_2_BYTE_ADDR_MODE 0xE2U
#define | NDEF_T5T_CC_LEN_4_BYTES 4U
#define | NDEF_T5T_CC_LEN_8_BYTES 8U
#define | NDEF_T5T_FORMAT_OPTION_NFC_FORUM 1U
#define | ndefT5TSysInfoDFSIDPresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_DFSID_POS) & 0x01U)
#define | ndefT5TSysInfoAFIPresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_AFI_POS) & 0x01U)
#define | ndefT5TSysInfoMemSizePresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_MEMSIZE_POS) & 0x01U)
#define | ndefT5TSysInfoICRefPresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_ICREF_POS) & 0x01U)
#define | ndefT5TSysInfoMOIValue(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_MOI_POS) & 0x01U)
#define | ndefT5TSysInfoCmdListPresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_CMDLIST_POS) & 0x01U)
#define | ndefT5TSysInfoCSIPresent(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_CSI_POS) & 0x01U)
#define | ndefT5TSysInfoLenValue(infoFlags) (((infoFlags) >> NDEF_SYSINFO_FLAG_LEN_POS) & 0x01U)
#define | ndefT5TSysInfoReadSingleBlockSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_READSINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoWriteSingleBlockSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_WRITESINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoLockSingleBlockSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_LOCKSINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoReadMultipleBlocksSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_READMULTIPLEBLOCKS_POS) & 0x01U)
#define | ndefT5TSysInfoWriteMultipleBlocksSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_WRITEMULTIPLEBLOCKS_POS) & 0x01U)
#define | ndefT5TSysInfoSelectSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_SELECT_POS) & 0x01U)
#define | ndefT5TSysInfoResetToReadySupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_RESETTOREADY_POS) & 0x01U)
#define | ndefT5TSysInfoGetMultipleBlockSecStatusSupported(cmdList) (((cmdList)[0] >> NDEF_CMDLIST_GETMULTIPLEBLOCKSECSTATUS_POS) & 0x01U)
#define | ndefT5TSysInfoWriteAFISupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_WRITEAFI_POS) & 0x01U)
#define | ndefT5TSysInfoLockAFISupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_LOCKAFI_POS) & 0x01U)
#define | ndefT5TSysInfoWriteDSFIDSupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_WRITEDSFID_POS) & 0x01U)
#define | ndefT5TSysInfoLockDSFIDSupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_LOCKDSFID_POS) & 0x01U)
#define | ndefT5TSysInfoGetSystemInformationSupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_GETSYSTEMINFORMATION_POS) & 0x01U)
#define | ndefT5TSysInfoCustomCmdsSupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_CUSTOMCMDS_POS) & 0x01U)
#define | ndefT5TSysInfoFastReadMultipleBlocksSupported(cmdList) (((cmdList)[1] >> NDEF_CMDLIST_FASTREADMULTIPLEBLOCKS_POS) & 0x01U)
#define | ndefT5TSysInfoExtReadSingleBlockSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTREADSINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoExtWriteSingleBlockSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTWRITESINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoExtLockSingleBlockSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTLOCKSINGLEBLOCK_POS) & 0x01U)
#define | ndefT5TSysInfoExtReadMultipleBlocksSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTREADMULTIPLEBLOCKS_POS) & 0x01U)
#define | ndefT5TSysInfoExtWriteMultipleBlocksSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTWRITEMULTIPLEBLOCKS_POS) & 0x01U)
#define | ndefT5TSysInfoExtGetMultipleBlockSecStatusSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_EXTGETMULTIPLEBLOCKSECSTATUS_POS) & 0x01U)
#define | ndefT5TSysInfoFastExtendedReadMultipleBlocksSupported(cmdList) (((cmdList)[2] >> NDEF_CMDLIST_FASTEXTENDEDREADMULTIPLEBLOCKS_POS) & 0x01U)

Functions

ReturnCode | ndefT5TPollerContextInitialization (ndefContext *ctx, const rfalNfcDevice *dev)
Handle T5T NDEF context activation. More...
ReturnCode | ndefT5TPollerNdefDetect (ndefContext *ctx, ndefInfo *info)
T5T NDEF Detection procedure. More...
ReturnCode | ndefT5TPollerReadBytes (ndefContext *ctx, uint32_t offset, uint32_t len, uint8_t *buf, uint32_t *rcvdLen)
T5T Read data from tag memory. More...
ReturnCode | ndefT5TPollerWriteBytes (ndefContext *ctx, uint32_t offset, const uint8_t *buf, uint32_t len)
T5T write data to tag memory. More...
ReturnCode | ndefT5TPollerReadRawMessage (ndefContext *ctx, uint8_t *buf, uint32_t bufLen, uint32_t *rcvdLen)
T5T Read raw NDEF message. More...
ReturnCode | ndefT5TPollerWriteRawMessage (ndefContext *ctx, const uint8_t *buf, uint32_t bufLen)
T5T Write raw NDEF message. More...
ReturnCode | ndefT5TPollerWriteRawMessageLen (ndefContext *ctx, uint32_t rawMessageLen)
T5T Write NDEF message length. More...
ReturnCode | ndefT5TPollerTagFormat (ndefContext *ctx, const ndefCapabilityContainer *cc, uint32_t options)
T5T Format Tag. More...
ReturnCode | ndefT5TPollerCheckPresence (ndefContext *ctx)
T5T Check Presence. More...
ReturnCode | ndefT5TPollerCheckAvailableSpace (const ndefContext *ctx, uint32_t messageLen)
T5T Check Available Space. More...
ReturnCode | ndefT5TPollerBeginWriteMessage (ndefContext *ctx, uint32_t messageLen)
T5T Begin Write Message. More...
ReturnCode | ndefT5TPollerEndWriteMessage (ndefContext *ctx, uint32_t messageLen)
T5T End Write Message. More...

Detailed Description

Author

NDEF T5T provides several functionalities required to perform NDEF message management with T5T tags.

The most common interfaces are
ndefT5TPollerContextInitialization()
ndefT5TPollerNdefDetect()
ndefT5TPollerReadRawMessage()
ndefT5TPollerWriteRawMessage()
ndefT5TPollerTagFormat()

Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_type_wifi.h File Reference

NDEF
  • include
  • message
Data Structures | Macros | Functions | Variables
ndef_type_wifi.h File Reference

NDEF Wifi type header file. More...

#include "ndef_types.h"
#include "ndef_record.h"
Include dependency graph for ndef_type_wifi.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct ndefTypeWifi

Macros

#define | NDEF_WIFI_AUTHENTICATION_NONE 0U
#define | NDEF_WIFI_AUTHENTICATION_WPAPSK 2U
#define | NDEF_WIFI_AUTHENTICATION_SHARED 3U
#define | NDEF_WIFI_AUTHENTICATION_WPA 4U
#define | NDEF_WIFI_AUTHENTICATION_WPA2 5U
#define | NDEF_WIFI_AUTHENTICATION_WPA2PSK 6U
#define | NDEF_WIFI_ENCRYPTION_NONE 0U
#define | NDEF_WIFI_ENCRYPTION_WEP 2U
#define | NDEF_WIFI_ENCRYPTION_TKIP 3U
#define | NDEF_WIFI_ENCRYPTION_AES 4U

Functions

ReturnCode | ndefWifi (ndefType *wifi, const ndefTypeWifi *wifiConfig)
ReturnCode | ndefGetWifi (const ndefType *wifi, ndefTypeWifi *wifiConfig)
ReturnCode | ndefRecordToWifi (const ndefRecord *record, ndefType *wifi)
ReturnCode | ndefWifiToRecord (const ndefType *wifi, ndefRecord *record)

Variables

const ndefConstBuffer8 bufMediaTypeWifi

Detailed Description

Author

NDEF Wifi type provides functionalities to handle Wifi records.

Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_types.h File Reference

NDEF
  • include
  • message
Data Structures | Macros | Enumerations | Functions
ndef_types.h File Reference

Common NDEF RTD (well-known and external) and Media types header file. More...

#include "platform.h"
#include "ndef_record.h"
#include "ndef_buffer.h"
#include "ndef_type_wifi.h"
Include dependency graph for ndef_types.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct | ndefDeviceInfoEntry
struct | ndefTypeRtdDeviceInfo
struct | ndefTypeRtdText
struct | ndefTypeRtdUri
struct | ndefTypeRtdAar
struct | ndefTypeMedia
struct | ndefVCardInput
struct | ndefVCardEntry
struct | ndefTypeVCard
struct | ndefTypeStruct

Macros

#define | NDEF_UUID_LENGTH 16U
#define | TEXT_ENCODING_UTF8 0U
#define | TEXT_ENCODING_UTF16 1U
#define | NDEF_RTD_TEXT_ENCODING_MASK 0x80U
#define | NDEF_RTD_TEXT_ENCODING_SHIFT 7U
#define | NDEF_URI_PREFIX_NONE 0x00U
#define | NDEF_URI_PREFIX_HTTP_WWW 0x01U
#define | NDEF_URI_PREFIX_HTTPS_WWW 0x02U
#define | NDEF_URI_PREFIX_HTTP 0x03U
#define | NDEF_URI_PREFIX_HTTPS 0x04U
#define | NDEF_URI_PREFIX_TEL 0x05U
#define | NDEF_URI_PREFIX_MAILTO 0x06U
#define | NDEF_URI_PREFIX_FTP_ANONYMOUS 0x07U
#define | NDEF_URI_PREFIX_FTP_FTP 0x08U
#define | NDEF_URI_PREFIX_FTPS 0x09U
#define | NDEF_URI_PREFIX_SFTP 0x0AU
#define | NDEF_URI_PREFIX_SMB 0x0BU
#define | NDEF_URI_PREFIX_NFS 0x0CU
#define | NDEF_URI_PREFIX_FTP 0x0DU
#define | NDEF_URI_PREFIX_DAV 0x0EU
#define | NDEF_URI_PREFIX_NEWS 0x0FU
#define | NDEF_URI_PREFIX_TELNET 0x10U
#define | NDEF_URI_PREFIX_IMAP 0x11U
#define | NDEF_URI_PREFIX_RTSP 0x12U
#define | NDEF_URI_PREFIX_URN 0x13U
#define | NDEF_URI_PREFIX_POP 0x14U
#define | NDEF_URI_PREFIX_SIP 0x15U
#define | NDEF_URI_PREFIX_SIPS 0x16U
#define | NDEF_URI_PREFIX_TFTP 0x17U
#define | NDEF_URI_PREFIX_BTSPP 0x18U
#define | NDEF_URI_PREFIX_BTL2CAP 0x19U
#define | NDEF_URI_PREFIX_BTGOEP 0x1AU
#define | NDEF_URI_PREFIX_TCPOBEX 0x1BU
#define | NDEF_URI_PREFIX_IRDAOBEX 0x1CU
#define | NDEF_URI_PREFIX_FILE 0x1DU
#define | NDEF_URI_PREFIX_URN_EPC_ID 0x1EU
#define | NDEF_URI_PREFIX_URN_EPC_TAG 0x1FU
#define | NDEF_URI_PREFIX_URN_EPC_PAT 0x20U
#define | NDEF_URI_PREFIX_URN_EPC_RAW 0x21U
#define | NDEF_URI_PREFIX_URN_EPC 0x22U
#define | NDEF_URI_PREFIX_URN_NFC 0x23U
#define | NDEF_URI_PREFIX_AUTODETECT 0x24U
#define | NDEF_URI_PREFIX_COUNT 0x25U
#define | NDEF_VCARD_ENTRY_MAX 16U
#define | NDEF_DEVICE_INFO_MANUFACTURER_NAME 0U
#define | NDEF_DEVICE_INFO_MODEL_NAME 1U
#define | NDEF_DEVICE_INFO_DEVICE_UNIQUE_NAME 2U
#define | NDEF_DEVICE_INFO_UUID 3U
#define | NDEF_DEVICE_INFO_FIRMWARE_VERSION 4U
#define | NDEF_DEVICE_INFO_TYPE_COUNT 5U

Enumerations

enum ndefTypeId {
NDEF_TYPE_EMPTY = 0, NDEF_TYPE_RTD_DEVICE_INFO, NDEF_TYPE_RTD_TEXT, NDEF_TYPE_RTD_URI,
NDEF_TYPE_RTD_AAR, NDEF_TYPE_MEDIA, NDEF_TYPE_MEDIA_VCARD, NDEF_TYPE_MEDIA_WIFI,
NDEF_TYPE_ID_COUNT
}

Functions

ReturnCode | ndefRecordTypeStringToTypeId (const ndefRecord *record, ndefTypeId *typeId)
ReturnCode | ndefRecordToType (const ndefRecord *record, ndefType *type)
ReturnCode | ndefTypeToRecord (const ndefType *type, ndefRecord *record)
ReturnCode | ndefRecordSetNdefType (ndefRecord *record, const ndefType *type)
const ndefType * | ndefRecordGetNdefType (const ndefRecord *record)

Detailed Description

Author

NDEF types provides an abstraction layer gathering both the RTD and MIME types in a single generic ndefType interface. See ndefTypeStruct and ndefType

Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_types_mime.h File Reference

NDEF
  • include
  • message
Functions | Variables
ndef_types_mime.h File Reference

NDEF MIME types header file. More...

#include "ndef_types.h"
#include "ndef_record.h"
Include dependency graph for ndef_types_mime.h:

Functions

ReturnCode | ndefMedia (ndefType *media, const ndefConstBuffer8 *bufType, const ndefConstBuffer *bufPayload)
ReturnCode | ndefGetMedia (const ndefType *media, ndefConstBuffer8 *bufType, ndefConstBuffer *bufPayload)
ReturnCode | ndefRecordToMedia (const ndefRecord *record, ndefType *media)
ReturnCode | ndefMediaToRecord (const ndefType *media, ndefRecord *record)
ReturnCode | ndefVCard (ndefType *vCard, const ndefVCardInput *bufVCardInput, uint32_t bufVCardInputCount)
ReturnCode | ndefGetVCard (const ndefType *vCard, const ndefConstBuffer *bufType, ndefConstBuffer *bufSubType, ndefConstBuffer *bufValue)
ReturnCode | ndefRecordToVCard (const ndefRecord *record, ndefType *vCard)
ReturnCode | ndefVCardToRecord (const ndefType *vCard, ndefRecord *record)

Variables

const ndefConstBuffer8 bufMediaTypeVCard

Detailed Description

Author

NDEF MIME type provides functionalities to handle MIME records, such as vCard or generic media.

Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_types_rtd.h File Reference

NDEF
  • include
  • message
Functions | Variables
ndef_types_rtd.h File Reference

NDEF RTD (well-known and external) types header file. More...

#include "ndef_types.h"
#include "ndef_record.h"
Include dependency graph for ndef_types_rtd.h:

Functions

ReturnCode | ndefEmptyType (ndefType *empty)
ReturnCode | ndefRecordToEmptyType (const ndefRecord *record, ndefType *empty)
ReturnCode | ndefEmptyTypeToRecord (const ndefType *empty, ndefRecord *record)
ReturnCode | ndefRtdDeviceInfo (ndefType *devInfo, const ndefDeviceInfoEntry *devInfoData, uint8_t devInfoDataCount)
ReturnCode | ndefGetRtdDeviceInfo (const ndefType *devInfo, ndefTypeRtdDeviceInfo *devInfoData)
ReturnCode | ndefRecordToRtdDeviceInfo (const ndefRecord *record, ndefType *devInfo)
ReturnCode | ndefRtdDeviceInfoToRecord (const ndefType *devInfo, ndefRecord *record)
ReturnCode | ndefRtdText (ndefType *text, uint8_t utfEncoding, const ndefConstBuffer8 *bufLanguageCode, const ndefConstBuffer *bufSentence)
ReturnCode | ndefGetRtdText (const ndefType *text, uint8_t *utfEncoding, ndefConstBuffer8 *bufLanguageCode, ndefConstBuffer *bufSentence)
ReturnCode | ndefRecordToRtdText (const ndefRecord *record, ndefType *text)
ReturnCode | ndefRtdTextToRecord (const ndefType *text, ndefRecord *record)
ReturnCode | ndefRtdUri (ndefType *uri, uint8_t protocol, const ndefConstBuffer *bufUriString)
ReturnCode | ndefGetRtdUri (const ndefType *uri, ndefConstBuffer *bufProtocol, ndefConstBuffer *bufUriString)
ReturnCode | ndefRecordToRtdUri (const ndefRecord *record, ndefType *uri)
ReturnCode | ndefRtdUriToRecord (const ndefType *uri, ndefRecord *record)
ReturnCode | ndefRtdAar (ndefType *aar, const ndefConstBuffer *bufPayload)
ReturnCode | ndefGetRtdAar (const ndefType *aar, ndefConstBuffer *bufAarString)
ReturnCode | ndefRecordToRtdAar (const ndefRecord *record, ndefType *aar)
ReturnCode | ndefRtdAarToRecord (const ndefType *aar, ndefRecord *record)

Variables

const ndefConstBuffer8 | bufRtdTypeDeviceInfo
const ndefConstBuffer8 | bufRtdTypeText
const ndefConstBuffer8 | bufRtdTypeUri
const ndefConstBuffer8 | bufRtdTypeAar

Detailed Description

Author

NDEF RTD provides functionalities to handle RTD records, such as Text or URI.

Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: Globals

NDEF
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:

- b -

  • bufMediaTypeVCard : ndef_types_mime.h
  • bufMediaTypeWifi : ndef_type_wifi.h
  • bufRtdTypeAar : ndef_types_rtd.h
  • bufRtdTypeDeviceInfo : ndef_types_rtd.h
  • bufRtdTypeText : ndef_types_rtd.h
  • bufRtdTypeUri : ndef_types_rtd.h


NDEF: Globals

NDEF
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:

- n -

  • NDEF_CC_BUF_LEN : ndef_poller.h
  • NDEF_CMDLIST_CUSTOMCMDS_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTGETMULTIPLEBLOCKSECSTATUS_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTLOCKSINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTREADMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTREADSINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTWRITEMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTWRITESINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_CMDLIST_FASTEXTENDEDREADMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_FASTREADMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_GETMULTIPLEBLOCKSECSTATUS_POS : ndef_t5t.h
  • NDEF_CMDLIST_GETSYSTEMINFORMATION_POS : ndef_t5t.h
  • NDEF_CMDLIST_LOCKAFI_POS : ndef_t5t.h
  • NDEF_CMDLIST_LOCKDSFID_POS : ndef_t5t.h
  • NDEF_CMDLIST_LOCKSINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_CMDLIST_READMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_READSINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_CMDLIST_RESETTOREADY_POS : ndef_t5t.h
  • NDEF_CMDLIST_SELECT_POS : ndef_t5t.h
  • NDEF_CMDLIST_WRITEAFI_POS : ndef_t5t.h
  • NDEF_CMDLIST_WRITEDSFID_POS : ndef_t5t.h
  • NDEF_CMDLIST_WRITEMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_WRITESINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_DEV_NONE : ndef_poller.h
  • NDEF_DEV_T1T : ndef_poller.h
  • NDEF_DEV_T2T : ndef_poller.h
  • NDEF_DEV_T3T : ndef_poller.h
  • NDEF_DEV_T4T : ndef_poller.h
  • NDEF_DEV_T5T : ndef_poller.h
  • NDEF_DEVICE_INFO_DEVICE_UNIQUE_NAME : ndef_types.h
  • NDEF_DEVICE_INFO_FIRMWARE_VERSION : ndef_types.h
  • NDEF_DEVICE_INFO_MANUFACTURER_NAME : ndef_types.h
  • NDEF_DEVICE_INFO_MODEL_NAME : ndef_types.h
  • NDEF_DEVICE_INFO_TYPE_COUNT : ndef_types.h
  • NDEF_DEVICE_INFO_UUID : ndef_types.h
  • NDEF_FEATURE_ALL : ndef_poller.h
  • NDEF_NFCV_SUPPORTED_CMD_LEN : ndef_poller.h
  • NDEF_RECORD_HEADER_LEN : ndef_record.h
  • NDEF_RTD_TEXT_ENCODING_MASK : ndef_types.h
  • NDEF_RTD_TEXT_ENCODING_SHIFT : ndef_types.h
  • NDEF_SHORT_RECORD_LENGTH_MAX : ndef_record.h
  • NDEF_SHORT_VFIELD_MAX_LEN : ndef_poller.h
  • NDEF_STATE_INITIALIZED : ndef_poller.h
  • NDEF_STATE_INVALID : ndef_poller.h
  • NDEF_STATE_READONLY : ndef_poller.h
  • NDEF_STATE_READWRITE : ndef_poller.h
  • NDEF_SYSINFO_FLAG_AFI_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_CMDLIST_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_CSI_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_DFSID_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_ICREF_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_LEN_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_MEMSIZE_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_MOI_POS : ndef_t5t.h
  • NDEF_T2T_READ_RESP_SIZE : ndef_poller.h
  • NDEF_T3T_BLOCK_SIZE : ndef_poller.h
  • NDEF_T3T_MAX_NB_BLOCKS : ndef_poller.h
  • NDEF_T3T_MAX_RX_SIZE : ndef_poller.h
  • NDEF_T3T_MAX_TX_SIZE : ndef_poller.h
  • NDEF_T4T_MAPPING_VERSION_2_0 : ndef_t4t.h
  • NDEF_T4T_MAPPING_VERSION_3_0 : ndef_t4t.h
  • NDEF_T4T_MAX_CAPDU_BODY_LEN : ndef_t4t.h
  • NDEF_T4T_MAX_CAPDU_LEN : ndef_t4t.h
  • NDEF_T4T_MAX_RAPDU_BODY_LEN : ndef_t4t.h
  • NDEF_T4T_MAX_RAPDU_LEN : ndef_t4t.h
  • NDEF_T5T_CC_LEN_4_BYTES : ndef_t5t.h
  • NDEF_T5T_CC_LEN_8_BYTES : ndef_t5t.h
  • NDEF_T5T_CC_MAGIC_1_BYTE_ADDR_MODE : ndef_t5t.h
  • NDEF_T5T_CC_MAGIC_2_BYTE_ADDR_MODE : ndef_t5t.h
  • NDEF_T5T_FORMAT_OPTION_NFC_FORUM : ndef_t5t.h
  • NDEF_T5T_TxRx_BUFF_FOOTER_SIZE : ndef_poller.h
  • NDEF_T5T_TxRx_BUFF_HEADER_SIZE : ndef_poller.h
  • NDEF_T5T_TxRx_BUFF_SIZE : ndef_poller.h
  • NDEF_TERMINATOR_TLV_LEN : ndef_poller.h
  • NDEF_TERMINATOR_TLV_T : ndef_poller.h
  • NDEF_TNF_EMPTY : ndef_record.h
  • NDEF_TNF_MASK : ndef_record.h
  • NDEF_TNF_MEDIA_TYPE : ndef_record.h
  • NDEF_TNF_RESERVED : ndef_record.h
  • NDEF_TNF_RTD_EXTERNAL_TYPE : ndef_record.h
  • NDEF_TNF_RTD_WELL_KNOWN_TYPE : ndef_record.h
  • NDEF_TNF_UNCHANGED : ndef_record.h
  • NDEF_TNF_UNKNOWN : ndef_record.h
  • NDEF_TNF_URI : ndef_record.h
  • NDEF_URI_PREFIX_AUTODETECT : ndef_types.h
  • NDEF_URI_PREFIX_BTGOEP : ndef_types.h
  • NDEF_URI_PREFIX_BTL2CAP : ndef_types.h
  • NDEF_URI_PREFIX_BTSPP : ndef_types.h
  • NDEF_URI_PREFIX_COUNT : ndef_types.h
  • NDEF_URI_PREFIX_DAV : ndef_types.h
  • NDEF_URI_PREFIX_FILE : ndef_types.h
  • NDEF_URI_PREFIX_FTP : ndef_types.h
  • NDEF_URI_PREFIX_FTP_ANONYMOUS : ndef_types.h
  • NDEF_URI_PREFIX_FTP_FTP : ndef_types.h
  • NDEF_URI_PREFIX_FTPS : ndef_types.h
  • NDEF_URI_PREFIX_HTTP : ndef_types.h
  • NDEF_URI_PREFIX_HTTP_WWW : ndef_types.h
  • NDEF_URI_PREFIX_HTTPS : ndef_types.h
  • NDEF_URI_PREFIX_HTTPS_WWW : ndef_types.h
  • NDEF_URI_PREFIX_IMAP : ndef_types.h
  • NDEF_URI_PREFIX_IRDAOBEX : ndef_types.h
  • NDEF_URI_PREFIX_MAILTO : ndef_types.h
  • NDEF_URI_PREFIX_NEWS : ndef_types.h
  • NDEF_URI_PREFIX_NFS : ndef_types.h
  • NDEF_URI_PREFIX_NONE : ndef_types.h
  • NDEF_URI_PREFIX_POP : ndef_types.h
  • NDEF_URI_PREFIX_RTSP : ndef_types.h
  • NDEF_URI_PREFIX_SFTP : ndef_types.h
  • NDEF_URI_PREFIX_SIP : ndef_types.h
  • NDEF_URI_PREFIX_SIPS : ndef_types.h
  • NDEF_URI_PREFIX_SMB : ndef_types.h
  • NDEF_URI_PREFIX_TCPOBEX : ndef_types.h
  • NDEF_URI_PREFIX_TEL : ndef_types.h
  • NDEF_URI_PREFIX_TELNET : ndef_types.h
  • NDEF_URI_PREFIX_TFTP : ndef_types.h
  • NDEF_URI_PREFIX_URN : ndef_types.h
  • NDEF_URI_PREFIX_URN_EPC : ndef_types.h
  • NDEF_URI_PREFIX_URN_EPC_ID : ndef_types.h
  • NDEF_URI_PREFIX_URN_EPC_PAT : ndef_types.h
  • NDEF_URI_PREFIX_URN_EPC_RAW : ndef_types.h
  • NDEF_URI_PREFIX_URN_EPC_TAG : ndef_types.h
  • NDEF_URI_PREFIX_URN_NFC : ndef_types.h
  • NDEF_UUID_LENGTH : ndef_types.h
  • NDEF_VCARD_ENTRY_MAX : ndef_types.h
  • NDEF_WIFI_AUTHENTICATION_NONE : ndef_type_wifi.h
  • NDEF_WIFI_AUTHENTICATION_SHARED : ndef_type_wifi.h
  • NDEF_WIFI_AUTHENTICATION_WPA : ndef_type_wifi.h
  • NDEF_WIFI_AUTHENTICATION_WPA2 : ndef_type_wifi.h
  • NDEF_WIFI_AUTHENTICATION_WPA2PSK : ndef_type_wifi.h
  • NDEF_WIFI_AUTHENTICATION_WPAPSK : ndef_type_wifi.h
  • NDEF_WIFI_ENCRYPTION_AES : ndef_type_wifi.h
  • NDEF_WIFI_ENCRYPTION_NONE : ndef_type_wifi.h
  • NDEF_WIFI_ENCRYPTION_TKIP : ndef_type_wifi.h
  • NDEF_WIFI_ENCRYPTION_WEP : ndef_type_wifi.h
  • ndefBytes2Uint16 : ndef_poller.h
  • ndefDeviceType : ndef_poller.h
  • ndefEmptyType() : ndef_types_rtd.h
  • ndefEmptyTypeToRecord() : ndef_types_rtd.h
  • ndefGetMedia() : ndef_types_mime.h
  • ndefGetRtdAar() : ndef_types_rtd.h
  • ndefGetRtdDeviceInfo() : ndef_types_rtd.h
  • ndefGetRtdText() : ndef_types_rtd.h
  • ndefGetRtdUri() : ndef_types_rtd.h
  • ndefGetVCard() : ndef_types_mime.h
  • ndefGetWifi() : ndef_type_wifi.h
  • ndefHeader : ndef_record.h
  • ndefHeaderCF : ndef_record.h
  • ndefHeaderClearCF : ndef_record.h
  • ndefHeaderClearIL : ndef_record.h
  • ndefHeaderClearMB : ndef_record.h
  • ndefHeaderClearME : ndef_record.h
  • ndefHeaderClearSR : ndef_record.h
  • ndefHeaderClearTNF : ndef_record.h
  • ndefHeaderIL : ndef_record.h
  • ndefHeaderIsSetIL : ndef_record.h
  • ndefHeaderIsSetMB : ndef_record.h
  • ndefHeaderIsSetSR : ndef_record.h
  • ndefHeaderMB : ndef_record.h
  • ndefHeaderME : ndef_record.h
  • ndefHeaderSetCF : ndef_record.h
  • ndefHeaderSetIL : ndef_record.h
  • ndefHeaderSetMB : ndef_record.h
  • ndefHeaderSetME : ndef_record.h
  • ndefHeaderSetSR : ndef_record.h
  • ndefHeaderSetTNF : ndef_record.h
  • ndefHeaderSetValueMB : ndef_record.h
  • ndefHeaderSetValueME : ndef_record.h
  • ndefHeaderSetValueSR : ndef_record.h
  • ndefHeaderSR : ndef_record.h
  • ndefHeaderTNF : ndef_record.h
  • ndefMajorVersion : ndef_poller.h
  • ndefMedia() : ndef_types_mime.h
  • ndefMediaToRecord() : ndef_types_mime.h
  • ndefMessage : ndef_record.h
  • ndefMessageAppend() : ndef_message.h
  • ndefMessageDecode() : ndef_message.h
  • ndefMessageEncode() : ndef_message.h
  • ndefMessageGetFirstRecord : ndef_message.h
  • ndefMessageGetInfo() : ndef_message.h
  • ndefMessageGetNextRecord : ndef_message.h
  • ndefMessageGetRecordCount() : ndef_message.h
  • ndefMessageInit() : ndef_message.h
  • ndefMinorVersion : ndef_poller.h
  • ndefPollerBeginWriteMessage() : ndef_poller.h
  • ndefPollerCheckAvailableSpace() : ndef_poller.h
  • ndefPollerCheckPresence() : ndef_poller.h
  • ndefPollerContextInitialization() : ndef_poller.h
  • ndefPollerEndWriteMessage() : ndef_poller.h
  • ndefPollerNdefDetect() : ndef_poller.h
  • ndefPollerReadBytes() : ndef_poller.h
  • ndefPollerReadRawMessage() : ndef_poller.h
  • ndefPollerTagFormat() : ndef_poller.h
  • ndefPollerWrapper : ndef_poller.h
  • ndefPollerWriteBytes() : ndef_poller.h
  • ndefPollerWriteMessage() : ndef_poller.h
  • ndefPollerWriteRawMessage() : ndef_poller.h
  • ndefPollerWriteRawMessageLen() : ndef_poller.h
  • ndefRecord : ndef_record.h
  • ndefRecordDecode() : ndef_record.h
  • ndefRecordEncode() : ndef_record.h
  • ndefRecordEncodeHeader() : ndef_record.h
  • ndefRecordGetHeaderLength() : ndef_record.h
  • ndefRecordGetId() : ndef_record.h
  • ndefRecordGetLength() : ndef_record.h
  • ndefRecordGetNdefType() : ndef_types.h
  • ndefRecordGetPayload() : ndef_record.h
  • ndefRecordGetPayloadItem() : ndef_record.h
  • ndefRecordGetPayloadLength() : ndef_record.h
  • ndefRecordGetType() : ndef_record.h
  • ndefRecordInit() : ndef_record.h
  • ndefRecordReset() : ndef_record.h
  • ndefRecordSetId() : ndef_record.h
  • ndefRecordSetNdefType() : ndef_types.h
  • ndefRecordSetPayload() : ndef_record.h
  • ndefRecordSetType() : ndef_record.h
  • ndefRecordToEmptyType() : ndef_types_rtd.h
  • ndefRecordToMedia() : ndef_types_mime.h
  • ndefRecordToRtdAar() : ndef_types_rtd.h
  • ndefRecordToRtdDeviceInfo() : ndef_types_rtd.h
  • ndefRecordToRtdText() : ndef_types_rtd.h
  • ndefRecordToRtdUri() : ndef_types_rtd.h
  • ndefRecordToType() : ndef_types.h
  • ndefRecordToVCard() : ndef_types_mime.h
  • ndefRecordToWifi() : ndef_type_wifi.h
  • ndefRecordTypeMatch() : ndef_record.h
  • ndefRecordTypeStringToTypeId() : ndef_types.h
  • ndefRtdAar() : ndef_types_rtd.h
  • ndefRtdAarToRecord() : ndef_types_rtd.h
  • ndefRtdDeviceInfo() : ndef_types_rtd.h
  • ndefRtdDeviceInfoToRecord() : ndef_types_rtd.h
  • ndefRtdText() : ndef_types_rtd.h
  • ndefRtdTextToRecord() : ndef_types_rtd.h
  • ndefRtdUri() : ndef_types_rtd.h
  • ndefRtdUriToRecord() : ndef_types_rtd.h
  • ndefState : ndef_poller.h
  • ndefT2TPollerBeginWriteMessage() : ndef_t2t.h
  • ndefT2TPollerCheckAvailableSpace() : ndef_t2t.h
  • ndefT2TPollerCheckPresence() : ndef_t2t.h
  • ndefT2TPollerContextInitialization() : ndef_t2t.h
  • ndefT2TPollerEndWriteMessage() : ndef_t2t.h
  • ndefT2TPollerNdefDetect() : ndef_t2t.h
  • ndefT2TPollerReadBytes() : ndef_t2t.h
  • ndefT2TPollerReadRawMessage() : ndef_t2t.h
  • ndefT2TPollerTagFormat() : ndef_t2t.h
  • ndefT2TPollerWriteBytes() : ndef_t2t.h
  • ndefT2TPollerWriteRawMessage() : ndef_t2t.h
  • ndefT2TPollerWriteRawMessageLen() : ndef_t2t.h
  • ndefT3TPollerBeginWriteMessage() : ndef_t3t.h
  • ndefT3TPollerCheckAvailableSpace() : ndef_t3t.h
  • ndefT3TPollerCheckPresence() : ndef_t3t.h
  • ndefT3TPollerContextInitialization() : ndef_t3t.h
  • ndefT3TPollerEndWriteMessage() : ndef_t3t.h
  • ndefT3TPollerNdefDetect() : ndef_t3t.h
  • ndefT3TPollerReadBytes() : ndef_t3t.h
  • ndefT3TPollerReadRawMessage() : ndef_t3t.h
  • ndefT3TPollerTagFormat() : ndef_t3t.h
  • ndefT3TPollerWriteBytes() : ndef_t3t.h
  • ndefT3TPollerWriteRawMessage() : ndef_t3t.h
  • ndefT3TPollerWriteRawMessageLen() : ndef_t3t.h
  • ndefT4TIsReadAccessGranted : ndef_t4t.h
  • ndefT4TIsWriteAccessGranted : ndef_t4t.h
  • ndefT4TPollerBeginWriteMessage() : ndef_t4t.h
  • ndefT4TPollerCheckAvailableSpace() : ndef_t4t.h
  • ndefT4TPollerCheckPresence() : ndef_t4t.h
  • ndefT4TPollerContextInitialization() : ndef_t4t.h
  • ndefT4TPollerEndWriteMessage() : ndef_t4t.h
  • ndefT4TPollerNdefDetect() : ndef_t4t.h
  • ndefT4TPollerReadBinary() : ndef_t4t.h
  • ndefT4TPollerReadBinaryODO() : ndef_t4t.h
  • ndefT4TPollerReadBytes() : ndef_t4t.h
  • ndefT4TPollerReadRawMessage() : ndef_t4t.h
  • ndefT4TPollerSelectFile() : ndef_t4t.h
  • ndefT4TPollerSelectNdefTagApplication() : ndef_t4t.h
  • ndefT4TPollerTagFormat() : ndef_t4t.h
  • ndefT4TPollerWriteBinary() : ndef_t4t.h
  • ndefT4TPollerWriteBinaryODO() : ndef_t4t.h
  • ndefT4TPollerWriteBytes() : ndef_t4t.h
  • ndefT4TPollerWriteRawMessage() : ndef_t4t.h
  • ndefT4TPollerWriteRawMessageLen() : ndef_t4t.h
  • ndefT5TPollerBeginWriteMessage() : ndef_t5t.h
  • ndefT5TPollerCheckAvailableSpace() : ndef_t5t.h
  • ndefT5TPollerCheckPresence() : ndef_t5t.h
  • ndefT5TPollerContextInitialization() : ndef_t5t.h
  • ndefT5TPollerEndWriteMessage() : ndef_t5t.h
  • ndefT5TPollerNdefDetect() : ndef_t5t.h
  • ndefT5TPollerReadBytes() : ndef_t5t.h
  • ndefT5TPollerReadRawMessage() : ndef_t5t.h
  • ndefT5TPollerTagFormat() : ndef_t5t.h
  • ndefT5TPollerWriteBytes() : ndef_t5t.h
  • ndefT5TPollerWriteRawMessage() : ndef_t5t.h
  • ndefT5TPollerWriteRawMessageLen() : ndef_t5t.h
  • ndefT5TSysInfoAFIPresent : ndef_t5t.h
  • ndefT5TSysInfoCmdListPresent : ndef_t5t.h
  • ndefT5TSysInfoCSIPresent : ndef_t5t.h
  • ndefT5TSysInfoCustomCmdsSupported : ndef_t5t.h
  • ndefT5TSysInfoDFSIDPresent : ndef_t5t.h
  • ndefT5TSysInfoExtGetMultipleBlockSecStatusSupported : ndef_t5t.h
  • ndefT5TSysInfoExtLockSingleBlockSupported : ndef_t5t.h
  • ndefT5TSysInfoExtReadMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoExtReadSingleBlockSupported : ndef_t5t.h
  • ndefT5TSysInfoExtWriteMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoExtWriteSingleBlockSupported : ndef_t5t.h
  • ndefT5TSysInfoFastExtendedReadMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoFastReadMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoGetMultipleBlockSecStatusSupported : ndef_t5t.h
  • ndefT5TSysInfoGetSystemInformationSupported : ndef_t5t.h
  • ndefT5TSysInfoICRefPresent : ndef_t5t.h
  • ndefT5TSysInfoLenValue : ndef_t5t.h
  • ndefT5TSysInfoLockAFISupported : ndef_t5t.h
  • ndefT5TSysInfoLockDSFIDSupported : ndef_t5t.h
  • ndefT5TSysInfoLockSingleBlockSupported : ndef_t5t.h
  • ndefT5TSysInfoMemSizePresent : ndef_t5t.h
  • ndefT5TSysInfoMOIValue : ndef_t5t.h
  • ndefT5TSysInfoReadMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoReadSingleBlockSupported : ndef_t5t.h
  • ndefT5TSysInfoResetToReadySupported : ndef_t5t.h
  • ndefT5TSysInfoSelectSupported : ndef_t5t.h
  • ndefT5TSysInfoWriteAFISupported : ndef_t5t.h
  • ndefT5TSysInfoWriteDSFIDSupported : ndef_t5t.h
  • ndefT5TSysInfoWriteMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoWriteSingleBlockSupported : ndef_t5t.h
  • ndefType : ndef_record.h
  • ndefTypeId : ndef_types.h
  • ndefTypeToRecord() : ndef_types.h
  • ndefVCard() : ndef_types_mime.h
  • ndefVCardToRecord() : ndef_types_mime.h
  • ndefWifi() : ndef_type_wifi.h
  • ndefWifiToRecord() : ndef_type_wifi.h


NDEF: Globals

NDEF
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:

- t -

  • TEXT_ENCODING_UTF16 : ndef_types.h
  • TEXT_ENCODING_UTF8 : ndef_types.h


NDEF: Globals

NDEF

- n -

  • ndefEmptyType() : ndef_types_rtd.h
  • ndefEmptyTypeToRecord() : ndef_types_rtd.h
  • ndefGetMedia() : ndef_types_mime.h
  • ndefGetRtdAar() : ndef_types_rtd.h
  • ndefGetRtdDeviceInfo() : ndef_types_rtd.h
  • ndefGetRtdText() : ndef_types_rtd.h
  • ndefGetRtdUri() : ndef_types_rtd.h
  • ndefGetVCard() : ndef_types_mime.h
  • ndefGetWifi() : ndef_type_wifi.h
  • ndefMedia() : ndef_types_mime.h
  • ndefMediaToRecord() : ndef_types_mime.h
  • ndefMessageAppend() : ndef_message.h
  • ndefMessageDecode() : ndef_message.h
  • ndefMessageEncode() : ndef_message.h
  • ndefMessageGetInfo() : ndef_message.h
  • ndefMessageGetRecordCount() : ndef_message.h
  • ndefMessageInit() : ndef_message.h
  • ndefPollerBeginWriteMessage() : ndef_poller.h
  • ndefPollerCheckAvailableSpace() : ndef_poller.h
  • ndefPollerCheckPresence() : ndef_poller.h
  • ndefPollerContextInitialization() : ndef_poller.h
  • ndefPollerEndWriteMessage() : ndef_poller.h
  • ndefPollerNdefDetect() : ndef_poller.h
  • ndefPollerReadBytes() : ndef_poller.h
  • ndefPollerReadRawMessage() : ndef_poller.h
  • ndefPollerTagFormat() : ndef_poller.h
  • ndefPollerWriteBytes() : ndef_poller.h
  • ndefPollerWriteMessage() : ndef_poller.h
  • ndefPollerWriteRawMessage() : ndef_poller.h
  • ndefPollerWriteRawMessageLen() : ndef_poller.h
  • ndefRecordDecode() : ndef_record.h
  • ndefRecordEncode() : ndef_record.h
  • ndefRecordEncodeHeader() : ndef_record.h
  • ndefRecordGetHeaderLength() : ndef_record.h
  • ndefRecordGetId() : ndef_record.h
  • ndefRecordGetLength() : ndef_record.h
  • ndefRecordGetNdefType() : ndef_types.h
  • ndefRecordGetPayload() : ndef_record.h
  • ndefRecordGetPayloadItem() : ndef_record.h
  • ndefRecordGetPayloadLength() : ndef_record.h
  • ndefRecordGetType() : ndef_record.h
  • ndefRecordInit() : ndef_record.h
  • ndefRecordReset() : ndef_record.h
  • ndefRecordSetId() : ndef_record.h
  • ndefRecordSetNdefType() : ndef_types.h
  • ndefRecordSetPayload() : ndef_record.h
  • ndefRecordSetType() : ndef_record.h
  • ndefRecordToEmptyType() : ndef_types_rtd.h
  • ndefRecordToMedia() : ndef_types_mime.h
  • ndefRecordToRtdAar() : ndef_types_rtd.h
  • ndefRecordToRtdDeviceInfo() : ndef_types_rtd.h
  • ndefRecordToRtdText() : ndef_types_rtd.h
  • ndefRecordToRtdUri() : ndef_types_rtd.h
  • ndefRecordToType() : ndef_types.h
  • ndefRecordToVCard() : ndef_types_mime.h
  • ndefRecordToWifi() : ndef_type_wifi.h
  • ndefRecordTypeMatch() : ndef_record.h
  • ndefRecordTypeStringToTypeId() : ndef_types.h
  • ndefRtdAar() : ndef_types_rtd.h
  • ndefRtdAarToRecord() : ndef_types_rtd.h
  • ndefRtdDeviceInfo() : ndef_types_rtd.h
  • ndefRtdDeviceInfoToRecord() : ndef_types_rtd.h
  • ndefRtdText() : ndef_types_rtd.h
  • ndefRtdTextToRecord() : ndef_types_rtd.h
  • ndefRtdUri() : ndef_types_rtd.h
  • ndefRtdUriToRecord() : ndef_types_rtd.h
  • ndefT2TPollerBeginWriteMessage() : ndef_t2t.h
  • ndefT2TPollerCheckAvailableSpace() : ndef_t2t.h
  • ndefT2TPollerCheckPresence() : ndef_t2t.h
  • ndefT2TPollerContextInitialization() : ndef_t2t.h
  • ndefT2TPollerEndWriteMessage() : ndef_t2t.h
  • ndefT2TPollerNdefDetect() : ndef_t2t.h
  • ndefT2TPollerReadBytes() : ndef_t2t.h
  • ndefT2TPollerReadRawMessage() : ndef_t2t.h
  • ndefT2TPollerTagFormat() : ndef_t2t.h
  • ndefT2TPollerWriteBytes() : ndef_t2t.h
  • ndefT2TPollerWriteRawMessage() : ndef_t2t.h
  • ndefT2TPollerWriteRawMessageLen() : ndef_t2t.h
  • ndefT3TPollerBeginWriteMessage() : ndef_t3t.h
  • ndefT3TPollerCheckAvailableSpace() : ndef_t3t.h
  • ndefT3TPollerCheckPresence() : ndef_t3t.h
  • ndefT3TPollerContextInitialization() : ndef_t3t.h
  • ndefT3TPollerEndWriteMessage() : ndef_t3t.h
  • ndefT3TPollerNdefDetect() : ndef_t3t.h
  • ndefT3TPollerReadBytes() : ndef_t3t.h
  • ndefT3TPollerReadRawMessage() : ndef_t3t.h
  • ndefT3TPollerTagFormat() : ndef_t3t.h
  • ndefT3TPollerWriteBytes() : ndef_t3t.h
  • ndefT3TPollerWriteRawMessage() : ndef_t3t.h
  • ndefT3TPollerWriteRawMessageLen() : ndef_t3t.h
  • ndefT4TPollerBeginWriteMessage() : ndef_t4t.h
  • ndefT4TPollerCheckAvailableSpace() : ndef_t4t.h
  • ndefT4TPollerCheckPresence() : ndef_t4t.h
  • ndefT4TPollerContextInitialization() : ndef_t4t.h
  • ndefT4TPollerEndWriteMessage() : ndef_t4t.h
  • ndefT4TPollerNdefDetect() : ndef_t4t.h
  • ndefT4TPollerReadBinary() : ndef_t4t.h
  • ndefT4TPollerReadBinaryODO() : ndef_t4t.h
  • ndefT4TPollerReadBytes() : ndef_t4t.h
  • ndefT4TPollerReadRawMessage() : ndef_t4t.h
  • ndefT4TPollerSelectFile() : ndef_t4t.h
  • ndefT4TPollerSelectNdefTagApplication() : ndef_t4t.h
  • ndefT4TPollerTagFormat() : ndef_t4t.h
  • ndefT4TPollerWriteBinary() : ndef_t4t.h
  • ndefT4TPollerWriteBinaryODO() : ndef_t4t.h
  • ndefT4TPollerWriteBytes() : ndef_t4t.h
  • ndefT4TPollerWriteRawMessage() : ndef_t4t.h
  • ndefT4TPollerWriteRawMessageLen() : ndef_t4t.h
  • ndefT5TPollerBeginWriteMessage() : ndef_t5t.h
  • ndefT5TPollerCheckAvailableSpace() : ndef_t5t.h
  • ndefT5TPollerCheckPresence() : ndef_t5t.h
  • ndefT5TPollerContextInitialization() : ndef_t5t.h
  • ndefT5TPollerEndWriteMessage() : ndef_t5t.h
  • ndefT5TPollerNdefDetect() : ndef_t5t.h
  • ndefT5TPollerReadBytes() : ndef_t5t.h
  • ndefT5TPollerReadRawMessage() : ndef_t5t.h
  • ndefT5TPollerTagFormat() : ndef_t5t.h
  • ndefT5TPollerWriteBytes() : ndef_t5t.h
  • ndefT5TPollerWriteRawMessage() : ndef_t5t.h
  • ndefT5TPollerWriteRawMessageLen() : ndef_t5t.h
  • ndefTypeToRecord() : ndef_types.h
  • ndefVCard() : ndef_types_mime.h
  • ndefVCardToRecord() : ndef_types_mime.h
  • ndefWifi() : ndef_type_wifi.h
  • ndefWifiToRecord() : ndef_type_wifi.h


NDEF: Globals

NDEF
  • bufMediaTypeVCard : ndef_types_mime.h
  • bufMediaTypeWifi : ndef_type_wifi.h
  • bufRtdTypeAar : ndef_types_rtd.h
  • bufRtdTypeDeviceInfo : ndef_types_rtd.h
  • bufRtdTypeText : ndef_types_rtd.h
  • bufRtdTypeUri : ndef_types_rtd.h


NDEF: Globals

NDEF
  • ndefMessage : ndef_record.h
  • ndefPollerWrapper : ndef_poller.h
  • ndefRecord : ndef_record.h
  • ndefType : ndef_record.h


NDEF: Globals

NDEF
  • ndefDeviceType : ndef_poller.h
  • ndefState : ndef_poller.h
  • ndefTypeId : ndef_types.h


NDEF: Globals

NDEF
  • NDEF_DEV_NONE : ndef_poller.h
  • NDEF_DEV_T1T : ndef_poller.h
  • NDEF_DEV_T2T : ndef_poller.h
  • NDEF_DEV_T3T : ndef_poller.h
  • NDEF_DEV_T4T : ndef_poller.h
  • NDEF_DEV_T5T : ndef_poller.h
  • NDEF_STATE_INITIALIZED : ndef_poller.h
  • NDEF_STATE_INVALID : ndef_poller.h
  • NDEF_STATE_READONLY : ndef_poller.h
  • NDEF_STATE_READWRITE : ndef_poller.h


NDEF: Globals

NDEF

- n -

  • NDEF_CC_BUF_LEN : ndef_poller.h
  • NDEF_CMDLIST_CUSTOMCMDS_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTGETMULTIPLEBLOCKSECSTATUS_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTLOCKSINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTREADMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTREADSINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTWRITEMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_EXTWRITESINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_CMDLIST_FASTEXTENDEDREADMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_FASTREADMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_GETMULTIPLEBLOCKSECSTATUS_POS : ndef_t5t.h
  • NDEF_CMDLIST_GETSYSTEMINFORMATION_POS : ndef_t5t.h
  • NDEF_CMDLIST_LOCKAFI_POS : ndef_t5t.h
  • NDEF_CMDLIST_LOCKDSFID_POS : ndef_t5t.h
  • NDEF_CMDLIST_LOCKSINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_CMDLIST_READMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_READSINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_CMDLIST_RESETTOREADY_POS : ndef_t5t.h
  • NDEF_CMDLIST_SELECT_POS : ndef_t5t.h
  • NDEF_CMDLIST_WRITEAFI_POS : ndef_t5t.h
  • NDEF_CMDLIST_WRITEDSFID_POS : ndef_t5t.h
  • NDEF_CMDLIST_WRITEMULTIPLEBLOCKS_POS : ndef_t5t.h
  • NDEF_CMDLIST_WRITESINGLEBLOCK_POS : ndef_t5t.h
  • NDEF_DEVICE_INFO_DEVICE_UNIQUE_NAME : ndef_types.h
  • NDEF_DEVICE_INFO_FIRMWARE_VERSION : ndef_types.h
  • NDEF_DEVICE_INFO_MANUFACTURER_NAME : ndef_types.h
  • NDEF_DEVICE_INFO_MODEL_NAME : ndef_types.h
  • NDEF_DEVICE_INFO_TYPE_COUNT : ndef_types.h
  • NDEF_DEVICE_INFO_UUID : ndef_types.h
  • NDEF_FEATURE_ALL : ndef_poller.h
  • NDEF_NFCV_SUPPORTED_CMD_LEN : ndef_poller.h
  • NDEF_RECORD_HEADER_LEN : ndef_record.h
  • NDEF_RTD_TEXT_ENCODING_MASK : ndef_types.h
  • NDEF_RTD_TEXT_ENCODING_SHIFT : ndef_types.h
  • NDEF_SHORT_RECORD_LENGTH_MAX : ndef_record.h
  • NDEF_SHORT_VFIELD_MAX_LEN : ndef_poller.h
  • NDEF_SYSINFO_FLAG_AFI_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_CMDLIST_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_CSI_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_DFSID_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_ICREF_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_LEN_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_MEMSIZE_POS : ndef_t5t.h
  • NDEF_SYSINFO_FLAG_MOI_POS : ndef_t5t.h
  • NDEF_T2T_READ_RESP_SIZE : ndef_poller.h
  • NDEF_T3T_BLOCK_SIZE : ndef_poller.h
  • NDEF_T3T_MAX_NB_BLOCKS : ndef_poller.h
  • NDEF_T3T_MAX_RX_SIZE : ndef_poller.h
  • NDEF_T3T_MAX_TX_SIZE : ndef_poller.h
  • NDEF_T4T_MAPPING_VERSION_2_0 : ndef_t4t.h
  • NDEF_T4T_MAPPING_VERSION_3_0 : ndef_t4t.h
  • NDEF_T4T_MAX_CAPDU_BODY_LEN : ndef_t4t.h
  • NDEF_T4T_MAX_CAPDU_LEN : ndef_t4t.h
  • NDEF_T4T_MAX_RAPDU_BODY_LEN : ndef_t4t.h
  • NDEF_T4T_MAX_RAPDU_LEN : ndef_t4t.h
  • NDEF_T5T_CC_LEN_4_BYTES : ndef_t5t.h
  • NDEF_T5T_CC_LEN_8_BYTES : ndef_t5t.h
  • NDEF_T5T_CC_MAGIC_1_BYTE_ADDR_MODE : ndef_t5t.h
  • NDEF_T5T_CC_MAGIC_2_BYTE_ADDR_MODE : ndef_t5t.h
  • NDEF_T5T_FORMAT_OPTION_NFC_FORUM : ndef_t5t.h
  • NDEF_T5T_TxRx_BUFF_FOOTER_SIZE : ndef_poller.h
  • NDEF_T5T_TxRx_BUFF_HEADER_SIZE : ndef_poller.h
  • NDEF_T5T_TxRx_BUFF_SIZE : ndef_poller.h
  • NDEF_TERMINATOR_TLV_LEN : ndef_poller.h
  • NDEF_TERMINATOR_TLV_T : ndef_poller.h
  • NDEF_TNF_EMPTY : ndef_record.h
  • NDEF_TNF_MASK : ndef_record.h
  • NDEF_TNF_MEDIA_TYPE : ndef_record.h
  • NDEF_TNF_RESERVED : ndef_record.h
  • NDEF_TNF_RTD_EXTERNAL_TYPE : ndef_record.h
  • NDEF_TNF_RTD_WELL_KNOWN_TYPE : ndef_record.h
  • NDEF_TNF_UNCHANGED : ndef_record.h
  • NDEF_TNF_UNKNOWN : ndef_record.h
  • NDEF_TNF_URI : ndef_record.h
  • NDEF_URI_PREFIX_AUTODETECT : ndef_types.h
  • NDEF_URI_PREFIX_BTGOEP : ndef_types.h
  • NDEF_URI_PREFIX_BTL2CAP : ndef_types.h
  • NDEF_URI_PREFIX_BTSPP : ndef_types.h
  • NDEF_URI_PREFIX_COUNT : ndef_types.h
  • NDEF_URI_PREFIX_DAV : ndef_types.h
  • NDEF_URI_PREFIX_FILE : ndef_types.h
  • NDEF_URI_PREFIX_FTP : ndef_types.h
  • NDEF_URI_PREFIX_FTP_ANONYMOUS : ndef_types.h
  • NDEF_URI_PREFIX_FTP_FTP : ndef_types.h
  • NDEF_URI_PREFIX_FTPS : ndef_types.h
  • NDEF_URI_PREFIX_HTTP : ndef_types.h
  • NDEF_URI_PREFIX_HTTP_WWW : ndef_types.h
  • NDEF_URI_PREFIX_HTTPS : ndef_types.h
  • NDEF_URI_PREFIX_HTTPS_WWW : ndef_types.h
  • NDEF_URI_PREFIX_IMAP : ndef_types.h
  • NDEF_URI_PREFIX_IRDAOBEX : ndef_types.h
  • NDEF_URI_PREFIX_MAILTO : ndef_types.h
  • NDEF_URI_PREFIX_NEWS : ndef_types.h
  • NDEF_URI_PREFIX_NFS : ndef_types.h
  • NDEF_URI_PREFIX_NONE : ndef_types.h
  • NDEF_URI_PREFIX_POP : ndef_types.h
  • NDEF_URI_PREFIX_RTSP : ndef_types.h
  • NDEF_URI_PREFIX_SFTP : ndef_types.h
  • NDEF_URI_PREFIX_SIP : ndef_types.h
  • NDEF_URI_PREFIX_SIPS : ndef_types.h
  • NDEF_URI_PREFIX_SMB : ndef_types.h
  • NDEF_URI_PREFIX_TCPOBEX : ndef_types.h
  • NDEF_URI_PREFIX_TEL : ndef_types.h
  • NDEF_URI_PREFIX_TELNET : ndef_types.h
  • NDEF_URI_PREFIX_TFTP : ndef_types.h
  • NDEF_URI_PREFIX_URN : ndef_types.h
  • NDEF_URI_PREFIX_URN_EPC : ndef_types.h
  • NDEF_URI_PREFIX_URN_EPC_ID : ndef_types.h
  • NDEF_URI_PREFIX_URN_EPC_PAT : ndef_types.h
  • NDEF_URI_PREFIX_URN_EPC_RAW : ndef_types.h
  • NDEF_URI_PREFIX_URN_EPC_TAG : ndef_types.h
  • NDEF_URI_PREFIX_URN_NFC : ndef_types.h
  • NDEF_UUID_LENGTH : ndef_types.h
  • NDEF_VCARD_ENTRY_MAX : ndef_types.h
  • NDEF_WIFI_AUTHENTICATION_NONE : ndef_type_wifi.h
  • NDEF_WIFI_AUTHENTICATION_SHARED : ndef_type_wifi.h
  • NDEF_WIFI_AUTHENTICATION_WPA : ndef_type_wifi.h
  • NDEF_WIFI_AUTHENTICATION_WPA2 : ndef_type_wifi.h
  • NDEF_WIFI_AUTHENTICATION_WPA2PSK : ndef_type_wifi.h
  • NDEF_WIFI_AUTHENTICATION_WPAPSK : ndef_type_wifi.h
  • NDEF_WIFI_ENCRYPTION_AES : ndef_type_wifi.h
  • NDEF_WIFI_ENCRYPTION_NONE : ndef_type_wifi.h
  • NDEF_WIFI_ENCRYPTION_TKIP : ndef_type_wifi.h
  • NDEF_WIFI_ENCRYPTION_WEP : ndef_type_wifi.h
  • ndefBytes2Uint16 : ndef_poller.h
  • ndefHeader : ndef_record.h
  • ndefHeaderCF : ndef_record.h
  • ndefHeaderClearCF : ndef_record.h
  • ndefHeaderClearIL : ndef_record.h
  • ndefHeaderClearMB : ndef_record.h
  • ndefHeaderClearME : ndef_record.h
  • ndefHeaderClearSR : ndef_record.h
  • ndefHeaderClearTNF : ndef_record.h
  • ndefHeaderIL : ndef_record.h
  • ndefHeaderIsSetIL : ndef_record.h
  • ndefHeaderIsSetMB : ndef_record.h
  • ndefHeaderIsSetSR : ndef_record.h
  • ndefHeaderMB : ndef_record.h
  • ndefHeaderME : ndef_record.h
  • ndefHeaderSetCF : ndef_record.h
  • ndefHeaderSetIL : ndef_record.h
  • ndefHeaderSetMB : ndef_record.h
  • ndefHeaderSetME : ndef_record.h
  • ndefHeaderSetSR : ndef_record.h
  • ndefHeaderSetTNF : ndef_record.h
  • ndefHeaderSetValueMB : ndef_record.h
  • ndefHeaderSetValueME : ndef_record.h
  • ndefHeaderSetValueSR : ndef_record.h
  • ndefHeaderSR : ndef_record.h
  • ndefHeaderTNF : ndef_record.h
  • ndefMajorVersion : ndef_poller.h
  • ndefMessageGetFirstRecord : ndef_message.h
  • ndefMessageGetNextRecord : ndef_message.h
  • ndefMinorVersion : ndef_poller.h
  • ndefT4TIsReadAccessGranted : ndef_t4t.h
  • ndefT4TIsWriteAccessGranted : ndef_t4t.h
  • ndefT5TSysInfoAFIPresent : ndef_t5t.h
  • ndefT5TSysInfoCmdListPresent : ndef_t5t.h
  • ndefT5TSysInfoCSIPresent : ndef_t5t.h
  • ndefT5TSysInfoCustomCmdsSupported : ndef_t5t.h
  • ndefT5TSysInfoDFSIDPresent : ndef_t5t.h
  • ndefT5TSysInfoExtGetMultipleBlockSecStatusSupported : ndef_t5t.h
  • ndefT5TSysInfoExtLockSingleBlockSupported : ndef_t5t.h
  • ndefT5TSysInfoExtReadMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoExtReadSingleBlockSupported : ndef_t5t.h
  • ndefT5TSysInfoExtWriteMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoExtWriteSingleBlockSupported : ndef_t5t.h
  • ndefT5TSysInfoFastExtendedReadMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoFastReadMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoGetMultipleBlockSecStatusSupported : ndef_t5t.h
  • ndefT5TSysInfoGetSystemInformationSupported : ndef_t5t.h
  • ndefT5TSysInfoICRefPresent : ndef_t5t.h
  • ndefT5TSysInfoLenValue : ndef_t5t.h
  • ndefT5TSysInfoLockAFISupported : ndef_t5t.h
  • ndefT5TSysInfoLockDSFIDSupported : ndef_t5t.h
  • ndefT5TSysInfoLockSingleBlockSupported : ndef_t5t.h
  • ndefT5TSysInfoMemSizePresent : ndef_t5t.h
  • ndefT5TSysInfoMOIValue : ndef_t5t.h
  • ndefT5TSysInfoReadMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoReadSingleBlockSupported : ndef_t5t.h
  • ndefT5TSysInfoResetToReadySupported : ndef_t5t.h
  • ndefT5TSysInfoSelectSupported : ndef_t5t.h
  • ndefT5TSysInfoWriteAFISupported : ndef_t5t.h
  • ndefT5TSysInfoWriteDSFIDSupported : ndef_t5t.h
  • ndefT5TSysInfoWriteMultipleBlocksSupported : ndef_t5t.h
  • ndefT5TSysInfoWriteSingleBlockSupported : ndef_t5t.h

- t -

  • TEXT_ENCODING_UTF16 : ndef_types.h
  • TEXT_ENCODING_UTF8 : ndef_types.h


NDEF: Examples

NDEF
Examples
Here is a list of all examples:
  • ndef_example_read.c
  • ndef_example_write.c


NDEF: ndef_example_read.c

NDEF
ndef_example_read.c

An NDEF write usage example is provided here: ndef_example_write.c

/******************************************************************************
* \attention
*
* <h2><center>&copy; COPYRIGHT 2019 STMicroelectronics</center></h2>
*
* Licensed under ST MYLIBERTY SOFTWARE LICENSE AGREEMENT (the "License");
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* www.st.com/myliberty
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
* AND SPECIFICALLY DISCLAIMING THE IMPLIED WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
/* \file ndef_example_read.c
*
* \example ndef_example_read.c
*
* \author
*
* \brief NDEF Read example code
*
* This demo shows how to poll for several types of NFC cards/devices and how
* to Read NDEF using the RFAL and NDEF libraries.
*
*
*/
/*
******************************************************************************
* INCLUDES
******************************************************************************
*/
#include "utils.h"
#include "rfal_nfc.h"
#include "ndef_poller.h"
#include "ndef_message.h"
#include "ndef_types_rtd.h"
#include "ndef_types_mime.h"
/*
******************************************************************************
* GLOBAL DEFINES
******************************************************************************
*/
#define DEMO_RAW_MESSAGE_BUF_LEN 8192
/*
******************************************************************************
* LOCAL VARIABLES
******************************************************************************
*/
static rfalNfcDevice *nfcDevice;
static rfalNfcDiscoverParam discParam =
{
.compMode = RFAL_COMPLIANCE_MODE_NFC,
.devLimit = 1U,
.nfcfBR = RFAL_BR_212,
.ap2pBR = RFAL_BR_424,
.nfcid3 = NULL,
.GB = NULL,
.GBLen = 0,
.notifyCb = NULL,
.totalDuration = 1000U,
.wakeupEnabled = false,
.wakeupConfigDefault = true,
.techs2Find = ( RFAL_NFC_POLL_TECH_A | RFAL_NFC_POLL_TECH_B | RFAL_NFC_POLL_TECH_F | RFAL_NFC_POLL_TECH_V )
};
static ndefContext ndefCtx;
static uint8_t rawMessageBuf[DEMO_RAW_MESSAGE_BUF_LEN];
/*
******************************************************************************
* LOCAL FUNCTION PROTOTYPES
******************************************************************************
*/
void ndefExampleParseMessage(uint8_t* rawMsgBuf, uint32_t rawMsgLen);
void ndefExampleParseRecord(ndefRecord *record);
void ndefExamplePrintString(const uint8_t* str, uint32_t strLen);
void ndefExampleRead( void )
{
ReturnCode err;
uint32_t rawMessageLen;
/*
* RFAL Init
*/
err = rfalNfcInitialize();
if( err != ERR_NONE )
{
platformLog("rfalNfcInitialize return %d\r\n", err);
return;
}
rfalNfcDeactivate( false );
rfalNfcDiscover( &discParam );
/*
* Read loop
*/
while (1)
{
rfalNfcWorker();
if( rfalNfcIsDevActivated(rfalNfcGetState()) )
{
/*
* Retrieve NFC device
*/
rfalNfcGetActiveDevice(&nfcDevice);
/*
* Perform NDEF Context Initialization
*/
err = ndefPollerContextInitialization(&ndefCtx, nfcDevice);
if( err != ERR_NONE )
{
platformLog("NDEF NOT DETECTED (ndefPollerContextInitialization returns %d)\r\n", err);
return;
}
/*
* Perform NDEF Detect procedure
*/
err = ndefPollerNdefDetect(&ndefCtx, NULL);
if( err != ERR_NONE )
{
platformLog("NDEF NOT DETECTED (ndefPollerNdefDetect returns %d)\r\n", err);
return;
}
/*
* Perform NDEF read procedure
*/
err = ndefPollerReadRawMessage(&ndefCtx, rawMessageBuf, sizeof(rawMessageBuf), &rawMessageLen);
if( err != ERR_NONE )
{
platformLog("NDEF message cannot be read (ndefPollerReadRawMessage returns %d)\r\n", err);
return;
}
platformLog("NDEF Read successful\r\n");
/*
* Parse message content
*/
ndefExampleParseMessage(rawMessageBuf, rawMessageLen);
return;
}
}
}
void ndefExampleParseMessage(uint8_t* rawMsgBuf, uint32_t rawMsgLen)
{
ReturnCode err;
ndefConstBuffer bufRawMessage;
ndefMessage message;
ndefRecord* record;
bufRawMessage.buffer = rawMsgBuf;
bufRawMessage.length = rawMsgLen;
err = ndefMessageDecode(&bufRawMessage, &message);
if (err != ERR_NONE)
{
return;
}
record = ndefMessageGetFirstRecord(&message);
while (record != NULL)
{
ndefExampleParseRecord(record);
record = ndefMessageGetNextRecord(record);
}
}
void ndefExamplePrintString(const uint8_t* str, uint32_t strLen)
{
uint32_t i;
const uint8_t* c;
i = strLen;
c = str;
while (i-- > 0U)
{
platformLog("%c", *c);
c++;
}
platformLog("\r\n");
}
void ndefExampleParseRecord(ndefRecord* record)
{
ReturnCode err;
ndefType type;
err = ndefRecordToType(record, &type);
if (err != ERR_NONE)
{
return;
}
switch (type.id)
{
case NDEF_TYPE_EMPTY:
platformLog(" * Empty record\r\n");
break;
case NDEF_TYPE_RTD_TEXT:
platformLog(" * TEXT record: ");
ndefExamplePrintString(type.data.text.bufSentence.buffer, type.data.text.bufSentence.length);
break;
case NDEF_TYPE_RTD_URI:
platformLog(" * URI record: ");
ndefExamplePrintString(type.data.uri.bufUriString.buffer, type.data.uri.bufUriString.length);
break;
case NDEF_TYPE_RTD_AAR:
platformLog(" * AAR record: ");
ndefExamplePrintString(type.data.aar.bufPayload.buffer, type.data.aar.bufPayload.length);
break;
case NDEF_TYPE_RTD_DEVICE_INFO:
platformLog(" * Device Info record\r\n");
break;
case NDEF_TYPE_MEDIA_VCARD:
platformLog(" * vCard record\r\n");
break;
case NDEF_TYPE_MEDIA_WIFI:
platformLog(" * WIFI record\r\n");
break;
default:
platformLog(" * Other record\r\n");
break;
}
}
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: ndef_example_write.c

NDEF
ndef_example_write.c
/******************************************************************************
* \attention
*
* <h2><center>&copy; COPYRIGHT 2019 STMicroelectronics</center></h2>
*
* Licensed under ST MYLIBERTY SOFTWARE LICENSE AGREEMENT (the "License");
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* www.st.com/myliberty
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
* AND SPECIFICALLY DISCLAIMING THE IMPLIED WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
/* \file ndef_example_write.c
*
* \example ndef_example_write.c
*
* \author
*
* \brief NDEF Write example code
*
* This demo shows how to poll for several types of NFC cards/devices and how
* to Encode and Write an NDEF message using the RFAL and NDEF libraries.
*
*
*/
/*
******************************************************************************
* INCLUDES
******************************************************************************
*/
#include "utils.h"
#include "rfal_nfc.h"
#include "ndef_poller.h"
#include "ndef_message.h"
#include "ndef_types_rtd.h"
#include "ndef_types_mime.h"
/*
******************************************************************************
* GLOBAL DEFINES
******************************************************************************
*/
/*
******************************************************************************
* LOCAL VARIABLES
******************************************************************************
*/
static rfalNfcDevice *nfcDevice;
static rfalNfcDiscoverParam discParam =
{
.compMode = RFAL_COMPLIANCE_MODE_NFC,
.devLimit = 1U,
.nfcfBR = RFAL_BR_212,
.ap2pBR = RFAL_BR_424,
.nfcid3 = NULL,
.GB = NULL,
.GBLen = 0,
.notifyCb = NULL,
.totalDuration = 1000U,
.wakeupEnabled = false,
.wakeupConfigDefault = true,
.techs2Find = ( RFAL_NFC_POLL_TECH_A | RFAL_NFC_POLL_TECH_B | RFAL_NFC_POLL_TECH_F | RFAL_NFC_POLL_TECH_V )
};
static ndefContext ndefCtx;
void ndefExampleWrite( void )
{
ReturnCode err;
ndefConstBuffer bufUri;
ndefType uri;
ndefRecord record;
ndefMessage message;
static uint8_t ndefURI[] = "st.com";
/*
* Message creation
*/
err = ndefMessageInit(&message); /* Initialize message structure */
bufUri.buffer = ndefURI;
bufUri.length = strlen((char *)ndefURI);
err |= ndefRtdUri(&uri, NDEF_URI_PREFIX_HTTP_WWW, &bufUri); /* Initialize URI type structure */
err |= ndefRtdUriToRecord(&uri, &record); /* Encode URI Record */
err |= ndefMessageAppend(&message, &record); /* Append URI to message */
if( err != ERR_NONE )
{
platformLog("Message creation failed\r\n", err);
return;
}
/*
* RFAL Init
*/
err = rfalNfcInitialize();
if( err != ERR_NONE )
{
platformLog("rfalNfcInitialize return %d\r\n", err);
return;
}
rfalNfcDeactivate( false );
rfalNfcDiscover( &discParam );
/*
* Write loop
*/
while (1)
{
rfalNfcWorker();
if( rfalNfcIsDevActivated(rfalNfcGetState()) )
{
/*
* Retrieve NFC device
*/
rfalNfcGetActiveDevice(&nfcDevice);
/*
* Perform NDEF Context Initialization
*/
err = ndefPollerContextInitialization(&ndefCtx, nfcDevice);
if( err != ERR_NONE )
{
platformLog("NDEF NOT DETECTED (ndefPollerContextInitialization returns %d)\r\n", err);
return;
}
/*
* Perform NDEF Detect procedure
*/
err = ndefPollerNdefDetect(&ndefCtx, NULL);
if( err != ERR_NONE )
{
platformLog("NDEF NOT DETECTED (ndefPollerNdefDetect returns %d)\r\n", err);
return;
}
/*
* Perform NDEF write procedure
*/
err = ndefPollerWriteMessage(&ndefCtx, &message);
if( err != ERR_NONE )
{
platformLog("NDEF message cannot be written (ndefPollerReadRawMessage returns %d)\r\n", err);
return;
}
platformLog("NDEF Write successful\r\n");
return;
}
}
}
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14


NDEF: poller -> message Relation

NDEF
  • include
  • poller

poller → message Relation

File in include/poller | Includes file in include/message
ndef_poller.h | ndef_message.h
ndef_poller.h | ndef_record.h


NDEF: poller Directory Reference

NDEF
  • include
  • poller
poller Directory Reference
Directory dependency graph for poller:

Files

file | ndef_poller.h
Provides NDEF methods and definitions to access NFC Forum Tags.
file | ndef_t2t.h
Provides NDEF methods and definitions to access NFC Forum T2T.
file | ndef_t3t.h
Provides NDEF methods and definitions to access NFC Forum T3T.
file | ndef_t4t.h
Provides NDEF methods and definitions to access NFC Forum T4T.
file | ndef_t5t.h
Provides NDEF methods and definitions to access NFC Forum T5T.


NDEF: message Directory Reference

NDEF
  • include
  • message
message Directory Reference

Files

file | ndef_buffer.h
NDEF buffer type structures.
file | ndef_message.h
NDEF message header file.
file | ndef_record.h
NDEF record header file.
file | ndef_type_wifi.h
NDEF Wifi type header file.
file | ndef_types.h
Common NDEF RTD (well-known and external) and Media types header file.
file | ndef_types_mime.h
NDEF MIME types header file.
file | ndef_types_rtd.h
NDEF RTD (well-known and external) types header file.


NDEF: include Directory Reference

NDEF
  • include
include Directory Reference
Directory dependency graph for include:

Directories

Generated on Mon Jul 22 2019 14:19:58 for NDEF by doxygen 1.8.14


NDEF: Graph Legend

NDEF
Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};

This will result in the following graph:

The boxes in the above graph have the following meaning:

  • A filled gray box represents the struct or class for which the graph is generated.
  • A box with a black border denotes a documented struct or class.
  • A box with a gray border denotes an undocumented struct or class.
  • A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.

The arrows have the following meaning:

  • A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • A dark green arrow is used for protected inheritance.
  • A dark red arrow is used for private inheritance.
  • A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.


NDEF: ndef.dox File Reference

NDEF
ndef.dox File Reference

Detailed Description

Author
Generated on Mon Jul 22 2019 14:19:57 for NDEF by doxygen 1.8.14