AT-NFC 2.1 (win) AT-NFC kernel set

Macros | Typedefs | Functions
Entry Point interface

Entry Point interface definition. More...

## Macros
#define | NAME_FUNC_T_NFC_EP_INIT "t_nfc_epInit"
#define | NAME_FUNC_T_NFC_EP_DEINIT "t_nfc_epDeinit"
#define | NAME_FUNC_T_NFC_EP_VERSION "t_nfc_epVersion"
#define | NAME_FUNC_T_NFC_EP_CHECKSUM "t_nfc_epChecksum"
#define | NAME_FUNC_T_NFC_EP_REGISTERCALLBACK "t_nfc_epRegisterCallback"
#define | NAME_FUNC_T_NFC_EP_PREP_NEW_TRAN "t_nfc_epPrepareNewTran"
#define | NAME_FUNC_T_NFC_EP_NEW_TRAN "t_nfc_epNewTran"
#define | NAME_FUNC_T_NFC_EP_TRAN_RESTART "t_nfc_epTranRestart"
#define | NAME_FUNC_T_NFC_EP_TRAN_RELEASE "t_nfc_epTranRelease"
#define | NAME_FUNC_T_NFC_EP_GET_DATA "t_nfc_epGetData"
#define | NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG "t_nfc_epGetDataByTag"
#define | NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST "t_nfc_epGetDataByTagList"
#define | NAME_FUNC_T_NFC_EP_INIT_EX "t_nfc_epInitEx"

## Typedefs
typedef KER_BOOL(KER_API * | T_NFC_CALLBACK_CANCEL_TRAN) (KER_VOID *pCallbackHandle)
| Async check for cancel card polling from outside. More...
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_INIT) (KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_DEINIT) (T_NFC_EP_HANDLE pHandle)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_VERSION) (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_CHAR *pchVerInfo, KER_INT16U *pusVerInfoLen)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_CHECKSUM) (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_BYTE btCheckSumType, KER_BYTE *pbtCheckSum, KER_INT16U *pusCheckSumSize)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_REGISTERCALLBACK) (T_NFC_EP_HANDLE pHandle, KER_INT16U usCllbackID, KER_VOID *pCallback)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_PREP_NEW_TRAN) (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_TRAN_DATA *pTermTranData, const NFC_OUTCOME **ppOutcome)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_NEW_TRAN) (T_NFC_EP_HANDLE pHandle, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_TRAN_RESTART) (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_RESTART_DATA *pTermRestartData, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_TRAN_RELEASE) (T_NFC_EP_HANDLE pHandle)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_GET_DATA) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, KER_BYTE *pbtData, KER_INT16U *pusDataLen)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_GET_DATA_BY_TAG) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTag, KER_BYTE btTagSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTagList, KER_INT16U usTagListSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
typedef KER_RES(KER_API * | FUNC_T_NFC_EP_INIT_EX) (KER_VOID *pCallbackHandle, T_NFC_CALLBACKS *pCallbacks, KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)

