GNUnet  0.10.x
core.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet.
3  Copyright (C) 2009-2014 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 CORE_H
27 #define CORE_H
28 
29 #include "gnunet_bandwidth_lib.h"
31 #include "gnunet_crypto_lib.h"
32 #include "gnunet_time_lib.h"
33 
37 #define DEBUG_CORE GNUNET_EXTRA_LOGGING
38 
45 #define GNUNET_CORE_OPTION_NOTHING 0
46 
50 #define GNUNET_CORE_OPTION_SEND_STATUS_CHANGE 4
51 
55 #define GNUNET_CORE_OPTION_SEND_FULL_INBOUND 8
56 
61 #define GNUNET_CORE_OPTION_SEND_HDR_INBOUND 16
62 
66 #define GNUNET_CORE_OPTION_SEND_FULL_OUTBOUND 32
67 
72 #define GNUNET_CORE_OPTION_SEND_HDR_OUTBOUND 64
73 
74 
76 
83 struct InitMessage {
88 
93 };
94 
95 
105 
110 
115 };
116 
117 
127 
132 
137 };
138 
139 
149 
154 
158  struct GNUNET_PeerIdentity peer;
159 };
160 
161 
177 
181  struct GNUNET_PeerIdentity peer;
182 
183  /* Followed by payload (message or just header), variable size */
184 };
185 
186 
196 
200  uint32_t priority GNUNET_PACKED;
201 
207 
211  struct GNUNET_PeerIdentity peer;
212 
217 
221  uint16_t size GNUNET_PACKED;
222 
226  uint16_t smr_id GNUNET_PACKED;
227 };
228 
229 
240 
247  uint16_t size GNUNET_PACKED;
248 
252  uint16_t smr_id GNUNET_PACKED;
253 
257  struct GNUNET_PeerIdentity peer;
258 };
259 
260 
265 struct SendMessage {
270 
275  uint32_t priority GNUNET_PACKED;
276 
282 
286  struct GNUNET_PeerIdentity peer;
287 };
288 
289 
299 
304 
308  struct GNUNET_PeerIdentity peer;
309 
314 };
315 
316 
318 #endif
319 /* end of core.h */
Message sent by the service to clients to notify them about a peer connecting.
Definition: core.h:122
static struct GNUNET_PeerIdentity my_identity
Identity of this peer.
uint32_t options
Options, see GNUNET_CORE_OPTION_ values.
Definition: core.h:92
Message transmitted core clients to gnunet-service-core to start the interaction. ...
Definition: core.h:83
Time for absolute time used by GNUnet, in microseconds and in network byte order. ...
#define GNUNET_NETWORK_STRUCT_BEGIN
Define as empty, GNUNET_PACKED should suffice, but this won&#39;t work on W32.
Message transmitted by the gnunet-service-core process to its clients in response to an INIT message...
Definition: core.h:100
cryptographic primitives for GNUnet
Core notifying client that it is allowed to now transmit a message to the given target (response to G...
Definition: core.h:235
enum State state
current state of profiling
static struct GNUNET_TIME_Relative timeout
User defined timestamp for completing operations.
Definition: gnunet-arm.c:114
Client asking core to transmit a particular message to a particular target (response to GNUNET_MESSAG...
Definition: core.h:265
Client notifying core about the maximum-priority message it has in the queue for a particular target...
Definition: core.h:191
struct GNUNET_TESTBED_Peer * peer
The peer associated with this model.
static unsigned int size
Size of the "table".
Definition: peer.c:66
#define GNUNET_NETWORK_STRUCT_END
Define as empty, GNUNET_PACKED should suffice, but this won&#39;t work on W32;.
The identity of the host (wraps the signing key of the peer).
#define GNUNET_PACKED
gcc-ism to get packed structs.
struct GNUNET_MessageHeader header
Header with type GNUNET_MESSAGE_TYPE_CORE_INIT.
Definition: core.h:87
static struct GNUNET_TIME_Absolute deadline
Deadline for all consensuses.
Message sent by the service to clients to notify them about a peer disconnecting. ...
Definition: core.h:144
Message sent by the service to clients to notify them about messages being received or transmitted...
Definition: core.h:171
Header for all communications.
Message sent by the service to monitor clients to notify them about a peer changing status...
Definition: core.h:294
static unsigned long long reserved
How much space have we currently reserved?