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