implement handle_validation_response logic
[oweals/gnunet.git] / src / include / gnunet_protocols.h
1 /*
2      This file is part of GNUnet.
3      Copyright (C) 2001--2018 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
21 /**
22  * @author Christian Grothoff
23  *
24  * @file
25  * Constants for network protocols
26  *
27  * @defgroup protocols  Network protocol definitions
28  * Types of messages used in GNUnet.
29  *
30  * @see [Documentation](https://gnunet.org/ipc)
31  *
32  * @{
33  */
34
35 /*******************************************************************************
36  * TODO: we need a way to register message types centrally (via some webpage).
37  * For now: unofficial extensions should start at 48k, internal extensions
38  * defined here should leave some room (4-10 additional messages to the previous
39  * extension).
40  ******************************************************************************/
41
42 #ifndef GNUNET_PROTOCOLS_H
43 #define GNUNET_PROTOCOLS_H
44
45 #ifdef __cplusplus
46 extern "C"
47 {
48 #if 0                           /* keep Emacsens' auto-indent happy */
49 }
50 #endif
51 #endif
52
53 /*******************************************************************************
54  * UTIL message types
55  ******************************************************************************/
56
57 /**
58  * Test if service is online.
59  *
60  * @deprecated!
61  */
62 #define GNUNET_MESSAGE_TYPE_TEST 1
63
64 /**
65  * Dummy messages for testing / benchmarking.
66  */
67 #define GNUNET_MESSAGE_TYPE_DUMMY 2
68
69 /**
70  * Another dummy messages for testing / benchmarking.
71  */
72 #define GNUNET_MESSAGE_TYPE_DUMMY2 3
73
74 /*******************************************************************************
75  * RESOLVER message types
76  ******************************************************************************/
77
78 /**
79  * Request DNS resolution.
80  */
81 #define GNUNET_MESSAGE_TYPE_RESOLVER_REQUEST 4
82
83 /**
84  * Response to a DNS resolution request.
85  */
86 #define GNUNET_MESSAGE_TYPE_RESOLVER_RESPONSE 5
87
88 /*******************************************************************************
89  * AGPL source code download
90  * *****************************************************************************/
91
92 /**
93  * Message to request source code link.
94  */
95 #define GNUNET_MESSAGE_TYPE_REQUEST_AGPL 6
96
97 /**
98  * Source code link.
99  */
100 #define GNUNET_MESSAGE_TYPE_RESPONSE_AGPL 7
101
102
103 /*******************************************************************************
104  * ARM message types
105  ******************************************************************************/
106
107 /**
108  * Request to ARM to start a service.
109  */
110 #define GNUNET_MESSAGE_TYPE_ARM_START 8
111
112 /**
113  * Request to ARM to stop a service.
114  */
115 #define GNUNET_MESSAGE_TYPE_ARM_STOP 9
116
117 /**
118  * Response from ARM.
119  */
120 #define GNUNET_MESSAGE_TYPE_ARM_RESULT 10
121
122 /**
123  * Status update from ARM.
124  */
125 #define GNUNET_MESSAGE_TYPE_ARM_STATUS 11
126
127 /**
128  * Request to ARM to list all currently running services
129  */
130 #define GNUNET_MESSAGE_TYPE_ARM_LIST 12
131
132 /**
133  * Response from ARM for listing currently running services
134  */
135 #define GNUNET_MESSAGE_TYPE_ARM_LIST_RESULT 13
136
137 /**
138  * Request to ARM to notify client of service status changes
139  */
140 #define GNUNET_MESSAGE_TYPE_ARM_MONITOR 14
141
142 /**
143  * Test if ARM service is online.
144  */
145 #define GNUNET_MESSAGE_TYPE_ARM_TEST 15
146
147 /*******************************************************************************
148  * HELLO message types
149  ******************************************************************************/
150
151 /**
152  * Previously used for HELLO messages used for communicating peer addresses.
153  * Managed by libgnunethello.
154  */
155 #define GNUNET_MESSAGE_TYPE_HELLO_LEGACY 16
156
157 /**
158  * HELLO message with friend only flag used for communicating peer addresses.
159  * Managed by libgnunethello.
160  */
161
162 #define GNUNET_MESSAGE_TYPE_HELLO 17
163
164 /*******************************************************************************
165  * FRAGMENTATION message types
166  ******************************************************************************/
167
168 /**
169  * FRAGMENT of a larger message.
170  * Managed by libgnunetfragment.
171  */
172 #define GNUNET_MESSAGE_TYPE_FRAGMENT 18
173
174 /**
175  * Acknowledgement of a FRAGMENT of a larger message.
176  * Managed by libgnunetfragment.
177  */
178 #define GNUNET_MESSAGE_TYPE_FRAGMENT_ACK 19
179
180 /*******************************************************************************
181  * Transport-WLAN message types
182  ******************************************************************************/
183
184 /**
185  * Type of data messages from the plugin to the gnunet-wlan-helper
186  */
187 #define GNUNET_MESSAGE_TYPE_WLAN_DATA_TO_HELPER 39
188
189 /**
190  * Type of data messages from the gnunet-wlan-helper to the plugin
191  */
192 #define GNUNET_MESSAGE_TYPE_WLAN_DATA_FROM_HELPER 40
193
194 /**
195  * Control message between the gnunet-wlan-helper and the daemon (with the MAC).
196  */
197 #define GNUNET_MESSAGE_TYPE_WLAN_HELPER_CONTROL 41
198
199 /**
200  * Type of messages for advertisement over wlan
201  */
202 #define GNUNET_MESSAGE_TYPE_WLAN_ADVERTISEMENT 42
203
204 /**
205  * Type of messages for data over the wlan
206  */
207 #define GNUNET_MESSAGE_TYPE_WLAN_DATA 43
208
209
210 /*******************************************************************************
211  * Transport-DV message types
212  ******************************************************************************/
213
214 /**
215  * DV service to DV Plugin message, when a message is
216  * unwrapped by the DV service and handed to the plugin
217  * for processing
218  */
219 #define GNUNET_MESSAGE_TYPE_DV_RECV 44
220
221 /**
222  * DV Plugin to DV service message, indicating a message
223  * should be sent out.
224  */
225 #define GNUNET_MESSAGE_TYPE_DV_SEND 45
226
227 /**
228  * DV service to DV api message, containing a confirmation
229  * or failure of a DV_SEND message.
230  */
231 #define GNUNET_MESSAGE_TYPE_DV_SEND_ACK 46
232
233 /**
234  * P2P DV message encapsulating some real message
235  */
236 #define GNUNET_MESSAGE_TYPE_DV_ROUTE 47
237
238 /**
239  * DV Plugin to DV service message, indicating
240  * startup.
241  */
242 #define GNUNET_MESSAGE_TYPE_DV_START 48
243
244 /**
245  * P2P DV message telling plugin that a peer connected
246  */
247 #define GNUNET_MESSAGE_TYPE_DV_CONNECT 49
248
249 /**
250  * P2P DV message telling plugin that a peer disconnected
251  */
252 #define GNUNET_MESSAGE_TYPE_DV_DISCONNECT 50
253
254 /**
255  * P2P DV message telling plugin that a message transmission failed (negative ACK)
256  */
257 #define GNUNET_MESSAGE_TYPE_DV_SEND_NACK 51
258
259 /**
260  * P2P DV message telling plugin that our distance to a peer changed
261  */
262 #define GNUNET_MESSAGE_TYPE_DV_DISTANCE_CHANGED 52
263
264 /**
265  * DV message box for boxing multiple messages.
266  */
267 #define GNUNET_MESSAGE_TYPE_DV_BOX 53
268
269
270 /**
271  * Experimental message type.
272  */
273 #define GNUNET_MESSAGE_TYPE_TRANSPORT_XU_MESSAGE 55
274
275
276 /*******************************************************************************
277  * Transport-UDP message types
278  ******************************************************************************/
279
280 /**
281  * Normal UDP message type.
282  */
283 #define GNUNET_MESSAGE_TYPE_TRANSPORT_UDP_MESSAGE 56
284
285 /**
286  * UDP ACK.
287  */
288 #define GNUNET_MESSAGE_TYPE_TRANSPORT_UDP_ACK 57
289
290 /*******************************************************************************
291  * Transport-TCP message types
292  ******************************************************************************/
293
294 /**
295  * TCP NAT probe message, send from NAT'd peer to
296  * other peer to establish bi-directional communication
297  */
298 #define GNUNET_MESSAGE_TYPE_TRANSPORT_TCP_NAT_PROBE 60
299
300 /**
301  * Welcome message between TCP transports.
302  */
303 #define GNUNET_MESSAGE_TYPE_TRANSPORT_TCP_WELCOME 61
304
305 /**
306  * Message to force transport to update bandwidth assignment (LEGACY)
307  */
308 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ATS 62
309
310 /*******************************************************************************
311  * NAT message types
312  ******************************************************************************/
313
314 /**
315  * Message to ask NAT server to perform traversal test
316  */
317 #define GNUNET_MESSAGE_TYPE_NAT_TEST 63
318
319 /*******************************************************************************
320  * CORE message types
321  ******************************************************************************/
322
323 /**
324  * Initial setup message from core client to core.
325  */
326 #define GNUNET_MESSAGE_TYPE_CORE_INIT 64
327
328 /**
329  * Response from core to core client to INIT message.
330  */
331 #define GNUNET_MESSAGE_TYPE_CORE_INIT_REPLY 65
332
333 /**
334  * Notify clients about new peer-to-peer connections (triggered
335  * after key exchange).
336  */
337 #define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_CONNECT 67
338
339 /**
340  * Notify clients about peer disconnecting.
341  */
342 #define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_DISCONNECT 68
343
344 /**
345  * Notify clients about peer status change.
346  */
347 #define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_STATUS_CHANGE 69
348
349 /**
350  * Notify clients about incoming P2P messages.
351  */
352 #define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_INBOUND 70
353
354 /**
355  * Notify clients about outgoing P2P transmissions.
356  */
357 #define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_OUTBOUND 71
358
359 /**
360  * Request from client to transmit message.
361  */
362 #define GNUNET_MESSAGE_TYPE_CORE_SEND_REQUEST 74
363
364 /**
365  * Confirmation from core that message can now be sent
366  */
367 #define GNUNET_MESSAGE_TYPE_CORE_SEND_READY 75
368
369 /**
370  * Client with message to transmit (after SEND_READY confirmation
371  * was received).
372  */
373 #define GNUNET_MESSAGE_TYPE_CORE_SEND 76
374
375 /**
376  * Request for connection monitoring from CORE service.
377  */
378 #define GNUNET_MESSAGE_TYPE_CORE_MONITOR_PEERS 78
379
380 /**
381  * Reply for monitor by CORE service.
382  */
383 #define GNUNET_MESSAGE_TYPE_CORE_MONITOR_NOTIFY 79
384
385 /**
386  * Encapsulation for an encrypted message between peers.
387  */
388 #define GNUNET_MESSAGE_TYPE_CORE_ENCRYPTED_MESSAGE 82
389
390 /**
391  * Check that other peer is alive (challenge).
392  */
393 #define GNUNET_MESSAGE_TYPE_CORE_PING 83
394
395 /**
396  * Confirmation that other peer is alive.
397  */
398 #define GNUNET_MESSAGE_TYPE_CORE_PONG 84
399
400 /**
401  * Request by the other peer to terminate the connection.
402  */
403 #define GNUNET_MESSAGE_TYPE_CORE_HANGUP 85
404
405 /**
406  * gzip-compressed type map of the sender
407  */
408 #define GNUNET_MESSAGE_TYPE_CORE_COMPRESSED_TYPE_MAP 86
409
410 /**
411  * uncompressed type map of the sender
412  */
413 #define GNUNET_MESSAGE_TYPE_CORE_BINARY_TYPE_MAP 87
414
415 /**
416  * Session key exchange between peers.
417  */
418 #define GNUNET_MESSAGE_TYPE_CORE_EPHEMERAL_KEY 88
419
420 /**
421  * Other peer confirms having received the type map
422  */
423 #define GNUNET_MESSAGE_TYPE_CORE_CONFIRM_TYPE_MAP 89
424
425
426 /*******************************************************************************
427  * DATASTORE message types
428  ******************************************************************************/
429
430 /**
431  * Message sent by datastore client on join.
432  */
433 #define GNUNET_MESSAGE_TYPE_DATASTORE_RESERVE 92
434
435 /**
436  * Message sent by datastore client on join.
437  */
438 #define GNUNET_MESSAGE_TYPE_DATASTORE_RELEASE_RESERVE 93
439
440 /**
441  * Message sent by datastore to client informing about status
442  * processing a request
443  * (in response to RESERVE, RELEASE_RESERVE, PUT, UPDATE and REMOVE requests).
444  */
445 #define GNUNET_MESSAGE_TYPE_DATASTORE_STATUS 94
446
447 /**
448  * Message sent by datastore client to store data.
449  */
450 #define GNUNET_MESSAGE_TYPE_DATASTORE_PUT 95
451
452 /**
453  * Message sent by datastore client to get data.
454  */
455 #define GNUNET_MESSAGE_TYPE_DATASTORE_GET 97
456
457 /**
458  * Message sent by datastore client to get random data.
459  */
460 #define GNUNET_MESSAGE_TYPE_DATASTORE_GET_REPLICATION 98
461
462 /**
463  * Message sent by datastore client to get random data.
464  */
465 #define GNUNET_MESSAGE_TYPE_DATASTORE_GET_ZERO_ANONYMITY 99
466
467 /**
468  * Message sent by datastore to client providing requested data
469  * (in response to GET or GET_RANDOM request).
470  */
471 #define GNUNET_MESSAGE_TYPE_DATASTORE_DATA 100
472
473 /**
474  * Message sent by datastore to client signaling end of matching data.
475  * This message will also be sent for "GET_RANDOM", even though
476  * "GET_RANDOM" returns at most one data item.
477  */
478 #define GNUNET_MESSAGE_TYPE_DATASTORE_DATA_END 101
479
480 /**
481  * Message sent by datastore client to remove data.
482  */
483 #define GNUNET_MESSAGE_TYPE_DATASTORE_REMOVE 102
484
485 /**
486  * Message sent by datastore client to drop the database.
487  */
488 #define GNUNET_MESSAGE_TYPE_DATASTORE_DROP 103
489
490 /**
491  * Message sent by datastore client to get data by key.
492  */
493 #define GNUNET_MESSAGE_TYPE_DATASTORE_GET_KEY 104
494
495
496 /*******************************************************************************
497  * FS message types
498  ******************************************************************************/
499
500 /**
501  * Message sent by fs client to request LOC signature.
502  */
503 #define GNUNET_MESSAGE_TYPE_FS_REQUEST_LOC_SIGN 126
504
505 /**
506  * Reply sent by fs service with LOC signature.
507  */
508 #define GNUNET_MESSAGE_TYPE_FS_REQUEST_LOC_SIGNATURE 127
509
510 /**
511  * Message sent by fs client to start indexing.
512  */
513 #define GNUNET_MESSAGE_TYPE_FS_INDEX_START 128
514
515 /**
516  * Affirmative response to a request for start indexing.
517  */
518 #define GNUNET_MESSAGE_TYPE_FS_INDEX_START_OK 129
519
520 /**
521  * Response to a request for start indexing that
522  * refuses.
523  */
524 #define GNUNET_MESSAGE_TYPE_FS_INDEX_START_FAILED 130
525
526 /**
527  * Request from client for list of indexed files.
528  */
529 #define GNUNET_MESSAGE_TYPE_FS_INDEX_LIST_GET 131
530
531 /**
532  * Reply to client with an indexed file name.
533  */
534 #define GNUNET_MESSAGE_TYPE_FS_INDEX_LIST_ENTRY 132
535
536 /**
537  * Reply to client indicating end of list.
538  */
539 #define GNUNET_MESSAGE_TYPE_FS_INDEX_LIST_END 133
540
541 /**
542  * Request from client to unindex a file.
543  */
544 #define GNUNET_MESSAGE_TYPE_FS_UNINDEX 134
545
546 /**
547  * Reply to client indicating unindex receipt.
548  */
549 #define GNUNET_MESSAGE_TYPE_FS_UNINDEX_OK 135
550
551 /**
552  * Client asks FS service to start a (keyword) search.
553  */
554 #define GNUNET_MESSAGE_TYPE_FS_START_SEARCH 136
555
556 /**
557  * P2P request for content (one FS to another).
558  */
559 #define GNUNET_MESSAGE_TYPE_FS_GET 137
560
561 /**
562  * P2P response with content or active migration of content.  Also
563  * used between the service and clients (in response to
564  * #GNUNET_MESSAGE_TYPE_FS_START_SEARCH).
565  */
566 #define GNUNET_MESSAGE_TYPE_FS_PUT 138
567
568 /**
569  * Peer asks us to stop migrating content towards it for a while.
570  */
571 #define GNUNET_MESSAGE_TYPE_FS_MIGRATION_STOP 139
572
573 /**
574  * P2P request for content (one FS to another via a cadet).
575  */
576 #define GNUNET_MESSAGE_TYPE_FS_CADET_QUERY 140
577
578 /**
579  * P2P answer for content (one FS to another via a cadet).
580  */
581 #define GNUNET_MESSAGE_TYPE_FS_CADET_REPLY 141
582
583
584 /*******************************************************************************
585  * DHT message types
586  ******************************************************************************/
587 /**
588  * Client wants to store item in DHT.
589  */
590 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_PUT 142
591
592 /**
593  * Client wants to lookup item in DHT.
594  */
595 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET 143
596
597 /**
598  * Client wants to stop search in DHT.
599  */
600 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_STOP 144
601
602 /**
603  * Service returns result to client.
604  */
605 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_RESULT 145
606
607 /**
608  * Peer is storing data in DHT.
609  */
610 #define GNUNET_MESSAGE_TYPE_DHT_P2P_PUT 146
611
612 /**
613  * Peer tries to find data in DHT.
614  */
615 #define GNUNET_MESSAGE_TYPE_DHT_P2P_GET 147
616
617 /**
618  * Data is returned to peer from DHT.
619  */
620 #define GNUNET_MESSAGE_TYPE_DHT_P2P_RESULT 148
621
622 /**
623  * Receive information about transiting GETs
624  */
625 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET             149
626
627 /**
628  * Receive information about transiting GET responses
629  */
630 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET_RESP        150
631
632 /**
633  * Receive information about transiting PUTs
634  */
635 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_PUT             151
636
637 /**
638  * Receive information about transiting PUT responses (TODO)
639  */
640 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_PUT_RESP        152
641
642 /**
643  * Request information about transiting messages
644  */
645 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_START             153
646
647 /**
648  * Stop information about transiting messages
649  */
650 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_STOP             154
651
652 /**
653  * Certain results are already known to the client, filter those.
654  */
655 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_RESULTS_KNOWN             156
656
657 /**
658  * Further X-VINE DHT messages continued from 880
659  */
660
661 /*******************************************************************************
662  * HOSTLIST message types
663  ******************************************************************************/
664
665 /**
666  * Hostlist advertisement message
667  */
668 #define GNUNET_MESSAGE_TYPE_HOSTLIST_ADVERTISEMENT 160
669
670
671 /*******************************************************************************
672  * STATISTICS message types
673  ******************************************************************************/
674
675 /**
676  * Set a statistical value.
677  */
678 #define GNUNET_MESSAGE_TYPE_STATISTICS_SET 168
679
680 /**
681  * Get a statistical value(s).
682  */
683 #define GNUNET_MESSAGE_TYPE_STATISTICS_GET 169
684
685 /**
686  * Response to a STATISTICS_GET message (with value).
687  */
688 #define GNUNET_MESSAGE_TYPE_STATISTICS_VALUE 170
689
690 /**
691  * Response to a STATISTICS_GET message (end of value stream).
692  */
693 #define GNUNET_MESSAGE_TYPE_STATISTICS_END 171
694
695 /**
696  * Watch changes to a statistical value.  Message format is the same
697  * as for GET, except that the subsystem and entry name must be given.
698  */
699 #define GNUNET_MESSAGE_TYPE_STATISTICS_WATCH 172
700
701 /**
702  * Changes to a watched value.
703  */
704 #define GNUNET_MESSAGE_TYPE_STATISTICS_WATCH_VALUE 173
705
706 /**
707  * Client is done sending service requests and will now disconnect.
708  */
709 #define GNUNET_MESSAGE_TYPE_STATISTICS_DISCONNECT 174
710
711 /**
712  * Service confirms disconnect and that it is done processing
713  * all requests from the client.
714  */
715 #define GNUNET_MESSAGE_TYPE_STATISTICS_DISCONNECT_CONFIRM 175
716
717 /*******************************************************************************
718  * VPN message types
719  ******************************************************************************/
720
721 /**
722  * Type of messages between the gnunet-vpn-helper and the daemon
723  */
724 #define GNUNET_MESSAGE_TYPE_VPN_HELPER 185
725
726 /**
727  * Type of messages containing an ICMP packet for a service.
728  */
729 #define GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_SERVICE 190
730
731 /**
732  * Type of messages containing an ICMP packet for the Internet.
733  */
734 #define GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_INTERNET 191
735
736 /**
737  * Type of messages containing an ICMP packet for the VPN
738  */
739 #define GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_VPN 192
740
741 /**
742  * Type of messages containing an DNS request for a DNS exit service.
743  */
744 #define GNUNET_MESSAGE_TYPE_VPN_DNS_TO_INTERNET 193
745
746 /**
747  * Type of messages containing an DNS reply from a DNS exit service.
748  */
749 #define GNUNET_MESSAGE_TYPE_VPN_DNS_FROM_INTERNET 194
750
751 /**
752  * Type of messages containing an TCP packet for a service.
753  */
754 #define GNUNET_MESSAGE_TYPE_VPN_TCP_TO_SERVICE_START 195
755
756 /**
757  * Type of messages containing an TCP packet for the Internet.
758  */
759 #define GNUNET_MESSAGE_TYPE_VPN_TCP_TO_INTERNET_START 196
760
761 /**
762  * Type of messages containing an TCP packet of an established connection.
763  */
764 #define GNUNET_MESSAGE_TYPE_VPN_TCP_DATA_TO_EXIT 197
765
766 /**
767  * Type of messages containing an TCP packet of an established connection.
768  */
769 #define GNUNET_MESSAGE_TYPE_VPN_TCP_DATA_TO_VPN 198
770
771 /**
772  * Type of messages containing an UDP packet for a service.
773  */
774 #define GNUNET_MESSAGE_TYPE_VPN_UDP_TO_SERVICE 199
775
776 /**
777  * Type of messages containing an UDP packet for the Internet.
778  */
779 #define GNUNET_MESSAGE_TYPE_VPN_UDP_TO_INTERNET 200
780
781 /**
782  * Type of messages containing an UDP packet from a remote host
783  */
784 #define GNUNET_MESSAGE_TYPE_VPN_UDP_REPLY 201
785
786
787 /**
788  * Client asks VPN service to setup an IP to redirect traffic
789  * via an exit node to some global IP address.
790  */
791 #define GNUNET_MESSAGE_TYPE_VPN_CLIENT_REDIRECT_TO_IP 202
792
793 /**
794  * Client asks VPN service to setup an IP to redirect traffic
795  * to some peer offering a service.
796  */
797 #define GNUNET_MESSAGE_TYPE_VPN_CLIENT_REDIRECT_TO_SERVICE 203
798
799 /**
800  * VPN service responds to client with an IP to use for the
801  * requested redirection.
802  */
803 #define GNUNET_MESSAGE_TYPE_VPN_CLIENT_USE_IP 204
804
805
806 /*******************************************************************************
807  * VPN-DNS message types
808  ******************************************************************************/
809
810
811 /**
812  * Initial message from client to DNS service for registration.
813  */
814 #define GNUNET_MESSAGE_TYPE_DNS_CLIENT_INIT 211
815
816 /**
817  * Type of messages between the gnunet-helper-dns and the service
818  */
819 #define GNUNET_MESSAGE_TYPE_DNS_CLIENT_REQUEST 212
820
821 /**
822  * Type of messages between the gnunet-helper-dns and the service
823  */
824 #define GNUNET_MESSAGE_TYPE_DNS_CLIENT_RESPONSE 213
825
826 /**
827  * Type of messages between the gnunet-helper-dns and the service
828  */
829 #define GNUNET_MESSAGE_TYPE_DNS_HELPER 214
830
831
832
833 /*******************************************************************************
834  * CHAT message types START
835  ******************************************************************************/
836
837 /**
838  * Message sent from client to join a chat room.
839  */
840 #define GNUNET_MESSAGE_TYPE_CHAT_JOIN_REQUEST 300
841
842 /**
843  * Message sent to client to indicate joining of another room member.
844  */
845 #define GNUNET_MESSAGE_TYPE_CHAT_JOIN_NOTIFICATION 301
846
847 /**
848  * Message sent to client to indicate leaving of another room member.
849  */
850 #define GNUNET_MESSAGE_TYPE_CHAT_LEAVE_NOTIFICATION 302
851
852 /**
853  * Notification sent by service to client indicating that we've received a chat
854  * message.
855  */
856 #define GNUNET_MESSAGE_TYPE_CHAT_MESSAGE_NOTIFICATION 303
857
858 /**
859  * Request sent by client to transmit a chat message to another room members.
860  */
861 #define GNUNET_MESSAGE_TYPE_CHAT_TRANSMIT_REQUEST 304
862
863 /**
864  * Receipt sent from a message receiver to the service to confirm delivery of
865  * a chat message.
866  */
867 #define GNUNET_MESSAGE_TYPE_CHAT_CONFIRMATION_RECEIPT 305
868
869 /**
870  * Notification sent from the service to the original sender
871  * to acknowledge delivery of a chat message.
872  */
873 #define GNUNET_MESSAGE_TYPE_CHAT_CONFIRMATION_NOTIFICATION 306
874
875 /**
876  * P2P message sent to indicate joining of another room member.
877  */
878 #define GNUNET_MESSAGE_TYPE_CHAT_P2P_JOIN_NOTIFICATION 307
879
880 /**
881  * P2P message sent to indicate leaving of another room member.
882  */
883 #define GNUNET_MESSAGE_TYPE_CHAT_P2P_LEAVE_NOTIFICATION 308
884
885 /**
886  * P2P message sent to a newly connected peer to request its known clients in
887  * order to synchronize room members.
888  */
889 #define GNUNET_MESSAGE_TYPE_CHAT_P2P_SYNC_REQUEST 309
890
891 /**
892  * Notification sent from one peer to another to indicate that we have received
893  * a chat message.
894  */
895 #define GNUNET_MESSAGE_TYPE_CHAT_P2P_MESSAGE_NOTIFICATION 310
896
897 /**
898  * P2P receipt confirming delivery of a chat message.
899  */
900 #define GNUNET_MESSAGE_TYPE_CHAT_P2P_CONFIRMATION_RECEIPT 311
901
902
903 /*******************************************************************************
904  * NSE (network size estimation) message types
905  ******************************************************************************/
906
907 /**
908  * client->service message indicating start
909  */
910 #define GNUNET_MESSAGE_TYPE_NSE_START 321
911
912 /**
913  * P2P message sent from nearest peer
914  */
915 #define GNUNET_MESSAGE_TYPE_NSE_P2P_FLOOD 322
916
917 /**
918  * service->client message indicating
919  */
920 #define GNUNET_MESSAGE_TYPE_NSE_ESTIMATE 323
921
922
923 /*******************************************************************************
924  * PEERINFO message types
925  ******************************************************************************/
926
927 /**
928  * Request update and listing of a peer.
929  */
930 #define GNUNET_MESSAGE_TYPE_PEERINFO_GET 330
931
932 /**
933  * Request update and listing of all peers.
934  */
935 #define GNUNET_MESSAGE_TYPE_PEERINFO_GET_ALL 331
936
937 /**
938  * Information about one of the peers.
939  */
940 #define GNUNET_MESSAGE_TYPE_PEERINFO_INFO 332
941
942 /**
943  * End of information about other peers.
944  */
945 #define GNUNET_MESSAGE_TYPE_PEERINFO_INFO_END 333
946
947 /**
948  * Start notifying this client about all changes to
949  * the known peers until it disconnects.
950  */
951 #define GNUNET_MESSAGE_TYPE_PEERINFO_NOTIFY 334
952
953 /*******************************************************************************
954  * ATS message types
955  ******************************************************************************/
956
957 /**
958  * Type of the 'struct ClientStartMessage' sent by clients to ATS to
959  * identify the type of the client.
960  */
961 #define GNUNET_MESSAGE_TYPE_ATS_START 340
962
963 /**
964  * Type of the 'struct RequestAddressMessage' sent by clients to ATS
965  * to request an address to help connect.
966  */
967 #define GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS 341
968
969 /**
970  * Type of the 'struct RequestAddressMessage' sent by clients to ATS
971  * to request an address to help connect.
972  */
973 #define GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS_CANCEL 342
974
975 /**
976  * Type of the 'struct AddressUpdateMessage' sent by clients to ATS
977  * to inform ATS about performance changes.
978  */
979 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_UPDATE 343
980
981 /**
982  * Type of the 'struct AddressDestroyedMessage' sent by clients to ATS
983  * to inform ATS about an address being unavailable.
984  */
985 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_DESTROYED 344
986
987 /**
988  * Type of the 'struct AddressSuggestionMessage' sent by ATS to clients
989  * to suggest switching to a different address.
990  */
991 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_SUGGESTION 345
992
993 /**
994  * Type of the 'struct PeerInformationMessage' sent by ATS to clients
995  * to inform about QoS for a particular connection.
996  */
997 #define GNUNET_MESSAGE_TYPE_ATS_PEER_INFORMATION 346
998
999 /**
1000  * Type of the 'struct ReservationRequestMessage' sent by clients to ATS
1001  * to ask for inbound bandwidth reservations.
1002  */
1003 #define GNUNET_MESSAGE_TYPE_ATS_RESERVATION_REQUEST 347
1004
1005 /**
1006  * Type of the 'struct ReservationResultMessage' sent by ATS to clients
1007  * in response to a reservation request.
1008  */
1009 #define GNUNET_MESSAGE_TYPE_ATS_RESERVATION_RESULT 348
1010
1011 /**
1012  * Type of the 'struct ChangePreferenceMessage' sent by clients to ATS
1013  * to ask for allocation preference changes.
1014  */
1015 #define GNUNET_MESSAGE_TYPE_ATS_PREFERENCE_CHANGE 349
1016
1017 /**
1018  * Type of the 'struct SessionReleaseMessage' sent by ATS to client
1019  * to confirm that a session ID was destroyed.
1020  */
1021 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_RELEASE 350
1022
1023 /**
1024  * Type of the 'struct AddressUpdateMessage' sent by client to ATS
1025  * to add a new address
1026  */
1027 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_ADD 353
1028
1029 /**
1030  * Type of the 'struct AddressListRequestMessage' sent by client to ATS
1031  * to request information about addresses
1032  */
1033 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESSLIST_REQUEST 354
1034
1035 /**
1036  * Type of the 'struct AddressListResponseMessage' sent by ATS to client
1037  * with information about addresses
1038  */
1039 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESSLIST_RESPONSE 355
1040
1041 /**
1042  * Type of the 'struct ChangePreferenceMessage' sent by clients to ATS
1043  * to ask for allocation preference changes.
1044  */
1045 #define GNUNET_MESSAGE_TYPE_ATS_PREFERENCE_FEEDBACK 356
1046
1047
1048 /*******************************************************************************
1049  * TRANSPORT message types
1050  ******************************************************************************/
1051
1052 /**
1053  * Message from the core saying that the transport
1054  * server should start giving it messages.  This
1055  * should automatically trigger the transmission of
1056  * a HELLO message.
1057  */
1058 #define GNUNET_MESSAGE_TYPE_TRANSPORT_START 360
1059
1060 /**
1061  * Message from TRANSPORT notifying about a
1062  * client that connected to us.
1063  */
1064 #define GNUNET_MESSAGE_TYPE_TRANSPORT_CONNECT 361
1065
1066 /**
1067  * Message from TRANSPORT notifying about a
1068  * client that disconnected from us.
1069  */
1070 #define GNUNET_MESSAGE_TYPE_TRANSPORT_DISCONNECT 362
1071
1072 /**
1073  * Request to TRANSPORT to transmit a message.
1074  */
1075 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SEND 363
1076
1077 /**
1078  * Confirmation from TRANSPORT that message for transmission has been
1079  * queued (and that the next message to this peer can now be passed to
1080  * the service).  Note that this confirmation does NOT imply that the
1081  * message was fully transmitted.
1082  */
1083 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SEND_OK 364
1084
1085 /**
1086  * Message from TRANSPORT notifying about a
1087  * message that was received.
1088  */
1089 #define GNUNET_MESSAGE_TYPE_TRANSPORT_RECV 365
1090
1091 /**
1092  * Message telling transport to limit its receive rate.
1093  */
1094 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SET_QUOTA 366
1095
1096 /**
1097  * Request to look addresses of peers in server.
1098  */
1099 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_TO_STRING 367
1100
1101 /**
1102  * Response to the address lookup request.
1103  */
1104 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_TO_STRING_REPLY 368
1105
1106 /**
1107  * Register a client that wants to do blacklisting.
1108  */
1109 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BLACKLIST_INIT 369
1110
1111 /**
1112  * Query to a blacklisting client (is this peer blacklisted)?
1113  */
1114 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BLACKLIST_QUERY 370
1115
1116 /**
1117  * Reply from blacklisting client (answer to blacklist query).
1118  */
1119 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BLACKLIST_REPLY 371
1120
1121 /**
1122  * Transport PING message
1123  */
1124 #define GNUNET_MESSAGE_TYPE_TRANSPORT_PING 372
1125
1126 /**
1127  * Transport PONG message
1128  */
1129 #define GNUNET_MESSAGE_TYPE_TRANSPORT_PONG 373
1130
1131 /**
1132  * Transport SYN message exchanged between transport services to
1133  * indicate that a session should be marked as 'connected'.
1134  */
1135 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_SYN 375
1136
1137 /**
1138  * Transport SYN_ACK message exchanged between transport services to
1139  * indicate that a SYN message was accepted
1140  */
1141 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_SYN_ACK 376
1142
1143 /**
1144  * Transport ACK message exchanged between transport services to
1145  * indicate that a SYN_ACK message was accepted
1146  */
1147 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_ACK 377
1148
1149 /**
1150  * Transport DISCONNECT message exchanged between transport services to
1151  * indicate that a connection should be dropped.
1152  */
1153 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_DISCONNECT 378
1154
1155 /**
1156  * Message exchanged between transport services to
1157  * indicate that the sender should limit its transmission
1158  * rate to the indicated quota.
1159  */
1160 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_QUOTA 379
1161
1162 /**
1163  * Request to monitor addresses used by a peer or all peers.
1164  */
1165 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_REQUEST 380
1166
1167 /**
1168  * Message send by a peer to notify the other to keep the session alive
1169  * and measure latency in a regular interval
1170  */
1171 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE 381
1172
1173 /**
1174  * Response to a #GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE message to
1175  * measure latency in a regular interval
1176  */
1177 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE_RESPONSE 382
1178
1179 /**
1180  * Response to #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_REQUEST
1181  * request to iterate over all known addresses.
1182  */
1183 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_RESPONSE 383
1184
1185 /**
1186  * Message send by a peer to notify the other to keep the session alive.
1187  */
1188 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BROADCAST_BEACON 384
1189
1190 /**
1191  * Message containing traffic metrics for transport service
1192  */
1193 #define GNUNET_MESSAGE_TYPE_TRANSPORT_TRAFFIC_METRIC 385
1194
1195 /**
1196  * Request to start monitoring the connection state of plugins.
1197  */
1198 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_START 388
1199
1200 /**
1201  * Monitoring event about the connection state of plugins,
1202  * generated in response to a subscription initiated via
1203  * #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_START
1204  */
1205 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_EVENT 389
1206
1207 /**
1208  * Monitoring event notifying client that the initial iteration
1209  * is now completed and we are in sync with the state of the subsystem.
1210  */
1211 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_SYNC 390
1212
1213 /**
1214  * Response to #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_RESPONSE_END
1215  * terminating list of replies.
1216  */
1217 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_RESPONSE_END 391
1218
1219
1220 /*******************************************************************************
1221  * FS-PUBLISH-HELPER IPC Messages
1222  ******************************************************************************/
1223
1224 /**
1225  * Progress information from the helper: found a file
1226  */
1227 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_PROGRESS_FILE 420
1228
1229 /**
1230  * Progress information from the helper: found a directory
1231  */
1232 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_PROGRESS_DIRECTORY 421
1233
1234 /**
1235  * Error signal from the helper.
1236  */
1237 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_ERROR 422
1238
1239 /**
1240  * Signal that helper skipped a file.
1241  */
1242 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_SKIP_FILE 423
1243
1244 /**
1245  * Signal that helper is done scanning the directory tree.
1246  */
1247 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_COUNTING_DONE 424
1248
1249 /**
1250  * Extracted meta data from the helper.
1251  */
1252 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_META_DATA 425
1253
1254 /**
1255  * Signal that helper is done.
1256  */
1257 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_FINISHED 426
1258
1259
1260 /*******************************************************************************
1261  * NAMECACHE message types
1262  ******************************************************************************/
1263
1264 /**
1265  * Client to service: lookup block
1266  */
1267 #define GNUNET_MESSAGE_TYPE_NAMECACHE_LOOKUP_BLOCK 431
1268
1269 /**
1270  * Service to client: result of block lookup
1271  */
1272 #define GNUNET_MESSAGE_TYPE_NAMECACHE_LOOKUP_BLOCK_RESPONSE 432
1273
1274 /**
1275  * Client to service: cache a block
1276  */
1277 #define GNUNET_MESSAGE_TYPE_NAMECACHE_BLOCK_CACHE 433
1278
1279 /**
1280  * Service to client: result of block cache request
1281  */
1282 #define GNUNET_MESSAGE_TYPE_NAMECACHE_BLOCK_CACHE_RESPONSE 434
1283
1284 /*******************************************************************************
1285  * NAMESTORE message types
1286  ******************************************************************************/
1287
1288 /**
1289  * Client to service: store records (as authority)
1290  */
1291 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_STORE 435
1292
1293 /**
1294  * Service to client: result of store operation.
1295  */
1296 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_STORE_RESPONSE 436
1297
1298 /**
1299  * Client to service: lookup label
1300  */
1301 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_LOOKUP 437
1302
1303 /**
1304  * Service to client: lookup label
1305  */
1306 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_LOOKUP_RESPONSE 438
1307
1308 /**
1309  * Client to service: "reverse" lookup for zone name based on zone key
1310  */
1311 #define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_TO_NAME 439
1312
1313 /**
1314  * Service to client: result of zone-to-name lookup.
1315  */
1316 #define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_TO_NAME_RESPONSE 440
1317
1318 /**
1319  * Client to service: start monitoring (yields sequence of
1320  * "ZONE_ITERATION_RESPONSES" --- forever).
1321  */
1322 #define GNUNET_MESSAGE_TYPE_NAMESTORE_MONITOR_START 441
1323
1324 /**
1325  * Service to client: you're now in sync.
1326  */
1327 #define GNUNET_MESSAGE_TYPE_NAMESTORE_MONITOR_SYNC 442
1328
1329 /**
1330  * Service to client: here is a (plaintext) record you requested.
1331  */
1332 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_RESULT 443
1333
1334 /**
1335  * Client to service: I am now ready for the next (set of) monitor
1336  * events. Monitoring equivlaent of
1337  * #GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_ITERATION_NEXT.
1338  */
1339 #define GNUNET_MESSAGE_TYPE_NAMESTORE_MONITOR_NEXT 444
1340
1341 /**
1342  * Client to service: please start iteration; receives
1343  * "GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_NAME_RESPONSE" messages in return.
1344  */
1345 #define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_ITERATION_START 445
1346
1347 /**
1348  * Client to service: next record(s) in iteration please.
1349  */
1350 #define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_ITERATION_NEXT 447
1351
1352 /**
1353  * Client to service: stop iterating.
1354  */
1355 #define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_ITERATION_STOP 448
1356
1357 /**
1358  * Service to client: end of list of results
1359  */
1360 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_RESULT_END 449
1361
1362
1363 /*******************************************************************************
1364  * LOCKMANAGER message types
1365  ******************************************************************************/
1366
1367 /**
1368  * Message to acquire Lock
1369  */
1370 #define GNUNET_MESSAGE_TYPE_LOCKMANAGER_ACQUIRE 450
1371
1372 /**
1373  * Message to release lock
1374  */
1375 #define GNUNET_MESSAGE_TYPE_LOCKMANAGER_RELEASE 451
1376
1377 /**
1378  * SUCESS reply from lockmanager
1379  */
1380 #define GNUNET_MESSAGE_TYPE_LOCKMANAGER_SUCCESS 452
1381
1382 /*******************************************************************************
1383  * TESTBED message types
1384  ******************************************************************************/
1385
1386 /**
1387  * Initial message from a client to a testing control service
1388  */
1389 #define GNUNET_MESSAGE_TYPE_TESTBED_INIT 460
1390
1391 /**
1392  * Message to add host
1393  */
1394 #define GNUNET_MESSAGE_TYPE_TESTBED_ADD_HOST 461
1395
1396 /**
1397  * Message to signal that a add host succeeded
1398  */
1399 #define GNUNET_MESSAGE_TYPE_TESTBED_ADD_HOST_SUCCESS 462
1400
1401 /**
1402  * Message to link delegated controller to slave controller
1403  */
1404 #define GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS 463
1405
1406 /**
1407  * Message to create a peer at a host
1408  */
1409 #define GNUNET_MESSAGE_TYPE_TESTBED_CREATE_PEER 464
1410
1411 /**
1412  * Message to reconfigure a peer
1413  */
1414 #define GNUNET_MESSAGE_TYPE_TESTBED_RECONFIGURE_PEER 465
1415
1416 /**
1417  * Message to start a peer at a host
1418  */
1419 #define GNUNET_MESSAGE_TYPE_TESTBED_START_PEER 466
1420
1421 /**
1422  * Message to stop a peer at a host
1423  */
1424 #define GNUNET_MESSAGE_TYPE_TESTBED_STOP_PEER 467
1425
1426 /**
1427  * Message to destroy a peer
1428  */
1429 #define GNUNET_MESSAGE_TYPE_TESTBED_DESTROY_PEER 468
1430
1431 /**
1432  * Configure underlay link message
1433  */
1434 #define GNUNET_MESSAGE_TYPE_TESTBED_CONFIGURE_UNDERLAY_LINK 469
1435
1436 /**
1437  * Message to connect peers in a overlay
1438  */
1439 #define GNUNET_MESSAGE_TYPE_TESTBED_OVERLAY_CONNECT 470
1440
1441 /**
1442  * Message for peer events
1443  */
1444 #define GNUNET_MESSAGE_TYPE_TESTBED_PEER_EVENT 471
1445
1446 /**
1447  * Message for peer connect events
1448  */
1449 #define GNUNET_MESSAGE_TYPE_TESTBED_PEER_CONNECT_EVENT 472
1450
1451 /**
1452  * Message for operation events
1453  */
1454 #define GNUNET_MESSAGE_TYPE_TESTBED_OPERATION_FAIL_EVENT 473
1455
1456 /**
1457  * Message to signal successful peer creation
1458  */
1459 #define GNUNET_MESSAGE_TYPE_TESTBED_CREATE_PEER_SUCCESS 474
1460
1461 /**
1462  * Message to signal a generic operation has been successful
1463  */
1464 #define GNUNET_MESSAGE_TYPE_TESTBED_GENERIC_OPERATION_SUCCESS 475
1465
1466 /**
1467  * Message to get a peer's information
1468  */
1469 #define GNUNET_MESSAGE_TYPE_TESTBED_GET_PEER_INFORMATION 476
1470
1471 /**
1472  * Message containing the peer's information
1473  */
1474 #define GNUNET_MESSAGE_TYPE_TESTBED_PEER_INFORMATION 477
1475
1476 /**
1477  * Message to request a controller to make one of its peer to connect to another
1478  * peer using the contained HELLO
1479  */
1480 #define GNUNET_MESSAGE_TYPE_TESTBED_REMOTE_OVERLAY_CONNECT 478
1481
1482 /**
1483  * Message to request configuration of a slave controller
1484  */
1485 #define GNUNET_MESSAGE_TYPE_TESTBED_GET_SLAVE_CONFIGURATION 479
1486
1487 /**
1488  * Message which contains the configuration of slave controller
1489  */
1490 #define GNUNET_MESSAGE_TYPE_TESTBED_SLAVE_CONFIGURATION 480
1491
1492 /**
1493  * Message to signal the result of #GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS request
1494  */
1495 #define GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS_RESULT 481
1496
1497 /**
1498  * A controller receiving this message floods it to its directly-connected
1499  * sub-controllers and then stops and destroys all peers
1500  */
1501 #define GNUNET_MESSAGE_TYPE_TESTBED_SHUTDOWN_PEERS 482
1502
1503 /**
1504  * Message to start/stop a service of a peer
1505  */
1506 #define GNUNET_MESSAGE_TYPE_TESTBED_MANAGE_PEER_SERVICE 483
1507
1508 /**
1509  * Message to initialise a barrier.  Messages of these type are flooded to all
1510  * sub-controllers
1511  */
1512 #define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_INIT 484
1513
1514 /**
1515  * Message to cancel a barrier.  This message is flooded to all sub-controllers
1516  */
1517 #define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_CANCEL 485
1518
1519 /**
1520  * Message for signalling status of a barrier
1521  */
1522 #define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_STATUS 486
1523
1524 /**
1525  * Message sent by a peer when it has reached a barrier and is waiting for it to
1526  * be crossed
1527  */
1528 #define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_WAIT 487
1529
1530 /**
1531  * Not really a message, but for careful checks on the testbed messages; Should
1532  * always be the maximum and never be used to send messages with this type
1533  */
1534 #define GNUNET_MESSAGE_TYPE_TESTBED_MAX 488
1535
1536 /**
1537  * The initialization message towards gnunet-testbed-helper
1538  */
1539 #define GNUNET_MESSAGE_TYPE_TESTBED_HELPER_INIT 495
1540
1541 /**
1542  * The reply message from gnunet-testbed-helper
1543  */
1544 #define GNUNET_MESSAGE_TYPE_TESTBED_HELPER_REPLY 496
1545
1546
1547 /******************************************************************************
1548  * GNS.
1549  *****************************************************************************/
1550
1551 /**
1552  * Client would like to resolve a name.
1553  */
1554 #define GNUNET_MESSAGE_TYPE_GNS_LOOKUP 500
1555
1556 /**
1557  * Service response to name resolution request from client.
1558  */
1559 #define GNUNET_MESSAGE_TYPE_GNS_LOOKUP_RESULT 501
1560
1561 /**
1562  * Reverse lookup
1563  */
1564 #define GNUNET_MESSAGE_TYPE_GNS_REVERSE_LOOKUP 503
1565
1566 /**
1567  * Response to reverse lookup
1568  */
1569 #define GNUNET_MESSAGE_TYPE_GNS_REVERSE_LOOKUP_RESULT 504
1570
1571
1572 /*******************************************************************************
1573  * CONSENSUS message types
1574  ******************************************************************************/
1575
1576 /**
1577  * Join a consensus session. Sent by client to service as first message.
1578  */
1579 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_JOIN 520
1580
1581 /**
1582  * Insert an element. Sent by client to service.
1583  */
1584 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_INSERT 521
1585
1586 /**
1587  * Begin accepting new elements from other participants.
1588  * Sent by client to service.
1589  */
1590 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_BEGIN 522
1591
1592 /**
1593  * Sent by service when a new element is added.
1594  */
1595 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_RECEIVED_ELEMENT 523
1596
1597 /**
1598  * Sent by client to service in order to start the consensus conclusion.
1599  */
1600 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE 524
1601
1602 /**
1603  * Sent by service to client in order to signal a completed consensus conclusion.
1604  * Last message sent in a consensus session.
1605  */
1606 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE_DONE 525
1607
1608
1609 /* message types 526-539 reserved for consensus client/service messages */
1610
1611
1612 /**
1613  * Sent by client to service, telling whether a received element should
1614  * be accepted and propagated further or not.
1615  */
1616 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_ACK 540
1617
1618 /**
1619  * Strata estimator.
1620  */
1621 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_DELTA_ESTIMATE 541
1622
1623 /**
1624  * IBF containing all elements of a peer.
1625  */
1626 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_DIFFERENCE_DIGEST 542
1627
1628 /**
1629  * One or more elements that are sent from peer to peer.
1630  */
1631 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ELEMENTS 543
1632
1633 /**
1634  * Elements, and requests for further elements
1635  */
1636 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ELEMENTS_REQUEST 544
1637
1638 /**
1639  * Elements that a peer reports to be missing at the remote peer.
1640  */
1641 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ELEMENTS_REPORT 545
1642
1643 /*
1644  * Initialization message for consensus p2p communication.
1645  */
1646 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_HELLO 546
1647
1648 /**
1649  * Report that the peer is synced with the partner after successfuly decoding the invertible bloom filter.
1650  */
1651 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_SYNCED 547
1652
1653 /**
1654  * Interaction os over, got synched and reported all elements
1655  */
1656 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_FIN 548
1657
1658 /**
1659  * Abort a round, don't send requested elements anymore
1660  */
1661 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ABORT 548
1662
1663 /**
1664  * Abort a round, don't send requested elements anymore
1665  */
1666 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ROUND_CONTEXT 547
1667
1668
1669 /*******************************************************************************
1670  * SET message types
1671  ******************************************************************************/
1672
1673 /**
1674  * Demand the whole element from the other
1675  * peer, given only the hash code.
1676  */
1677 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_REQUEST_FULL 565
1678
1679 /**
1680  * Demand the whole element from the other
1681  * peer, given only the hash code.
1682  */
1683 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_DEMAND 566
1684
1685 /**
1686  * Tell the other peer to send us a list of
1687  * hashes that match an IBF key.
1688  */
1689 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_INQUIRY 567
1690
1691 /**
1692  * Tell the other peer which hashes match a
1693  * given IBF key.
1694  */
1695 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_OFFER 568
1696
1697 /**
1698  * Reject a set request.
1699  */
1700 #define GNUNET_MESSAGE_TYPE_SET_REJECT 569
1701
1702 /**
1703  * Cancel a set operation
1704  */
1705 #define GNUNET_MESSAGE_TYPE_SET_CANCEL 570
1706
1707 /**
1708  * Acknowledge result from iteration
1709  */
1710 #define GNUNET_MESSAGE_TYPE_SET_ITER_ACK 571
1711
1712 /**
1713  * Create an empty set
1714  */
1715 #define GNUNET_MESSAGE_TYPE_SET_RESULT 572
1716
1717 /**
1718  * Add element to set
1719  */
1720 #define GNUNET_MESSAGE_TYPE_SET_ADD 573
1721
1722 /**
1723  * Remove element from set
1724  */
1725 #define GNUNET_MESSAGE_TYPE_SET_REMOVE 574
1726
1727 /**
1728  * Listen for operation requests
1729  */
1730 #define GNUNET_MESSAGE_TYPE_SET_LISTEN 575
1731
1732 /**
1733  * Accept a set request
1734  */
1735 #define GNUNET_MESSAGE_TYPE_SET_ACCEPT 576
1736
1737 /**
1738  * Evaluate a set operation
1739  */
1740 #define GNUNET_MESSAGE_TYPE_SET_EVALUATE 577
1741
1742 /**
1743  * Start a set operation with the given set
1744  */
1745 #define GNUNET_MESSAGE_TYPE_SET_CONCLUDE 578
1746
1747 /**
1748  * Notify the client of a request from a remote peer
1749  */
1750 #define GNUNET_MESSAGE_TYPE_SET_REQUEST 579
1751
1752 /**
1753  * Create a new local set
1754  */
1755 #define GNUNET_MESSAGE_TYPE_SET_CREATE 580
1756
1757 /**
1758  * Request a set operation from a remote peer.
1759  */
1760 #define GNUNET_MESSAGE_TYPE_SET_P2P_OPERATION_REQUEST 581
1761
1762 /**
1763  * Strata estimator.
1764  */
1765 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_SE 582
1766
1767 /**
1768  * Invertible bloom filter.
1769  */
1770 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_IBF 583
1771
1772 /**
1773  * Actual set elements.
1774  */
1775 #define GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENTS 584
1776
1777 /**
1778  * Requests for the elements with the given hashes.
1779  */
1780 #define GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENT_REQUESTS 585
1781
1782 /**
1783  * Set operation is done.
1784  */
1785 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_DONE 586
1786
1787 /**
1788  * Start iteration over set elements.
1789  */
1790 #define GNUNET_MESSAGE_TYPE_SET_ITER_REQUEST 587
1791
1792 /**
1793  * Element result for the iterating client.
1794  */
1795 #define GNUNET_MESSAGE_TYPE_SET_ITER_ELEMENT 588
1796
1797 /**
1798  * Iteration end marker for the client.
1799  */
1800 #define GNUNET_MESSAGE_TYPE_SET_ITER_DONE 589
1801
1802 /**
1803  * Compressed strata estimator.
1804  */
1805 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_SEC 590
1806
1807 /**
1808  * Information about the element count for intersection
1809  */
1810 #define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_ELEMENT_INFO 591
1811
1812 /**
1813  * Bloom filter message for intersection exchange started by Bob.
1814  */
1815 #define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_BF 592
1816
1817 /**
1818  * Intersection operation is done.
1819  */
1820 #define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_DONE 593
1821
1822 /**
1823  * Ask the set service to prepare a copy of a set.
1824  */
1825 #define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_PREPARE 594
1826
1827 /**
1828  * Give the client an ID for connecting to the set's copy.
1829  */
1830 #define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_RESPONSE 595
1831
1832 /**
1833  * Sent by the client to the server to connect to an existing,
1834  * lazily copied set.
1835  */
1836 #define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_CONNECT 596
1837
1838 /**
1839  * Request all missing elements from the other peer,
1840  * based on their sets and the elements we previously sent
1841  * with #GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENTS.
1842  */
1843 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_FULL_DONE 597
1844
1845 /**
1846  * Send a set element, not as response to a demand but because
1847  * we're sending the full set.
1848  */
1849 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_FULL_ELEMENT 598
1850
1851 /**
1852  * Request all missing elements from the other peer,
1853  * based on their sets and the elements we previously sent
1854  * with #GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENTS.
1855  */
1856 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_OVER 599
1857
1858
1859 /*******************************************************************************
1860  * TESTBED LOGGER message types
1861  ******************************************************************************/
1862
1863 /**
1864  * Message for TESTBED LOGGER
1865  */
1866 #define GNUNET_MESSAGE_TYPE_TESTBED_LOGGER_MSG 600
1867
1868 /**
1869  * Message for TESTBED LOGGER acknowledgement
1870  */
1871 #define GNUNET_MESSAGE_TYPE_TESTBED_LOGGER_ACK 601
1872
1873
1874
1875 /**
1876  * Advertise regex capability.
1877  */
1878 #define GNUNET_MESSAGE_TYPE_REGEX_ANNOUNCE 620
1879
1880 /**
1881  * Search for peer with matching capability.
1882  */
1883 #define GNUNET_MESSAGE_TYPE_REGEX_SEARCH 621
1884
1885 /**
1886  * Result in response to regex search.
1887  */
1888 #define GNUNET_MESSAGE_TYPE_REGEX_RESULT 622
1889
1890 /*******************************************************************************
1891  * IDENTITY message types
1892  ******************************************************************************/
1893
1894 /**
1895  * First message send from identity client to service (to subscribe to
1896  * updates).
1897  */
1898 #define GNUNET_MESSAGE_TYPE_IDENTITY_START 624
1899
1900 /**
1901  * Generic response from identity service with success and/or error message.
1902  */
1903 #define GNUNET_MESSAGE_TYPE_IDENTITY_RESULT_CODE 625
1904
1905 /**
1906  * Update about identity status from service to clients.
1907  */
1908 #define GNUNET_MESSAGE_TYPE_IDENTITY_UPDATE 626
1909
1910 /**
1911  * Client requests to know default identity for a subsystem.
1912  */
1913 #define GNUNET_MESSAGE_TYPE_IDENTITY_GET_DEFAULT 627
1914
1915 /**
1916  * Client sets default identity; or service informs about default identity.
1917  */
1918 #define GNUNET_MESSAGE_TYPE_IDENTITY_SET_DEFAULT 628
1919
1920 /**
1921  * Create new identity (client->service).
1922  */
1923 #define GNUNET_MESSAGE_TYPE_IDENTITY_CREATE 629
1924
1925 /**
1926  * Rename existing identity (client->service).
1927  */
1928 #define GNUNET_MESSAGE_TYPE_IDENTITY_RENAME 630
1929
1930 /**
1931  * Delete identity (client->service).
1932  */
1933 #define GNUNET_MESSAGE_TYPE_IDENTITY_DELETE 631
1934
1935
1936 /*******************************************************************************
1937  * REVOCATION message types
1938  ******************************************************************************/
1939
1940 /**
1941  * Client to service: was this key revoked?
1942  */
1943 #define GNUNET_MESSAGE_TYPE_REVOCATION_QUERY 636
1944
1945 /**
1946  * Service to client: answer if key was revoked!
1947  */
1948 #define GNUNET_MESSAGE_TYPE_REVOCATION_QUERY_RESPONSE 637
1949
1950 /**
1951  * Client to service OR peer-to-peer: revoke this key!
1952  */
1953 #define GNUNET_MESSAGE_TYPE_REVOCATION_REVOKE 638
1954
1955 /**
1956  * Service to client: revocation confirmed
1957  */
1958 #define GNUNET_MESSAGE_TYPE_REVOCATION_REVOKE_RESPONSE 639
1959
1960
1961 /*******************************************************************************
1962  * SCALARPRODUCT message types
1963  ******************************************************************************/
1964
1965 /**
1966  * Client -> Alice
1967  */
1968 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_TO_ALICE 640
1969
1970 /**
1971  * Client -> Bob
1972  */
1973 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_TO_BOB 641
1974
1975 /**
1976  * Client -> Alice multipart
1977  */
1978 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_MULTIPART_ALICE 642
1979
1980 /**
1981  * Client -> Bob multipart
1982  */
1983 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_MULTIPART_BOB 643
1984
1985 /**
1986  * Alice -> Bob session initialization
1987  */
1988 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_SESSION_INITIALIZATION 644
1989
1990 /**
1991  * Alice -> Bob SP crypto-data (after intersection)
1992  */
1993 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ALICE_CRYPTODATA 645
1994
1995 /**
1996  * Bob -> Alice SP crypto-data
1997  */
1998 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_CRYPTODATA 647
1999
2000 /**
2001  * Bob -> Alice SP crypto-data multipart
2002  */
2003 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_CRYPTODATA_MULTIPART 648
2004
2005 /**
2006  * Alice/Bob -> Client Result
2007  */
2008 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_RESULT 649
2009
2010 /**
2011  * Alice -> Bob ECC session initialization
2012  */
2013 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_SESSION_INITIALIZATION 650
2014
2015 /**
2016  * Alice -> Bob ECC crypto data
2017  */
2018 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_ALICE_CRYPTODATA 651
2019
2020 /**
2021  * Bob -> Alice ECC crypto data
2022  */
2023 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_BOB_CRYPTODATA 652
2024
2025
2026
2027
2028
2029 /*******************************************************************************
2030  * PSYCSTORE message types
2031  ******************************************************************************/
2032
2033 /**
2034  * Store a membership event.
2035  */
2036 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_MEMBERSHIP_STORE 660
2037
2038 /**
2039  * Test for membership of a member at a particular point in time.
2040  */
2041 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_MEMBERSHIP_TEST 661
2042
2043 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_FRAGMENT_STORE 662
2044
2045 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_FRAGMENT_GET 663
2046
2047 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_MESSAGE_GET 664
2048
2049 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_MESSAGE_GET_FRAGMENT 665
2050
2051 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_COUNTERS_GET 666
2052
2053 /* 657 */
2054
2055 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_MODIFY 668
2056
2057 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_SYNC 669
2058
2059 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_RESET 670
2060
2061 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_HASH_UPDATE 671
2062
2063 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_GET 672
2064
2065 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_GET_PREFIX 673
2066
2067 /**
2068  * Generic response from PSYCstore service with success and/or error message.
2069  */
2070 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_CODE 674
2071
2072 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_FRAGMENT 675
2073
2074 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_COUNTERS 676
2075
2076 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_STATE 677
2077
2078
2079 /*******************************************************************************
2080  * PSYC message types
2081  ******************************************************************************/
2082
2083 /**
2084  * C: client
2085  * S: service
2086  * M: multicast
2087  */
2088
2089 /** S->C: result of an operation */
2090 #define GNUNET_MESSAGE_TYPE_PSYC_RESULT_CODE 680
2091
2092 /** C->S: request to start a channel as a master */
2093 #define GNUNET_MESSAGE_TYPE_PSYC_MASTER_START 681
2094
2095 /** S->C: master start acknowledgement */
2096 #define GNUNET_MESSAGE_TYPE_PSYC_MASTER_START_ACK 682
2097
2098 /** C->S: request to join a channel as a slave */
2099 #define GNUNET_MESSAGE_TYPE_PSYC_SLAVE_JOIN 683
2100
2101 /** S->C: slave join acknowledgement */
2102 #define GNUNET_MESSAGE_TYPE_PSYC_SLAVE_JOIN_ACK 684
2103
2104 /** C->S: request to part from a channel */
2105 #define GNUNET_MESSAGE_TYPE_PSYC_PART_REQUEST 685
2106
2107 /** S->C: acknowledgement that a slave of master parted from a channel */
2108 #define GNUNET_MESSAGE_TYPE_PSYC_PART_ACK 686
2109
2110 /** M->S->C: incoming join request from multicast */
2111 #define GNUNET_MESSAGE_TYPE_PSYC_JOIN_REQUEST 687
2112
2113 /** C->S->M: decision about a join request */
2114 #define GNUNET_MESSAGE_TYPE_PSYC_JOIN_DECISION 688
2115
2116
2117 /** C->S: request to add/remove channel slave in the membership database. */
2118 #define GNUNET_MESSAGE_TYPE_PSYC_CHANNEL_MEMBERSHIP_STORE 689
2119
2120 /* 690 */
2121
2122 /** S<--C: PSYC message which contains one or more message parts. */
2123 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE 691
2124
2125 /** M<->S<->C: PSYC message which contains a header and one or more message parts. */
2126 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_HEADER 692 // FIXME: start using this where appropriate
2127
2128 /** Message part: method */
2129 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_METHOD 693
2130
2131 /** Message part: modifier */
2132 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_MODIFIER 694
2133
2134 /** Message part: modifier continuation */
2135 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_MOD_CONT 695
2136
2137 /** Message part: data */
2138 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_DATA 696
2139
2140 /** Message part: end of message */
2141 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_END 697
2142
2143 /** Message part: message cancelled */
2144 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_CANCEL 698
2145
2146 /** S->C: message acknowledgement */
2147 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_ACK 699
2148
2149 /* 700 */
2150
2151 /** C->S: request channel history replay from PSYCstore. */
2152 #define GNUNET_MESSAGE_TYPE_PSYC_HISTORY_REPLAY 701
2153
2154 /** S->C: result for a channel history request */
2155 #define GNUNET_MESSAGE_TYPE_PSYC_HISTORY_RESULT 702
2156
2157
2158 /** C->S: request best matching state variable from PSYCstore. */
2159 #define GNUNET_MESSAGE_TYPE_PSYC_STATE_GET 703
2160
2161 /** C->S: request state variables with a given prefix from PSYCstore. */
2162 #define GNUNET_MESSAGE_TYPE_PSYC_STATE_GET_PREFIX 704
2163
2164 /** S->C: result for a state request. */
2165 #define GNUNET_MESSAGE_TYPE_PSYC_STATE_RESULT 705
2166
2167
2168 /*******************************************************************************
2169  * CONVERSATION message types
2170  ******************************************************************************/
2171
2172 /**
2173  * Message to transmit the audio between helper and speaker/microphone library.
2174  */
2175 #define GNUNET_MESSAGE_TYPE_CONVERSATION_AUDIO 730
2176
2177 /**
2178  * Client -> Server message to register a phone.
2179  */
2180 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_REGISTER 731
2181
2182 /**
2183  * Client -> Server message to reject/hangup a call
2184  */
2185 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_PICK_UP 732
2186
2187 /**
2188  * Client -> Server message to reject/hangup a call
2189  */
2190 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_HANG_UP 733
2191
2192 /**
2193  * Client <- Server message to indicate a ringing phone
2194  */
2195 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_CALL 734
2196
2197 /**
2198  * Client <- Server message to indicate a ringing phone
2199  */
2200 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_RING 735
2201
2202 /**
2203  * Client <-> Server message to suspend connection.
2204  */
2205 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_SUSPEND 736
2206
2207 /**
2208  * Client <-> Server message to resume connection.
2209  */
2210 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_RESUME 737
2211
2212 /**
2213  * Service -> Client message to notify that phone was picked up.
2214  */
2215 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_PICKED_UP 738
2216
2217 /**
2218  * Client <-> Server message to send audio data.
2219  */
2220 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_AUDIO 739
2221
2222 /**
2223  * Cadet: call initiation
2224  */
2225 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_RING 740
2226
2227 /**
2228  * Cadet: hang up / refuse call
2229  */
2230 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_HANG_UP 741
2231
2232 /**
2233  * Cadet: pick up phone (establish audio channel)
2234  */
2235 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_PICK_UP 742
2236
2237 /**
2238  * Cadet: phone suspended.
2239  */
2240 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_SUSPEND 743
2241
2242 /**
2243  * Cadet: phone resumed.
2244  */
2245 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_RESUME 744
2246
2247 /**
2248  * Cadet: audio data
2249  */
2250 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_AUDIO 745
2251
2252
2253 /*******************************************************************************
2254  * MULTICAST message types
2255  ******************************************************************************/
2256
2257 /**
2258  * C: client
2259  * S: service
2260  * T: cadet
2261  */
2262
2263 /**
2264  * C->S: Start the origin.
2265  */
2266 #define GNUNET_MESSAGE_TYPE_MULTICAST_ORIGIN_START 750
2267
2268 /**
2269  * C->S: Join group as a member.
2270  */
2271 #define GNUNET_MESSAGE_TYPE_MULTICAST_MEMBER_JOIN 751
2272
2273 /**
2274  * C<--S<->T: A peer wants to join the group.
2275  *
2276  * Unicast message to the origin or another group member.
2277  */
2278 #define GNUNET_MESSAGE_TYPE_MULTICAST_JOIN_REQUEST 752
2279
2280 /**
2281  * C<->S<->T: Response to a join request.
2282  *
2283  * Unicast message from a group member to the peer wanting to join.
2284  */
2285 #define GNUNET_MESSAGE_TYPE_MULTICAST_JOIN_DECISION 753
2286
2287 /**
2288  * A peer wants to part the group.
2289  */
2290 #define GNUNET_MESSAGE_TYPE_MULTICAST_PART_REQUEST 754
2291
2292 /**
2293  * Acknowledgement sent in response to a part request.
2294  *
2295  * Unicast message from a group member to the peer wanting to part.
2296  */
2297 #define GNUNET_MESSAGE_TYPE_MULTICAST_PART_ACK 755
2298
2299 // FIXME: this is never used!
2300 /**
2301  * Group terminated.
2302  */
2303 #define GNUNET_MESSAGE_TYPE_MULTICAST_GROUP_END 756
2304
2305 /**
2306  * C<->S<->T: Multicast message from the origin to all members.
2307  */
2308 #define GNUNET_MESSAGE_TYPE_MULTICAST_MESSAGE 757
2309
2310 /**
2311  * C<->S<->T: Unicast request from a group member to the origin.
2312  */
2313 #define GNUNET_MESSAGE_TYPE_MULTICAST_REQUEST 758
2314
2315 /**
2316  * C->S: Acknowledgement of a message or request fragment for the client.
2317  */
2318 #define GNUNET_MESSAGE_TYPE_MULTICAST_FRAGMENT_ACK 759
2319
2320 /**
2321  * C<->S<->T: Replay request from a group member to another member.
2322  */
2323 #define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_REQUEST 760
2324
2325 /**
2326  * C<->S<->T: Replay response from a group member to another member.
2327  */
2328 #define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_RESPONSE 761
2329
2330 /**
2331  * C<->S: End of replay response.
2332  */
2333 #define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_RESPONSE_END 762
2334
2335
2336
2337 /*******************************************************************************
2338  * SECRETSHARING message types
2339  ******************************************************************************/
2340
2341
2342 /**
2343  * Establish a new session.
2344  */
2345 #define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_GENERATE 780
2346
2347 /**
2348  * Request the decryption of a ciphertext.
2349  */
2350 #define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_DECRYPT 781
2351
2352 /**
2353  * The service succeeded in decrypting a ciphertext.
2354  */
2355 #define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_DECRYPT_DONE 782
2356
2357 /**
2358  * The cryptosystem has been established.
2359  * Contains the peer's share.
2360  */
2361 #define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_SECRET_READY 783
2362
2363
2364 /*******************************************************************************
2365  * PEERSTORE message types
2366  ******************************************************************************/
2367
2368 /**
2369  * Store request message
2370  */
2371 #define GNUNET_MESSAGE_TYPE_PEERSTORE_STORE 820
2372
2373 /**
2374  * Iteration request
2375  */
2376 #define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE 821
2377
2378 /**
2379  * Iteration record message
2380  */
2381 #define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_RECORD 822
2382
2383 /**
2384  * Iteration end message
2385  */
2386 #define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_END 823
2387
2388 /**
2389  * Watch request
2390  */
2391 #define GNUNET_MESSAGE_TYPE_PEERSTORE_WATCH 824
2392
2393 /**
2394  * Watch response
2395  */
2396 #define GNUNET_MESSAGE_TYPE_PEERSTORE_WATCH_RECORD 825
2397
2398 /**
2399  * Watch cancel request
2400  */
2401 #define GNUNET_MESSAGE_TYPE_PEERSTORE_WATCH_CANCEL 826
2402
2403 /*******************************************************************************
2404  * SOCIAL message types
2405  ******************************************************************************/
2406
2407 /**
2408  * C: client
2409  * S: service
2410  * P: PSYC
2411  */
2412
2413 /** S->C: result of an operation */
2414 #define GNUNET_MESSAGE_TYPE_SOCIAL_RESULT_CODE 840
2415
2416 /** C->S: request to enter a place as the host */
2417 #define GNUNET_MESSAGE_TYPE_SOCIAL_HOST_ENTER 841
2418
2419 /** S->C: host enter acknowledgement */
2420 #define GNUNET_MESSAGE_TYPE_SOCIAL_HOST_ENTER_ACK 842
2421
2422 /** C->S: request to enter a place as a guest */
2423 #define GNUNET_MESSAGE_TYPE_SOCIAL_GUEST_ENTER 843
2424
2425 /** C->S: request to enter a place as a guest, using a GNS address */
2426 #define GNUNET_MESSAGE_TYPE_SOCIAL_GUEST_ENTER_BY_NAME 844
2427
2428 /** S->C: guest enter acknowledgement */
2429 #define GNUNET_MESSAGE_TYPE_SOCIAL_GUEST_ENTER_ACK 845
2430
2431 /** P->S->C: incoming entry request from PSYC */
2432 #define GNUNET_MESSAGE_TYPE_SOCIAL_ENTRY_REQUEST 846
2433
2434 /** C->S->P: decision about an entry request */
2435 #define GNUNET_MESSAGE_TYPE_SOCIAL_ENTRY_DECISION 847
2436
2437 /** C->S: request to leave a place */
2438 #define GNUNET_MESSAGE_TYPE_SOCIAL_PLACE_LEAVE 848
2439
2440 /** S->C: place leave acknowledgement */
2441 #define GNUNET_MESSAGE_TYPE_SOCIAL_PLACE_LEAVE_ACK 849
2442
2443 /** C->S: add place to GNS zone */
2444 #define GNUNET_MESSAGE_TYPE_SOCIAL_ZONE_ADD_PLACE 850
2445
2446 /** C->S: add nym to GNS zone */
2447 #define GNUNET_MESSAGE_TYPE_SOCIAL_ZONE_ADD_NYM 851
2448
2449 /** C->S: connect application */
2450 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_CONNECT 852
2451
2452 /** C->S: detach a place from application */
2453 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_DETACH 853
2454
2455 /** S->C: notify about an existing ego */
2456 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_EGO 854
2457
2458 /** S->C: end of ego list */
2459 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_EGO_END 855
2460
2461 /** S->C: notify about an existing place */
2462 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_PLACE 856
2463
2464 /** S->C: end of place list */
2465 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_PLACE_END 857
2466
2467 /** C->S: set message processing flags */
2468 #define GNUNET_MESSAGE_TYPE_SOCIAL_MSG_PROC_SET 858
2469
2470 /** C->S: clear message processing flags */
2471 #define GNUNET_MESSAGE_TYPE_SOCIAL_MSG_PROC_CLEAR 859
2472
2473 /*******************************************************************************
2474  * X-VINE DHT messages
2475  ******************************************************************************/
2476
2477 /**
2478  * Trail setup request is received by a peer.
2479  */
2480 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_TRAIL_SETUP 880
2481
2482 /**
2483  * Trail to a particular peer is returned to this peer.
2484  */
2485 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_TRAIL_SETUP_RESULT 881
2486
2487 /**
2488  * Verify if your immediate successor is still your immediate successor.
2489  */
2490 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_VERIFY_SUCCESSOR 882
2491
2492 /**
2493  * Notify your new immediate successor that you are its new predecessor.
2494  */
2495 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_NOTIFY_NEW_SUCCESSOR 883
2496
2497 /**
2498  * Message which contains the immediate predecessor of requested successor
2499  */
2500 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_VERIFY_SUCCESSOR_RESULT 884
2501
2502 /**
2503  * Message which contains the get result.
2504  */
2505 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_GET_RESULT 885
2506
2507 /**
2508  * Trail Rejection Message.
2509  */
2510 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_TRAIL_SETUP_REJECTION 886
2511
2512 /**
2513  * Trail Tear down Message.
2514  */
2515 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_TRAIL_TEARDOWN 887
2516
2517 /**
2518  * Routing table add message.
2519  */
2520 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_ADD_TRAIL 888
2521
2522 /**
2523  * Peer is storing the data in DHT.
2524  */
2525 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_PUT 890
2526
2527 /**
2528  * Peer tries to find data in DHT.
2529  */
2530 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_GET 891
2531
2532 /**
2533  * Send back peer that considers you are its successor, a confirmation
2534  * that you got the notify successor message.
2535  */
2536 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_NOTIFY_SUCCESSOR_CONFIRMATION 892
2537
2538 #if ENABLE_MALICIOUS
2539 /**
2540  * Turn X-VINE DHT service malicious
2541  */
2542 #define GNUNET_MESSAGE_TYPE_DHT_ACT_MALICIOUS 893
2543
2544 /**
2545  * Acknowledge receiving ACT MALICIOUS request
2546  */
2547 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_ACT_MALICIOUS_OK  894
2548
2549 #endif
2550
2551
2552 /*******************************************************************************
2553  * Whanau DHT messages
2554  ******************************************************************************/
2555
2556
2557 /**
2558  * This message contains the query for performing a random walk
2559  */
2560 #define GNUNET_MESSAGE_TYPE_WDHT_RANDOM_WALK 910
2561
2562 /**
2563  * This message contains the result of a random walk
2564  */
2565 #define GNUNET_MESSAGE_TYPE_WDHT_RANDOM_WALK_RESPONSE 911
2566
2567 /**
2568  * This message contains a notification for the death of a trail
2569  */
2570 #define GNUNET_MESSAGE_TYPE_WDHT_TRAIL_DESTROY 912
2571
2572 /**
2573  * This message are used to route a query to a peer
2574  */
2575 #define GNUNET_MESSAGE_TYPE_WDHT_TRAIL_ROUTE 913
2576
2577 /**
2578  * This message contains the query to transfer successor values.
2579  */
2580 #define GNUNET_MESSAGE_TYPE_WDHT_SUCCESSOR_FIND 914
2581
2582 /**
2583  * Message which contains the get query
2584  */
2585 #define GNUNET_MESSAGE_TYPE_WDHT_GET 915
2586
2587 /**
2588  * Message which contains the "put", a response to
2589  * #GNUNET_MESSAGE_TYPE_WDHT_SUCCESSOR_FIND.
2590  */
2591 #define GNUNET_MESSAGE_TYPE_WDHT_PUT 916
2592
2593 /**
2594  * Message which contains the get result, a response
2595  * to #GNUNET_MESSAGE_TYPE_WDHT_GET.
2596  */
2597 #define GNUNET_MESSAGE_TYPE_WDHT_GET_RESULT 917
2598
2599
2600 /*******************************************************************************
2601  * RPS messages
2602  ******************************************************************************/
2603
2604 /* P2P Messages */
2605
2606 /**
2607  * RPS check liveliness message to check liveliness of other peer
2608  */
2609 #define GNUNET_MESSAGE_TYPE_RPS_PP_CHECK_LIVE     950
2610
2611 /**
2612  * RPS PUSH message to push own ID to another peer
2613  */
2614 #define GNUNET_MESSAGE_TYPE_RPS_PP_PUSH           951
2615
2616 /**
2617  * RPS PULL REQUEST message to request the local view of another peer
2618  */
2619 #define GNUNET_MESSAGE_TYPE_RPS_PP_PULL_REQUEST   952
2620
2621 /**
2622  * RPS PULL REPLY message which contains the view of the other peer
2623  */
2624 #define GNUNET_MESSAGE_TYPE_RPS_PP_PULL_REPLY     953
2625
2626
2627
2628 /* Client-Service Messages */
2629
2630
2631 /**
2632  * RPS CS SEED Message for the Client to seed peers into rps
2633  */
2634 #define GNUNET_MESSAGE_TYPE_RPS_CS_SEED           954
2635
2636 #if ENABLE_MALICIOUS
2637 /**
2638  * Turn RPS service malicious
2639  */
2640 #define GNUNET_MESSAGE_TYPE_RPS_ACT_MALICIOUS     955
2641
2642 #endif /* ENABLE_MALICIOUS */
2643
2644 /**
2645  * RPS client-service message to start a sub sampler
2646  */
2647 #define GNUNET_MESSAGE_TYPE_RPS_CS_SUB_START           956
2648
2649 /**
2650  * RPS client-service message to stop a sub sampler
2651  */
2652 #define GNUNET_MESSAGE_TYPE_RPS_CS_SUB_STOP            957
2653
2654 /* Debugging API continues at 1130 */
2655
2656 /******************************************************************************/
2657
2658
2659 /**************************************************
2660  *
2661  * IDENTITY PROVIDER MESSAGE TYPES
2662  */
2663 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_STORE 961
2664
2665 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_STORE_RESPONSE 962
2666
2667 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_ITERATION_START 963
2668
2669 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_ITERATION_STOP 964
2670
2671 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_ITERATION_NEXT 965
2672
2673 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_RESULT 966
2674
2675 #define GNUNET_MESSAGE_TYPE_RECLAIM_ISSUE_TICKET 967
2676
2677 #define GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT 968
2678
2679 #define GNUNET_MESSAGE_TYPE_RECLAIM_REVOKE_TICKET 969
2680
2681 #define GNUNET_MESSAGE_TYPE_RECLAIM_REVOKE_TICKET_RESULT 970
2682
2683 #define GNUNET_MESSAGE_TYPE_RECLAIM_CONSUME_TICKET 971
2684
2685 #define GNUNET_MESSAGE_TYPE_RECLAIM_CONSUME_TICKET_RESULT 972
2686
2687 #define GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_ITERATION_START 973
2688
2689 #define GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_ITERATION_STOP 974
2690
2691 #define GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_ITERATION_NEXT 975
2692
2693 /**************************************************
2694  *
2695  * CREDENTIAL MESSAGE TYPES
2696  */
2697 #define GNUNET_MESSAGE_TYPE_CREDENTIAL_VERIFY     981
2698
2699 #define GNUNET_MESSAGE_TYPE_CREDENTIAL_VERIFY_RESULT 982
2700
2701 #define GNUNET_MESSAGE_TYPE_CREDENTIAL_COLLECT 983
2702
2703 #define GNUNET_MESSAGE_TYPE_CREDENTIAL_COLLECT_RESULT 984
2704
2705 /******************************************************************************/
2706
2707
2708 /******************************************************************************/
2709 /***********************************  CADET  **********************************/
2710 /******************************************************************************/
2711 /* CADET: message types 1000-1059
2712  * 1000-1009 Connection-level Messages
2713  * 1010-1019 Channel-level Messages
2714  * 1020-1029 Local Client-Service
2715  * 1030-1039 Local Service Monitoring
2716  * 1040-1049 Application Data
2717  * 1050-1059 Reserved
2718  */
2719
2720 /********************************  Connection  ********************************/
2721
2722 /**
2723  * Request the creation of a connection
2724  */
2725 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_CREATE 1000
2726
2727 /**
2728  * Send origin an ACK that the connection is complete
2729  */
2730 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_CREATE_ACK 1001
2731
2732 /**
2733  * Notify that a connection is no longer valid
2734  */
2735 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_BROKEN 1002
2736
2737 /**
2738  * Request the destuction of a connection
2739  */
2740 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_DESTROY 1003
2741
2742 /**
2743  * At some point, the route will spontaneously change TODO
2744  */
2745 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_PATH_CHANGED_UNIMPLEMENTED 1004
2746
2747 /**
2748  * Hop-by-hop, connection dependent ACK.
2749  *
2750  * @deprecated
2751  */
2752 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_HOP_BY_HOP_ENCRYPTED_ACK 1005
2753
2754 /**
2755  * We do not bother with ACKs for
2756  * #GNUNET_MESSAGE_TYPE_CADET_TUNNEL_ENCRYPTED messages, but we instead
2757  * poll for one if we got nothing for a while and start to be worried.
2758  *
2759  * @deprecated
2760  */
2761 #define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_ENCRYPTED_POLL 1006
2762
2763 /**
2764  * Axolotl key exchange.
2765  */
2766 #define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_KX 1007
2767
2768 /**
2769  * Axolotl encrypted data.
2770  */
2771 #define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_ENCRYPTED 1008
2772
2773 /**
2774  * Axolotl key exchange response with authentication.
2775  */
2776 #define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_KX_AUTH 1009
2777
2778
2779
2780 /**********************************  Channel  *********************************/
2781
2782 /**
2783  * Payload data (inside an encrypted tunnel).
2784  */
2785 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_APP_DATA 1010
2786
2787 /**
2788  * Confirm payload data end-to-end.
2789  */
2790 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_APP_DATA_ACK 1011
2791
2792 /**
2793  * Announce connection is still alive (direction sensitive).
2794  */
2795 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_KEEPALIVE 1012
2796
2797 /**
2798  * Ask the cadet service to create a new channel.
2799  */
2800 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN 1013
2801
2802 /**
2803  * Ask the cadet service to destroy a channel.
2804  */
2805 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_DESTROY 1014
2806
2807 /**
2808  * Confirm the creation of a channel
2809  */
2810 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN_ACK 1015
2811
2812 /**
2813  * Reject the creation of a channel
2814  *
2815  * @deprecated
2816  */
2817 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN_NACK_DEPRECATED 1016
2818
2819 /***********************************  Local  **********************************/
2820
2821 /**
2822  * Payload client <-> service
2823  */
2824 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_DATA 1020
2825
2826 /**
2827  * Local ACK for data.
2828  */
2829 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_ACK 1021
2830
2831 /**
2832  * Start listening on a port.
2833  */
2834 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_OPEN 1022
2835
2836 /**
2837  * Stop listening on a port.
2838  */
2839 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_CLOSE 1023
2840
2841 /**
2842  * Ask the cadet service to create a new channel.
2843  */
2844 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_CHANNEL_CREATE 1024
2845
2846 /**
2847  * Tell client that a channel was destroyed.
2848  */
2849 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_CHANNEL_DESTROY 1025
2850
2851 /**********************************  Monitor  *********************************/
2852
2853
2854 /**
2855  * Local information about all channels of service.
2856  */
2857 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_CHANNEL 1030
2858
2859 /**
2860  * Local information of service about a specific channel.
2861  */
2862 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CHANNEL 1031
2863
2864 /**
2865  * End of local information of service about channels.
2866  */
2867 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CHANNEL_END 1032
2868
2869 /**
2870  * Request local information about all peers known to the service.
2871  */
2872 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_PEERS 1033
2873
2874 /**
2875  * Local information about all peers known to the service.
2876  */
2877 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEERS 1034
2878
2879 /**
2880  * End of local information about all peers known to the service.
2881  */
2882 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEERS_END 1035
2883
2884 /**
2885  * Request local information of service about paths to specific peer.
2886  */
2887 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_PATH 1036
2888
2889 /**
2890  * Local information of service about a specific path.
2891  */
2892 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PATH 1037
2893
2894 /**
2895  * End of local information of service about a specific path.
2896  */
2897 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PATH_END 1038
2898
2899 /**
2900  * Request local information about all tunnels of service.
2901  */
2902 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_TUNNELS 1039
2903
2904 /**
2905  * Local information about all tunnels of service.
2906  */
2907 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNELS 1040
2908
2909 /**
2910  * End of local information about all tunnels of service.
2911  */
2912 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNELS_END 1041
2913
2914
2915 /********************************  Application  *******************************/
2916
2917 /**
2918  * Traffic (net-cat style) used by the Command Line Interface.
2919  */
2920 #define GNUNET_MESSAGE_TYPE_CADET_CLI 1059
2921
2922 /******************************************************************************/
2923
2924
2925 /******************************************************************************/
2926 /*************************************  NAT  **********************************/
2927 /******************************************************************************/
2928
2929 /**
2930  * Message to ask NAT service to register a client.
2931  */
2932 #define GNUNET_MESSAGE_TYPE_NAT_REGISTER 1060
2933
2934 /**
2935  * Message to ask NAT service to handle a STUN packet.
2936  */
2937 #define GNUNET_MESSAGE_TYPE_NAT_HANDLE_STUN 1061
2938
2939 /**
2940  * Message to ask NAT service to request connection reversal.
2941  */
2942 #define GNUNET_MESSAGE_TYPE_NAT_REQUEST_CONNECTION_REVERSAL 1062
2943
2944 /**
2945  * Message to from NAT service notifying us that connection reversal
2946  * was requested by another peer.
2947  */
2948 #define GNUNET_MESSAGE_TYPE_NAT_CONNECTION_REVERSAL_REQUESTED 1063
2949
2950 /**
2951  * Message to from NAT service notifying us that one of our
2952  * addresses changed.
2953  */
2954 #define GNUNET_MESSAGE_TYPE_NAT_ADDRESS_CHANGE 1064
2955
2956 /**
2957  * Message to ask NAT service to request autoconfiguration.
2958  */
2959 #define GNUNET_MESSAGE_TYPE_NAT_AUTO_REQUEST_CFG 1067
2960
2961 /**
2962  * Message from NAT service with the autoconfiguration result.
2963  */
2964 #define GNUNET_MESSAGE_TYPE_NAT_AUTO_CFG_RESULT 1068
2965
2966
2967 /* 1080-1109 reserved for TMCG (Heiko Stamer, see gnunet-developers, January 2017) */
2968
2969
2970 /******************************************************************************/
2971 /***********************************  AUCTION  ********************************/
2972 /******************************************************************************/
2973
2974 /**
2975  * Client wants to create a new auction.
2976  */
2977 #define GNUNET_MESSAGE_TYPE_AUCTION_CLIENT_CREATE 1110
2978
2979 /**
2980  * Client wants to join an existing auction.
2981  */
2982 #define GNUNET_MESSAGE_TYPE_AUCTION_CLIENT_JOIN 1111
2983
2984 /**
2985  * Service reports the auction outcome to the client.
2986  */
2987 #define GNUNET_MESSAGE_TYPE_AUCTION_CLIENT_OUTCOME 1112
2988
2989
2990
2991 /******************************************************************************/
2992 /*********************************  RPS DEBUG  ********************************/
2993 /******************************************************************************/
2994
2995 /**
2996  * @brief Request updates of the view
2997  */
2998 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_VIEW_REQUEST 1130
2999
3000 /**
3001  * @brief Send update of the view
3002  */
3003 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_VIEW_REPLY   1131
3004
3005 /**
3006  * @brief Cancel getting updates of the view
3007  */
3008 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_VIEW_CANCEL  1132
3009
3010
3011 /**
3012  * @brief Request biased input stream
3013  */
3014 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_STREAM_REQUEST 1133
3015
3016 /**
3017  * @brief Send peer of biased stream
3018  */
3019 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_STREAM_REPLY   1134
3020
3021 /**
3022  * @brief Cancel getting biased strem
3023  */
3024 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_STREAM_CANCEL  1135
3025
3026
3027 /*******************************************************
3028   NEW (TNG) Transport service
3029   ******************************************************* */
3030
3031 /**
3032  * @brief inform transport to add an address of this peer
3033  */
3034 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ADD_ADDRESS 1200
3035
3036 /**
3037  * @brief inform transport to delete an address of this peer
3038  */
3039 #define GNUNET_MESSAGE_TYPE_TRANSPORT_DEL_ADDRESS 1201
3040
3041 /**
3042  * @brief inform transport about an incoming message
3043  */
3044 #define GNUNET_MESSAGE_TYPE_TRANSPORT_INCOMING_MSG 1202
3045
3046 /**
3047  * @brief transport acknowledges processing an incoming message
3048  */
3049 #define GNUNET_MESSAGE_TYPE_TRANSPORT_INCOMING_MSG_ACK 1203
3050
3051 /**
3052  * @brief inform transport that a queue was setup to talk to some peer
3053  */
3054 #define GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_SETUP 1204
3055
3056 /**
3057  * @brief inform transport that a queue was torn down
3058  */
3059 #define GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_TEARDOWN 1205
3060
3061 /**
3062  * @brief transport tells communicator it wants a queue
3063  */
3064 #define GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_CREATE 1206
3065
3066 /**
3067  * Response from communicator: will try to create queue.
3068  */
3069 #define GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_CREATE_OK 1207
3070
3071 /**
3072  * Response from communicator: address bogus, will not try to create queue.
3073  */
3074 #define GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_CREATE_FAIL 1208
3075
3076 /**
3077  * @brief transport tells communicator it wants to transmit
3078  */
3079 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SEND_MSG 1209
3080
3081 /**
3082  * @brief communicator tells transports that message was sent
3083  */
3084 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SEND_MSG_ACK 1210
3085
3086 /**
3087  * Message sent to indicate to the transport which address
3088  * prefix is supported by a communicator.
3089  */
3090 #define GNUNET_MESSAGE_TYPE_TRANSPORT_NEW_COMMUNICATOR 1211
3091
3092 /**
3093  * Tell transport that it should assist with exchanging a
3094  * message between communicators.  Usually used when
3095  * communciators are uni-directional and need an alternative
3096  * back-channel.
3097  */
3098 #define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_BACKCHANNEL 1212
3099
3100 /**
3101  * Message type used between transport services when they
3102  * internally forward communicator backchannel messages.
3103  */
3104 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BACKCHANNEL_ENCAPSULATION 1213
3105
3106 /**
3107  * Type of a fragment of a CORE message created by transport to adjust
3108  * message length to a queue's MTU.
3109  */
3110 #define GNUNET_MESSAGE_TYPE_TRANSPORT_FRAGMENT 1214
3111
3112 /**
3113  * Acknowledgement generated for a fragment.
3114  */
3115 #define GNUNET_MESSAGE_TYPE_TRANSPORT_FRAGMENT_ACK 1215
3116
3117 /**
3118  * Wrapper around non-fragmented CORE message used to measure RTT
3119  * and ensure reliability.
3120  */
3121 #define GNUNET_MESSAGE_TYPE_TRANSPORT_RELIABILITY_BOX 1216
3122
3123 /**
3124  * Confirmation for a #GNUNET_MESSAGE_TYPE_TRANSPORT_RELIABILITY_BOX.
3125  */
3126 #define GNUNET_MESSAGE_TYPE_TRANSPORT_RELIABILITY_ACK 1217
3127
3128 /**
3129  * Message sent for topology discovery at transport level.
3130  */
3131 #define GNUNET_MESSAGE_TYPE_TRANSPORT_DV_LEARN 1218
3132
3133 /**
3134  * Source-routed transport message based DV information gathered.
3135  */
3136 #define GNUNET_MESSAGE_TYPE_TRANSPORT_DV_BOX 1219
3137
3138 /**
3139  * Transport signalling incoming backchannel message to a communicator.
3140  */
3141 #define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_BACKCHANNEL_INCOMING 1220
3142
3143 /**
3144  * We learned a possible network address of another peer. Transport
3145  * should consider verifying it, and if successful, remembering it
3146  * in the Peerstore.
3147  */
3148 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_CONSIDER_VERIFY 1221
3149
3150
3151 /**
3152  * Message sent to indicate to the transport that a monitor
3153  * wants to observe certain events.
3154  */
3155 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_START 1250
3156
3157 /**
3158  * Message sent to indicate to a monitor about events.
3159  */
3160 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_DATA 1251
3161
3162 /**
3163  * Message sent to indicate to a monitor that a one-shot
3164  * iteration over events is done.
3165  */
3166 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_END 1252
3167
3168 /**
3169  * Message exchanged between communicators to confirm
3170  * successful KX (and address validation).
3171  */
3172 #define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_KX_CONFIRMATION 1275
3173
3174 /**
3175  * Message exchanged between communicators to exchange
3176  * flow control (FC) limits and acknowledgemets.
3177  */
3178 #define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_FC_LIMITS 1276
3179
3180 /**
3181  * Type of the 'struct ExpressPreferenceMessage' send by clients to TRANSPORT
3182  * to establish bandwidth preference.
3183  */
3184 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SUGGEST 1300
3185
3186 /**
3187  * Type of the 'struct ExpressPreferenceMessage' send by clients to TRANSPORT
3188  * to abandon bandwidth preference.
3189  */
3190 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SUGGEST_CANCEL 1301
3191
3192 /**
3193  * Type of the 'struct RequestHelloValidationMessage' send by clients to TRANSPORT
3194  * to trigger validation of addresses.
3195  */
3196 #define GNUNET_MESSAGE_TYPE_TRANSPORT_REQUEST_HELLO_VALIDATION 1302
3197
3198
3199 /**
3200  * P2P message: transport requests confirmation that an address works.
3201  */
3202 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_VALIDATION_CHALLENGE 1303
3203
3204 /**
3205  * P2P message: transport proves that an address worked.
3206  */
3207 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_VALIDATION_RESPONSE 1304
3208
3209
3210
3211 /* ************** NEW (NG) ATS Messages ************* */
3212 /* NOTE: it is not clear ATS will survive in TNG      */
3213
3214 /**
3215  * Type of the 'struct ExpressPreferenceMessage' send by clients to ATS
3216  * to establish bandwidth preference.
3217  */
3218 #define GNUNET_MESSAGE_TYPE_ATS_SUGGEST 1400
3219
3220 /**
3221  * Type of the 'struct ExpressPreferenceMessage' send by clients to ATS
3222  * to abandon bandwidth preference.
3223  */
3224 #define GNUNET_MESSAGE_TYPE_ATS_SUGGEST_CANCEL 1401
3225
3226
3227 /**
3228  * Type of the 'struct SessionAddMessage' send by transport clients to ATS
3229  * to ask ATS to allocate resources to a session.
3230  */
3231 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_ADD 1402
3232
3233 /**
3234  * Type of the 'struct SessionAddMessage' send by transport clients to ATS
3235  * to inform ATS about a session where resources are consumed but allocation
3236  * is impossible (unidirectional).
3237  */
3238 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_ADD_INBOUND_ONLY 1403
3239
3240 /**
3241  * Type of the 'struct SessionUpdateMessage' send by transport clients to ATS
3242  * to inform ATS about property changes of a session.
3243  */
3244 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_UPDATE 1404
3245
3246 /**
3247  * Type of the 'struct SessionDelMessage' send by transport clients to ATS
3248  * to tell ATS that a session is no longer available.
3249  */
3250 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_DEL 1405
3251
3252 /**
3253  * Type of the 'struct SessionAllocationMessage' send by ATS to the
3254  * transport to tell it about resources to allocate to the session.
3255  */
3256 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_ALLOCATION 1406
3257
3258
3259 /**
3260  * TCP communicator rekey message.
3261  */
3262 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_REKEY 1450
3263
3264 /**
3265  * TCP communicator payload box
3266  */
3267 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_BOX 1451
3268
3269 /**
3270  * TCP communicator end of stream.
3271  */
3272 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_FINISH 1452
3273
3274 /**
3275  * UDP KX acknowledgement.
3276  */
3277 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_UDP_ACK 1460
3278
3279 /**
3280  * UDP communicator padding.
3281  */
3282 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_UDP_PAD 1461
3283
3284 /**
3285  * Next available: 1500
3286  */
3287
3288
3289
3290 /**
3291  * Type used to match 'all' message types.
3292  */
3293 #define GNUNET_MESSAGE_TYPE_ALL 65535
3294
3295
3296 #if 0                           /* keep Emacsens' auto-indent happy */
3297 {
3298 #endif
3299 #ifdef __cplusplus
3300 }
3301 #endif
3302
3303 /* ifndef GNUNET_PROTOCOLS_H */
3304 #endif
3305
3306 /** @} */ /* end of group protocols */
3307
3308 /* end of gnunet_protocols.h */