EVE 1.0
tls.h File Reference

Header file for TLS interface. More...

#include <net/uiplib.h>
#include <mbedtls/config.h>
#include <mbedtls/net.h>
#include <mbedtls/ssl.h>
#include <mbedtls/entropy.h>
#include <mbedtls/x509_crt.h>
#include <mbedtls/ctr_drbg.h>
#include <mbedtls/debug.h>
#include <core/datapump.h>
Include dependency graph for tls.h:

Go to the source code of this file.

Data Structures

struct  tls_cfg_t
 
struct  tls_net_ctx_t
 
struct  tls_conn_t
 
struct  tls_pump_t
 

Macros

#define TLS_RSA   1
 Set to 0 to slightly reduce ram and flash footprint if RSA is not needed (i.e. PSK-only)
 

Typedefs

typedef struct tls_cfg_t tls_cfg_t
 
typedef struct tls_conn_t tls_conn_t
 
typedef struct tls_pump_t tls_pump_t
 

Functions

void TlsPlatformInit (void)
 
int TlsCfgInitRsa (tls_cfg_t *TlsCfg, int Role, const uint8_t *Cert, int CertLen, const uint8_t *Key, int KeyLen)
 
int TlsCfgInitPsk (tls_cfg_t *TlsCfg, int Role, const uint8_t *Psk, int PskLen, const uint8_t *Identity, int IdentityLen)
 
void TlsCfgFree (tls_cfg_t *TlsCfg)
 
int TlsConnectionInit (tls_conn_t *TlsConn, tls_cfg_t *TlsCfg)
 
int TlsPumpInit (tls_pump_t *TlsPump, tls_cfg_t *TlsCfg, const struct datapump_cfg_t *PumpCfg)
 
void TlsPumpFree (tls_pump_t *TlsPump)
 
int TlsHandshake (tls_conn_t *TlsConn, uint32_t Timeout)
 
void TlsConnectionClose (tls_conn_t *TlsConn)
 
void TlsConnectionFree (tls_conn_t *TlsConn)
 
int TlsReceive (tls_conn_t *TlsConn, uint8_t *Buffer, size_t Length, uint32_t Timeout)
 
int TlsSend (tls_conn_t *TlsConn, const uint8_t *Buffer, size_t Length, uint32_t Timeout)
 

Variables

const struct md_heap_t TlsRxBufferHeap
 User-defined TLS Rx heap.
 
const struct md_heap_t TlsTxBufferHeap
 User-defined TLS Tx heap.
 
const struct md_heap_t TlsHeap
 User-defined TLS processing.
 

Detailed Description

Header file for TLS interface.

Author
SE, Jetro AS

Definition in file tls.h.