libsignal-protocol-c  master
fingerprint.h
1 #ifndef FINGERPRINT_H
2 #define FINGERPRINT_H
3 
4 #include "signal_protocol_types.h"
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
26 int fingerprint_generator_create(fingerprint_generator **generator,
27  int iterations, int scannable_version,
28  signal_context *global_context);
29 
40 int fingerprint_generator_create_for(fingerprint_generator *generator,
41  const char *local_stable_identifier, const ec_public_key *local_identity_key,
42  const char *remote_stable_identifier, const ec_public_key *remote_identity_key,
43  fingerprint **fingerprint_val);
44 
55 int fingerprint_generator_create_for_list(fingerprint_generator *generator,
56  const char *local_stable_identifier, const ec_public_key_list *local_identity_key_list,
57  const char *remote_stable_identifier, const ec_public_key_list *remote_identity_key_list,
58  fingerprint **fingerprint_val);
59 
60 void fingerprint_generator_free(fingerprint_generator *generator);
61 
62 int fingerprint_create(fingerprint **fingerprint_val, displayable_fingerprint *displayable, scannable_fingerprint *scannable);
63 displayable_fingerprint *fingerprint_get_displayable(const fingerprint *fingerprint_val);
64 scannable_fingerprint *fingerprint_get_scannable(const fingerprint *fingerprint_val);
65 void fingerprint_destroy(signal_type_base *type);
66 
67 int displayable_fingerprint_create(displayable_fingerprint **displayable, const char *local_fingerprint, const char *remote_fingerprint);
68 const char *displayable_fingerprint_local(const displayable_fingerprint *displayable);
69 const char *displayable_fingerprint_remote(const displayable_fingerprint *displayable);
70 const char *displayable_fingerprint_text(const displayable_fingerprint *displayable);
71 void displayable_fingerprint_destroy(signal_type_base *type);
72 
73 int scannable_fingerprint_create(scannable_fingerprint **scannable,
74  uint32_t version,
75  const char *local_stable_identifier, const signal_buffer *local_fingerprint,
76  const char *remote_stable_identifier, const signal_buffer *remote_fingerprint);
77 
78 int scannable_fingerprint_serialize(signal_buffer **buffer, const scannable_fingerprint *scannable);
79 int scannable_fingerprint_deserialize(scannable_fingerprint **scannable, const uint8_t *data, size_t len, signal_context *global_context);
80 uint32_t scannable_fingerprint_get_version(const scannable_fingerprint *scannable);
81 const char *scannable_fingerprint_get_local_stable_identifier(const scannable_fingerprint *scannable);
82 signal_buffer *scannable_fingerprint_get_local_fingerprint(const scannable_fingerprint *scannable);
83 const char *scannable_fingerprint_get_remote_stable_identifier(const scannable_fingerprint *scannable);
84 signal_buffer *scannable_fingerprint_get_remote_fingerprint(const scannable_fingerprint *scannable);
85 
95 int scannable_fingerprint_compare(const scannable_fingerprint *scannable, const scannable_fingerprint *other_scannable);
96 
97 void scannable_fingerprint_destroy(signal_type_base *type);
98 
99 #ifdef __cplusplus
100 }
101 #endif
102 
103 #endif /* FINGERPRINT_H */
Definition: fingerprint.c:40
Definition: curve.c:19
Definition: signal_protocol_internal.h:8
Definition: signal_protocol_internal.h:23
Definition: signal_protocol_internal.h:18
Definition: curve.c:38
Definition: fingerprint.c:30
Definition: fingerprint.c:22
Definition: fingerprint.c:15