## Functions
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epInit (KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)
| Entry Point Initialization. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epDeinit (T_NFC_EP_HANDLE pHandle)
| Entry Point De-Initialization. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epVersion (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_CHAR *pchVerInfo, KER_INT16U *pusVerInfoLen)
| Entry Point version information. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epChecksum (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_BYTE btCheckSumType, KER_BYTE *pbtCheckSum, KER_INT16U *pusCheckSumSize)
| Kernel checksum calculation. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epRegisterCallback (T_NFC_EP_HANDLE pHandle, KER_INT16U usCllbackID, KER_VOID *pCallback)
| Kernel callback registration. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epPrepareNewTran (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_TRAN_DATA *pTermTranData, const NFC_OUTCOME **ppOutcome)
| Prepares new transaction. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epNewTran (T_NFC_EP_HANDLE pHandle, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)
| Initiates new transaction. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epTranRestart (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_RESTART_DATA *pTermRestartData, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)
| Restarts transaction for issuer update, cv-cvm confirmation, etc... More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epTranRelease (T_NFC_EP_HANDLE pHandle)
| Releases transaction context. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epGetData (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, KER_BYTE *pbtData, KER_INT16U *pusDataLen)
| Entry Point transaction data request. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epGetDataByTag (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTag, KER_BYTE btTagSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
| Entry Point transaction data request. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epGetDataByTagList (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTagList, KER_INT16U usTagListSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
| Entry Point transaction data request. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epGetDataByID (T_NFC_EP_HANDLE pHandle, KER_INT16U usID, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
| Obtain emv data by ID. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epGetCustomTagByID (T_NFC_EP_HANDLE pHandle, KER_INT16U usID, KER_BYTE *pbtCustomTag, KER_INT16U *pusCustomTagSize)
| Obtain custum tag by ID. More...
T_NFC_EP_MODE KER_RES KER_API | t_nfc_epInitEx (KER_VOID *pCallbackHandle, T_NFC_CALLBACKS *pCallbacks, KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)
| Entry Point Initialization. More...

## Detailed Description

Entry Point interface definition.

## Macro Definition Documentation

## ◆ NAME_FUNC_T_NFC_EP_CHECKSUM

#define NAME_FUNC_T_NFC_EP_CHECKSUM "t_nfc_epChecksum"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_DEINIT

#define NAME_FUNC_T_NFC_EP_DEINIT "t_nfc_epDeinit"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_GET_DATA

#define NAME_FUNC_T_NFC_EP_GET_DATA "t_nfc_epGetData"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG

#define NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG "t_nfc_epGetDataByTag"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST

#define NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST "t_nfc_epGetDataByTagList"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_INIT

#define NAME_FUNC_T_NFC_EP_INIT "t_nfc_epInit"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_INIT_EX

#define NAME_FUNC_T_NFC_EP_INIT_EX "t_nfc_epInitEx"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_NEW_TRAN

#define NAME_FUNC_T_NFC_EP_NEW_TRAN "t_nfc_epNewTran"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_PREP_NEW_TRAN

#define NAME_FUNC_T_NFC_EP_PREP_NEW_TRAN "t_nfc_epPrepareNewTran"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_REGISTERCALLBACK

#define NAME_FUNC_T_NFC_EP_REGISTERCALLBACK "t_nfc_epRegisterCallback"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_TRAN_RELEASE

#define NAME_FUNC_T_NFC_EP_TRAN_RELEASE "t_nfc_epTranRelease"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_TRAN_RESTART

#define NAME_FUNC_T_NFC_EP_TRAN_RESTART "t_nfc_epTranRestart"

\ ( )

## ◆ NAME_FUNC_T_NFC_EP_VERSION

#define NAME_FUNC_T_NFC_EP_VERSION "t_nfc_epVersion"

\ ( )

## Typedef Documentation

## ◆ FUNC_T_NFC_EP_CHECKSUM

typedef KER_RES(KER_API * FUNC_T_NFC_EP_CHECKSUM) (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_BYTE btCheckSumType, KER_BYTE *pbtCheckSum, KER_INT16U *pusCheckSumSize)

\ ( )

## ◆ FUNC_T_NFC_EP_DEINIT

typedef KER_RES(KER_API * FUNC_T_NFC_EP_DEINIT) (T_NFC_EP_HANDLE pHandle)

\ ( )

## ◆ FUNC_T_NFC_EP_GET_DATA

typedef KER_RES(KER_API * FUNC_T_NFC_EP_GET_DATA) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, KER_BYTE *pbtData, KER_INT16U *pusDataLen)

\ ( )

## ◆ FUNC_T_NFC_EP_GET_DATA_BY_TAG

typedef KER_RES(KER_API * FUNC_T_NFC_EP_GET_DATA_BY_TAG) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTag, KER_BYTE btTagSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)

\ ( )

## ◆ FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST

typedef KER_RES(KER_API * FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTagList, KER_INT16U usTagListSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)

\ ( )

## ◆ FUNC_T_NFC_EP_INIT

typedef KER_RES(KER_API * FUNC_T_NFC_EP_INIT) (KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)

\ ( )

## ◆ FUNC_T_NFC_EP_INIT_EX

typedef KER_RES(KER_API * FUNC_T_NFC_EP_INIT_EX) (KER_VOID *pCallbackHandle, T_NFC_CALLBACKS *pCallbacks, KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)

\ ( )

## ◆ FUNC_T_NFC_EP_NEW_TRAN

typedef KER_RES(KER_API * FUNC_T_NFC_EP_NEW_TRAN) (T_NFC_EP_HANDLE pHandle, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)

\ ( )

## ◆ FUNC_T_NFC_EP_PREP_NEW_TRAN

typedef KER_RES(KER_API * FUNC_T_NFC_EP_PREP_NEW_TRAN) (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_TRAN_DATA *pTermTranData, const NFC_OUTCOME **ppOutcome)

\ ( )

## ◆ FUNC_T_NFC_EP_REGISTERCALLBACK

typedef KER_RES(KER_API * FUNC_T_NFC_EP_REGISTERCALLBACK) (T_NFC_EP_HANDLE pHandle, KER_INT16U usCllbackID, KER_VOID *pCallback)

\ ( )

## ◆ FUNC_T_NFC_EP_TRAN_RELEASE

typedef KER_RES(KER_API * FUNC_T_NFC_EP_TRAN_RELEASE) (T_NFC_EP_HANDLE pHandle)

\ ( )

## ◆ FUNC_T_NFC_EP_TRAN_RESTART

typedef KER_RES(KER_API * FUNC_T_NFC_EP_TRAN_RESTART) (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_RESTART_DATA *pTermRestartData, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)

\ ( )

## ◆ FUNC_T_NFC_EP_VERSION

typedef KER_RES(KER_API * FUNC_T_NFC_EP_VERSION) (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_CHAR *pchVerInfo, KER_INT16U *pusVerInfoLen)

\ ( )

## ◆ T_NFC_CALLBACK_CANCEL_TRAN

typedef KER_BOOL(KER_API * T_NFC_CALLBACK_CANCEL_TRAN) (KER_VOID *pCallbackHandle)

Async check for cancel card polling from outside.

Parameters

  [in] | pCallbackHandle | - handle,set with callback from outside

Returns
  KER_TRUE Transaction cancellation requested.
  KER_FALSE Continue transaction.

This function is used to terminate card polling loop from outside

## Function Documentation

## ◆ t_nfc_epChecksum()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epChecksum | ( | T_NFC_EP_HANDLE | pHandle,
|  | const KER_BYTE * | pbtKerID,
|  | KER_BYTE | btKerIDLen,
|  | KER_BYTE | btCheckSumType,
|  | KER_BYTE * | pbtCheckSum,
|  | KER_INT16U * | pusCheckSumSize
| ) |  |

