/*
This file is part of GNUnet.
- (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 Christian Grothoff (and other contributing authors)
+ (C) 2001-2013 Christian Grothoff (and other contributing authors)
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 2, or (at your
+ by the Free Software Foundation; either version 3, or (at your
option) any later version.
GNUnet is distributed in the hope that it will be useful, but
* @file include/gnunet_protocols.h
* @brief constants for network protocols
* @author Christian Grothoff
+ * @defgroup protocols Types of messages used in GNUnet
+ * @{
*/
/*******************************************************************************
* TODO: we need a way to register message types centrally (via some webpage).
* For now: unofficial extensions should start at 48k, internal extensions
- * define here should leave some room (4-10 additional messages to the previous
+ * defined here should leave some room (4-10 additional messages to the previous
* extension).
******************************************************************************/
******************************************************************************/
/**
- * Type of data messages from the plugin to the gnunet-wlan-helper
+ * Type of data messages from the plugin to the gnunet-wlan-helper
*/
#define GNUNET_MESSAGE_TYPE_WLAN_DATA_TO_HELPER 39
*/
#define GNUNET_MESSAGE_TYPE_CORE_SEND 76
-
-/**
- * Request for peer iteration from CORE service.
- */
-#define GNUNET_MESSAGE_TYPE_CORE_ITERATE_PEERS 78
-
/**
- * Last reply from core to request for peer iteration from CORE service.
+ * Request for connection monitoring from CORE service.
*/
-#define GNUNET_MESSAGE_TYPE_CORE_ITERATE_PEERS_END 79
+#define GNUNET_MESSAGE_TYPE_CORE_MONITOR_PEERS 78
/**
- * Check whether a given peer is currently connected to CORE.
+ * Reply for monitor by CORE service.
*/
-#define GNUNET_MESSAGE_TYPE_CORE_PEER_CONNECTED 80
+#define GNUNET_MESSAGE_TYPE_CORE_MONITOR_NOTIFY 79
/**
* Encapsulation for an encrypted message between peers.
*/
#define GNUNET_MESSAGE_TYPE_CORE_EPHEMERAL_KEY 88
+/**
+ * Other peer confirms having received the type map
+ */
+#define GNUNET_MESSAGE_TYPE_CORE_CONFIRM_TYPE_MAP 89
+
/*******************************************************************************
* DATASTORE message types
#define GNUNET_MESSAGE_TYPE_FS_MIGRATION_STOP 139
/**
- * P2P request for content (one FS to another via a mesh).
+ * P2P request for content (one FS to another via a cadet).
*/
-#define GNUNET_MESSAGE_TYPE_FS_MESH_QUERY 140
+#define GNUNET_MESSAGE_TYPE_FS_CADET_QUERY 140
/**
- * P2P answer for content (one FS to another via a mesh).
+ * P2P answer for content (one FS to another via a cadet).
*/
-#define GNUNET_MESSAGE_TYPE_FS_MESH_REPLY 141
+#define GNUNET_MESSAGE_TYPE_FS_CADET_REPLY 141
/*******************************************************************************
*/
#define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_RESULTS_KNOWN 156
+/**
+ * Further X-VINE DHT messages continued from 880
+ */
/*******************************************************************************
* HOSTLIST message types
/*******************************************************************************
- * MESH message types
+ * CADET message types
******************************************************************************/
/**
- * Type of message used to transport messages throug a MESH-tunnel (LEGACY)
+ * Type of message used to transport messages throug a CADET-tunnel (LEGACY)
*/
-#define GNUNET_MESSAGE_TYPE_MESH 215
+#define GNUNET_MESSAGE_TYPE_CADET 215
/**
* Type of message used to send another peer which messages we want to receive
- * through a mesh-tunnel (LEGACY)
+ * through a cadet-tunnel (LEGACY)
*/
-#define GNUNET_MESSAGE_TYPE_MESH_HELLO 216
+#define GNUNET_MESSAGE_TYPE_CADET_HELLO 216
/**
* Request the creation of a connection
*/
-#define GNUNET_MESSAGE_TYPE_MESH_PATH_CREATE 256
-#define GNUNET_MESSAGE_TYPE_MESH_CONNECTION_CREATE 256
+#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_CREATE 256
/**
* Send origin an ACK that the connection is complete
*/
-#define GNUNET_MESSAGE_TYPE_MESH_PATH_ACK 257
-#define GNUNET_MESSAGE_TYPE_MESH_CONNECTION_ACK 257
+#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_ACK 257
/**
* Notify that a connection is no longer valid
*/
-#define GNUNET_MESSAGE_TYPE_MESH_PATH_BROKEN 258
-#define GNUNET_MESSAGE_TYPE_MESH_CONNECTION_BROKEN 258
+#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_BROKEN 258
/**
* At some point, the route will spontaneously change TODO
*/
-#define GNUNET_MESSAGE_TYPE_MESH_PATH_CHANGED 259
+#define GNUNET_MESSAGE_TYPE_CADET_PATH_CHANGED 259
+
+/**
+ * Payload data (usually inside a encrypted tunnel).
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_DATA 260
/**
- * Payload data origin->end.
+ * Confirm payload data end-to-end.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_UNICAST 260
+#define GNUNET_MESSAGE_TYPE_CADET_DATA_ACK 261
/**
- * Payload data end->origin.
+ * Key exchange encapsulation.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_TO_ORIGIN 262
+#define GNUNET_MESSAGE_TYPE_CADET_KX 262
/**
- * Confirm owner->dest data end-to-end (ack goes dest->owner).
+ * New ephemeral key.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_UNICAST_ACK 263
+#define GNUNET_MESSAGE_TYPE_CADET_KX_EPHEMERAL 263
/**
- * Confirm dest->owner data end-to-end (ack goes owner->dest).
+ * Challenge to test peer's session key.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_TO_ORIG_ACK 264
+#define GNUNET_MESSAGE_TYPE_CADET_KX_PING 264
/**
- * Request the destuction of a path
+ * Answer to session key challenge.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_PATH_DESTROY 266
-#define GNUNET_MESSAGE_TYPE_MESH_CONNECTION_DESTROY 266
+#define GNUNET_MESSAGE_TYPE_CADET_KX_PONG 265
/**
- * Request the destruction of a whole tunnel
+ * Request the destuction of a connection
*/
-#define GNUNET_MESSAGE_TYPE_MESH_TUNNEL_DESTROY 267
+#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_DESTROY 266
/**
- * ACK for a data packet.
+ * Hop-by-hop, connection dependent ACK.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_ACK 268
+#define GNUNET_MESSAGE_TYPE_CADET_ACK 268
/**
- * Poll for an ACK.
+ * Poll for a hop-by-hop ACK.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_POLL 269
+#define GNUNET_MESSAGE_TYPE_CADET_POLL 269
/**
- * Announce origin is still alive.
+ * Announce connection is still alive (direction sensitive).
*/
-#define GNUNET_MESSAGE_TYPE_MESH_FWD_KEEPALIVE 270
+#define GNUNET_MESSAGE_TYPE_CADET_KEEPALIVE 270
/**
- * Announce destination is still alive.
+ * Connect to the cadet service, specifying subscriptions
*/
-#define GNUNET_MESSAGE_TYPE_MESH_BCK_KEEPALIVE 271
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_CONNECT 272
/**
- * Connect to the mesh service, specifying subscriptions
+ * Ask the cadet service to create a new channel.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT 272
+#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_CREATE 273
/**
- * Ask the mesh service to create a new tunnel
+ * Ask the cadet service to destroy a channel.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_CHANNEL_CREATE 273
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_CREATE 273
+#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_DESTROY 274
/**
- * Ask the mesh service to destroy a tunnel
+ * Confirm the creation of a channel
*/
-#define GNUNET_MESSAGE_TYPE_MESH_CHANNEL_DESTROY 274
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_DESTROY 274
+#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_ACK 275
/**
- * Encrypted data going forward.
+ * Reject the creation of a channel
*/
-#define GNUNET_MESSAGE_TYPE_MESH_FWD 280
+#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_NACK 276
/**
- * Encrypted data going backwards.
+ * Encrypted data. (Payload, channel management, keepalive)
*/
-#define GNUNET_MESSAGE_TYPE_MESH_BCK 281
+#define GNUNET_MESSAGE_TYPE_CADET_ENCRYPTED 280
/**
* Payload client <-> service
*/
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_DATA 285
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_DATA 285
/**
* Local ACK for data.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_ACK 286
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_ACK 286
+
+/**
+ * Local information about all channels of service.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CHANNELS 290
+
+/**
+ * Local information of service about a specific channel.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CHANNEL 291
/**
* Local information about all tunnels of service.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_TUNNELS 287
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_CHANNELS 287
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNELS 292
/**
* Local information of service about a specific tunnel.
*/
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_TUNNEL 288
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_CHANNEL 288
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNEL 293
+
+/**
+ * Local information about all connections of service.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CONNECTIONS 294
+
+/**
+ * Local information of service about a specific connection.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CONNECTION 295
+
+/**
+ * Local information about all peers known to the service.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEERS 296
+
+/**
+ * Local information of service about a specific peer.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEER 297
+
+/**
+ * Traffic (net-cat style) used by the Command Line Interface.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CLI 298
/**
* 640kb should be enough for everybody
*/
-#define GNUNET_MESSAGE_TYPE_MESH_RESERVE_END 299
+#define GNUNET_MESSAGE_TYPE_CADET_RESERVE_END 299
*/
#define GNUNET_MESSAGE_TYPE_ATS_ADDRESSLIST_RESPONSE 355
+/**
+ * Type of the 'struct ChangePreferenceMessage' sent by clients to ATS
+ * to ask for allocation preference changes.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_PREFERENCE_FEEDBACK 356
/*******************************************************************************
/**
* Request to monitor addresses used by a peer or all peers.
*/
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_ITERATE 380
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_REQUEST 380
/**
* Message send by a peer to notify the other to keep the session alive
#define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE 381
/**
- * Response to a GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE message to
+ * Response to a #GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE message to
* measure latency in a regular interval
*/
#define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE_RESPONSE 382
-
/**
- * Request to iterate over all known addresses.
+ * Response to #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_REQUEST
+ * request to iterate over all known addresses.
*/
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_ITERATE_RESPONSE 383
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_RESPONSE 383
/**
* Message send by a peer to notify the other to keep the session alive.
*/
#define GNUNET_MESSAGE_TYPE_TRANSPORT_TRAFFIC_METRIC 385
+/**
+ * Request to monitor address validations by a peer or all peers.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_REQUEST 386
+/**
+ * Response to #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_REQUEST
+ * request to iterate over all known addresses.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_RESPONSE 387
/*******************************************************************************
* FS-PUBLISH-HELPER IPC Messages
/*******************************************************************************
- * NAMESTORE message types
+ * NAMECACHE message types
******************************************************************************/
/**
* Client to service: lookup block
*/
-#define GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_BLOCK 431
+#define GNUNET_MESSAGE_TYPE_NAMECACHE_LOOKUP_BLOCK 431
/**
* Service to client: result of block lookup
*/
-#define GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_BLOCK_RESPONSE 432
+#define GNUNET_MESSAGE_TYPE_NAMECACHE_LOOKUP_BLOCK_RESPONSE 432
+
+/**
+ * Client to service: cache a block
+ */
+#define GNUNET_MESSAGE_TYPE_NAMECACHE_BLOCK_CACHE 433
+
+/**
+ * Service to client: result of block cache request
+ */
+#define GNUNET_MESSAGE_TYPE_NAMECACHE_BLOCK_CACHE_RESPONSE 434
+
+/*******************************************************************************
+ * NAMESTORE message types
+ ******************************************************************************/
/**
* Client to service: store records (as authority)
*/
-#define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_STORE 433
+#define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_STORE 435
/**
* Service to client: result of store operation.
*/
-#define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_STORE_RESPONSE 434
+#define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_STORE_RESPONSE 436
/**
- * Client to service: cache a block
+ * Client to service: lookup label
*/
-#define GNUNET_MESSAGE_TYPE_NAMESTORE_BLOCK_CACHE 435
+#define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_LOOKUP 437
/**
- * Service to client: result of block cache request
+ * Service to client: lookup label
*/
-#define GNUNET_MESSAGE_TYPE_NAMESTORE_BLOCK_CACHE_RESPONSE 436
+#define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_LOOKUP_RESPONSE 438
/**
* Client to service: "reverse" lookup for zone name based on zone key
*/
#define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_ITERATION_STOP 448
-
/*******************************************************************************
* LOCKMANAGER message types
******************************************************************************/
#define GNUNET_MESSAGE_TYPE_TESTBED_GENERIC_OPERATION_SUCCESS 475
/**
- * Message to get the configuration of a peer
+ * Message to get a peer's information
*/
-#define GNUNET_MESSAGE_TYPE_TESTBED_GET_PEER_CONFIGURATION 476
+#define GNUNET_MESSAGE_TYPE_TESTBED_GET_PEER_INFORMATION 476
/**
- * Message containing the peer configuration
+ * Message containing the peer's information
*/
-#define GNUNET_MESSAGE_TYPE_TESTBED_PEER_CONFIGURATION 477
+#define GNUNET_MESSAGE_TYPE_TESTBED_PEER_INFORMATION 477
/**
* Message to request a controller to make one of its peer to connect to another
*/
#define GNUNET_MESSAGE_TYPE_TESTBED_MANAGE_PEER_SERVICE 483
+/**
+ * Message to initialise a barrier. Messages of these type are flooded to all
+ * sub-controllers
+ */
+#define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_INIT 484
+
+/**
+ * Message to cancel a barrier. This message is flooded to all sub-controllers
+ */
+#define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_CANCEL 485
+
+/**
+ * Message for signalling status of a barrier
+ */
+#define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_STATUS 486
+
+/**
+ * Message sent by a peer when it has reached a barrier and is waiting for it to
+ * be crossed
+ */
+#define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_WAIT 487
+
/**
* Not really a message, but for careful checks on the testbed messages; Should
* always be the maximum and never be used to send messages with this type
*/
-#define GNUNET_MESSAGE_TYPE_TESTBED_MAX 484
+#define GNUNET_MESSAGE_TYPE_TESTBED_MAX 488
/**
* The initialization message towards gnunet-testbed-helper
/******************************************************************************
- * GNS. FIXME: document!
+ * GNS.
*****************************************************************************/
+
+/**
+ * Client would like to resolve a name.
+ */
#define GNUNET_MESSAGE_TYPE_GNS_LOOKUP 500
+/**
+ * Service response to name resolution request from client.
+ */
#define GNUNET_MESSAGE_TYPE_GNS_LOOKUP_RESULT 501
-#define GNUNET_MESSAGE_TYPE_GNS_SHORTEN 502
-
-#define GNUNET_MESSAGE_TYPE_GNS_SHORTEN_RESULT 503
-
-#define GNUNET_MESSAGE_TYPE_GNS_GET_AUTH 504
-
-#define GNUNET_MESSAGE_TYPE_GNS_GET_AUTH_RESULT 505
-
/*******************************************************************************
* CONSENSUS message types
/**
* Strata estimator.
*/
-#define GNUNET_MESSAGE_TYPE_SET_P2P_SE 582
+#define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_SE 582
/**
* Invertible bloom filter.
*/
-#define GNUNET_MESSAGE_TYPE_SET_P2P_IBF 583
+#define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_IBF 583
/**
* Actual set elements.
*/
#define GNUNET_MESSAGE_TYPE_SET_ITER_DONE 589
+/**
+ * Information about the element count for intersection
+ */
+#define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_ELEMENT_INFO 591
+
+/**
+ * Bloom filter message for intersection exchange started by Bob.
+ */
+#define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_BF 592
+
+/**
+ * Bloom filter message for intersection exchange started by Bob.
+ */
+#define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_BF_PART 593
/*******************************************************************************
* TESTBED LOGGER message types
/**
* Result in response to regex search.
- */
+ */
#define GNUNET_MESSAGE_TYPE_REGEX_RESULT 622
/*******************************************************************************
#define GNUNET_MESSAGE_TYPE_IDENTITY_DELETE 631
+/*******************************************************************************
+ * REVOCATION message types
+ ******************************************************************************/
+
+/**
+ * Client to service: was this key revoked?
+ */
+#define GNUNET_MESSAGE_TYPE_REVOCATION_QUERY 636
+
+/**
+ * Service to client: answer if key was revoked!
+ */
+#define GNUNET_MESSAGE_TYPE_REVOCATION_QUERY_RESPONSE 637
+
+/**
+ * Client to service OR peer-to-peer: revoke this key!
+ */
+#define GNUNET_MESSAGE_TYPE_REVOCATION_REVOKE 638
+
+/**
+ * Service to client: revocation confirmed
+ */
+#define GNUNET_MESSAGE_TYPE_REVOCATION_REVOKE_RESPONSE 639
+
+
+/*******************************************************************************
+ * SCALARPRODUCT message types
+ ******************************************************************************/
+
+/**
+ * Client -> Alice
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_TO_ALICE 640
+
+/**
+ * Client -> Bob
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_TO_BOB 641
+
+/**
+ * Client -> Alice/Bob multipart
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_MUTLIPART 642
+
+/**
+ * Alice -> Bob session initialization
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_SESSION_INITIALIZATION 643
+
+/**
+ * Alice -> Bob SP crypto-data (after intersection)
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ALICE_CRYPTODATA 644
+
+/**
+ * Alice -> Bob SP crypto-data multipart
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ALICE_CRYPTODATA_MULTIPART 645
+
+/**
+ * Bob -> Alice SP crypto-data
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_CRYPTODATA 646
+
+/**
+ * Bob -> Alice SP crypto-data multipart
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_CRYPTODATA_MULTIPART 647
+
+/**
+ * Alice/Bob -> Client Result
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_RESULT 648
+
+
+
+
+/*******************************************************************************
+ * PSYCSTORE message types
+ ******************************************************************************/
+
+/**
+ * Store a membership event.
+ */
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_MEMBERSHIP_STORE 650
+
+/**
+ * Test for membership of a member at a particular point in time.
+ */
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_MEMBERSHIP_TEST 651
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_FRAGMENT_STORE 652
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_FRAGMENT_GET 653
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_MESSAGE_GET 654
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_MESSAGE_GET_FRAGMENT 655
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_COUNTERS_GET 656
+
+/* 657 */
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_MODIFY 658
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_SYNC 659
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_RESET 660
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_HASH_UPDATE 661
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_GET 662
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_GET_PREFIX 663
+
+/**
+ * Generic response from PSYCstore service with success and/or error message.
+ */
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_CODE 664
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_FRAGMENT 665
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_COUNTERS 666
+
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_STATE 667
+
+
+/*******************************************************************************
+ * PSYC message types
+ ******************************************************************************/
+
+/**
+ * C: client
+ * S: service
+ * M: multicast
+ */
+
+/** S->C: result of an operation */
+#define GNUNET_MESSAGE_TYPE_PSYC_RESULT_CODE 680
+
+/** C->S: request to start a channel as a master */
+#define GNUNET_MESSAGE_TYPE_PSYC_MASTER_START 681
+
+/** S->C: master start acknowledgement */
+#define GNUNET_MESSAGE_TYPE_PSYC_MASTER_START_ACK 682
+
+/** C->S: request to join a channel as a slave */
+#define GNUNET_MESSAGE_TYPE_PSYC_SLAVE_JOIN 683
+
+/** S->C: slave join acknowledgement */
+#define GNUNET_MESSAGE_TYPE_PSYC_SLAVE_JOIN_ACK 684
+
+/* 685-686 */
+
+/** M->S->C: incoming join request from multicast */
+#define GNUNET_MESSAGE_TYPE_PSYC_JOIN_REQUEST 687
+
+/** C->S->M: decision about a join request */
+#define GNUNET_MESSAGE_TYPE_PSYC_JOIN_DECISION 688
+
+
+/** C->S: request to remove channel slave from the membership database. */
+#define GNUNET_MESSAGE_TYPE_PSYC_CHANNEL_SLAVE_ADD 689
+
+/** C->S: request to add channel slave to the membership database */
+#define GNUNET_MESSAGE_TYPE_PSYC_CHANNEL_SLAVE_RM 690
+
+
+/** M<->S<->C: PSYC message which contains one or more message parts. */
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE 691
+
+/** Message part: method */
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_METHOD 692
+
+/** Message part: modifier */
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_MODIFIER 693
+
+/** Message part: modifier continuation */
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_MOD_CONT 694
+
+/** Message part: data */
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_DATA 695
+
+/** Message part: end of message */
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_END 696
+
+/** Message part: message cancelled */
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_CANCEL 697
+
+/** S->C: message acknowledgment */
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_ACK 698
+
+/* 699-700 */
+
+/** C->S: client requests channel history from PSYCstore. */
+#define GNUNET_MESSAGE_TYPE_PSYC_STORY_REQUEST 701
+
+/** S->C: result for a channel history request */
+#define GNUNET_MESSAGE_TYPE_PSYC_STORY_RESULT 702
+
+
+/** C->S: request best matching state variable from PSYCstore. */
+#define GNUNET_MESSAGE_TYPE_PSYC_STATE_GET 703
+
+/** C->S: request state variables with a given prefix from PSYCstore. */
+#define GNUNET_MESSAGE_TYPE_PSYC_STATE_GET_PREFIX 704
+
+/** S->C: result for a state request. */
+#define GNUNET_MESSAGE_TYPE_PSYC_STATE_RESULT 705
+
+
+/*******************************************************************************
+ * CONVERSATION message types
+ ******************************************************************************/
+
+/**
+ * Message to transmit the audio between helper and speaker/microphone library.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_AUDIO 730
+
+/**
+ * Client -> Server message to register a phone.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_REGISTER 731
+
+/**
+ * Client -> Server message to reject/hangup a call
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_PICK_UP 732
+
+/**
+ * Client -> Server message to reject/hangup a call
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_HANG_UP 733
+
+/**
+ * Client <- Server message to indicate a ringing phone
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_CALL 734
+
+/**
+ * Client <- Server message to indicate a ringing phone
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_RING 735
+
+/**
+ * Client <-> Server message to suspend connection.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_SUSPEND 736
+
+/**
+ * Client <-> Server message to resume connection.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_RESUME 737
+
+/**
+ * Client <-> Server message to send audio data.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_PICKED_UP 738
+
+/**
+ * Client <-> Server message to send audio data.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_AUDIO 739
+
/**
- * Next available: 640
+ * Cadet: call initiation
*/
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_RING 740
+/**
+ * Cadet: hang up / refuse call
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_HANG_UP 741
+
+/**
+ * Cadet: pick up phone (establish audio channel)
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_PICK_UP 742
+
+/**
+ * Cadet: phone suspended.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_SUSPEND 743
+
+/**
+ * Cadet: phone resumed.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_RESUME 744
+
+/**
+ * Cadet: audio data
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_AUDIO 745
-/* WIP: no numbers assigned yet */
/*******************************************************************************
* MULTICAST message types
******************************************************************************/
/**
- * Multicast message from the origin to all members.
+ * C: client
+ * S: service
+ * T: cadet
+ */
+
+/**
+ * C->S: Start the origin.
*/
-#define GNUNET_MESSAGE_TYPE_MULTICAST_MESSAGE
+#define GNUNET_MESSAGE_TYPE_MULTICAST_ORIGIN_START 750
/**
- * A unicast message from a group member to the origin.
+ * C->S: Join group as a member.
*/
-#define GNUNET_MESSAGE_TYPE_MULTICAST_REQUEST
+#define GNUNET_MESSAGE_TYPE_MULTICAST_MEMBER_JOIN 751
/**
- * A peer wants to join the group.
+ * C<--S<->T: A peer wants to join the group.
*
* Unicast message to the origin or another group member.
*/
-#define GNUNET_MESSAGE_TYPE_MULTICAST_JOIN_REQUEST
+#define GNUNET_MESSAGE_TYPE_MULTICAST_JOIN_REQUEST 752
/**
- * Response to a join request.
+ * C<->S<->T: Response to a join request.
*
* Unicast message from a group member to the peer wanting to join.
*/
-#define GNUNET_MESSAGE_TYPE_MULTICAST_JOIN_DECISION
+#define GNUNET_MESSAGE_TYPE_MULTICAST_JOIN_DECISION 753
/**
* A peer wants to part the group.
*/
-#define GNUNET_MESSAGE_TYPE_MULTICAST_PART_REQUEST
+#define GNUNET_MESSAGE_TYPE_MULTICAST_PART_REQUEST 754
/**
* Acknowledgement sent in response to a part request.
*
* Unicast message from a group member to the peer wanting to part.
*/
-#define GNUNET_MESSAGE_TYPE_MULTICAST_PART_ACK
+#define GNUNET_MESSAGE_TYPE_MULTICAST_PART_ACK 755
/**
* Group terminated.
*/
-#define GNUNET_MESSAGE_TYPE_MULTICAST_GROUP_END
+#define GNUNET_MESSAGE_TYPE_MULTICAST_GROUP_END 756
+
+/**
+ * C<->S<->T: Multicast message from the origin to all members.
+ */
+#define GNUNET_MESSAGE_TYPE_MULTICAST_MESSAGE 757
+
+/**
+ * C<->S<->T: Unicast request from a group member to the origin.
+ */
+#define GNUNET_MESSAGE_TYPE_MULTICAST_REQUEST 758
+
+/**
+ * C<->S<->T: Replay request from a group member to another member.
+ */
+#define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_REQUEST 759
+
+/**
+ * C<->S<->T: Cancellation of a replay request.
+ */
+#define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_REQUEST_CANCEL 760
+
+/**
+ * S->C: Membership test request.
+ */
+#define GNUNET_MESSAGE_TYPE_MULTICAST_MEMBERSHIP_TEST 761
+
+/**
+ * C->S: Membership test result.
+ */
+#define GNUNET_MESSAGE_TYPE_MULTICAST_MEMBERSHIP_TEST_RESULT 762
+
/*******************************************************************************
- * PSYC message types
+ * SECRETSHARING message types
******************************************************************************/
+
+/**
+ * Establish a new session.
+ */
+#define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_GENERATE 780
+
+/**
+ * Request the decryption of a ciphertext.
+ */
+#define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_DECRYPT 781
+
+/**
+ * The service succeeded in decrypting a ciphertext.
+ */
+#define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_DECRYPT_DONE 782
+
+/**
+ * The cryptosystem has been established.
+ * Contains the peer's share.
+ */
+#define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_SECRET_READY 783
+
+
/*******************************************************************************
- * PSYCSTORE message types
+ * SENSOR message types
******************************************************************************/
+/**
+ * Request information about all sensors
+ */
+#define GNUNET_MESSAGE_TYPE_SENSOR_GETALL 800
+
+/**
+ * Request information about one sensor
+ */
+#define GNUNET_MESSAGE_TYPE_SENSOR_GET 801
+
+/**
+ * Message carrying sensor information
+ */
+#define GNUNET_MESSAGE_TYPE_SENSOR_INFO 802
+
+/**
+ * End of an iteration sequence
+ */
+#define GNUNET_MESSAGE_TYPE_SENSOR_END 803
+
+
+/*******************************************************************************
+ * PEERSTORE message types
+ ******************************************************************************/
+
+/**
+ * Store request message
+ */
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_STORE 820
+
+/**
+ * Iteration request
+ */
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE 821
+
+/**
+ * Iteration record message
+ */
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_RECORD 822
+
+/**
+ * Iteration end message
+ */
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_END 823
+
+/**
+ * Watch request
+ */
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_WATCH 824
+
+/**
+ * Watch response
+ */
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_WATCH_RECORD 825
+
+/**
+ * Watch cancel request
+ */
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_WATCH_CANCEL 826
+
/*******************************************************************************
* SOCIAL message types
******************************************************************************/
+/**
+ * C: client
+ * S: service
+ * P: PSYC
+ */
+
+/** S->C: result of an operation */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_RESULT_CODE 840
+
+/** C->S: request to enter a home as the host */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_HOME_ENTER 841
+
+/** S->C: home enter acknowledgement */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_HOME_ENTER_ACK 842
+
+/** C->S: request to enter a place as a guest */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_PLACE_ENTER 843
+
+/** S->C: guest join acknowledgement */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_PLACE_ENTER_ACK 844
+
+/** P->S->C: incoming join request from PSYC */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_JOIN_REQUEST 847
+
+/** C->S->P: decision about a join request */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_JOIN_DECISION 848
+
+/*******************************************************************************
+ * X-VINE DHT messages
+ ******************************************************************************/
+
+/**
+ * Trail setup request is received by a peer.
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_TRAIL_SETUP 880
+
+/**
+ * Trail to a particular peer is returned to this peer.
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_TRAIL_SETUP_RESULT 881
+
+/**
+ * Verify if your immediate successor is still your immediate successor.
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_VERIFY_SUCCESSOR 882
+
+/**
+ * Notify your new immediate successor that you are its new predecessor.
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_NOTIFY_NEW_SUCCESSOR 883
+
+/**
+ * Message which contains the immediate predecessor of requested successor
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_VERIFY_SUCCESSOR_RESULT 884
+
+/**
+ * Message which contains the get result.
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_GET_RESULT 885
+
+/**
+ * Trail Rejection Message.
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_TRAIL_REJECTION 886
+
+/**
+ * Trail Tear down Message.
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_TRAIL_TEARDOWN 887
+
+/**
+ * Routing table add message.
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_ADD_TRAIL 888
+
+/**
+ * Trail compression message.
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_TRAIL_COMPRESSION 889
+
+#if ENABLE_MALICIOUS
+/**
+ * Turn X-VINE DHT service malicious
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_ACT_MALICIOUS 890
+#endif
+
+/*******************************************************************************/
+
+/**
+ * Next available: 900
+ */
/**
* Type used to match 'all' message types.
}
#endif
+/** @} */ /* end of group protocols */
+
/* ifndef GNUNET_PROTOCOLS_H */
#endif
/* end of gnunet_protocols.h */