- merge; service API change
[oweals/gnunet.git] / src / include / gnunet_protocols.h
index 176391580b4fc1612347ca36ddc5e13b286fd04a..e31b1f33cb4b8b077a4db55c0d34d2b68d60b6b1 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2001-2013 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2001--2015 GNUnet e.V.
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 
 /**
- * @file include/gnunet_protocols.h
- * @brief constants for network protocols
  * @author Christian Grothoff
- * @defgroup protocols Types of messages used in GNUnet
+ *
+ * @file
+ * Constants for network protocols
+ *
+ * @defgroup protocols  Network protocol definitions
+ * Types of messages used in GNUnet.
+ *
+ * @see [Documentation](https://gnunet.org/ipc)
+ *
  * @{
  */
 
@@ -50,6 +56,8 @@ extern "C"
 
 /**
  * Test if service is online.
+ *
+ * @deprecated!
  */
 #define GNUNET_MESSAGE_TYPE_TEST 1
 
@@ -111,6 +119,11 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_ARM_MONITOR 14
 
+/**
+ * Test if ARM service is online.
+ */
+#define GNUNET_MESSAGE_TYPE_ARM_TEST 15
+
 /*******************************************************************************
  * HELLO message types
  ******************************************************************************/
@@ -453,11 +466,26 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_DATASTORE_DROP 103
 
+/**
+ * Message sent by datastore client to get data by key.
+ */
+#define GNUNET_MESSAGE_TYPE_DATASTORE_GET_KEY 104
+
 
 /*******************************************************************************
  * FS message types
  ******************************************************************************/
 
+/**
+ * Message sent by fs client to request LOC signature.
+ */
+#define GNUNET_MESSAGE_TYPE_FS_REQUEST_LOC_SIGN 126
+
+/**
+ * Reply sent by fs service with LOC signature.
+ */
+#define GNUNET_MESSAGE_TYPE_FS_REQUEST_LOC_SIGNATURE 127
+
 /**
  * Message sent by fs client to start indexing.
  */
@@ -511,7 +539,8 @@ extern "C"
 
 /**
  * P2P response with content or active migration of content.  Also
- * used between the service and clients (in response to START_SEARCH).
+ * used between the service and clients (in response to
+ * #GNUNET_MESSAGE_TYPE_FS_START_SEARCH).
  */
 #define GNUNET_MESSAGE_TYPE_FS_PUT 138
 
@@ -534,7 +563,6 @@ extern "C"
 /*******************************************************************************
  * DHT message types
  ******************************************************************************/
-
 /**
  * Client wants to store item in DHT.
  */
@@ -659,6 +687,16 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_STATISTICS_WATCH_VALUE 173
 
