NANO100_BSP V3.04.002
The Board Support Package for Nano100BN Series
Data Structures | Macros | Functions
sclib.h File Reference

Smartcard library header file. More...

#include "Nano100Series.h"
Include dependency graph for sclib.h:

Go to the source code of this file.

Data Structures

struct  SCLIB_CARD_INFO_T
 A structure holds smartcard information. More...
 
struct  SCLIB_CARD_ATTRIB_T
 A structure holds smartcard attribute, including convention, guard time, waiting time, IFCS... etc. More...
 

Macros

#define SCLIB_MAX_ATR_LEN   32
 Max ATR length. ISO-7816 8.2.1. More...
 
#define SCLIB_MIN_ATR_LEN   2
 Min ATR length, TS and T0. More...
 
#define SCLIB_PROTOCOL_UNDEFINED   0x00000000
 There is no active protocol. More...
 
#define SCLIB_PROTOCOL_T0   0x00000001
 T=0 is the active protocol. More...
 
#define SCLIB_PROTOCOL_T1   0x00000002
 T=1 is the active protocol. More...
 
#define SCLIB_SUCCESS   0x00000000
 Command successful without error. More...
 
#define SCLIB_ERR_CARD_REMOVED   0x00000001
 Smartcard removed. More...
 
#define SCLIB_ERR_OVER_RUN   0x00000002
 Rx FIFO over run. More...
 
#define SCLIB_ERR_PARITY_ERROR   0x00000003
 Tx/Rx parity error. More...
 
#define SCLIB_ERR_NO_STOP   0x00000004
 Stop bit not found. More...
 
#define SCLIB_ERR_SILENT_BYTE   0x00000005
 I/O pin stay at low for longer than 1 character time. More...
 
#define SCLIB_ERR_CMD   0x00000006
 Smartcard command error. More...
 
#define SCLIB_ERR_UNSUPPORTEDCARD   0x00000007
 Unsupported smartcard error. More...
 
#define SCLIB_ERR_READ   0x00000008
 Read error. More...
 
#define SCLIB_ERR_WRITE   0x00000009
 Write error. More...
 
#define SCLIB_ERR_TIME0OUT   0x0000000A
 Smartcard timer 0 timeout. More...
 
#define SCLIB_ERR_TIME1OUT   0x0000000B
 Smartcard timer 1 timeout. More...
 
#define SCLIB_ERR_TIME2OUT   0x0000000C
 Smartcard timer 2 timeout. More...
 
#define SCLIB_ERR_AUTOCONVENTION   0x0000000D
 Smartcard is neither direct nor inverse convention. More...
 
#define SCLIB_ERR_CLOCK   0x0000000E
 Smartcard clock frequency is not between 1MHz and 5 MHz. More...
 
#define SCLIB_ERR_BGTIMEOUT   0x0000000E
 Block time out error occur. More...
 
#define SCLIB_ERR_ATR_UNRECOGNIZED   0x00001001
 Unrecognised ATR. More...
 
#define SCLIB_ERR_ATR_INVALID_PARAM   0x00001002
 ATR parsing interface bytes error. More...
 
#define SCLIB_ERR_ATR_INVALID_TCK   0x00001003
 TCK check byte error. More...
 
#define SCLIB_ERR_PPS   0x00001004
 Protocol Parameter Selection (PPS) exchange error. More...
 
#define SCLIB_ERR_T1_PARITY   0x00002001
 T=1 Parity Error Notice. More...
 
#define SCLIB_ERR_T1_ICC   0x00002002
 ICC communication error. More...
 
#define SCLIB_ERR_T1_PROTOCOL   0x00002003
 T=1 Protocol Error. More...
 
#define SCLIB_ERR_T1_ABORT_RECEIVED   0x00002004
 Received ABORT request. More...
 
#define SCLIB_ERR_T1_RESYNCH_RECEIVED   0x00002005
 Received RESYNCH request. More...
 
#define SCLIB_ERR_T1_VPP_ERROR_RECEIVED   0x00002006
 Received VPP error. More...
 
#define SCLIB_ERR_T1_WTXRES_RECEIVED   0x00002007
 Received BWT extension request. More...
 
#define SCLIB_ERR_T1_IFSRES_RECEIVED   0x00002008
 Received max IFS offer. More...
 
#define SCLIB_ERR_T1_ABORTRES_RECEIVED   0x00002009
 Received ABORT response. More...
 
#define SCLIB_ERR_T1_CHECKSUM   0x0000200A
 T=1 block check sum error. More...
 
#define SCLIB_ERR_T0_PROTOCOL   0x00003003
 T=0 Protocol Error. More...
 
#define SCLIB_ERR_DEACTIVE   0x0000F001
 Smartcard is de-active. More...
 
#define SCLIB_ERR_CARDBUSY   0x0000F002
 Smartcard is busy, previous transmission is not complete yet. More...
 

Functions

int32_t SCLIB_Activate (uint32_t num, uint32_t u32EMVCheck)
 Activate a smartcard. More...
 
int32_t SCLIB_ActivateDelay (uint32_t num, uint32_t u32EMVCheck, uint32_t u32Delay)
 Activate a smartcard with large delay between set VCC high and start CLK output. More...
 
int32_t SCLIB_ColdReset (uint32_t num)
 Cold reset a smartcard. More...
 
int32_t SCLIB_WarmReset (uint32_t num)
 Warm reset a smartcard. More...
 
void SCLIB_Deactivate (uint32_t num)
 Deactivate a smartcard. More...
 
int32_t SCLIB_GetCardInfo (uint32_t num, SCLIB_CARD_INFO_T *s_info)
 Get the card information (e.g., protocol selected, ATR...) after activation success. More...
 
int32_t SCLIB_GetCardAttrib (uint32_t num, SCLIB_CARD_ATTRIB_T *s_attrib)
 Get the card attribute (e.g., Fi, Di, convention, guard time... etc. ) after activation success. More...
 
int32_t SCLIB_StartTransmission (uint32_t num, uint8_t *cmdBuf, uint32_t cmdLen, uint8_t *rspBuf, uint32_t *rspLen)
 Start a smartcard transmission. More...
 
int32_t SCLIB_SetIFSD (uint32_t num, uint8_t size)
 Set interface device max information field size (IFSD) More...
 
__weak void SCLIB_RequestTimeExtension (uint32_t u32Protocol)
 A callback called by library while smartcard request for a time extension. More...
 
uint32_t SCLIB_CheckCDEvent (uint32_t num)
 Process card detect event in IRQ handler. More...
 
uint32_t SCLIB_CheckTimeOutEvent (uint32_t num)
 Process time out event in IRQ handler. More...
 
uint32_t SCLIB_CheckTxRxEvent (uint32_t num)
 Process card transmission event in IRQ handler. More...
 
uint32_t SCLIB_CheckErrorEvent (uint32_t num)
 Process error event in IRQ handler. More...
 

Detailed Description

Smartcard library header file.

Version
V1.00
Revision
5
Date
15/05/14 5:12p
Note
SPDX-License-Identifier: Apache-2.0 Copyright (C) 2013-2014 Nuvoton Technology Corp. All rights reserved.

Definition in file sclib.h.