GNUnet  0.20.0
gnunet-service-transport_hello.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet.
3  Copyright (C) 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  */
25 #ifndef GNUNET_SERVICE_TRANSPORT_HELLO_H
26 #define GNUNET_SERVICE_TRANSPORT_HELLO_H
27 
30 #include "gnunet_util_lib.h"
31 #include "gnunet_hello_lib.h"
32 
33 
40 typedef void
41 (*GST_HelloCallback) (void *cls,
42  const struct GNUNET_MessageHeader *hello);
43 
44 
52 void
53 GST_hello_start (int friend_only,
55  void *cb_cls);
56 
57 
61 void
62 GST_hello_stop (void);
63 
64 
70 const struct GNUNET_MessageHeader *
71 GST_hello_get (void);
72 
73 
80 void
81 GST_hello_modify_addresses (int addremove,
82  const struct GNUNET_HELLO_Address *address);
83 
84 
95 int
97  struct GNUNET_CRYPTO_EddsaSignature **sig,
98  struct GNUNET_TIME_Absolute **sig_expiration);
99 
100 
101 #endif
102 /* end of file gnunet-service-transport_hello.h */
static char * address
GNS address for this phone.
int GST_hello_test_address(const struct GNUNET_HELLO_Address *address, struct GNUNET_CRYPTO_EddsaSignature **sig, struct GNUNET_TIME_Absolute **sig_expiration)
Test if a particular address is one of ours.
void GST_hello_modify_addresses(int addremove, const struct GNUNET_HELLO_Address *address)
Add or remove an address from this peer's HELLO message.
const struct GNUNET_MessageHeader * GST_hello_get(void)
Obtain this peers HELLO message.
void GST_hello_start(int friend_only, GST_HelloCallback cb, void *cb_cls)
Initialize the HELLO module.
void(* GST_HelloCallback)(void *cls, const struct GNUNET_MessageHeader *hello)
Signature of a function to call whenever our hello changes.
void GST_hello_stop(void)
Shutdown the HELLO module.
Helper library for handling HELLOs.
API to create, modify and access statistics.
an ECC signature using EdDSA.
An address for communicating with a peer.
Header for all communications.
Time for absolute times used by GNUnet, in microseconds.