Home | History | Annotate | Download | only in include
      1  /*
      2   * Copyright (C) 2015 NXP Semiconductors
      3   *
      4   * Licensed under the Apache License, Version 2.0 (the "License");
      5   * you may not use this file except in compliance with the License.
      6   * You may obtain a copy of the License at
      7   *
      8   *      http://www.apache.org/licenses/LICENSE-2.0
      9   *
     10   * Unless required by applicable law or agreed to in writing, software
     11   * distributed under the License is distributed on an "AS IS" BASIS,
     12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13   * See the License for the specific language governing permissions and
     14   * limitations under the License.
     15   */
     16 
     17 #ifndef ICHANNEL_H_
     18 #define ICHANNEL_H_
     19 
     20 #include "data_types.h"
     21 typedef struct IChannel
     22 {
     23 /*******************************************************************************
     24 **
     25 ** Function:        Open
     26 **
     27 ** Description:     Initialize the channel.
     28 **
     29 ** Returns:         True if ok.
     30 **
     31 *******************************************************************************/
     32 INT16 (*open)();
     33 /*******************************************************************************
     34 **
     35 ** Function:        close
     36 **
     37 ** Description:     Close the channel.
     38 **
     39 ** Returns:         True if ok.
     40 **
     41 *******************************************************************************/
     42 bool (*close)(INT16 mHandle);
     43 
     44 /*******************************************************************************
     45 **
     46 ** Function:        transceive
     47 **
     48 ** Description:     Send data to the secure element; read it's response.
     49 **                  xmitBuffer: Data to transmit.
     50 **                  xmitBufferSize: Length of data.
     51 **                  recvBuffer: Buffer to receive response.
     52 **                  recvBufferMaxSize: Maximum size of buffer.
     53 **                  recvBufferActualSize: Actual length of response.
     54 **                  timeoutMillisec: timeout in millisecond
     55 **
     56 ** Returns:         True if ok.
     57 **
     58 *******************************************************************************/
     59 bool (*transceive) (UINT8* xmitBuffer, INT32 xmitBufferSize, UINT8* recvBuffer,
     60                      INT32 recvBufferMaxSize, INT32& recvBufferActualSize, INT32 timeoutMillisec);
     61 
     62 /*******************************************************************************
     63 **
     64 ** Function:        doeSE_Reset
     65 **
     66 ** Description:     Power OFF and ON to eSE
     67 **
     68 ** Returns:         None.
     69 **
     70 *******************************************************************************/
     71 
     72 void (*doeSE_Reset)();
     73 /*******************************************************************************
     74 **
     75 ** Function:        doeSE_JcopDownLoadReset
     76 **
     77 ** Description:     Power OFF and ON to eSE during JCOP Update
     78 **
     79 ** Returns:         None.
     80 **
     81 *******************************************************************************/
     82 
     83 void (*doeSE_JcopDownLoadReset)();
     84 
     85 }IChannel_t;
     86 
     87 
     88 #endif /* ICHANNEL_H_ */
     89