SCI7816.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #ifndef __SCI7816_H__
  2. #define __SCI7816_H__
  3. #include "yc11xx.h"
  4. #define ESAM_NO_GET_RESP 0
  5. #define ESAM_GET_RESP 1
  6. #define ISO7816_NOT_SUPP 0x4E
  7. #define ISO7816_ATR_ERROR 0x4F
  8. #define ISO7816_ATR_LEN_ERROR 0x50
  9. #define ISO7816_ATR_TCK_ERROR 0x51
  10. #define ISO7816_PROTOCOLTYPE 0x52
  11. #define ISO7816_PROTOCOL_ERROE 0x53
  12. #define ISO7816_T1_LRC_TYPE 0x54
  13. #define ISO7816_T1_LRC_ERROR 0x54
  14. #define ISO7816_T1_CRC_TYPE 0x55
  15. #define ISO7816_CARD_STUTES_ERROR 0x56
  16. #define ISO7816_OPERATE_MODE_ERROR 0x57
  17. #define ISO7816_VCC_CLASS_ERROR 0x58
  18. #define ISO7816_PARA_ERROR 0x59
  19. #define ISO7816_REC_TIMEOUT 0x5A
  20. #define ISO7816_TC1_TOO_LARGE 0x5B
  21. #define ISO7816_ERR_NUM_OVER 0x5C
  22. #define ISO7816_CWT_BWT_INT 0x5D
  23. #define ISO7816_RETURN_ERROR 0x5E
  24. #define ISO7816_PROTOCOL_ERROR 0x5F
  25. #define ISO7816_T1_TRANSFER_ERROR 0x60
  26. #define ISO7816_NULL_T0 0x60
  27. #define OK 0
  28. #define NOK 1
  29. #define ISO7816_ATR_TB1_ERROR 0x70
  30. #define ISO7816_PROCEDURE_INS_ERROR 0x71
  31. #define ISO7816_RESP_STATUS 0x72
  32. void sci7816_clk_enable(void);
  33. /**
  34. *@brief reset sci7816
  35. *@param presp: pointer to a buf to receive atr
  36. *@param respbufsize: the presp buf size
  37. *@param prespsize: valid length of the buf receive
  38. *@retval 0:success
  39. * 1:fail
  40. */
  41. uint8_t SCI7816_Reset (uint8_t *presp ,uint8_t respbufsize, uint16_t *prespsize);
  42. uint16_t ISO7816_TPDU_T0(uint8_t *pCommand, uint16_t CommandLength,
  43. uint8_t *pResponse, uint16_t *pResponseLength);
  44. uint16_t ISO7816_Dispose_CMD(uint8_t *pCmd, uint16_t CmdLen, uint8_t *pResp, uint16_t *pRespLen);
  45. /**
  46. *@brief reset sci7816
  47. *@param pcmd:
  48. *@param cmdsize:
  49. *@param getrespfalg:
  50. *@param presp:
  51. *@param respbufsize:
  52. *@param prespsize:
  53. *@retval None
  54. */
  55. uint8_t SCI7816_CosOperation(uint8_t *pcmd, uint16_t cmdsize, uint8_t getrespfalg, uint8_t *presp,
  56. uint16_t respbufsize, uint16_t *prespsize);
  57. void SCI7816_Power_Off(void);
  58. #endif /*__SCI7816_H__*/