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

Macros | Typedefs
HAL NFC custom cardholder verification functions API

HAL NFC custom cardholder verification functions Interface. More...

## Macros
#define | KER_NFC_CHECK_CUSTOM_CVM_COND(CVM, Condition) KER_FALSE
#define | KER_NFC_APPLY_CUSTOM_CVM(CVM, RES, TVR, TVR_LEN) KER_CVM_RES_UNREC

## Typedefs
typedef KER_BOOL(KER_API * | CALLBACK_NFC_CV_CHECK_CUST_CVM_CONDITION) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_BYTE btCVM, KER_BYTE btCondition)
| Callback type for check custom cvm condition. More...
typedef KER_BYTE(KER_API * | CALLBACK_NFC_CV_APPLY_CUST_CVM) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_BYTE btCVM, KER_BYTE *pbtRes, KER_BYTE *pbtTVR, KER_BYTE btTVRLen)
| Callback type for apply custom cvm. More...
#define | HAL_NFC_CVM_RES_OK 0x00
#define | HAL_NFC_CVM_RES_UNSUPP 0x01
#define | HAL_NFC_CVM_RES_UNREC 0x02
#define | HAL_NFC_CVM_RES_FAIL 0x03

## Detailed Description

HAL NFC custom cardholder verification functions Interface.

This functions should be implemented by terminal application to support custom cardholder verification methods

## Macro Definition Documentation

## ◆ HAL_NFC_CVM_RES_FAIL

#define HAL_NFC_CVM_RES_FAIL 0x03

failure (not verified)

## ◆ HAL_NFC_CVM_RES_OK

#define HAL_NFC_CVM_RES_OK 0x00

cvm applied, cv completed

## ◆ HAL_NFC_CVM_RES_UNREC

#define HAL_NFC_CVM_RES_UNREC 0x02

cvm unrecognised

## ◆ HAL_NFC_CVM_RES_UNSUPP

#define HAL_NFC_CVM_RES_UNSUPP 0x01

cvm unsupported

## ◆ KER_NFC_APPLY_CUSTOM_CVM

#define KER_NFC_APPLY_CUSTOM_CVM | ( |  | CVM,
|  |  | RES,
|  |  | TVR,
|  |  | TVR_LEN
| ) |  | KER_CVM_RES_UNREC

\ <>

## ◆ KER_NFC_CHECK_CUSTOM_CVM_COND

#define KER_NFC_CHECK_CUSTOM_CVM_COND | ( |  | CVM,
|  |  | Condition
| ) |  | KER_FALSE

\ <>

## Typedef Documentation

## ◆ CALLBACK_NFC_CV_APPLY_CUST_CVM

typedef KER_BYTE(KER_API * CALLBACK_NFC_CV_APPLY_CUST_CVM) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_BYTE btCVM, KER_BYTE *pbtRes, KER_BYTE *pbtTVR, KER_BYTE btTVRLen)

Callback type for apply custom cvm.

Parameters

  [in] | pCallbackHandle | - callback context, obtained from Terminal Application, and stored by hal_register_callback (btCallbackType = KER_HAL_CALLBACK_HANDLE)
  [in] | btCVM | CVM from CV Rule to be aplied
  [out] | pbtRes | CVM result to be set to 3rd byte of 9F34
  [in,out] | pbtTVR | TVR reference to update (if required)
  [in] | btTVRLen | pbtTVR buffer length

Returns
  HAL_NFC_CVM_RES_OK - cvm applied
  HAL_NFC_CVM_RES_UNSUPP - unsupported cvm
  HAL_NFC_CVM_RES_UNREC - unrecognized cvm
  HAL_NFC_CVM_RES_FAIL - cvm failed

This callback is optional. Check custom cvm can be implemented by the hal itself (KER_APPLY_CUSTOM_CVM)

## ◆ CALLBACK_NFC_CV_CHECK_CUST_CVM_CONDITION

typedef KER_BOOL(KER_API * CALLBACK_NFC_CV_CHECK_CUST_CVM_CONDITION) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_BYTE btCVM, KER_BYTE btCondition)

Callback type for check custom cvm condition.

Parameters

  [in] | pCallbackHandle | - callback context, obtained from Terminal Application, and stored by hal_register_callback (btCallbackType = KER_HAL_CALLBACK_HANDLE)
  [in] | btCVM | CVM from CV Rule to be aplied
  [in] | btCondition | from CV Rule to be aplied

Returns
  KER_TRUE Condition met.
  KER_FALSE Condition not met.

This callback is optional. Check custom cvm conditions can be implemented by the hal itself (KER_CHECK_CUSTOM_CVM_COND)