libsignal-protocol-c
master
session_record.h
1
#ifndef SESSION_RECORD_H
2
#define SESSION_RECORD_H
3
4
#include <stdint.h>
5
#include <stddef.h>
6
#include "signal_protocol_types.h"
7
8
#ifdef __cplusplus
9
extern
"C"
{
10
#endif
11
12
int
session_record_create(
session_record
**record,
session_state
*state,
signal_context
*global_context);
13
int
session_record_serialize(
signal_buffer
**buffer,
const
session_record
*record);
14
int
session_record_deserialize(
session_record
**record,
const
uint8_t *data,
size_t
len,
signal_context
*global_context);
15
int
session_record_copy(
session_record
**record,
session_record
*other_record,
signal_context
*global_context);
16
17
int
session_record_has_session_state(
session_record
*record, uint32_t version,
const
ec_public_key
*alice_base_key);
18
session_state
*session_record_get_state(
session_record
*record);
19
void
session_record_set_state(
session_record
*record,
session_state
*state);
20
21
session_record_state_node
*session_record_get_previous_states_head(
const
session_record
*record);
22
session_state
*session_record_get_previous_states_element(
const
session_record_state_node
*node);
23
session_record_state_node
*session_record_get_previous_states_next(
const
session_record_state_node
*node);
24
30
session_record_state_node
*session_record_get_previous_states_remove(
session_record
*record,
session_record_state_node
*node);
31
32
int
session_record_is_fresh(
session_record
*record);
33
40
int
session_record_archive_current_state(
session_record
*record);
41
42
int
session_record_promote_state(
session_record
*record,
session_state
*promoted_state);
43
44
signal_buffer
*session_record_get_user_record(
const
session_record
*record);
45
void
session_record_set_user_record(
session_record
*record,
signal_buffer
*user_record);
46
47
void
session_record_destroy(
signal_type_base
*type);
48
49
#ifdef __cplusplus
50
}
51
#endif
52
53
#endif
/* SESSION_RECORD_H */
session_record_state_node
Definition:
session_record.c:14
ec_public_key
Definition:
curve.c:19
signal_type_base
Definition:
signal_protocol_internal.h:8
session_record
Definition:
session_record.c:20
signal_context
Definition:
signal_protocol_internal.h:23
signal_buffer
Definition:
signal_protocol_internal.h:18
session_state
Definition:
session_state.c:53
src
session_record.h
Generated by
1.8.13