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

emv_export.h
Go to the documentation of this file.
1 #ifndef EMV_EXPORT_H
2 #define EMV_EXPORT_H
3
4 /* ***************************** EMV KERNEL export functions ******************************* */
8 /* ***************************************************************************************** */
9
10 /* ******************************* Kernel export functions ********************************* */
18 /* ***************************************************************************************** */
19
20
21 /* ************************************** kerInit ****************************************** */
37 extern KER_RES KER_API kerInit(KER_CTX_INIT_PARAM const KER_VOID* pConfigID, KER_INT16U usConfigIDLen, const KER_CHAR* pchKernelFiles, KER_INT16U usKernelFilesLen);
38
39
40 /* ************************************* kerDeInit ***************************************** */
51 extern KER_RES KER_API kerDeInit(KER_CTX_SINGLE_PARAM);
52
53
54 /* ************************************** kerVerInfo *************************************** */
66 /* ***************************************************************************************** */
67 extern KER_BOOL KER_API kerVerInfo(KER_CTX_PARAM KER_CHAR** ppchEmvVer, KER_INT16U* pusEmvVerLen, KER_CHAR** ppchLibVer, KER_INT16U* pusLibVerLen);
68
69
70 /* ************************************** kerCheckATR ************************************** */
81 /* ***************************************************************************************** */
82 extern KER_BOOL KER_API kerCheckATR(KER_CTX_PARAM const KER_BYTE* pbtATR, KER_BYTE btATRLen, KER_BYTE* pbtChipProto);
83
84
85 /* ************************************* kerBuildCL **************************************** */
109 extern KER_RES KER_API kerBuildCL(KER_CTX_PARAM KER_BYTE btChipProtocol, KER_BOOL bUsePSE, KER_TLV** ppCandidateList, KER_TLV** ppBlockedAppList);
110
111
112 /* ************************************* kerSelectApp ************************************** */
137 extern KER_RES KER_API kerSelectApp(KER_CTX_PARAM KER_BYTE btChipProtocol, const KER_TLV* pCandidateToSelect, KER_TRAN** ppTran);
138
139
140 /* ************************************ kerSetTranData ************************************* */
156 extern KER_RES KER_API kerSetTranData(KER_CTX_PARAM KER_TRAN* pTran, const KER_BYTE* pbtTranData, KER_INT16U usTranDataLen);
157
158
159 /* ************************************ kerInitAppProc ************************************* */
179 extern KER_RES KER_API kerInitAppProc(KER_CTX_PARAM KER_TRAN* pTran);
180
181
182 /* ************************************ kerForceOnline ************************************* */
193 extern KER_RES KER_API kerForceOnline(KER_CTX_PARAM KER_TRAN* pTran);
194
195
196 /* ************************************* kerUpdateTVR ************************************** */
210 extern KER_RES KER_API kerUpdateTVR(KER_CTX_PARAM KER_TRAN* pTran, const KER_BYTE* pbtData, KER_INT16U usDataLen);
211
212
213 /* ************************************ kerReadAppData ************************************* */
229 extern KER_RES KER_API kerReadAppData(KER_CTX_PARAM KER_TRAN* pTran);
230
231
232 /* ********************************** kerCardInExceptFile ********************************** */
245 extern KER_RES KER_API kerCardInExceptFile(KER_CTX_PARAM KER_TRAN* pTran);
246
247
248 /* ********************************** kerCheckExceptFile *********************************** */
262 extern KER_RES KER_API kerCheckExceptFile(KER_CTX_PARAM KER_TRAN* pTran);
263
264
265 /* ********************************* kerIsCashbackAllowed ********************************** */
280 extern KER_RES KER_API kerIsCashbackAllowed(KER_CTX_PARAM KER_TRAN* pTran);
281
282
283 /* ************************************ kerOfflineAuth ************************************* */
295 extern KER_RES KER_API kerOfflineAuth(KER_CTX_PARAM KER_TRAN* pTran);
296
297
298 /* ************************************ kerProcRestrict ************************************ */
310 extern KER_RES KER_API kerProcRestrict(KER_CTX_PARAM KER_TRAN* pTran);
311
312
313 /* ***************************************** kerCV ***************************************** */
339 extern KER_RES KER_API kerCV(KER_CTX_PARAM KER_TRAN* pTran, KER_BYTE* pbtSelectedCVM, KER_BYTE* pbtCustomCVMCode);
340
341
342 /* ********************************* kerSetOnlinePinResult ********************************* */
361 extern KER_RES KER_API kerSetOnlinePinResult(KER_CTX_PARAM KER_TRAN* pTran, KER_BYTE btResult);
362
363
364 /* ********************************** kerGetOfflinePinData ********************************* */
379 extern KER_RES KER_API kerGetOfflinePinData(KER_CTX_PARAM KER_TRAN* pTran, KER_OFFLINE_PIN_DATA* pOfflinePinData);
380
381
382 /* ********************************* kerSetOfflinePinResult ******************************** */
405 extern KER_RES KER_API kerSetOfflinePinResult(KER_CTX_PARAM KER_TRAN* pTran, KER_BYTE btResult, const KER_BYTE* pbtPinVerifyData, KER_INT16U usPinVerifyDataLen);
406
407
408 /* ********************************* kerSetCustomCVMResult ********************************* */
428 extern KER_RES KER_API kerSetCustomCVMResult(KER_CTX_PARAM KER_TRAN* pTran, KER_BYTE btResult, const KER_BYTE* pbtTvrBitsToSet, KER_BYTE btTvrBitsToSetLen);
429
430
431 /* *********************************** kerRiskManagement *********************************** */
443 extern KER_RES KER_API kerRiskManagement(KER_CTX_PARAM KER_TRAN* pTran);
444
445
446 /* **************************************** kerTAA ***************************************** */
459 extern KER_RES KER_API kerTAA(KER_CTX_PARAM KER_TRAN* pTran, KER_INT16U usMode);
460
461
462 /* **************************************** kerCAA ***************************************** */
479 extern KER_RES KER_API kerCAA(KER_CTX_PARAM KER_TRAN* pTran);
480
481
482 /* ************************************** kerOnline **************************************** */
508 extern KER_RES KER_API kerOnline(KER_CTX_PARAM KER_TRAN* pTran, KER_BOOL bUnableToGoOnline, KER_INT16U usReferralResult);
509
510 #endif /* EMV_EXPORT_H */
KER_VOID
void KER_VOID
Definition: emv_platform.h:66
KER_BOOL
KER_INT8U KER_BOOL
Definition: emv_platform.h:67
KER_BYTE
uint8_t KER_BYTE
Definition: emv_platform.h:70
KER_RES
KER_INT16U KER_RES
Definition: emv_platform.h:68
KER_INT16U
unsigned short KER_INT16U
Definition: emv_platform.h:61
KER_CHAR
char KER_CHAR
Definition: emv_platform.h:65
kerBuildCL
KER_RES KER_API kerBuildCL(KER_CTX_PARAM KER_BYTE btChipProtocol, KER_BOOL bUsePSE, KER_TLV **ppCandidateList, KER_TLV **ppBlockedAppList)
Creates CL by all available methods (PSE & APP list)
kerReadAppData
KER_RES KER_API kerReadAppData(KER_CTX_PARAM KER_TRAN *pTran)
Reads application data from ICC.
kerSetOnlinePinResult
KER_RES KER_API kerSetOnlinePinResult(KER_CTX_PARAM KER_TRAN *pTran, KER_BYTE btResult)
Pass online pin entry result to kernel.
kerCV
KER_RES KER_API kerCV(KER_CTX_PARAM KER_TRAN *pTran, KER_BYTE *pbtSelectedCVM, KER_BYTE *pbtCustomCVMCode)
Performs cardholder verification.
kerOfflineAuth
KER_RES KER_API kerOfflineAuth(KER_CTX_PARAM KER_TRAN *pTran)
Performs offline authentification.
kerVerInfo
KER_BOOL KER_API kerVerInfo(KER_CTX_PARAM KER_CHAR **ppchEmvVer, KER_INT16U *pusEmvVerLen, KER_CHAR **ppchLibVer, KER_INT16U *pusLibVerLen)
Obtains emv kernel library version info.
kerCardInExceptFile
KER_RES KER_API kerCardInExceptFile(KER_CTX_PARAM KER_TRAN *pTran)
Let kernel know, that card appears in terminal exception file.
kerInitAppProc
KER_RES KER_API kerInitAppProc(KER_CTX_PARAM KER_TRAN *pTran)
Initiate Application Processing.
kerUpdateTVR
KER_RES KER_API kerUpdateTVR(KER_CTX_PARAM KER_TRAN *pTran, const KER_BYTE *pbtData, KER_INT16U usDataLen)
Updates TVR from external (some custom cvm may require this)
kerSelectApp
KER_RES KER_API kerSelectApp(KER_CTX_PARAM KER_BYTE btChipProtocol, const KER_TLV *pCandidateToSelect, KER_TRAN **ppTran)
Makes final app selection.
kerIsCashbackAllowed
KER_RES KER_API kerIsCashbackAllowed(KER_CTX_PARAM KER_TRAN *pTran)
Check if card supports Cashback.
kerDeInit
KER_RES KER_API kerDeInit(KER_CTX_SINGLE_PARAM)
Performs kernel de-initialization.
kerCheckATR
KER_BOOL KER_API kerCheckATR(KER_CTX_PARAM const KER_BYTE *pbtATR, KER_BYTE btATRLen, KER_BYTE *pbtChipProto)
Check ATR for chip protocol to use.
kerCAA
KER_RES KER_API kerCAA(KER_CTX_PARAM KER_TRAN *pTran)
Performs Card Action Analysis.
kerOnline
KER_RES KER_API kerOnline(KER_CTX_PARAM KER_TRAN *pTran, KER_BOOL bUnableToGoOnline, KER_INT16U usReferralResult)
Process prev set by kerSetTranData() online authorization data by the kernel and makes second GAC.
kerRiskManagement
KER_RES KER_API kerRiskManagement(KER_CTX_PARAM KER_TRAN *pTran)
Performs Terminal Risk Management.
kerInit
KER_RES KER_API kerInit(KER_CTX_INIT_PARAM const KER_VOID *pConfigID, KER_INT16U usConfigIDLen, const KER_CHAR *pchKernelFiles, KER_INT16U usKernelFilesLen)
Performs kernel initialization.
kerProcRestrict
KER_RES KER_API kerProcRestrict(KER_CTX_PARAM KER_TRAN *pTran)
Performs processing restrictions.
kerSetTranData
KER_RES KER_API kerSetTranData(KER_CTX_PARAM KER_TRAN *pTran, const KER_BYTE *pbtTranData, KER_INT16U usTranDataLen)
Pass transaction data to the kernel.
kerGetOfflinePinData
KER_RES KER_API kerGetOfflinePinData(KER_CTX_PARAM KER_TRAN *pTran, KER_OFFLINE_PIN_DATA *pOfflinePinData)
Get special data for offline pin entry.
kerTAA
KER_RES KER_API kerTAA(KER_CTX_PARAM KER_TRAN *pTran, KER_INT16U usMode)
Performs Terminal Action Analysis.
kerSetCustomCVMResult
KER_RES KER_API kerSetCustomCVMResult(KER_CTX_PARAM KER_TRAN *pTran, KER_BYTE btResult, const KER_BYTE *pbtTvrBitsToSet, KER_BYTE btTvrBitsToSetLen)
Pass custom CVM result to kernel.
kerCheckExceptFile
KER_RES KER_API kerCheckExceptFile(KER_CTX_PARAM KER_TRAN *pTran)
Check if card appears in terminal exception file by HAL API.
kerSetOfflinePinResult
KER_RES KER_API kerSetOfflinePinResult(KER_CTX_PARAM KER_TRAN *pTran, KER_BYTE btResult, const KER_BYTE *pbtPinVerifyData, KER_INT16U usPinVerifyDataLen)
Pass offline pin entry result to kernel.
kerForceOnline
KER_RES KER_API kerForceOnline(KER_CTX_PARAM KER_TRAN *pTran)
Force transaction online by attendant.
KER_CTX_PARAM
#define KER_CTX_PARAM
Definition: emv_context.h:53
KER_CTX_INIT_PARAM
#define KER_CTX_INIT_PARAM
Definition: emv_context.h:63
KER_CTX_SINGLE_PARAM
#define KER_CTX_SINGLE_PARAM
Definition: emv_context.h:58
KER_TRAN
struct tag_KER_TRAN KER_TRAN
Kernel internal transaction data structure.
Definition: emv_data.h:251
tag_KER_OFFLINE_PIN_DATA
offline PIN cvm related data structure
Definition: emv_data.h:79
tag_KER_TLV
TLV container structure.
Definition: emv_data.h:63