Kernel checksum calculation.

EP should call this function to calculate Kernel checksum.

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit
  [in] | pbtKerID | - Kernel ID (set KER_NULL if Entry Point checksum requested)
  [in] | btKerIDLen | - Kernel ID length (set 0 if Entry Point checksum requested)
  [in] | btCheckSumType | - type of checksum requested (T_NFC_CHECKSUM_KERNEL - kernel checksum; T_NFC_CHECKSUM_CONFIG - configuration checksum)
  [out] | pbtCheckSum | - buffer to obtain checksum from the kernel with provided KernelID (or Entry Point checksum if KernelID not provided)
  [in,out] | pusCheckSumSize | - pbtCheckSum buffer size as input, output containes result data length

Returns
  T_NFC_EP_OK - Success
  Other - Failure...

## ◆ t_nfc_epDeinit()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epDeinit | ( | T_NFC_EP_HANDLE | pHandle | ) |

Entry Point De-Initialization.

App should call this function to release Entry Point resources

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit

Returns
  T_NFC_EP_OK - Success
  Other - Failure...

## ◆ t_nfc_epGetCustomTagByID()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetCustomTagByID | ( | T_NFC_EP_HANDLE | pHandle,
|  | KER_INT16U | usID,
|  | KER_BYTE * | pbtCustomTag,
|  | KER_INT16U * | pusCustomTagSize
| ) |  |

Obtain custum tag by ID.

Terminal should call this function to obtain kernel custom tag by ID. Custom tag may be used to define configuration data which has no standard tag assined...

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit
  [in] | usID | - requested data ID
  [out] | pbtCustomTag | - buffer to obtain Custom tag for provided ID value
  [in,out] | pusCustomTagSize | - pbtCustomTag buffer size as input, output containes result data length

Returns
  T_NFC_EP_OK - Success, custom tag provided
  T_NFC_EP_INF_NO_DATA - Custom tag not assigned for provided ID
  Other - Failure...

## ◆ t_nfc_epGetData()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetData | ( | T_NFC_EP_HANDLE | pHandle,
|  | KER_INT16U | usOptions,
|  | KER_BYTE * | pbtData,
|  | KER_INT16U * | pusDataLen
| ) |  |

Entry Point transaction data request.

App should call this function to obtain transaction data from Entry Point

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit
  [in] | usOptions | - get options (bitmask), reserved
  [out] | pbtData | - Buffer to obtain transaction data (in TLV) (path KER_NULL if you need to calculate tran data length only)
  [in,out] | pusDataLen | - Size of Buffer pbtData as input, data length as output