+/**
+ * Client is done sending service requests and will now disconnect.
+ */
+#define GNUNET_MESSAGE_TYPE_STATISTICS_DISCONNECT 174
+
+/**
+ * Service confirms disconnect and that it is done processing
+ * all requests from the client.
+ */
+#define GNUNET_MESSAGE_TYPE_STATISTICS_DISCONNECT_CONFIRM 175
 
 /*******************************************************************************
  * VPN message types
@@ -775,182 +813,6 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_DNS_HELPER 214
 
 
-/*******************************************************************************
- * CADET message types
- ******************************************************************************/
-
-/**
- * Type of message used to transport messages throug a CADET-tunnel (LEGACY)
- */
-#define GNUNET_MESSAGE_TYPE_CADET 215
-
-/**
- * Type of message used to send another peer which messages we want to receive
- * through a cadet-tunnel (LEGACY)
- */
-#define GNUNET_MESSAGE_TYPE_CADET_HELLO 216
-
-/**
- * Request the creation of a connection
- */
-#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_CREATE      256
-
-/**
- * Send origin an ACK that the connection is complete
- */
-#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_ACK         257
-
-/**
- * Notify that a connection is no longer valid
- */
-#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_BROKEN      258
-
-/**
- * At some point, the route will spontaneously change TODO
- */
-#define GNUNET_MESSAGE_TYPE_CADET_PATH_CHANGED           259
-
-/**
- * Payload data (usually inside a encrypted tunnel).
- */
-#define GNUNET_MESSAGE_TYPE_CADET_DATA                   260
-
-/**
- * Confirm payload data end-to-end.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_DATA_ACK               261
-
-/**
- * Key exchange encapsulation.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_KX                     262
-
-/**
- * New ephemeral key.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_KX_EPHEMERAL           263
-
-/**
- * Challenge to test peer's session key.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_KX_PING                264
-
-/**
- * Answer to session key challenge.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_KX_PONG                265
-
-/**
- * Request the destuction of a connection
- */
-#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_DESTROY     266
-
-/**
- * Hop-by-hop, connection dependent ACK.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_ACK                    268
-
-/**
- * Poll for a hop-by-hop ACK.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_POLL                   269
-
-/**
- * Announce connection is still alive (direction sensitive).
- */
-#define GNUNET_MESSAGE_TYPE_CADET_KEEPALIVE              270
-
-/**
- * Connect to the cadet service, specifying subscriptions
- */
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_CONNECT          272
-
-/**
- * Ask the cadet service to create a new channel.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_CREATE         273
-
-/**
- * Ask the cadet service to destroy a channel.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_DESTROY        274
-
-/**
- * Confirm the creation of a channel
- */
-#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_ACK            275
-
-/**
- * Reject the creation of a channel
- */
-#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_NACK           276
-
-/**
- * Encrypted data. (Payload, channel management, keepalive)
- */
-#define GNUNET_MESSAGE_TYPE_CADET_ENCRYPTED              280
-
-/**
- * Payload client <-> service
- */
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_DATA             285
-
-/**
- * Local ACK for data.
- */
-#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_CADET_LOCAL_INFO_TUNNELS     292
-
-/**
- * Local information of service about a specific tunnel.
- */
-#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
-
-/**
- * Debug request.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_DUMP        299
-
-
 
 /*******************************************************************************
  * CHAT message types START
@@ -1142,18 +1004,6 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_RELEASE 350
 
-/**
- * Type of the 'struct AddressUseMessage' sent by ATS to client
- * to confirm that an address is used or not used anymore
- */
-#define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_IN_USE 351
-
-/**
- * Type of the 'struct AddressUseMessage' sent by ATS to client
- * to confirm that an address is used or not used anymore
- */
-#define GNUNET_MESSAGE_TYPE_ATS_RESET_BACKOFF 352
-
 /**
  * Type of the 'struct AddressUpdateMessage' sent by client to ATS
  * to add a new address
@@ -1263,26 +1113,20 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_TRANSPORT_PONG 373
 
 /**
- * Message for transport service from a client asking that a
- * connection be initiated with another peer.
- */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_REQUEST_CONNECT 374
-
-/**
- * Transport CONNECT message exchanged between transport services to
+ * Transport SYN message exchanged between transport services to
  * indicate that a session should be marked as 'connected'.
  */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_CONNECT 375
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_SYN 375
 
 /**
- * Transport CONNECT_ACK message exchanged between transport services to
- * indicate that a CONNECT message was accepted
+ * Transport SYN_ACK message exchanged between transport services to
+ * indicate that a SYN message was accepted
  */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_CONNECT_ACK 376
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_SYN_ACK 376
 
 /**
- * Transport CONNECT_ACK message exchanged between transport services to
- * indicate that a CONNECT message was accepted
+ * Transport ACK message exchanged between transport services to
+ * indicate that a SYN_ACK message was accepted
  */
 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_ACK 377
 
@@ -1292,6 +1136,13 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_DISCONNECT 378
 
+/**
+ * Message exchanged between transport services to
+ * indicate that the sender should limit its transmission
+ * rate to the indicated quota.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_QUOTA 379
+
 /**
  * Request to monitor addresses used by a peer or all peers.
  */
