NXP NFC Reader Library v4.040.05.011646

Data Fields
phceT4T_Sw_DataParams Struct Reference
Host Card Emulation » NFC Forum Type 4A Card Emulation » Component : Software

NFC Type 4A Tag card emulation parameter structure. More...

## Data Fields
uint16_t | wId
| ID for this component, not to be modified by user. More...
uint16_t | wStatusWord
| Status Word (SW1 and SW2) as per ISO 7816-4 (Example: 0x9000 indicates SUCCESS). More...
uint16_t | wLc
| Lc field of received C-APDU (Command Application Protocol Data Unit). More...
uint16_t | wAppBufferSize
| Size of application buffer. More...
uint8_t * | pAppBuffer
| Application buffer. More...
uint8_t * | pNdefFile
| NDEF file pointer. More...
uint32_t | dwNdefFileSize
| NDEF file size. More...
uint8_t * | pCcFile
| CC (Capability Container) file pointer. More...
uint16_t | wCcFileSize
| CC (Capability Container) file size. More...
uint16_t | wCcContentLen
| CC (Capability Container) file content length. More...
uint8_t * | pSelectedFile
| Pointer to currently selected file. More...
uint32_t | dwFileSize
| Size of currently selected file. More...
uint32_t | dwFileOffset
| Offset for selected file. More...
uint16_t | wSelectedFileId
| ID of currently selected file. More...
uint8_t | bFileWriteAccess
| Write access of currently selected file. More...
uint8_t | bTagState
| Current state of tag. More...
void * | pPalI14443p4mCDataParams
| Pointer to ISO 14443p4mC PAL data parameter structure. More...
uint8_t * | pSharedData
| Shared data buffer. More...
uint16_t | wSharedDataLen
| Length of shared data in phceT4T_Sw_DataParams::pSharedData. More...
uint8_t | bRxOption
| Indicates the data received option. More...
uint8_t | bSupportProprietaryCmd
| Indicates support for proprietary commands. More...
uint8_t | bHandleUpdateCmd
| Indicates handling of UPDATE BINARY command by phceT4T_Activate and phceT4T_ProcessCmd. More...
uint16_t | wExitStatus
| Used to share the exit status (error code) between reader library thread and application thread in multi-threaded environment. More...
phOsal_EventObj_t | T4TEventObj
| Event Object. More...

## Detailed Description

NFC Type 4A Tag card emulation parameter structure.

## Field Documentation

## § wId

uint16_t phceT4T_Sw_DataParams::wId

ID for this component, not to be modified by user.

This is initialized with PHCE_T4T_SW_ID in the initialization function phceT4T_Sw_Init. This is used for validating the data parameter structure and to make sure that APIs are called after initialization.

## § wStatusWord

uint16_t phceT4T_Sw_DataParams::wStatusWord

Status Word (SW1 and SW2) as per ISO 7816-4 (Example: 0x9000 indicates SUCCESS).

This will be updated after successful processing of received C-APDU (Command Application Protocol Data Unit). This Status Word is send as the last 2 bytes of Response Application Protocol Data Unit (R-APDU).

## § wLc

uint16_t phceT4T_Sw_DataParams::wLc

Lc field of received C-APDU (Command Application Protocol Data Unit).

This indicates the length of command data field. This parameter is updated and used only for UPDATE BINARY command.

## § wAppBufferSize

uint16_t phceT4T_Sw_DataParams::wAppBufferSize

Size of application buffer.

Holds the size of application buffer (phceT4T_Sw_DataParams::pAppBuffer) provided in the initialization function phceT4T_Sw_Init. Application buffer size should be at least equal to the HAL receive buffer.

## § pAppBuffer

uint8_t* phceT4T_Sw_DataParams::pAppBuffer

Application buffer.

Holds the application buffer provided in the initialization function phceT4T_Sw_Init. This buffer is used to copy and keep the received data to avoid data loss in case of WTX (Waiting Time eXtension).

## § pNdefFile

uint8_t* phceT4T_Sw_DataParams::pNdefFile

NDEF file pointer.

Holds the pointer to application provided NDEF file. Application can set the NDEF file using phceT4T_SetElementaryFile with file type as PHCE_T4T_FILE_NDEF.

## § dwNdefFileSize

uint32_t phceT4T_Sw_DataParams::dwNdefFileSize

NDEF file size.

Holds the size of application provided NDEF file. Application can set the NDEF file and file size using phceT4T_SetElementaryFile with file type as PHCE_T4T_FILE_NDEF.

## § pCcFile

uint8_t* phceT4T_Sw_DataParams::pCcFile

CC (Capability Container) file pointer.

Holds the pointer to application provided CC file. Application can set the CC file using phceT4T_SetElementaryFile with file type as PHCE_T4T_FILE_CC.

## § wCcFileSize

uint16_t phceT4T_Sw_DataParams::wCcFileSize

CC (Capability Container) file size.

Holds the size of application provided CC file. Application can set the CC file and file size using phceT4T_SetElementaryFile with file type as PHCE_T4T_FILE_CC.

## § wCcContentLen

uint16_t phceT4T_Sw_DataParams::wCcContentLen

CC (Capability Container) file content length.

Holds the content length of application provided CC file. Application can set the CC file and content length using phceT4T_SetElementaryFile with file type as PHCE_T4T_FILE_CC. Content length specifies the length of valid content inside file. For CC file the valid content length values supported by phceT4T_SetElementaryFile are:

