wickr-crypto-c

encoder_result.h
1 /*
2 * Copyright © 2012-2020 Wickr Inc. All rights reserved.
3 *
4 * This code is being released for EDUCATIONAL, ACADEMIC, AND CODE REVIEW PURPOSES
5 * ONLY. COMMERCIAL USE OF THE CODE IS EXPRESSLY PROHIBITED. For additional details,
6 * please see LICENSE
7 *
8 * THE CODE IS MADE AVAILABLE "AS-IS" AND WITHOUT ANY EXPRESS OR
9 * IMPLIED GUARANTEES AS TO FITNESS, MERCHANTABILITY, NON-
10 * INFRINGEMENT OR OTHERWISE. IT IS NOT BEING PROVIDED IN TRADE BUT ON
11 * A VOLUNTARY BASIS ON BEHALF OF THE AUTHOR’S PART FOR THE BENEFIT
12 * OF THE LICENSEE AND IS NOT MADE AVAILABLE FOR CONSUMER USE OR ANY
13 * OTHER USE OUTSIDE THE TERMS OF THIS LICENSE. ANYONE ACCESSING THE
14 * CODE SHOULD HAVE THE REQUISITE EXPERTISE TO SECURE THEIR SYSTEM
15 * AND DEVICES AND TO ACCESS AND USE THE CODE FOR REVIEW PURPOSES
16 * ONLY. LICENSEE BEARS THE RISK OF ACCESSING AND USING THE CODE. IN
17 * PARTICULAR, AUTHOR BEARS NO LIABILITY FOR ANY INTERFERENCE WITH OR
18 * ADVERSE EFFECT THAT MAY OCCUR AS A RESULT OF THE LICENSEE
19 * ACCESSING AND/OR USING THE CODE ON LICENSEE’S SYSTEM.
20 */
21
22 #ifndef encoder_result_h
23 #define encoder_result_h
24
25 #include "cipher.h"
26 #include "protocol.h"
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
45 struct wickr_encoder_result {
46 wickr_cipher_key_t *packet_key;
47 wickr_packet_t *packet;
48 };
49
50 typedef struct wickr_encoder_result wickr_encoder_result_t;
51
61 wickr_encoder_result_t *wickr_encoder_result_create(wickr_cipher_key_t *packet_key, wickr_packet_t *packet);
62
63
72 wickr_encoder_result_t *wickr_encoder_result_copy(const wickr_encoder_result_t *result);
73
81 void wickr_encoder_result_destroy(wickr_encoder_result_t **result);
82
83 #ifdef __cplusplus
84 }
85 #endif
86
87 #endif /* encoder_result_h */
wickr_cipher_key
Definition: cipher.h:189
wickr_encoder_result
the result of a packet encoding operation
Definition: encoder_result.h:45
wickr_encoder_result::packet
wickr_packet_t * packet
Definition: encoder_result.h:47
wickr_encoder_result::packet_key
wickr_cipher_key_t * packet_key
Definition: encoder_result.h:46
wickr_packet
An encrypted packet made with the Wickr protocol.
Definition: protocol.h:188