@@ -1326,15 +1177,29 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_TRANSPORT_TRAFFIC_METRIC 385
 
 /**
- * Request to monitor address validations by a peer or all peers.
+ * Request to start monitoring the connection state of plugins.
  */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_REQUEST 386
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_START 388
 
 /**
- * Response to #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_REQUEST
- * request to iterate over all known addresses.
+ * Monitoring event about the connection state of plugins,
+ * generated in response to a subscription initiated via
+ * #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_START
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_EVENT 389
+
+/**
+ * Monitoring event notifying client that the initial iteration
+ * is now completed and we are in sync with the state of the subsystem.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_SYNC 390
+
+/**
+ * Response to #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_RESPONSE_END
+ * terminating list of replies.
  */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_RESPONSE 387
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_RESPONSE_END 391
+
 
 /*******************************************************************************
  * FS-PUBLISH-HELPER IPC Messages
@@ -1596,7 +1461,7 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_TESTBED_SLAVE_CONFIGURATION 480
 
 /**
- * Message to signal the result of GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS request
+ * Message to signal the result of #GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS request
  */
 #define GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS_RESULT 481
 
@@ -1664,6 +1529,16 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_GNS_LOOKUP_RESULT 501
 
+/**
+ * Reverse lookup
+ */
+#define GNUNET_MESSAGE_TYPE_GNS_REVERSE_LOOKUP 503
+
+/**
+ * Response to reverse lookup
+ */
+#define GNUNET_MESSAGE_TYPE_GNS_REVERSE_LOOKUP_RESULT 504
+
 
 /*******************************************************************************
  * CONSENSUS message types
@@ -1766,6 +1641,27 @@ extern "C"
  * SET message types
  ******************************************************************************/
 
+/**
+ * Demand the whole element from the other
+ * peer, given only the hash code.
+ */
+#define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_DEMAND 566
+
+/**
+ * Tell the other peer to send us a list of
+ * hashes that match an IBF key.
+ */
+#define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_INQUIRY 567
+
+/**
+ * Tell the other peer which hashes match a
+ * given IBF key.
+ */
+#define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_OFFER 568
+
+/**
+ * Reject a set request.
+ */
 #define GNUNET_MESSAGE_TYPE_SET_REJECT 569
 
 /**
@@ -1849,9 +1745,9 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENT_REQUESTS 585
 
 /**
- * Operation is done.
+ * Set operation is done.
  */
-#define GNUNET_MESSAGE_TYPE_SET_P2P_DONE 586
+#define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_DONE 586
 
 /**
  * Start iteration over set elements.
@@ -1868,6 +1764,11 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_SET_ITER_DONE 589
 
+/**
+ * Compressed strata estimator.
+ */
+#define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_SEC 590
+
 /**
  * Information about the element count for intersection
  */
@@ -1879,54 +1780,40 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_BF 592
 
 /**
- * Bloom filter message for intersection exchange started by Bob.
+ * Intersection operation is done.
  */
-#define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_BF_PART 593
-
-/*******************************************************************************
- * TESTBED LOGGER message types
- ******************************************************************************/
+#define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_DONE 593
 
 /**
- * Message for TESTBED LOGGER
+ * Ask the set service to prepare a copy of a set.
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_LOGGER_MSG 600
+#define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_PREPARE 594
 
 /**
- * Message for TESTBED LOGGER acknowledgement
+ * Give the client an ID for connecting to the set's copy.
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_LOGGER_ACK 601
-
-
-/*******************************************************************************
- * EXPERIMENTATION message types
- ******************************************************************************/
+#define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_RESPONSE 595
 
 /**
- * Message for experimentation request
+ * Sent by the client to the server to connect to an existing,
+ * lazily copied set.
  */
-#define GNUNET_MESSAGE_TYPE_EXPERIMENTATION_REQUEST 610
+#define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_CONNECT 596
 
-/**
- * Message for experimentation response
- */
-#define GNUNET_MESSAGE_TYPE_EXPERIMENTATION_RESPONSE 611
 
-/**
- * Message for experimentation response
- */
-#define GNUNET_MESSAGE_TYPE_EXPERIMENTATION_START 612
+/*******************************************************************************
+ * TESTBED LOGGER message types
+ ******************************************************************************/
 
 /**
- * Message for experimentation response
+ * Message for TESTBED LOGGER
  */
-#define GNUNET_MESSAGE_TYPE_EXPERIMENTATION_START_ACK 613
+#define GNUNET_MESSAGE_TYPE_TESTBED_LOGGER_MSG 600
 
 /**
- * Message for experimentation response
+ * Message for TESTBED LOGGER acknowledgement
  */
