libtropic
C library for TROPIC01 chip
lt_l3.h File Reference

libtropic library main API header file More...

#include <stdbool.h>
#include <stddef.h>
#include "libtropic_common.h"
Include dependency graph for lt_l3.h:

Functions

lt_ret_t lt_out__session_start (lt_handle_t *h, const pkey_index_t pkey_index, session_state_t *state)
 Initiates secure session. More...
 
lt_ret_t lt_in__session_start (lt_handle_t *h, const uint8_t *stpub, const pkey_index_t pkey_index, const uint8_t *shipriv, const uint8_t *shipub, session_state_t *state)
 Decodes TROPIC01's response during secure session's establishment. More...
 
lt_ret_t lt_out__ping (lt_handle_t *h, const uint8_t *msg_out, const uint16_t len)
 Encodes Ping command payload. More...
 
lt_ret_t lt_in__ping (lt_handle_t *h, uint8_t *msg_in, const uint16_t len)
 Decodes Ping result payload. More...
 
lt_ret_t lt_out__pairing_key_write (lt_handle_t *h, const uint8_t *pairing_pub, const uint8_t slot)
 Encodes Pairing_Key_Write command payload. More...
 
lt_ret_t lt_in__pairing_key_write (lt_handle_t *h)
 Decodes Pairing_Key_Write result payload. More...
 
lt_ret_t lt_out__pairing_key_read (lt_handle_t *h, const uint8_t slot)
 Encodes Pairing_Key_Read command payload. More...
 
lt_ret_t lt_in__pairing_key_read (lt_handle_t *h, uint8_t *pubkey)
 Decodes Pairing_Key_Read result payload. More...
 
lt_ret_t lt_out__pairing_key_invalidate (lt_handle_t *h, const uint8_t slot)
 Encodes Pairing_Key_Invalidate command payload. More...
 
lt_ret_t lt_in__pairing_key_invalidate (lt_handle_t *h)
 Decodes Pairing_Key_Invalidate result payload. More...
 
lt_ret_t lt_out__r_config_write (lt_handle_t *h, enum CONFIGURATION_OBJECTS_REGS addr, const uint32_t obj)
 Encodes R_Config_Write command payload. More...
 
lt_ret_t lt_in__r_config_write (lt_handle_t *h)
 Decodes R_Config_Write result payload. More...
 
lt_ret_t lt_out__r_config_read (lt_handle_t *h, const enum CONFIGURATION_OBJECTS_REGS addr)
 Encodes R_Config_Read command payload. More...
 
lt_ret_t lt_in__r_config_read (lt_handle_t *h, uint32_t *obj)
 Decodes R_Config_Read result payload. More...
 
lt_ret_t lt_out__r_config_erase (lt_handle_t *h)
 Encodes R_Config_Erase command payload. More...
 
lt_ret_t lt_in__r_config_erase (lt_handle_t *h)
 Decodes R_Config_Erase result payload. More...
 
lt_ret_t lt_out__i_config_write (lt_handle_t *h, const enum CONFIGURATION_OBJECTS_REGS addr, const uint8_t bit_index)
 Encodes I_Config_Write command payload. More...
 
lt_ret_t lt_in__i_config_write (lt_handle_t *h)
 Decodes I_Config_Write result payload. More...
 
lt_ret_t lt_out__i_config_read (lt_handle_t *h, const enum CONFIGURATION_OBJECTS_REGS addr)
 Encodes I_Config_Read command payload. More...
 
lt_ret_t lt_in__i_config_read (lt_handle_t *h, uint32_t *obj)
 Decodes I_Config_Read result payload. More...
 
lt_ret_t lt_out__r_mem_data_write (lt_handle_t *h, const uint16_t udata_slot, uint8_t *data, const uint16_t size)
 Encodes R_Mem_Data_Write command payload. More...
 
lt_ret_t lt_in__r_mem_data_write (lt_handle_t *h)
 Decodes R_Mem_Data_Write result payload. More...
 
lt_ret_t lt_out__r_mem_data_read (lt_handle_t *h, const uint16_t udata_slot)
 Encodes R_Mem_Data_Read command payload. More...
 
lt_ret_t lt_in__r_mem_data_read (lt_handle_t *h, uint8_t *data, uint16_t *size)
 Decodes R_Mem_Data_Read result payload. More...
 
