stop helpers by closing stdin
[oweals/gnunet.git] / src / include / gnunet_protocols.h
index 10869eba2b32942bb4d665f40ed51c2a7acd5f0c..dd48e696c67b12dd50d07b66e4f18b250a81819a 100644 (file)
@@ -312,11 +312,6 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_CORE_PEER_CONNECTED 80
 
-/**
- * Session key exchange between peers.
- */
-#define GNUNET_MESSAGE_TYPE_CORE_SET_KEY 81
-
 /**
  * Encapsulation for an encrypted message between peers.
  */
@@ -347,6 +342,12 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_CORE_BINARY_TYPE_MAP 87
 
+/**
+ * Session key exchange between peers.
+ */
+#define GNUNET_MESSAGE_TYPE_CORE_EPHEMERAL_KEY 88
+
+
 /*******************************************************************************
  * DATASTORE message types
  ******************************************************************************/
@@ -483,6 +484,16 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_FS_MIGRATION_STOP 139
 
+/**
+ * P2P request for content (one FS to another via a stream).
+ */
+#define GNUNET_MESSAGE_TYPE_FS_STREAM_QUERY 140
+
+/**
+ * P2P answer for content (one FS to another via a stream).
+ */
+#define GNUNET_MESSAGE_TYPE_FS_STREAM_REPLY 141
+
 
 /*******************************************************************************
  * DHT message types
@@ -558,6 +569,11 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_PUT_OK             155
 
+/**
+ * Certain results are already known to the client, filter those.
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_RESULTS_KNOWN             156
+
 
 /*******************************************************************************
  * HOSTLIST message types
@@ -791,9 +807,14 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_MESH_TUNNEL_DESTROY         266
 
 /**
- * We need flow control
+ * ACK for a data packet.
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_ACK                    267
+
+/**
+ * Poll for an ACK.
  */
-#define GNUNET_MESSAGE_TYPE_MESH_SPEED_NOTIFY           270
+#define GNUNET_MESSAGE_TYPE_MESH_POLL                   268
 
 /**
  * Connect to the mesh service, specifying subscriptions
@@ -845,10 +866,45 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_UNBLACKLIST 281
 
+/**
+ * Set tunnel speed to slowest peer
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_MIN       282
+
+/**
+ * Set tunnel speed to fastest peer
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_MAX       283
+
+/**
+ * Set tunnel buffering on.
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_BUFFER    284
+
+/**
+ * Set tunnel buffering off.
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_NOBUFFER  285
+
+/**
+ * Local ACK for data.
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_ACK              286
+
+/**
+ * Local information about all tunnels of service.
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_TUNNELS     287
+
+/**
+ * Local information of service about a specific tunnel.
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_TUNNEL      288
+
 /**
  * 640kb should be enough for everybody
  */
-#define GNUNET_MESSAGE_TYPE_MESH_RESERVE_END            288
+#define GNUNET_MESSAGE_TYPE_MESH_RESERVE_END            299
 
 
 
@@ -1060,6 +1116,18 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_ADD 353
 
+/**
+ * Type of the 'struct AddressListRequestMessage' sent by client to ATS
+ * to request information about addresses
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_ADDRESSLIST_REQUEST 354
+
+/**
+ * Type of the 'struct AddressListResponseMessage' sent by ATS to client
+ * with information about addresses
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_ADDRESSLIST_RESPONSE 355
+
 /*******************************************************************************
  * TRANSPORT message types
  ******************************************************************************/
@@ -1201,8 +1269,13 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BROADCAST_BEACON 384
 
