libsignal-protocol-c  master
sender_key_state.h
1 #ifndef SENDER_KEY_STATE_H
2 #define SENDER_KEY_STATE_H
3 
4 #include <stdint.h>
5 #include "signal_protocol_types.h"
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 int sender_key_state_create(sender_key_state **state,
12  uint32_t id, sender_chain_key *chain_key,
13  ec_public_key *signature_public_key, ec_private_key *signature_private_key,
14  signal_context *global_context);
15 int sender_key_state_serialize(signal_buffer **buffer, sender_key_state *state);
16 int sender_key_state_deserialize(sender_key_state **state, const uint8_t *data, size_t len, signal_context *global_context);
17 int sender_key_state_copy(sender_key_state **state, sender_key_state *other_state, signal_context *global_context);
18 
19 uint32_t sender_key_state_get_key_id(sender_key_state *state);
20 sender_chain_key *sender_key_state_get_chain_key(sender_key_state *state);
21 void sender_key_state_set_chain_key(sender_key_state *state, sender_chain_key *chain_key);
22 ec_public_key *sender_key_state_get_signing_key_public(sender_key_state *state);
23 ec_private_key *sender_key_state_get_signing_key_private(sender_key_state *state);
24 int sender_key_state_has_sender_message_key(sender_key_state *state, uint32_t iteration);
25 int sender_key_state_add_sender_message_key(sender_key_state *state, sender_message_key *message_key);
26 sender_message_key *sender_key_state_remove_sender_message_key(sender_key_state *state, uint32_t iteration);
27 
28 void sender_key_state_destroy(signal_type_base *type);
29 
30 #ifdef __cplusplus
31 }
32 #endif
33 
34 #endif /* SENDER_KEY_STATE_H */
Definition: curve.c:19
Definition: signal_protocol_internal.h:8
Definition: sender_key_state.c:19
Definition: sender_key.c:11
Definition: signal_protocol_internal.h:23
Definition: signal_protocol_internal.h:18
Definition: sender_key.c:20
Definition: curve.c:25