-#define GNUNET_MESSAGE_TYPE_EXPERIMENTATION_STOP 614
-
+#define GNUNET_MESSAGE_TYPE_TESTBED_LOGGER_ACK 601
 
 
 
@@ -2031,39 +1918,55 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_TO_BOB 641
 
 /**
- * Client -> Alice/Bob multipart
+ * Client -> Alice multipart
  */
-#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_MUTLIPART 642
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_MULTIPART_ALICE 642
 
 /**
- * Alice -> Bob session initialization
+ * Client -> Bob multipart
  */
-#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_SESSION_INITIALIZATION 643
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_MULTIPART_BOB 643
 
 /**
- * Alice -> Bob SP crypto-data (after intersection)
+ * Alice -> Bob session initialization
  */
-#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ALICE_CRYPTODATA 644
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_SESSION_INITIALIZATION 644
 
 /**
- * Alice -> Bob SP crypto-data multipart
+ * Alice -> Bob SP crypto-data (after intersection)
  */
-#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ALICE_CRYPTODATA_MULTIPART 645
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ALICE_CRYPTODATA 645
 
 /**
  * Bob -> Alice SP crypto-data
  */
-#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_CRYPTODATA 646
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_CRYPTODATA 647
 
 /**
  * Bob -> Alice SP crypto-data multipart
  */
-#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_CRYPTODATA_MULTIPART 647
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_CRYPTODATA_MULTIPART 648
 
 /**
  * Alice/Bob -> Client Result
  */
-#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_RESULT 648
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_RESULT 649
+
+/**
+ * Alice -> Bob ECC session initialization
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_SESSION_INITIALIZATION 650
+
+/**
+ * Alice -> Bob ECC crypto data
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_ALICE_CRYPTODATA 651
+
+/**
+ * Bob -> Alice ECC crypto data
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_BOB_CRYPTODATA 652
+
 
 
 
@@ -2075,47 +1978,47 @@ extern "C"
 /**
  * Store a membership event.
  */
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_MEMBERSHIP_STORE 650
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_MEMBERSHIP_STORE 660
 
 /**
  * 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_MEMBERSHIP_TEST 661
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_FRAGMENT_STORE 652
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_FRAGMENT_STORE 662
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_FRAGMENT_GET 653
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_FRAGMENT_GET 663
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_MESSAGE_GET 654
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_MESSAGE_GET 664
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_MESSAGE_GET_FRAGMENT 655
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_MESSAGE_GET_FRAGMENT 665
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_COUNTERS_GET 656
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_COUNTERS_GET 666
 
 /* 657 */
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_MODIFY 658
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_MODIFY 668
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_SYNC 659
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_SYNC 669
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_RESET 660
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_RESET 670
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_HASH_UPDATE 661
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_HASH_UPDATE 671
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_GET 662
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_GET 672
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_GET_PREFIX 663
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_GET_PREFIX 673
 
 /**
  * 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_CODE 674
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_FRAGMENT 665
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_FRAGMENT 675
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_COUNTERS 666
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_COUNTERS 676
 
-#define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_STATE 667
+#define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_STATE 677
 
 
 /*******************************************************************************
@@ -2186,7 +2089,7 @@ extern "C"
 
 /* 700 */
 
-/** C->S: client requests channel history from PSYCstore. */
+/** C->S: request channel history replay from PSYCstore. */
 #define GNUNET_MESSAGE_TYPE_PSYC_HISTORY_REPLAY 701
 
 /** S->C: result for a channel history request */
@@ -2248,7 +2151,7 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_RESUME 737
 
 /**
- * Client <-> Server message to send audio data.
+ * Service -> Client message to notify that phone was picked up.
  */
 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_PICKED_UP 738
 
@@ -2350,24 +2253,24 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_MULTICAST_REQUEST 758
 
 /**
- * C<->S<->T: Replay request from a group member to another member.
+ * C->S: Acknowledgement of a message or request fragment for the client.
  */
