25 #include "crypto_engine.h"
27 #include "stream_ctx.h"
53 TRANSPORT_STATUS_NONE,
54 TRANSPORT_STATUS_INITIAL_HANDSHAKE,
55 TRANSPORT_STATUS_ACTIVE,
56 TRANSPORT_STATUS_ERROR
57 } wickr_transport_status;
62 typedef void (*wickr_transport_state_change_func)(
const wickr_transport_ctx_t *ctx, wickr_transport_status status);
63 typedef void (*wickr_transport_validate_identity_callback)(
const wickr_transport_ctx_t *ctx,
bool is_valid);
65 wickr_transport_validate_identity_callback on_complete);
84 wickr_transport_tx_func
tx;
85 wickr_transport_rx_func
rx;
Represents a root -> node relationship as well as it's signature status.
Definition: identity.h:116
void wickr_transport_ctx_process_tx_buffer(wickr_transport_ctx_t *ctx, const wickr_buffer_t *buffer)
Interface to a set of cryptographic operations used throughout the library. Currently the default imp...
Definition: crypto_engine.h:53
wickr_transport_state_change_func on_state
Definition: transport_ctx.h:86
wickr_transport_rx_func rx
Definition: transport_ctx.h:85
const wickr_identity_chain_t * wickr_transport_ctx_get_local_identity_ptr(const wickr_transport_ctx_t *ctx)
wickr_transport_ctx_t * wickr_transport_ctx_copy(const wickr_transport_ctx_t *ctx)
wickr_transport_tx_func tx
Definition: transport_ctx.h:84
void wickr_transport_ctx_process_rx_buffer(wickr_transport_ctx_t *ctx, const wickr_buffer_t *buffer)
const void * wickr_transport_ctx_get_user_ctx(const wickr_transport_ctx_t *ctx)
wickr_transport_ctx_t * wickr_transport_ctx_create(const wickr_crypto_engine_t engine, wickr_identity_chain_t *local_identity, wickr_identity_chain_t *remote_identity, uint32_t evo_count, wickr_transport_callbacks_t callbacks, void *user)
callbacks to notify the user of events within the transport
Definition: transport_ctx.h:83
wickr_transport_validate_identity_func on_identity_verify
Definition: transport_ctx.h:87
void wickr_transport_ctx_destroy(wickr_transport_ctx_t **ctx)
wickr_transport_status wickr_transport_ctx_get_status(const wickr_transport_ctx_t *ctx)
Represents an array of bytes and the length of the allocation associated with those bytes.
Definition: buffer.h:51
const wickr_identity_chain_t * wickr_transport_ctx_get_remote_identity_ptr(const wickr_transport_ctx_t *ctx)
void wickr_transport_ctx_start(wickr_transport_ctx_t *ctx)
Transport context to manage the state machine of a point to point connection using fundamentals of th...
void wickr_transport_ctx_set_user_ctx(wickr_transport_ctx_t *ctx, void *user)