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