-#define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_REQUEST 759
+#define GNUNET_MESSAGE_TYPE_MULTICAST_FRAGMENT_ACK 759
 
 /**
- * C<->S<->T: Cancellation of a replay request.
+ * C<->S<->T: Replay request from a group member to another member.
  */
-#define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_REQUEST_CANCEL 760
+#define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_REQUEST 760
 
 /**
- * S->C: Membership test request.
+ * C<->S<->T: Replay response from a group member to another member.
  */
-#define GNUNET_MESSAGE_TYPE_MULTICAST_MEMBERSHIP_TEST 761
+#define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_RESPONSE 761
 
 /**
- * C->S: Membership test result.
+ * C<->S: End of replay response.
  */
-#define GNUNET_MESSAGE_TYPE_MULTICAST_MEMBERSHIP_TEST_RESULT 762
+#define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_RESPONSE_END 762
 
 
 
@@ -2399,108 +2302,47 @@ extern "C"
 
 
 /*******************************************************************************
- * SENSOR message types
+ * PEERSTORE message types
  ******************************************************************************/
 
 /**
- * Request information about all sensors
+ * Store request message
  */
-#define GNUNET_MESSAGE_TYPE_SENSOR_GETALL 800
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_STORE 820
 
 /**
- * Request information about one sensor
+ * Iteration request
  */
-#define GNUNET_MESSAGE_TYPE_SENSOR_GET 801
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE 821
 
 /**
- * Message carrying sensor information
+ * Iteration record message
  */
-#define GNUNET_MESSAGE_TYPE_SENSOR_INFO 802
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_RECORD 822
 
 /**
- * End of an iteration sequence
+ * Iteration end message
  */
-#define GNUNET_MESSAGE_TYPE_SENSOR_END 803
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_END 823
 
 /**
- * Message carrying a single sensor reading
+ * Watch request
  */
-#define GNUNET_MESSAGE_TYPE_SENSOR_READING 804
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_WATCH 824
 
 /**
- * Request for sensor list from update point
+ * Watch response
  */
-#define GNUNET_MESSAGE_TYPE_SENSOR_LIST_REQ 805
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_WATCH_RECORD 825
 
 /**
- * Messsage carrying brief sensor information (name, version)
+ * Watch cancel request
  */
-#define GNUNET_MESSAGE_TYPE_SENSOR_BRIEF 806
+#define GNUNET_MESSAGE_TYPE_PEERSTORE_WATCH_CANCEL 826
 
-/**
- * Request for full sensor information
- */
-#define GNUNET_MESSAGE_TYPE_SENSOR_FULL_REQ 807
-
-/**
- * Full sensor information
- */
-#define GNUNET_MESSAGE_TYPE_SENSOR_FULL 808
-
-/**
- * Sensor anomaly report
- */
-#define GNUNET_MESSAGE_TYPE_SENSOR_ANOMALY_REPORT 809
-
-/**
- * Message sent from API to service to force a new sensor anomaly status
- * (For testing purposes only)
- */
-#define GNUNET_MESSAGE_TYPE_SENSOR_ANOMALY_FORCE 810
-
-
-/*******************************************************************************
- * 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
- ******************************************************************************/
+/*******************************************************************************
+ * SOCIAL message types
+ ******************************************************************************/
 
 /**
  * C: client
@@ -2520,14 +2362,50 @@ extern "C"
 /** C->S: request to enter a place as a guest */
 #define GNUNET_MESSAGE_TYPE_SOCIAL_GUEST_ENTER 843
 
+/** C->S: request to enter a place as a guest, using a GNS address */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_GUEST_ENTER_BY_NAME 844
+
 /** S->C: guest enter acknowledgement */
-#define GNUNET_MESSAGE_TYPE_SOCIAL_GUEST_ENTER_ACK 844
+#define GNUNET_MESSAGE_TYPE_SOCIAL_GUEST_ENTER_ACK 845
 
 /** P->S->C: incoming entry request from PSYC */
-#define GNUNET_MESSAGE_TYPE_SOCIAL_ENTRY_REQUEST 845
+#define GNUNET_MESSAGE_TYPE_SOCIAL_ENTRY_REQUEST 846
 
 /** C->S->P: decision about an entry request */
