-remove GNUNET_MQ_impl_send_commit, make it part of send_continue, to ensure calling...
[oweals/gnunet.git] / src / include / gnunet_protocols.h
index d68fc619f28d59dfba4daab6e5e929ac4e5ebe98..3169e2318d91b06185c847027c5172de7a930205 100644 (file)
@@ -23,7 +23,7 @@
  * @brief constants for network protocols
  * @author Christian Grothoff
  * @defgroup protocols Types of messages used in GNUnet
- * @{ 
+ * @{
  */
 
 /*******************************************************************************
@@ -149,7 +149,7 @@ extern "C"
  ******************************************************************************/
 
 /**
- * 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
 
@@ -807,7 +807,7 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_MESH_PATH_CHANGED           259
 
 /**
- * Payload data.
+ * Payload data (usually inside a encrypted tunnel).
  */
 #define GNUNET_MESSAGE_TYPE_MESH_DATA                   260
 
@@ -816,6 +816,26 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_MESH_DATA_ACK               261
 
+/**
+ * Key exchange encapsulation.
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_KX                     262
+
+/**
+ * New ephemeral key.
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_KX_EPHEMERAL           263
+
+/**
+ * Challenge to test peer's session key.
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_KX_PING                264
+
+/**
+ * Answer to session key challenge.
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_KX_PONG                265
+
 /**
  * Payload data origin->end DEPRECATED.
  */
@@ -843,7 +863,7 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_MESH_CONNECTION_DESTROY     266
 
 /**
- * Request the destruction of a whole tunnel 
+ * Request the destruction of a whole tunnel
  */
 #define GNUNET_MESSAGE_TYPE_MESH_TUNNEL_DESTROY         267
 
@@ -861,9 +881,10 @@ extern "C"
  * Announce origin is still alive.
  */
 #define GNUNET_MESSAGE_TYPE_MESH_FWD_KEEPALIVE          270
+#define GNUNET_MESSAGE_TYPE_MESH_KEEPALIVE          270
 
 /**
- * Announce destination is still alive.
+ * Announce destination is still alive. DEPRECATED
  */
 #define GNUNET_MESSAGE_TYPE_MESH_BCK_KEEPALIVE          271
 
@@ -890,10 +911,20 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_MESH_CHANNEL_ACK            275
 
 /**
- * Encrypted data going forward.
+ * Reject the creation of a channel
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_CHANNEL_NACK           276
+
+/**
+ * Encrypted data going forward. DEPRECATED
  */
 #define GNUNET_MESSAGE_TYPE_MESH_FWD                    280
 
+/**
+ * Encrypted data. (Payload, channel management, keepalive)
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_ENCRYPTED              280
+
 /**
  * Encrypted data going backwards.
  */
@@ -909,6 +940,11 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_MESH_LOCAL_ACK              286
 
+/**
+ * Local NACK for rejected channels.
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_NACK             287
+
 /**
  * Local information about all tunnels of service. DEPRECATED
  */
@@ -1344,38 +1380,52 @@ extern "C"
 
 
 /*******************************************************************************
- * 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
@@ -1419,7 +1469,6 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_ITERATION_STOP 448
 
-
 /*******************************************************************************
  * LOCKMANAGER message types
  ******************************************************************************/
@@ -1605,21 +1654,19 @@ extern "C"
 
 
 /******************************************************************************
- * 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
@@ -1787,12 +1834,12 @@ extern "C"
 /**
  * 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.
@@ -1824,6 +1871,15 @@ extern "C"
  */
 #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
 
 /*******************************************************************************
  * TESTBED LOGGER message types
@@ -1884,7 +1940,7 @@ extern "C"
 
 /**
  * Result in response to regex search.
- */ 
+ */
 #define GNUNET_MESSAGE_TYPE_REGEX_RESULT 622
 
 /*******************************************************************************
@@ -1933,6 +1989,31 @@ extern "C"
 #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
  ******************************************************************************/
@@ -1952,15 +2033,25 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ALICE_TO_BOB 642
 
+/**
+ * Vector-Product Service request -> remote VP Service Multipart
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ALICE_TO_BOB_MULTIPART 643
+
 /**
  * remote Vector-Product Service response -> requesting VP Service
  */
-#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_TO_ALICE 643
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_TO_ALICE 644
+
+/**
+ * remote Vector-Product Service response -> requesting VP Service Multipart
+ */
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_TO_ALICE_MULTIPART 645
 
 /**
  * Vector-Product Service response -> Client
  */
-#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_SERVICE_TO_CLIENT 644
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_SERVICE_TO_CLIENT 646
 
 
 /*******************************************************************************
@@ -2044,66 +2135,129 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_PSYC_CHANNEL_SLAVE_RM 690
 
 
-#define GNUNET_MESSAGE_TYPE_PSYC_TRANSMIT_METHOD 691
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_METHOD 691
 
-#define GNUNET_MESSAGE_TYPE_PSYC_TRANSMIT_MODIFIER 692
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_MODIFIER 692
 
-#define GNUNET_MESSAGE_TYPE_PSYC_TRANSMIT_MOD_CONT 693
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_MOD_CONT 693
 
-#define GNUNET_MESSAGE_TYPE_PSYC_TRANSMIT_DATA 694
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_DATA 694
 
 #define GNUNET_MESSAGE_TYPE_PSYC_TRANSMIT_ACK 695
 
 
-#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_METHOD 696
+#define GNUNET_MESSAGE_TYPE_PSYC_STORY_REQUEST 701
 
-#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_MODIFIER 697
+#define GNUNET_MESSAGE_TYPE_PSYC_STORY_RESPONSE 702
 
-#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_MOD_CONT 698
 
-#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_DATA 699
+#define GNUNET_MESSAGE_TYPE_PSYC_STATE_GET 703
 
-#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_ACK 700
+#define GNUNET_MESSAGE_TYPE_PSYC_STATE_GET_PREFIX 704
 
+#define GNUNET_MESSAGE_TYPE_PSYC_STATE_RESPONSE 705
 
-#define GNUNET_MESSAGE_TYPE_PSYC_STORY_REQUEST 701
+#define GNUNET_MESSAGE_TYPE_PSYC_STATE_MODIFIER 706
 
-#define GNUNET_MESSAGE_TYPE_PSYC_STORY_METHOD 702
+#define GNUNET_MESSAGE_TYPE_PSYC_STATE_MOD_CONT 707
 
-#define GNUNET_MESSAGE_TYPE_PSYC_STORY_MODIFIER 703
 
-#define GNUNET_MESSAGE_TYPE_PSYC_STORY_MOD_CONT 704
+/*******************************************************************************
+ * CONVERSATION message types
+ ******************************************************************************/
+
+/**
+ * Message to transmit the audio between helper and speaker/microphone library.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_AUDIO 730
+
+/**
+ * Client -> Server message 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
 
-#define GNUNET_MESSAGE_TYPE_PSYC_STORY_DATA 705
+/**
+ * Client <- Server message to indicate a ringing phone
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_RING 735
 
-#define GNUNET_MESSAGE_TYPE_PSYC_STORY_ACK 706
+/**
+ * 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
 
-#define GNUNET_MESSAGE_TYPE_PSYC_STATE_GET 707
+/**
+ * Client <-> Server message to send audio data.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_PICKED_UP 738
 
-#define GNUNET_MESSAGE_TYPE_PSYC_STATE_GET_PREFIX 708
+/**
+ * Client <-> Server message to send audio data.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_AUDIO 739
 
-#define GNUNET_MESSAGE_TYPE_PSYC_STATE_MODIFIER 709
+/**
+ * Mesh: call initiation
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_PHONE_RING 740
 
-#define GNUNET_MESSAGE_TYPE_PSYC_STATE_MOD_CONT 710
+/**
+ * Mesh: hang up / refuse call
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_PHONE_HANG_UP 741
 
+/**
+ * Mesh: pick up phone (establish audio channel)
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_PHONE_PICK_UP 742
 
 /**
- * Next available: 730
+ * Mesh: phone suspended.
  */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_PHONE_SUSPEND 743
 
+/**
+ * Mesh: phone resumed.
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_PHONE_RESUME 744
 
+/**
+ * Mesh: audio data
+ */
+#define GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_AUDIO 745
 
-/* WIP: no numbers assigned yet */
 
 /*******************************************************************************
  * MULTICAST message types
  ******************************************************************************/
 
+
+/* WIP: no numbers assigned yet */
+
 /**
  * Multicast message from the origin to all members.
  */
-#define GNUNET_MESSAGE_TYPE_MULTICAST_MESSAGE 730
+#define GNUNET_MESSAGE_TYPE_MULTICAST_MESSAGE 750
 
 /**
  * A unicast message from a group member to the origin.
@@ -2152,6 +2306,11 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_REQUEST_CANCEL
 
 
+/**
+ * Next available: 780
+ */
+
+
 /*******************************************************************************
  * PSYC message types
  ******************************************************************************/