Returns
  T_NFC_EP_OK - Success
  Other - Failure...

## ◆ t_nfc_epGetDataByID()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetDataByID | ( | T_NFC_EP_HANDLE | pHandle,
|  | KER_INT16U | usID,
|  | KER_BYTE * | pbtData,
|  | KER_INT16U * | pusDataSize
| ) |  |

Obtain emv data by ID.

Terminal should call this function to obtain kernel nfc data by ID

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit
  [in] | usID | - requested data ID (see t_nfc_ep_data_id.h)
  [out] | pbtData | - buffer to obtain provided ID value
  [in,out] | pusDataSize | - pbtData buffer size as input, output containes result data length

Returns
  T_NFC_EP_OK - Success, requested data provided
  T_NFC_EP_INF_NO_DATA - Data not found
  Other - Failure...

## ◆ t_nfc_epGetDataByTag()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetDataByTag | ( | T_NFC_EP_HANDLE | pHandle,
|  | KER_INT16U | usOptions,
|  | const KER_BYTE * | pbtTag,
|  | KER_BYTE | btTagSize,
|  | KER_BYTE * | pbtData,
|  | KER_INT16U * | pusDataSize
| ) |  |

Entry Point transaction data request.

EP should call this function to obtain transaction data by tag from kernel

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit
  [in] | usOptions | - get options (bitmask), reserved
  [in] | pbtTag | - buffer with tag value
  [in] | btTagSize | - pbtTag value length
  [out] | pbtData | - buffer to obtain provided tag value
  [in,out] | pusDataSize | - pbtData buffer size as input, output containes result data length

Returns
  T_NFC_EP_OK - Success
  T_NFC_EP_INF_NO_DATA - Tag not found
  Other - Failure...

## ◆ t_nfc_epGetDataByTagList()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetDataByTagList | ( | T_NFC_EP_HANDLE | pHandle,
|  | KER_INT16U | usOptions,
|  | const KER_BYTE * | pbtTagList,
|  | KER_INT16U | usTagListSize,
|  | KER_BYTE * | pbtData,
|  | KER_INT16U * | pusDataSize
| ) |  |

Entry Point transaction data request.

App should call this function to obtain transaction data by tag list from Entry Point

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit
  [in] | usOptions | - get options (bitmask), reserved
  [in] | pbtTagList | - buffer with tag list
  [in] | usTagListSize | - pbtTagList value length
  [out] | pbtData | - buffer to obtain provided tag list in TLV format
  [in,out] | pusDataSize | - pbtData buffer size as input, output containes result data length

Returns
  T_NFC_EP_OK - Success
  Other - Failure...

## ◆ t_nfc_epInit()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epInit | ( | KER_VOID * | pConfigID,
|  | KER_INT16U | usConfigIDLen,
|  | T_NFC_EP_HANDLE * | ppHandle
| ) |  |

Entry Point Initialization.

App should call this function to initialize Entry Point

Parameters

  [in] | pConfigID | - kernel configuration ID (file name in ascii)
  [in] | usConfigIDLen | - length of pConfigID
  [out] | ppHandle | - initialized handle

Returns
  T_NFC_EP_OK Success.
  Other - Failure

Warning
  Obtained Entry Point handle should be released by t_nfc_epDeinit

## ◆ t_nfc_epInitEx()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epInitEx | ( | KER_VOID * | pCallbackHandle,
|  | T_NFC_CALLBACKS * | pCallbacks,
|  | KER_VOID * | pConfigID,
|  | KER_INT16U | usConfigIDLen,
|  | T_NFC_EP_HANDLE * | ppHandle
| ) |  |

Entry Point Initialization.

App should call this function to initialize Entry Point

Parameters

  [in] | pCallbackHandle | - handle to be passed to callbacks
  [in] | pCallbacks | - structure with the set of callbacks to hardware access
  [in] | pConfigID | - kernel configuration ID (file name in ascii)
  [in] | usConfigIDLen | - length of pConfigID
  [out] | ppHandle | - initialized handle

Returns
  T_NFC_EP_OK Success.
  Other - Failure

Warning
  Obtained Entry Point handle should be released by t_nfc_epDeinit