lt_ret_t lt_out__r_mem_data_erase (lt_handle_t *h, const uint16_t udata_slot)
 Encodes R_Mem_Data_Erase command payload. More...
 
lt_ret_t lt_in__r_mem_data_erase (lt_handle_t *h)
 Decodes R_Mem_Data_Erase result payload. More...
 
lt_ret_t lt_out__random_value_get (lt_handle_t *h, const uint16_t len)
 Encodes Random_Value_Get command payload. More...
 
lt_ret_t lt_in__random_value_get (lt_handle_t *h, uint8_t *buff, const uint16_t len)
 Decodes Random_Value_Get result payload. More...
 
lt_ret_t lt_out__ecc_key_generate (lt_handle_t *h, const ecc_slot_t slot, const lt_ecc_curve_type_t curve)
 Encodes ECC_Key_Generate command payload. More...
 
lt_ret_t lt_in__ecc_key_generate (lt_handle_t *h)
 Decodes ECC_Key_Generate result payload. More...
 
lt_ret_t lt_out__ecc_key_store (lt_handle_t *h, const ecc_slot_t slot, const lt_ecc_curve_type_t curve, const uint8_t *key)
 Encodes ECC_Key_Store command payload. More...
 
lt_ret_t lt_in__ecc_key_store (lt_handle_t *h)
 Decodes ECC_Key_Store result payload. More...
 
lt_ret_t lt_out__ecc_key_read (lt_handle_t *h, const ecc_slot_t slot)
 Encodes ECC_Key_Read command payload. More...
 
lt_ret_t lt_in__ecc_key_read (lt_handle_t *h, uint8_t *key, lt_ecc_curve_type_t *curve, ecc_key_origin_t *origin)
 Decodes ECC_Key_Read result payload. More...
 
lt_ret_t lt_out__ecc_key_erase (lt_handle_t *h, const ecc_slot_t slot)
 Encodes ECC_Key_Erase command payload. More...
 
lt_ret_t lt_in__ecc_key_erase (lt_handle_t *h)
 Decodes ECC_Key_Erase result payload. More...
 
lt_ret_t lt_out__ecc_ecdsa_sign (lt_handle_t *h, const ecc_slot_t slot, const uint8_t *msg, const uint32_t msg_len)
 Encodes ECDSA_Sign command payload. More...
 
lt_ret_t lt_in__ecc_ecdsa_sign (lt_handle_t *h, uint8_t *rs)
 Decodes ECDSA_Sign result payload. More...
 
lt_ret_t lt_out__ecc_eddsa_sign (lt_handle_t *h, const ecc_slot_t ecc_slot, const uint8_t *msg, const uint16_t msg_len)
 Encodes EDDSA_Sign command payload. More...
 
lt_ret_t lt_in__ecc_eddsa_sign (lt_handle_t *h, uint8_t *rs)
 Decodes EDDSA_Sign result payload. More...
 
lt_ret_t lt_out__mcounter_init (lt_handle_t *h, const enum lt_mcounter_index_t mcounter_index, const uint32_t mcounter_value)
 Encodes MCounter_Init command payload. More...
 
lt_ret_t lt_in__mcounter_init (lt_handle_t *h)
 Decodes MCounter_Init command result payload. More...
 
lt_ret_t lt_out__mcounter_update (lt_handle_t *h, const enum lt_mcounter_index_t mcounter_index)
 Encodes MCounter_Update command payload. More...
 
lt_ret_t lt_in__mcounter_update (lt_handle_t *h)
 Decodes MCounter_Update result payload. More...
 
lt_ret_t lt_out__mcounter_get (lt_handle_t *h, const enum lt_mcounter_index_t mcounter_index)
 Encodes MCounter_Get command payload. More...
 
lt_ret_t lt_in__mcounter_get (lt_handle_t *h, uint32_t *mcounter_value)
 Decodes MCounter_Get result payload. More...
 
lt_ret_t lt_out__mac_and_destroy (lt_handle_t *h, mac_and_destroy_slot_t slot, const uint8_t *data_out)
 Encodes MAC_And_Destroy command payload. More...
 
lt_ret_t lt_in__mac_and_destroy (lt_handle_t *h, uint8_t *data_in)
 Decodes MAC_And_Destroy result payload. More...
 

Detailed Description

Author
Tropic Square s.r.o.
License
For the license see file LICENSE.txt file in the root directory of this source tree.