+/**
+ * Message containing traffic metrics for transport service
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_TRAFFIC_METRIC 385
+
 /*******************************************************************************
- * STREAM LIRBRARY MESSAGES
+ * STREAM messages types
  ******************************************************************************/
 
 /**
@@ -1413,108 +1486,219 @@ extern "C"
 /**
  * Message to add host
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_ADDHOST 461
+#define GNUNET_MESSAGE_TYPE_TESTBED_ADD_HOST 461
 
 /**
  * Message to signal that a add host succeeded
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_ADDHOSTCONFIRM 462
+#define GNUNET_MESSAGE_TYPE_TESTBED_ADD_HOST_SUCCESS 462
 
 /**
  * Message to configure a service to be shared among peers
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_SERVICESHARE 463
+#define GNUNET_MESSAGE_TYPE_TESTBED_SHARE_SERVICE 463
 
 /**
  * Message to link delegated controller to slave controller
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_LCONTROLLERS 464
+#define GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS 464
 
 /**
  * Message to create a peer at a host
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_CREATEPEER 465
+#define GNUNET_MESSAGE_TYPE_TESTBED_CREATE_PEER 465
 
 /**
  * Message to reconfigure a peer
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_PEERRECONF 466
+#define GNUNET_MESSAGE_TYPE_TESTBED_RECONFIGURE_PEER 466
 
 /**
  * Message to start a peer at a host
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_STARTPEER 467
+#define GNUNET_MESSAGE_TYPE_TESTBED_START_PEER 467
 
 /**
  * Message to stop a peer at a host
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_STOPPEER 468
+#define GNUNET_MESSAGE_TYPE_TESTBED_STOP_PEER 468
 
 /**
  * Message to destroy a peer
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_DESTROYPEER 469
+#define GNUNET_MESSAGE_TYPE_TESTBED_DESTROY_PEER 469
 
 /**
  * Configure underlay link message
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_CONFIGULLINK 470
+#define GNUNET_MESSAGE_TYPE_TESTBED_CONFIGURE_UNDERLAY_LINK 470
 
 /**
  * Message to connect peers in a overlay
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_OLCONNECT 471
+#define GNUNET_MESSAGE_TYPE_TESTBED_OVERLAY_CONNECT 471
 
 /**
  * Message for peer events
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_PEEREVENT 472
+#define GNUNET_MESSAGE_TYPE_TESTBED_PEER_EVENT 472
 
 /**
  * Message for peer connect events
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_PEERCONEVENT 473
+#define GNUNET_MESSAGE_TYPE_TESTBED_PEER_CONNECT_EVENT 473
 
 /**
  * Message for operation events
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_OPERATIONEVENT 474
+#define GNUNET_MESSAGE_TYPE_TESTBED_OPERATION_FAIL_EVENT 474
 
 /**
  * Message to signal successful peer creation
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_PEERCREATESUCCESS 475
+#define GNUNET_MESSAGE_TYPE_TESTBED_CREATE_PEER_SUCCESS 475
 
 /**
  * Message to signal a generic operation has been successful
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_GENERICOPSUCCESS 476
+#define GNUNET_MESSAGE_TYPE_TESTBED_GENERIC_OPERATION_SUCCESS 476
 
 /**
  * Message to get the configuration of a peer
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_GETPEERCONFIG 477
+#define GNUNET_MESSAGE_TYPE_TESTBED_GET_PEER_CONFIGURATION 477
 
 /**
  * Message containing the peer configuration
  */
-#define GNUNET_MESSAGE_TYPE_TESTBED_PEERCONFIG 478
+#define GNUNET_MESSAGE_TYPE_TESTBED_PEER_CONFIGURATION 478
+
+/**
+ * Message to request a controller to make one of its peer to connect to another
+ * peer using the contained HELLO
+ */
+#define GNUNET_MESSAGE_TYPE_TESTBED_REMOTE_OVERLAY_CONNECT 479
+
+/**
+ * Message to request configuration of a slave controller
+ */
+#define GNUNET_MESSAGE_TYPE_TESTBED_GET_SLAVE_CONFIGURATION 480
+
+/**
+ * Message which contains the configuration of slave controller
+ */
+#define GNUNET_MESSAGE_TYPE_TESTBED_SLAVE_CONFIGURATION 481
 
 /**
  * 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 479
+#define GNUNET_MESSAGE_TYPE_TESTBED_MAX 482
 
 /**
  * The initialization message towards gnunet-testbed-helper
  */
 #define GNUNET_MESSAGE_TYPE_TESTBED_HELPER_INIT 495
 
+/**
+ * The reply message from gnunet-testbed-helper
+ */
+#define GNUNET_MESSAGE_TYPE_TESTBED_HELPER_REPLY 496
+
+
+/**
+ * GNS. FIXME: document!
+ */
+#define GNUNET_MESSAGE_TYPE_GNS_LOOKUP 500
+
+#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
+ ******************************************************************************/
+
+/**
+ * Join a consensus session. Sent by client to service as first message.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_JOIN 520
+
+/**
+ * Insert an element. Sent by client to service.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_INSERT 521
+
+/**
+ * Begin accepting new elements from other participants.
+ * Sent by client to service.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_BEGIN 522
+
+/**
+ * Sent by service when a new element is added.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_RECEIVED_ELEMENT 523
+
+/**
+ * Sent by client to service in order to start the consensus conclusion.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE 524
+
+/**
+ * Sent by service to client in order to signal a completed consensus conclusion.
+ * Last message sent in a consensus session.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE_DONE 525
+
+
+/* message types 526-539 reserved for consensus client/service messages */
+
 
 /**
- *  Next available: 500
+ * Sent by client to service, telling whether a received element should
+ * be accepted and propagated further or not.
  */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_ACK 540
+
+/**
+ * Strata estimator.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_DELTA_ESTIMATE 541
+
+/**
+ * IBF containing all elements of a peer.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_DIFFERENCE_DIGEST 542
+
+/**
+ * Elements, and requests for further elements
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ELEMENTS 543
+
+
+/**
+ * Elements, and requests for further elements
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ELEMENTS_REQUEST 544
+
+/*
+ * Initialization message for consensus p2p communication.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_HELLO 544
+
+
+/**
+ *  Next available: 570
+ */
+
 
 /*******************************************************************************
  * TODO: we need a way to register message types centrally (via some webpage).