- 0x00 - No valid content. Then CE T4T layer will initialize CC with default values.
- 0x0F - Content length till one normal NDEF TLV (8 bytes long) is specified.
- 0x11 - Content length till one extended NDEF TLV (10 bytes long) is specified.
- Others - If proprietary TLVs are specified in CC, the CC content length should include it too.

## § pSelectedFile

uint8_t* phceT4T_Sw_DataParams::pSelectedFile

Pointer to currently selected file.

Holds the pointer to the currently selected file. This will be updated after processing a valid FILE SELECT command. The pointer to the file selected by the SELECT command is updated here.

## § dwFileSize

uint32_t phceT4T_Sw_DataParams::dwFileSize

Size of currently selected file.

Holds the size of currently selected file. This will be updated after processing a valid FILE SELECT command. The size of file selected by the SELECT command is updated here.

## § dwFileOffset

uint32_t phceT4T_Sw_DataParams::dwFileOffset

Offset for selected file.

Holds the offset of currently selected file. This will be updated after processing a valid UPDATE BINARY command. The offset of file specified in the UPDATE BINARY command is updated here. After updating the file this will be updated with the file offset till where update happened successfully.

## § wSelectedFileId

uint16_t phceT4T_Sw_DataParams::wSelectedFileId

ID of currently selected file.

Holds the ID of the currently selected file. This will be updated after processing a valid FILE SELECT command. The ID of file selected by the SELECT command is updated here.

## § bFileWriteAccess

uint8_t phceT4T_Sw_DataParams::bFileWriteAccess

Write access of currently selected file.

Holds the write access of the currently selected file. This will be updated after processing a valid FILE SELECT command. The write access of file selected by the SELECT command is updated here.

## § bTagState

uint8_t phceT4T_Sw_DataParams::bTagState

Current state of tag.

The supported values of tag state are:

- PHCE_T4T_STATE_NONE
- PHCE_T4T_STATE_CC_FILE_CREATED
- PHCE_T4T_STATE_NDEF_FILE_CREATED
- PHCE_T4T_STATE_NDEF_APP_SELECTED
- PHCE_T4T_STATE_FILE_SELECTED
- PHCE_T4T_STATE_FILE_READ
- PHCE_T4T_STATE_FILE_UPDATE

## § pPalI14443p4mCDataParams

void* phceT4T_Sw_DataParams::pPalI14443p4mCDataParams

Pointer to ISO 14443p4mC PAL data parameter structure.

Holds the pointer to ISO 14443p4mC PAL data parameter structure specified by application in the initialization function phceT4T_Sw_Init.

## § pSharedData

uint8_t* phceT4T_Sw_DataParams::pSharedData

Shared data buffer.

Used to share data between reader library thread and application thread in multi-threaded environment. Pointer to the data to be send to another thread is copied to this variable and shared.

## § wSharedDataLen

uint16_t phceT4T_Sw_DataParams::wSharedDataLen

Length of shared data in phceT4T_Sw_DataParams::pSharedData.

Used to share data between reader library thread and application thread in multi-threaded environment. Length of data to be send to another thread is copied to this variable and shared.

## § bRxOption

uint8_t phceT4T_Sw_DataParams::bRxOption

Indicates the data received option.

This specifies if the received data is complete or chaining. The supported options are:

- PHCE_T4T_RXDEFAULT
- PHCE_T4T_RXCHAINING_BUFFER_FIRST
- PHCE_T4T_RXCHAINING_BUFFER_CONT
- PHCE_T4T_RXCHAINING_BUFFER_LAST

If UPDATE BINARY and/or proprietary commands are handled by application callback, then value of this option is send to application callback through wRxOption parameter of phceT4T_AppCallback_t.

## § bSupportProprietaryCmd

uint8_t phceT4T_Sw_DataParams::bSupportProprietaryCmd

Indicates support for proprietary commands.

By default the proprietary command support is disabled. If proprietary command support is disabled then unsupported command status word is send back to reader.

Use phceT4T_SetConfig with PHCE_T4T_CONFIG_RECEIVE_PROPRIETARY option to enable/disable (PH_ON or PH_OFF) support for proprietary commands.

## § bHandleUpdateCmd

uint8_t phceT4T_Sw_DataParams::bHandleUpdateCmd

Indicates handling of UPDATE BINARY command by phceT4T_Activate and phceT4T_ProcessCmd.

By default the handling of UPDATE BINARY by phceT4T_Activate and phceT4T_ProcessCmd is disabled (PH_OFF). If UPDATE BINARY is handled, WTX can not be handled. If application don't want handling of UPDATE BINARY using a separate application thread (like in single threaded environment with no RTOS), application can enable (PH_ON) this option.

Use phceT4T_SetConfig with PHCE_T4T_CONFIG_HANDLE_UPDATEBINARY option to enable/disable (PH_ON or PH_OFF) this option.

## § wExitStatus

uint16_t phceT4T_Sw_DataParams::wExitStatus

Used to share the exit status (error code) between reader library thread and application thread in multi-threaded environment.

This contains the return status from lower layers or error occurred in this layer when phceT4T_Activate exits.

## § T4TEventObj

phOsal_EventObj_t phceT4T_Sw_DataParams::T4TEventObj

Event Object.

The documentation for this struct was generated from the following file:

- phceT4T.h