-#define GNUNET_MESSAGE_TYPE_SOCIAL_ENTRY_DECISION 846
+#define GNUNET_MESSAGE_TYPE_SOCIAL_ENTRY_DECISION 847
+
+/** C->S: request to leave a place */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_PLACE_LEAVE 848
+
+/** C->S: add place to GNS zone */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_ZONE_ADD_PLACE 849
+
+/** C->S: add nym to GNS zone */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_ZONE_ADD_NYM 850
+
+/** C->S: connect application */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_APP_CONNECT 851
+
+/** C->S: detach a place from application */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_APP_DETACH 852
+
+/** S->C: notify about an existing ego */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_APP_EGO 853
+
+/** S->C: end of ego list */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_APP_EGO_END 854
+
+/** S->C: notify about an existing place */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_APP_PLACE 855
+
+/** S->C: end of place list */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_APP_PLACE_END 856
+
+/** C->S: set message processing flags */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_MSG_PROC_SET 860
+
+/** C->S: clear message processing flags */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_MSG_PROC_CLEAR 861
 
 /*******************************************************************************
  * X-VINE DHT messages
@@ -2578,11 +2456,6 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_ADD_TRAIL 888
 
-/**
- * Trail compression message.
- */
-#define GNUNET_MESSAGE_TYPE_XDHT_P2P_TRAIL_COMPRESSION 889
-
 /**
  * Peer is storing the data in DHT.
  */
@@ -2593,18 +2466,417 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_GET 891
 
+/**
+ * Send back peer that considers you are its successor, a confirmation
+ * that you got the notify successor message.
+ */
+#define GNUNET_MESSAGE_TYPE_XDHT_P2P_NOTIFY_SUCCESSOR_CONFIRMATION 892
+
 #if ENABLE_MALICIOUS
 /**
  * Turn X-VINE DHT service malicious
  */
