OPTIGA™ Trust M
Host Library Documentation
ifx_i2c_presentation_layer.h File Reference

Module for the presentation layer of the Infineon I2C Protocol Stack library. More...

#include "ifx_i2c_config.h"
Include dependency graph for ifx_i2c_presentation_layer.h:

Go to the source code of this file.

Functions

optiga_lib_status_t ifx_i2c_prl_init (ifx_i2c_context_t *p_ctx, ifx_i2c_event_handler_t handler)
 Function for initializing the module. More...
 
optiga_lib_status_t ifx_i2c_prl_transceive (ifx_i2c_context_t *p_ctx, uint8_t *p_tx_data, uint16_t tx_data_len, uint8_t *p_rx_data, uint16_t *p_rx_data_len)
 Function to transmit and receive a packet. More...
 
optiga_lib_status_t ifx_i2c_prl_close (ifx_i2c_context_t *p_ctx, ifx_i2c_event_handler_t handler)
 Function for closing the module. More...
 

Detailed Description

Module for the presentation layer of the Infineon I2C Protocol Stack library.

Author
Infineon Technologies AG

Definition in file ifx_i2c_presentation_layer.h.

Function Documentation

◆ ifx_i2c_prl_close()

optiga_lib_status_t ifx_i2c_prl_close ( ifx_i2c_context_t p_ctx,
ifx_i2c_event_handler_t  handler 
)

Function for closing the module.

Function closes the module and registers an event handler to receive events from this module.

Precondition
  • This function must be called before using the module.
Note
  • None
Parameters
[in,out]p_ctxPointer to ifx i2c context.
[in]handlerFunction pointer to the event handler of the upper layer.
Return values
IFX_I2C_STACK_SUCCESSIf initialization was successful.
IFX_I2C_STACK_ERRORIf the module is already initialized.

◆ ifx_i2c_prl_init()

optiga_lib_status_t ifx_i2c_prl_init ( ifx_i2c_context_t p_ctx,
ifx_i2c_event_handler_t  handler 
)

Function for initializing the module.

Function initializes and enables the module

  • It registers an event handler to receive events from this module.
Precondition
  • This function must be called before using the module.
Note
  • None
Parameters
[in,out]p_ctxPointer to ifx i2c context.
[in]handlerFunction pointer to the event handler of the upper layer.
Return values
IFX_I2C_STACK_SUCCESSIf initialization was successful.
IFX_I2C_STACK_ERRORIf the module is already initialized.

◆ ifx_i2c_prl_transceive()

optiga_lib_status_t ifx_i2c_prl_transceive ( ifx_i2c_context_t p_ctx,
uint8_t *  p_tx_data,
uint16_t  tx_data_len,
uint8_t *  p_rx_data,
uint16_t *  p_rx_data_len 
)

Function to transmit and receive a packet.

Asynchronous function to send and receive protected/unprotected packet

  • The function returns immediately.
  • One of the following events is propagated to the event handler registered with ifx_i2c_prl_init
Precondition
  • None
Note
  • None
Parameters
[in,out]p_ctxPointer to ifx i2c context.
[in]p_tx_dataPointer to the buffer containing the data to be transmitted.
[in]tx_data_lenTransmit data length.
[in]p_rx_dataPointer to the buffer to store the data received.
[in]p_rx_data_lenPointer to a variable to store the received data length
Return values
IFX_I2C_STACK_SUCCESSIf function was successful.
IFX_I2C_HANDSHAKE_ERRORIf establishing a secure channel fails.
IFX_I2C_SESSION_ERRORIf an established secure channel is closed.
IFX_I2C_STACK_ERRORIf the module is busy.