Coverage Report

Created: 2026-10-24 08:16

/work/toxcore/group_onion_announce.h
Line
Count
Source
1
/* SPDX-License-Identifier: GPL-3.0-or-later
2
 * Copyright © 2016-2020 The TokTok team.
3
 * Copyright © 2015 Tox project.
4
 */
5
6
#ifndef C_TOXCORE_TOXCORE_GROUP_ONION_ANNOUNCE_H
7
#define C_TOXCORE_TOXCORE_GROUP_ONION_ANNOUNCE_H
8
9
#include <stdint.h>
10
11
#include "attributes.h"
12
#include "crypto_core.h"
13
#include "group_announce.h"
14
#include "mem.h"
15
#include "onion_announce.h"
16
17
/**
18
 * Maximum size of an announce response packet when the GCA extra-data callback
19
 * is active.
20
 *
21
 * The 1 here is the `num_nodes` byte (`want_node_count=true`).
22
 */
23
#define GCA_ANNOUNCE_RESPONSE_MAX_SIZE \
24
1.13k
    (ONION_ANNOUNCE_RESPONSE_MIN_SIZE \
25
1.13k
     + 1 \
26
1.13k
     + MAX_SENT_NODES * PACKED_NODE_SIZE_IP6 \
27
1.13k
     + GCA_MAX_SENT_ANNOUNCES * GCA_ANNOUNCE_MAX_SIZE)
28
29
void gca_onion_init(GC_Announces_List *_Nonnull group_announce, Onion_Announce *_Nonnull onion_a);
30
31
int create_gca_announce_request(const Memory *_Nonnull mem, const Random *_Nonnull rng, uint8_t *_Nonnull packet, uint16_t max_packet_length, const uint8_t *_Nonnull dest_client_id,
32
                                const uint8_t *_Nonnull public_key, const uint8_t *_Nonnull secret_key, const uint8_t *_Nonnull ping_id, const uint8_t *_Nonnull client_id, const uint8_t *_Nonnull data_public_key,
33
                                uint64_t sendback_data, const uint8_t *_Nonnull gc_data, uint16_t gc_data_length);
34
35
#endif /* C_TOXCORE_TOXCORE_GROUP_ONION_ANNOUNCE_H */