#ifndef __PEARLV3_ESE_SLE97_H__
#define __PEARLV3_ESE_SLE97_H__

#include <stdint.h>

#include "sec_apdu.h"

#ifndef ESESTATUS
#define ESESTATUS   uint16_t        /* Return values */
#endif

#define        ESE_OK                0

#define        ESE_NOT_OPEN        1
#define        ESE_NEGOCIATION_ERR    2

#define        ESE_DRIVER_ERR        10

#define        ESE_CRC_ERR            20

#define        ESE_INVALID_INPUT    30
#define        ESE_INVALID_LE      31
#define        ESE_INVALID_LC      32

#define        ESE_NOT_POWERED        40
#define        ESE_TIME_OUT           41
#define        ESE_TIMER_ERROR        42

ESESTATUS phOTEseSLE97_open(void);
ESESTATUS phOTEseSLE97_close(void);
ESESTATUS phOTEseSLE97_reset(void);

ESESTATUS phOTEseSLE97_7816_Transceive(p_secEse_7816_cpdu_t cpdu, p_secEse_7816_rpdu_t rpdu);
ESESTATUS phOTEseSLE97_7816_APDU_Transceive(uint16_t apduLen, uint8_t* pApdu, p_secEse_7816_rpdu_t rpdu);

#endif

