mbed TLS  Version 2.1.2
SSl/TLS Library for the Embedded Space
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
mbedtls_ssl_context Struct Reference

Data Fields

const mbedtls_ssl_configconf
 
int state
 
int renego_status
 
int renego_records_seen
 
int major_ver
 
int minor_ver
 
unsigned badmac_seen
 
int(* f_send )(void *, const unsigned char *, size_t)
 
int(* f_recv )(void *, unsigned char *, size_t)
 
int(* f_recv_timeout )(void *, unsigned char *, size_t, uint32_t)
 
void * p_bio
 
mbedtls_ssl_sessionsession_in
 
mbedtls_ssl_sessionsession_out
 
mbedtls_ssl_sessionsession
 
mbedtls_ssl_sessionsession_negotiate
 
mbedtls_ssl_handshake_paramshandshake
 
mbedtls_ssl_transformtransform_in
 
mbedtls_ssl_transformtransform_out
 
mbedtls_ssl_transformtransform
 
mbedtls_ssl_transformtransform_negotiate
 
void * p_timer
 
void(* f_set_timer )(void *, uint32_t, uint32_t)
 
int(* f_get_timer )(void *)
 
unsigned char * in_buf
 
unsigned char * in_ctr
 
unsigned char * in_hdr
 
unsigned char * in_len
 
unsigned char * in_iv
 
unsigned char * in_msg
 
unsigned char * in_offt
 
int in_msgtype
 
size_t in_msglen
 
size_t in_left
 
uint16_t in_epoch
 
size_t next_record_offset
 
uint64_t in_window_top
 
uint64_t in_window
 
size_t in_hslen
 
int nb_zero
 
int record_read
 
unsigned char * out_buf
 
unsigned char * out_ctr
 
unsigned char * out_hdr
 
unsigned char * out_len
 
unsigned char * out_iv
 
unsigned char * out_msg
 
int out_msgtype
 
size_t out_msglen
 
size_t out_left
 
signed char split_done
 
int client_auth
 
char * hostname
 
const char * alpn_chosen
 
unsigned char * cli_id
 
size_t cli_id_len
 
int secure_renegotiation
 
size_t verify_data_len
 
char own_verify_data [MBEDTLS_SSL_VERIFY_DATA_MAX_LEN]
 
char peer_verify_data [MBEDTLS_SSL_VERIFY_DATA_MAX_LEN]
 

Field Documentation

const char* alpn_chosen

negotiated protocol

unsigned badmac_seen

records with a bad MAC received

unsigned char* cli_id

transport-level ID of the client

size_t cli_id_len

length of cli_id

int client_auth

flag for client auth.

const mbedtls_ssl_config* conf

configuration information

int(* f_get_timer)(void *)

get timer callback

void(* f_set_timer)(void *, uint32_t, uint32_t)

set timer callback

params required only during the handshake process

char* hostname

expected peer CN for verification (and SNI if available)

unsigned char* in_buf

input buffer

unsigned char* in_ctr

64-bit incoming message counter TLS: maintained by us DTLS: read from peer

uint16_t in_epoch

DTLS epoch for incoming records

unsigned char* in_hdr

start of record header

size_t in_hslen

current handshake message length, including the handshake header

unsigned char* in_iv

ivlen-byte IV

size_t in_left

amount of data read so far

unsigned char* in_len

two-bytes message length field

unsigned char* in_msg

message contents (in_iv+ivlen)

size_t in_msglen

record header: message length

int in_msgtype

record header: message type

unsigned char* in_offt

read offset in application data

uint64_t in_window

bitmask for replay detection

uint64_t in_window_top

last validated record seq_num

int major_ver

equal to MBEDTLS_SSL_MAJOR_VERSION_3

int minor_ver

either 0 (SSL3) or 1 (TLS1.0)

int nb_zero

of 0-length encrypted messages

size_t next_record_offset

offset of the next record in datagram (equal to in_left if none)

unsigned char* out_buf

output buffer

unsigned char* out_ctr

64-bit outgoing message counter

unsigned char* out_hdr

start of record header

unsigned char* out_iv

ivlen-byte IV

size_t out_left

amount of data not yet written

unsigned char* out_len

two-bytes message length field

unsigned char* out_msg

message contents (out_iv+ivlen)

size_t out_msglen

record header: message length

int out_msgtype

record header: message type

char own_verify_data[MBEDTLS_SSL_VERIFY_DATA_MAX_LEN]

previous handshake verify data

void* p_bio

context for I/O operations

void* p_timer

context for the timer callbacks

char peer_verify_data[MBEDTLS_SSL_VERIFY_DATA_MAX_LEN]

previous handshake verify data

int record_read

record is already present

int renego_records_seen

Records since renego request, or with DTLS, number of retransmissions of request if renego_max_records is < 0

int renego_status

Initial, in progress, pending?

int secure_renegotiation

does peer support legacy or secure renegotiation

negotiated session data

mbedtls_ssl_session* session_in

current session data (in)

mbedtls_ssl_session* session_negotiate

session data in negotiation

mbedtls_ssl_session* session_out

current session data (out)

signed char split_done

current record already splitted?

int state

SSL handshake: current state

negotiated transform params

mbedtls_ssl_transform* transform_in

current transform params (in)

mbedtls_ssl_transform* transform_negotiate

transform params in negotiation

mbedtls_ssl_transform* transform_out

current transform params (in)

size_t verify_data_len

length of verify data stored