Helium
Data Fields
he_conn Struct Reference

Data Fields

bool is_server
 
he_conn_state_t state
 Client State.
 
uint8_t * incoming_data
 Pointer to incoming data buffer.
 
size_t incoming_data_length
 Length of the data in the.
 
WOLFSSL * wolf_ssl
 
int wolf_timeout
 Wolf Timeout.
 
uint8_t write_buffer [HE_MAX_WIRE_MTU]
 Write buffer.
 
bool packet_seen
 Packet seen.
 
uint64_t session_id
 Session ID.
 
uint64_t pending_session_id
 
he_packet_buffer_t read_packet
 Read packet buffers // Datagram only.
 
bool first_message_received
 Has the first message been received?
 
size_t incoming_data_left_to_read
 Bytes left to read in the packet buffer (Streaming only)
 
uint8_t * incoming_data_read_offset_ptr
 Index into the incoming data buffer.
 
bool renegotiation_in_progress
 
bool renegotiation_due
 
bool is_nudge_timer_running
 Do we already have a timer running? If so, we don't want to generate new callbacks.
 
he_plugin_chain_tinside_plugins
 
he_plugin_chain_toutside_plugins
 
uint8_t auth_type
 
char username [HE_CONFIG_TEXT_FIELD_LENGTH+1]
 VPN username – room for a null on the end.
 
char password [HE_CONFIG_TEXT_FIELD_LENGTH+1]
 VPN password – room for a null on the end.
 
uint8_t auth_buffer [HE_MAX_MTU]
 
uint16_t auth_buffer_length
 
int outside_mtu
 MTU Helium should use for the outside connection (i.e. Internet)
 
void * data
 
bool disable_roaming_connections
 Don't send session ID in packet header.
 
he_padding_type_t padding_type
 Which padding type to use.
 
bool use_aggressive_mode
 Use aggressive mode.
 
he_connection_type_t connection_type
 TCP or UDP?
 
he_state_change_cb_t state_change_cb
 State callback.
 
he_nudge_time_cb_t nudge_time_cb
 Nudge timer.
 
he_inside_write_cb_t inside_write_cb
 Callback for writing to the inside (i.e. a TUN device)
 
he_outside_write_cb_t outside_write_cb
 Callback for writing to the outside (i.e. a socket)
 
he_network_config_ipv4_cb_t network_config_ipv4_cb
 Network config callback.
 
he_event_cb_t event_cb
 
he_auth_cb_t auth_cb
 
he_auth_buf_cb_t auth_buf_cb
 
he_populate_network_config_ipv4_cb_t populate_network_config_ipv4_cb
 
he_version_info_t protocol_version
 Connection version – set on client side, accepted on server side.
 
RNG wolf_rng
 Random number generator.
 
Collaboration diagram for he_conn:
Collaboration graph
[legend]

Field Documentation

bool he_conn::is_server

Internal Structure Member for client/server determination No explicit setter or getter, we internally set this in either client or server connect functions


The documentation for this struct was generated from the following file: