22 #ifndef transport_packet_h
23 #define transport_packet_h
37 TRANSPORT_PAYLOAD_TYPE_HANDSHAKE,
38 TRANSPORT_PAYLOAD_TYPE_CIPHERTEXT
39 } wickr_transport_packet_payload_type;
42 TRANSPORT_MAC_TYPE_NONE,
43 TRANSPORT_MAC_TYPE_AUTH_CIPHER,
44 TRANSPORT_MAC_TYPE_EC_P521
45 } wickr_transport_packet_mac_type;
124 uint8_t protocol_version,
125 wickr_transport_packet_mac_type
mac_type);
137 uint64_t sequence_number,
138 wickr_transport_packet_mac_type
mac_type);
Represents a root -> node relationship as well as it's signature status.
Definition: identity.h:116
wickr_transport_packet_t * wickr_transport_packet_copy(const wickr_transport_packet_t *pkt)
Interface to a set of cryptographic operations used throughout the library. Currently the default imp...
Definition: crypto_engine.h:53
wickr_buffer_t * body
Definition: transport_packet.h:177
wickr_buffer_t * mac
Definition: transport_packet.h:178
bool wickr_transport_packet_verify(const wickr_transport_packet_t *packet, const wickr_crypto_engine_t *engine, wickr_identity_chain_t *identity_chain)
void wickr_transport_packet_destroy(wickr_transport_packet_t **pkt)
wickr_buffer_t * network_buffer
Definition: transport_packet.h:176
wickr_transport_packet_t * wickr_transport_packet_create(wickr_transport_packet_meta_t meta, wickr_buffer_t *body)
A packet used within the wickr_transport_ctx to package up data and related metadata + authentication...
Definition: transport_packet.h:175
wickr_transport_packet_meta_t meta
Definition: transport_packet.h:179
wickr_transport_packet_t * wickr_transport_packet_create_from_buffer(const wickr_buffer_t *buffer)
Represents an array of bytes and the length of the allocation associated with those bytes.
Definition: buffer.h:51
bool wickr_transport_packet_sign(wickr_transport_packet_t *pkt, const wickr_crypto_engine_t *engine, const wickr_identity_chain_t *identity_chain)
wickr_buffer_t * wickr_transport_packet_serialize(const wickr_transport_packet_t *pkt)