OSHW-DEIMOS/SOFTWARE/A64-TERES/linux-a64/drivers/char/sunxi-scr/smartcard.h
Dimitar Gamishev f9b0e7a283 linux
2017-10-13 14:07:04 +03:00

43 lines
874 B
C
Executable File

//Header file iso7816 smart card
#ifndef _SMARTCARD_H_
#define _SMARTCARD_H_
#include "sunxi-scr.h"
typedef struct{
uint8_t TS;
uint8_t TK[15];
uint8_t TK_NUM;
uint32_t T; //Protocol
uint32_t FMAX; //in MHz
uint32_t F;
uint32_t D;
uint32_t I; //Max Cunrrent for Program, in mA
uint32_t P; //Pogram Voltage
uint32_t N; //Extra Guard Time, in ETUs
}scatr_struct, *pscatr_struct;
typedef struct {
uint8_t ppss;
uint8_t pps0;
uint8_t pps1;
uint8_t pps2;
uint8_t pps3;
uint8_t pck;
} upps_struct, *ppps_struct;
uint32_t smartcard_params_init(pscatr_struct pscatr);
uint32_t smartcard_atr_decode(pscr_struct pscr, pscatr_struct pscatr, uint8_t* pdata, ppps_struct pps, uint32_t with_ts);
void smartcard_ta1_decode(pscatr_struct pscatr, uint8_t ta1);
void smartcard_tb1_decode(pscatr_struct pscatr, uint8_t tb1);
#endif //_SMARTCARD_H_