-#define GNUNET_MESSAGE_TYPE_DHT_ACT_MALICIOUS 892
+#define GNUNET_MESSAGE_TYPE_DHT_ACT_MALICIOUS 893
+
+/**
+ * Acknowledge receiving ACT MALICIOUS request
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_CLIENT_ACT_MALICIOUS_OK  894
+
 #endif
 
-/*******************************************************************************/
+
+/*******************************************************************************
+ * Whanau DHT messages
+ ******************************************************************************/
+
+
+/**
+ * This message contains the query for performing a random walk
+ */
+#define GNUNET_MESSAGE_TYPE_WDHT_RANDOM_WALK 910
+
+/**
+ * This message contains the result of a random walk
+ */
+#define GNUNET_MESSAGE_TYPE_WDHT_RANDOM_WALK_RESPONSE 911
+
+/**
+ * This message contains a notification for the death of a trail
+ */
+#define GNUNET_MESSAGE_TYPE_WDHT_TRAIL_DESTROY 912
+
+/**
+ * This message are used to route a query to a peer
+ */
+#define GNUNET_MESSAGE_TYPE_WDHT_TRAIL_ROUTE 913
+
+/**
+ * This message contains the query to transfer successor values.
+ */
+#define GNUNET_MESSAGE_TYPE_WDHT_SUCCESSOR_FIND 914
+
+/**
+ * Message which contains the get query
+ */
+#define GNUNET_MESSAGE_TYPE_WDHT_GET 915
+
+/**
+ * Message which contains the "put", a response to
+ * #GNUNET_MESSAGE_TYPE_WDHT_SUCCESSOR_FIND.
+ */
+#define GNUNET_MESSAGE_TYPE_WDHT_PUT 916
+
+/**
+ * Message which contains the get result, a response
+ * to #GNUNET_MESSAGE_TYPE_WDHT_GET.
+ */
+#define GNUNET_MESSAGE_TYPE_WDHT_GET_RESULT 917
+
+
+/*******************************************************************************
+ * RPS messages
+ ******************************************************************************/
+
+/* P2P Messages */
+
+/**
+ * RPS check liveliness message to check liveliness of other peer
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_PP_CHECK_LIVE     950
+
+/**
+ * RPS PUSH message to push own ID to another peer
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_PP_PUSH           951
+
+/**
+ * RPS PULL REQUEST message to request the local view of another peer
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_PP_PULL_REQUEST   952
+
+/**
+ * RPS PULL REPLY message which contains the view of the other peer
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_PP_PULL_REPLY     953
+
+
+
+/* Client-Service Messages */
+
+/**
+ * RPS CS REQUEST Message for the Client to request (a) random peer(s)
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_CS_REQUEST        954
+
+/**
+ * RPS CS REPLY Message for the Server to send (a) random peer(s)
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_CS_REPLY          955
+
+/**
+ * RPS CS REQUEST CANCEL Message for the Client to cancel a request
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_CS_REQUEST_CANCEL 956
+
+/**
+ * RPS CS SEED Message for the Client to seed peers into rps
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_CS_SEED           957
+
+#ifdef ENABLE_MALICIOUS
+/**
+ * Turn RPS service malicious
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_ACT_MALICIOUS     958
+
+#endif /* ENABLE_MALICIOUS */
+
+/******************************************************************************/
+
+
+/**************************************************
+ *
+ * IDENTITY PROVIDER MESSAGE TYPES
+ */
+#define GNUNET_MESSAGE_TYPE_IDENTITY_PROVIDER_ISSUE     961
+
+#define GNUNET_MESSAGE_TYPE_IDENTITY_PROVIDER_EXCHANGE  962
+
+#define GNUNET_MESSAGE_TYPE_IDENTITY_PROVIDER_ISSUE_RESULT     963
+
+#define GNUNET_MESSAGE_TYPE_IDENTITY_PROVIDER_EXCHANGE_RESULT  964
+
+
+/**************************************************
+ *
+ * CREDENTIAL MESSAGE TYPES
+ */
+#define GNUNET_MESSAGE_TYPE_CREDENTIAL_VERIFY     971
+
+#define GNUNET_MESSAGE_TYPE_CREDENTIAL_VERIFY_RESULT 972
+
+#define GNUNET_MESSAGE_TYPE_CREDENTIAL_COLLECT 973
+
+#define GNUNET_MESSAGE_TYPE_CREDENTIAL_COLLECT_RESULT 974
+
+/******************************************************************************/
+
+
+/******************************************************************************/
+/***********************************  CADET  **********************************/
+/******************************************************************************/
+/* CADET: message types 1000-1059
+ * 1000-1009 Connection-level Messages
+ * 1010-1019 Channel-level Messages
+ * 1020-1029 Local Client-Service
+ * 1030-1039 Local Service Monitoring
+ * 1040-1049 Application Data
+ * 1050-1059 Reserved
+ */
+
+/********************************  Connection  ********************************/
+
+/**
+ * Request the creation of a connection
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_CREATE 1000
+
+/**
+ * Send origin an ACK that the connection is complete
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_CREATE_ACK 1001
+
+/**
+ * Notify that a connection is no longer valid
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_BROKEN 1002
+
+/**
+ * Request the destuction of a connection
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_DESTROY 1003
+
+/**
+ * At some point, the route will spontaneously change TODO
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_PATH_CHANGED_UNIMPLEMENTED 1004
+
+/**
+ * Hop-by-hop, connection dependent ACK.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_HOP_BY_HOP_ENCRYPTED_ACK 1005
+
+/**
+ * Axolotl key exchange.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_KX 1007
+
+/**
+ * Axolotl encrypted data.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_ENCRYPTED 1008
+
+/**
+ * We do not bother with ACKs for
+ * #GNUNET_MESSAGE_TYPE_CADET_TUNNEL_ENCRYPTED messages, but we instead
+ * poll for one if we got nothing for a while and start to be worried.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_ENCRYPTED_POLL 1006
+
+
+
+/**********************************  Channel  *********************************/
+
+/**
+ * Payload data (inside an encrypted tunnel).
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_APP_DATA 1010
+
+/**
+ * Confirm payload data end-to-end.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_APP_DATA_ACK 1011
+
+/**
+ * Announce connection is still alive (direction sensitive).
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_KEEPALIVE 1012
+
+/**
+ * Ask the cadet service to create a new channel.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN 1013
 
 /**
- * Next available: 902
+ * Ask the cadet service to destroy a channel.
  */
