22 #ifndef transport_handshake_h
23 #define transport_handshake_h
26 #include "stream_key.h"
27 #include "transport_packet.h"
37 struct wickr_transport_handshake_res_t;
38 typedef struct wickr_transport_handshake_res_t wickr_transport_handshake_res_t;
61 TRANSPORT_HANDSHAKE_STATUS_UNKNOWN,
62 TRANSPORT_HANDSHAKE_STATUS_IN_PROGRESS,
63 TRANSPORT_HANDSHAKE_STATUS_PENDING_VERIFICATION,
64 TRANSPORT_HANDSHAKE_STATUS_PENDING_FINALIZATION,
65 TRANSPORT_HANDSHAKE_STATUS_COMPLETE,
66 TRANSPORT_HANDSHAKE_STATUS_FAILED
132 struct wickr_transport_handshake_t;
133 typedef struct wickr_transport_handshake_t wickr_transport_handshake_t;
136 typedef void (*wickr_transport_handshake_identity_callback)(
const wickr_transport_handshake_t *handshake,
156 wickr_transport_handshake_identity_callback identity_callback,
wickr_transport_handshake_res_t * wickr_transport_handshake_res_create(wickr_stream_key_t *local_key, wickr_stream_key_t *remote_key)
wickr_transport_packet_t * wickr_transport_handshake_process(wickr_transport_handshake_t *handshake, const wickr_transport_packet_t *packet)
wickr_transport_handshake_res_t * wickr_transport_handshake_res_copy(const wickr_transport_handshake_res_t *res)
const wickr_identity_chain_t * wickr_transport_handshake_get_local_identity(const wickr_transport_handshake_t *handshake)
wickr_transport_handshake_status
Definition: transport_handshake.h:60
wickr_transport_handshake_res_t * wickr_transport_handshake_finalize(wickr_transport_handshake_t *handshake)
const wickr_identity_chain_t * wickr_transport_handshake_get_remote_identity(const wickr_transport_handshake_t *handshake)
const wickr_stream_key_t * wickr_transport_handshake_res_get_remote_key(const wickr_transport_handshake_res_t *res)
const wickr_stream_key_t * wickr_transport_handshake_res_get_local_key(const wickr_transport_handshake_res_t *res)
wickr_transport_handshake_t * wickr_transport_handshake_copy(const wickr_transport_handshake_t *handshake)
void wickr_transport_set_user_data(wickr_transport_handshake_t *handshake, void *user)
void wickr_transport_handshake_res_destroy(wickr_transport_handshake_res_t **res)
void wickr_transport_handshake_destroy(wickr_transport_handshake_t **handshake)
const void * wickr_transport_handshake_get_user_data(const wickr_transport_handshake_t *handshake)
wickr_transport_packet_t * wickr_transport_handshake_verify_identity(const wickr_transport_handshake_t *handshake, bool is_valid)
wickr_transport_handshake_t * wickr_transport_handshake_create(wickr_crypto_engine_t engine, wickr_identity_chain_t *local_identity, wickr_identity_chain_t *remote_identity, wickr_transport_handshake_identity_callback identity_callback, uint32_t evo_count, void *user)
wickr_transport_handshake_status wickr_transport_handshake_get_status(const wickr_transport_handshake_t *handshake)
wickr_transport_packet_t * wickr_transport_handshake_start(wickr_transport_handshake_t *handshake)
Interface to a set of cryptographic operations used throughout the library. Currently the default imp...
Definition: crypto_engine.h:53
Represents a root -> node relationship as well as it's signature status.
Definition: identity.h:116
A data structure representing the stream encoding / decoding key material A stream key holds informat...
Definition: stream_key.h:56
A packet used within the wickr_transport_ctx to package up data and related metadata + authentication...
Definition: transport_packet.h:175