## ◆ t_nfc_epNewTran()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epNewTran | ( | T_NFC_EP_HANDLE | pHandle,
|  | KER_INT32U | ulTimeout,
|  | KER_INT16U | usExtCardTypes,
|  | T_NFC_CALLBACK_CANCEL_TRAN | fCancelCallback,
|  | KER_VOID * | pCancelCallbackHandle,
|  | KER_INT16U * | pusCardType,
|  | KER_BYTE * | pbtUID,
|  | KER_INT16U * | pusUIDLen,
|  | const NFC_OUTCOME ** | ppOutcome
| ) |  |

Initiates new transaction.

This function makes nfc transaction, sarting from polling request

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit
  [in] | ulTimeout | - card polling timeout in ms (4 days max) (use 0 for single polling request)
  [in] | usExtCardTypes | Card types for external processing bitmask (set KER_NFCL1_PHISICAL_CARD_TYPE_NONE to process all cards by EP),
  [in] | fCancelCallback | - callback to check for cancel card polling from outside (Optional, set KER_NULL if you don't need it),
  [in] | pCancelCallbackHandle | - handle to pass to fCancelCallback (optional, set KER_NULL if you don't need it),
  [in,out] | pusCardType | Card type polling for bitmask as input (set KER_NFCL1_PHISICAL_CARD_TYPE_DEFAULT to use internal PCD configuration), located card type as output (optional, set KER_NULL for PCD default settings), see KER_NFCL1_PHISICAL_CARD_TYPE_DEFAULT, KER_NFCL1_PHISICAL_CARD_TYPE_NONE, KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_A KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_B KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_4_A KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_4_B KER_NFCL1_PHISICAL_CARD_TYPE_MIFARE_A_STD KER_NFCL1_PHISICAL_CARD_TYPE_MIFARE_A_UL KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_AND_MIFARE KER_NFCL1_PHISICAL_CARD_TYPE_UNKNOWN
  [out] | pbtUID | - located card UID (optional, set KER_NULL if you don't need it)
  [in,out] | pusUIDLen | - located card UID length (optional, set KER_NULL if you don't need it)
  [out] | ppOutcome | - pointer to obtain transaction outcome

Returns
  T_NFC_EP_INF_OUTCOME See outcome for details.
  T_NFC_EP_INF_POLLING_TIMEOUT Card polling timeout.
  T_NFC_EP_INF_CANCELLED Card polling cancelled from outside.
  T_NFC_EP_INF_EXT_PROCESSING Card located, card type match usExtCardTypes, process it externally
  Other errors - abort transaction.

Warning
  transaction outcome structure pointer valid till t_nfc_epTranRelease call.
  When tranaction context no longer required call t_nfc_epTranRelease.

## ◆ t_nfc_epPrepareNewTran()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epPrepareNewTran | ( | T_NFC_EP_HANDLE | pHandle,
|  | const NFC_EXT_TERM_TRAN_DATA * | pTermTranData,
|  | const NFC_OUTCOME ** | ppOutcome
| ) |  |

Prepares new transaction.

This function creates transaction context, loads configuration
and initiates EP transaction pre-processing (EMV Book A, 8.1.1.4) Preprocessing peformed only if transaction data provided, otherwise autorun mode assumed

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit
  [in] | pTermTranData | - transaction data, obtained from terminal (optional, set KER_NULL for fixed tran data)
  [out] | ppOutcome | - pointer to obtain transaction outcome

Returns
  T_NFC_EP_OK Success, call t_nfc_epNewTran for card polling.
  T_NFC_EP_INF_OUTCOME (Try another interface) see outcome for details. (no active combinations)
  Other errors - abort transaction.

Warning
  When tranaction context no longer required call t_nfc_epTranRelease. Do it despite of result code retuned.
  transaction outcome structure pointer valid till t_nfc_epTranRelease call.

## ◆ t_nfc_epRegisterCallback()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epRegisterCallback | ( | T_NFC_EP_HANDLE | pHandle,
|  | KER_INT16U | usCllbackID,
|  | KER_VOID * | pCallback
| ) |  |

Kernel callback registration.

App should call this function to register cllbacks

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit
  [in] | usCllbackID | - callback ID
  [in] | pCallback | - callback function ptr

Returns
  T_NFC_EP_OK - Success
  Other - Failure...

User callbacks defined in t_nfc_user_clb.h

## ◆ t_nfc_epTranRelease()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epTranRelease | ( | T_NFC_EP_HANDLE | pHandle | ) |

Releases transaction context.

This function releases transaction context

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit

Returns
  T_NFC_EP_OK Success.
  Other errors - Failure.

Warning
  Call this function when tranaction context no longer required

## ◆ t_nfc_epTranRestart()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epTranRestart | ( | T_NFC_EP_HANDLE | pHandle,
|  | const NFC_EXT_TERM_RESTART_DATA * | pTermRestartData,
|  | KER_INT32U | ulTimeout,
|  | KER_INT16U | usExtCardTypes,
|  | T_NFC_CALLBACK_CANCEL_TRAN | fCancelCallback,
|  | KER_VOID * | pCancelCallbackHandle,
|  | KER_INT16U * | pusCardType,
|  | KER_BYTE * | pbtUID,
|  | KER_INT16U * | pusUIDLen,
|  | const NFC_OUTCOME ** | ppOutcome
| ) |  |

Restarts transaction for issuer update, cv-cvm confirmation, etc...

This function restarts nfc transaction, sarting from position, indicated by previous Outcome

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit
  [in] | pTermRestartData | - restart data (with issuer update data) (optional, set KER_NULL if no restart data provided)
  [in] | ulTimeout | - card polling timeout in ms (4 days max) (use 0 for single polling request) This param used for processing Outcome with start type B only, otherwise set 0 value
  [in] | usExtCardTypes | Card types for external processing bitmask (set KER_NFCL1_PHISICAL_CARD_TYPE_NONE to process all cards by EP), This param used for processing Outcome with start type B only, otherwise set 0 value
  [in] | fCancelCallback | - callback to check for cancel card polling from outside (Optional, set KER_NULL if you don't need it),
  [in] | pCancelCallbackHandle | - handle to pass to fCancelCallback (optional, set KER_NULL if you don't need it),
  [in,out] | pusCardType | Card type polling for bitmask as input (set KER_NFCL1_PHISICAL_CARD_TYPE_DEFAULT to use internal PCD configuration), located card type as output (optional, set KER_NULL for PCD default settings), see KER_NFCL1_PHISICAL_CARD_TYPE_DEFAULT, KER_NFCL1_PHISICAL_CARD_TYPE_NONE, KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_A KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_B KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_4_A KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_4_B KER_NFCL1_PHISICAL_CARD_TYPE_MIFARE_A_STD KER_NFCL1_PHISICAL_CARD_TYPE_MIFARE_A_UL KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_AND_MIFARE KER_NFCL1_PHISICAL_CARD_TYPE_UNKNOWN This param used for processing Outcome with start type B only, otherwise set KER_NULL value
  [out] | pbtUID | - located card UID (optional, set KER_NULL if you don't need it) This param used for processing Outcome with start type B only, otherwise set KER_NULL value
  [in,out] | pusUIDLen | - located card UID length (optional, set KER_NULL if you don't need it) This param used for processing Outcome with start type B only, otherwise set KER_NULL value
  [out] | ppOutcome | - pointer to obtain transaction outcome

Returns
  T_NFC_EP_INF_OUTCOME See outcome for details.
  T_NFC_EP_INF_REMOVAL_TIMEOUT Card removal timeout.
  T_NFC_EP_INF_POLLING_TIMEOUT Card polling timeout.
  T_NFC_EP_INF_FIELDOFF_TIMEOUT Fieldoff timeout.
  T_NFC_EP_INF_CANCELLED Card polling cancelled from outside.
  Other errors - abort transaction.

Warning
  transaction outcome structure pointer valid till t_nfc_epTranRelease call.
  When tranaction context no longer required call t_nfc_epTranRelease.

## ◆ t_nfc_epVersion()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epVersion | ( | T_NFC_EP_HANDLE | pHandle,
|  | const KER_BYTE * | pbtKerID,
|  | KER_BYTE | btKerIDLen,
|  | KER_CHAR * | pchVerInfo,
|  | KER_INT16U * | pusVerInfoLen
| ) |  |

Entry Point version information.

App should call this function to obtain Kernel version information.

Parameters

  [in] | pHandle | - handle obtained by t_nfc_epInit
  [in] | pbtKerID | - Kernel ID (set KER_NULL if Entry Point version requested)
  [in] | btKerIDLen | - Kernel ID length (set 0 if Entry Point version requested)
  [out] | pchVerInfo | - Buffer to hold the version number of the kernel with provided KernelID (or Entry Point version if KernelID not provided)
  [in,out] | pusVerInfoLen | - Size of pbtVerInfo buffer. This value will be modified to reflect the size of the returned version string.

Returns
  T_NFC_EP_OK - Success
  Other - Failure...