GNUnet  0.11.x
seti.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet.
3  Copyright (C) 2012-2014, 2020 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  */
26 #ifndef SETI_H
27 #define SETI_H
28 
29 #include "platform.h"
30 #include "gnunet_common.h"
31 #include "gnunet_set_service.h"
32 
34 
40 {
45 };
46 
47 
54 {
58  struct GNUNET_MessageHeader header;
59 
63  uint32_t operation GNUNET_PACKED;
64 
69 };
70 
71 
77 {
81  struct GNUNET_MessageHeader header;
82 
86  uint32_t accept_reject_id GNUNET_PACKED;
87 
91  uint32_t request_id GNUNET_PACKED;
92 
98 
99 };
100 
101 
107 {
111  struct GNUNET_MessageHeader header;
112 
116  uint32_t accept_reject_id GNUNET_PACKED;
117 };
118 
119 
124 {
128  struct GNUNET_MessageHeader header;
129 
134  uint32_t accept_id GNUNET_PACKED;
135 
140 
141  /* rest: context message, that is, application-specific
142  message to convince listener to pick up */
143 };
144 
145 
152 {
156  struct GNUNET_MessageHeader header;
157 
162  uint32_t request_id GNUNET_PACKED;
163 
168 
172  struct GNUNET_HashCode app_id;
173 
179 
180  /* rest: context message, that is, application-specific
181  message to convince listener to pick up */
182 };
183 
184 
192 {
196  struct GNUNET_MessageHeader header;
197 
201  uint64_t current_size;
202 
206  uint32_t request_id GNUNET_PACKED;
207 
212  uint16_t result_status GNUNET_PACKED;
213 
217  uint16_t element_type GNUNET_PACKED;
218 
219  /* rest: the actual element */
220 };
221 
222 
227 {
231  struct GNUNET_MessageHeader header;
232 
236  uint16_t element_type GNUNET_PACKED;
237 
242 
243  /* rest: the actual element */
244 };
245 
246 
252 {
256  struct GNUNET_MessageHeader header;
257 
261  uint32_t request_id GNUNET_PACKED;
262 };
263 
264 
266 
267 #endif
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_SETI_CREATE.
Definition: seti.h:44
Message sent by the service to the client to indicate an element that is removed (set intersection) o...
Definition: seti.h:191
Sent to the service by the client in order to cancel a set operation.
Definition: seti.h:251
uint64_t current_size
Current set size.
Definition: seti.h:201
static char * peer_id
Option –peer.
Definition: gnunet-cadet.c:42
Message sent by a listening client to the service to accept performing the operation with the other p...
Definition: seti.h:76
Message sent by a listening client to the service to reject performing the operation with the other p...
Definition: seti.h:106
static struct GNUNET_HashCode app_id
uint32_t return_intersection
Return the intersection (1), instead of the elements to remove / the delta (0), in NBO...
Definition: seti.h:97
#define GNUNET_NETWORK_STRUCT_BEGIN
Define as empty, GNUNET_PACKED should suffice, but this won&#39;t work on W32.
Message sent by the client to the service to start listening for incoming requests to perform a certa...
Definition: seti.h:53
A 512-bit hashcode.
static struct GNUNET_PeerIdentity * target_peer
ID of the targeted peer.
#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.
Message sent by the client to the service to ask starting a new set to perform operations with...
Definition: seti.h:39
uint32_t return_intersection
Return the intersection (1), instead of the elements to remove / the delta (0), in NBO...
Definition: seti.h:178
Header for all communications.
A request for an operation with another client.
Definition: seti.h:123
commonly used definitions; globals in this file are exempt from the rule that the module name ("commo...
static unsigned long long reserved
How much space have we currently reserved?
Message sent by client to service to initiate a set operation as a client (not as listener)...
Definition: seti.h:151
Message sent by client to the service to add an element to the set.
Definition: seti.h:226