Helium
Data Fields
he_conn Struct Reference

Data Fields

bool is_server
 
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.
 
char sni_hostname [HE_MAX_HOSTNAME_LENGTH+1]
 SNI Hostname.
 
uint8_t auth_buffer [HE_MAX_MTU]
 Authentication data for either HE_AUTH_TYPE_TOKEN or HE_AUTH_TYPE_CB.
 
uint16_t auth_buffer_length
 
uint16_t 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.
 
bool use_pqc
 Use PQC Keyshares.
 
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_server_config_cb_t server_config_cb
 Server config callback.
 
he_event_cb_t event_cb
 
he_auth_cb_t auth_cb
 
he_auth_token_cb_t auth_token_cb
 
he_auth_buf_cb_t auth_buf_cb
 
he_populate_network_config_ipv4_cb_t populate_network_config_ipv4_cb
 
he_pmtud_time_cb_t pmtud_time_cb
 
he_pmtud_state_change_cb_t pmtud_state_change_cb
 
he_version_info_t protocol_version
 Connection version – set on client side, accepted on server side.
 
RNG wolf_rng
 Random number generator.
 
WOLFSSL * wolf_ssl
 WolfSSL stuff.
 
HE_ATOMIC he_conn_state_t state
 Client State.
 
HE_ATOMIC int wolf_timeout
 Wolf Timeout.
 
uint8_t * incoming_data
 Pointer to incoming data buffer.
 
size_t incoming_data_length
 Length of the data in the.
 
bool packet_seen
 Packet seen.
 
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.
 
uint8_t write_buffer [HE_MAX_WIRE_MTU]
 Write buffer.
 
HE_ATOMIC uint64_t session_id
 Session ID.
 
HE_ATOMIC uint64_t pending_session_id
 
HE_ATOMIC bool first_message_received
 Has the first message been received?
 
HE_ATOMIC bool is_nudge_timer_running
 Do we already have a timer running? If so, we don't want to generate new callbacks.
 
bool renegotiation_in_progress
 
bool renegotiation_due
 
uint16_t ping_next_id
 Identifier of the next ping message.
 
uint16_t ping_pending_id
 Identifier of the ping message pending reply.
 
he_internal_pmtud_t pmtud
 
HE_ATOMIC uint16_t frag_next_id
 UDP Fragmentation.
 
he_fragment_table_tfrag_table
 
int wolf_error
 Last wolfssl error.
 
Collaboration diagram for he_conn:
Collaboration graph
[legend]

Field Documentation

◆ is_server

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: