82 lines
4.2 KiB
C
Raw Normal View History

2025-04-10 17:31:33 +08:00
#ifndef __EC_UICC_API_H__
#define __EC_UICC_API_H__
/******************************************************************************
Copyright: - 2017, All rights reserved by Eigencomm Ltd.
File name: - ecuiccapi.h
Description: - the header file for UICC open API.
Function List: -
History: - 09/20/2022, Originated by xlhu
******************************************************************************/
/*********************************************************************************
* Includes
*********************************************************************************/
#include "commontypedef.h"
/*********************************************************************************
* Macros
*********************************************************************************/
/*********************************************************************************
* Type Definition
*********************************************************************************/
/******************************************************************************
*****************************************************************************
* Functions
*****************************************************************************
******************************************************************************/
/******************************************************************************
* SoftSimReset
* Description: This API called by modem/uiccdrv task to reset softsim and get ATR parameter from softsim,
* as same as code/warm reset with physical SIM card.
* param[out] UINT16 *atrLen, the pointer to the length of ATR, this memory don't need to be free.
* param[out] UINT8 *atrData, the pointer to the ATR data, this memory don't need to be free.
* atrData buffer size is 33, fill atrData shall not exceed 33 bytes.
* Comment: This API will be called only if softsim feature is enabled by AT CMD.
* Shall send signal/msg to softsim task and block to wait response .
* Softsim internal process running in this func is not allowed.
******************************************************************************/
void SoftSimReset(UINT16 *atrLen, UINT8 *atrData);
/******************************************************************************
* SoftSimApduReq
* Description: This API will be called by modem/uiccdrv task to send APDU(TPDU) request and get response from softsim,
* support case 1/2/3/4 command/response process.
* param[in] UINT16 txDataLen, the length of tx data
* param[in] UINT8 *txData, the pointer to the tx data, this memory don't need to be free.
* param[out] UINT16 *rxDataLen, the pointer to the length of rx data, this memory don't need to be free.
* param[out] UINT8 *rxData, the pointer to the rx data, this memory don't need to be free.
* rxData buffer size is 258, fill rxData shall not exceed 258 bytes.
* Comment: This API will be called only if softsim feature is enabled by AT CMD.
* Shall send signal/msg to softsim task and block to wait response.
* Softsim internal process running in this func is not allowed.
******************************************************************************/
void SoftSimApduReq(UINT16 txDataLen, UINT8 *txData, UINT16 *rxDataLen, UINT8 *rxData);
/******************************************************************************
* SoftSimInit
* Description: This api called by modem/uiccdrv task to start softsim task if softsim feature is enabled.
* input: void
* output: void
* Comment:
******************************************************************************/
void SoftSimInit(void);
/******************************************************************************
* SoftSimIsSimplyApduTrans
* Description: whether SoftSIM only support simply APDU transmission without TPDU.
* e.g. terminal -> SoftSIM: 00 A4 08 04 02 2F E2 00
* SoftSIM -> teriminal: 62 17 82 02 41 21 83 02 2F E2 8A 01 05 8B 03 2F 06 03 80 02 00 0A 88 01 10 90 00
* input: void
* output: BOOL
* Comment: This api called by modem/uiccdrv task.
******************************************************************************/
BOOL SoftSimIsSimplyApduTrans(void);
#endif