GNUnet 0.21.1
gnunet-service-core_kx.h
Go to the documentation of this file.
1/*
2 This file is part of GNUnet.
3 Copyright (C) 2009, 2010, 2011 GNUnet e.V.
4
5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU Affero General Public License as published
7 by the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 SPDX-License-Identifier: AGPL3.0-or-later
19 */
20
26#ifndef GNUNET_SERVICE_CORE_KX_H
27#define GNUNET_SERVICE_CORE_KX_H
28
29#include "gnunet_util_lib.h"
30
31
36
37
45void
47 const void *payload,
48 size_t payload_size);
49
50
57int
59
60
64void
65GSC_KX_done (void);
66
67
74int
76 GSC_KeyExchangeInfo *target);
77
78
85unsigned int
87
88
97void
99
100
101#endif
102/* end of gnunet-service-core_kx.h */
struct GNUNET_MQ_Handle * mq
Definition: 003.c:5
struct GNUNET_CRYPTO_PrivateKey pk
Private key from command line option, or NULL.
void GSC_KX_handle_client_monitor_peers(struct GNUNET_MQ_Handle *mq)
Handle GNUNET_MESSAGE_TYPE_CORE_MONITOR_PEERS request.
int GSC_NEIGHBOURS_check_excess_bandwidth(const struct GSC_KeyExchangeInfo *target)
Check if the given neighbour has excess bandwidth available.
void GSC_KX_encrypt_and_transmit(struct GSC_KeyExchangeInfo *kx, const void *payload, size_t payload_size)
Encrypt and transmit a message with the given payload.
int GSC_KX_init(struct GNUNET_CRYPTO_EddsaPrivateKey *pk)
Initialize KX subsystem.
unsigned int GSC_NEIGHBOURS_get_queue_length(const struct GSC_KeyExchangeInfo *target)
Check how many messages are queued for the given neighbour.
void GSC_KX_done(void)
Shutdown KX subsystem.
static unsigned long long payload
How much data are we currently storing in the database?
Private ECC key encoded for transmission.
Handle to a message queue.
Definition: mq.c:87
Information about the status of a key exchange with another peer.