+#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_DESTROY 1014
+
+/**
+ * Confirm the creation of a channel
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN_ACK 1015
+
+/**
+ * Reject the creation of a channel
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN_NACK_DEPRECATED 1016
+
+/***********************************  Local  **********************************/
+
+/**
+ * Payload client <-> service
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_DATA 1020
+
+/**
+ * Local ACK for data.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_ACK 1021
+
+/**
+ * Start listening on a port.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_OPEN 1022
+
+/**
+ * Stop listening on a port.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_CLOSE 1023
+
+/**********************************  Monitor  *********************************/
+
+
+/**
+ * Local information about all channels of service.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CHANNELS 1030
+
+/**
+ * Local information of service about a specific channel.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CHANNEL 1031
+
+/**
+ * Local information about all tunnels of service.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNELS 1032
+
+/**
+ * Local information of service about a specific tunnel.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNEL 1033
+
+/**
+ * Local information about all connections of service.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CONNECTIONS 1034
+
+/**
+ * Local information of service about a specific connection.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CONNECTION 1035
+
+/**
+ * Local information about all peers known to the service.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEERS 1036
+
+/**
+ * Local information of service about a specific peer.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEER 1037
+
+/**
+ * Debug request.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_DUMP 1038
+
+/**
+ * End of local information about all peers known to the service.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEER_END 1039
+
+/********************************  Application  *******************************/
+
+/**
+ * Traffic (net-cat style) used by the Command Line Interface.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_CLI 1040
+
+/******************************************************************************/
+
+
+/******************************************************************************/
+/*************************************  NAT  **********************************/
+/******************************************************************************/
+
+/**
+ * Message to ask NAT service to register a client.
+ */
+#define GNUNET_MESSAGE_TYPE_NAT_REGISTER 1060
+
+/**
+ * Message to ask NAT service to handle a STUN packet.
+ */
+#define GNUNET_MESSAGE_TYPE_NAT_HANDLE_STUN 1061
+
+/**
+ * Message to ask NAT service to request connection reversal.
+ */
+#define GNUNET_MESSAGE_TYPE_NAT_REQUEST_CONNECTION_REVERSAL 1062
+
+/**
+ * Message to from NAT service notifying us that connection reversal
+ * was requested by another peer.
+ */
+#define GNUNET_MESSAGE_TYPE_NAT_CONNECTION_REVERSAL_REQUESTED 1063
+
+/**
+ * Message to from NAT service notifying us that one of our
+ * addresses changed.
+ */
+#define GNUNET_MESSAGE_TYPE_NAT_ADDRESS_CHANGE 1064
+
+/**
+ * Message to ask NAT service to request autoconfiguration.
+ */
+#define GNUNET_MESSAGE_TYPE_NAT_AUTO_REQUEST_CFG 1067
+
+/**
+ * Message from NAT service with the autoconfiguration result.
+ */
+#define GNUNET_MESSAGE_TYPE_NAT_AUTO_CFG_RESULT 1068
+
+
+/* 1080-1109 reserved for TMCG (Heiko Stamer, see gnunet-developers, January 2017) */
+
+
+/******************************************************************************/
+/***********************************  AUCTION  ********************************/
+/******************************************************************************/
+
+/**
+ * Client wants to create a new auction.
+ */
+#define GNUNET_MESSAGE_TYPE_AUCTION_CLIENT_CREATE 1110
+
+/**
+ * Client wants to join an existing auction.
+ */
+#define GNUNET_MESSAGE_TYPE_AUCTION_CLIENT_JOIN 1111
+
+/**
+ * Service reports the auction outcome to the client.
+ */
+#define GNUNET_MESSAGE_TYPE_AUCTION_CLIENT_OUTCOME 1112
+
+
+/**
+ * Next available: 1130
+ */
+
 
 /**
  * Type used to match 'all' message types.
@@ -2619,8 +2891,9 @@ extern "C"
 }
 #endif
 
-/** @} */ /* end of group protocols */
-
 /* ifndef GNUNET_PROTOCOLS_H */
 #endif
+
+/** @} */ /* end of group protocols */
+
 /* end of gnunet_protocols.h */