client_manager: add API for async operations
[oweals/gnunet.git] / src / include / gnunet_protocols.h
index a1bc09492812ea42cd1193cc9c32ccf8a8776824..cdbc46f7f02c3f6ba92a1e925ea96425ad38f0cb 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 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
@@ -458,6 +458,16 @@ extern "C"
  * 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 +521,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 +545,6 @@ extern "C"
 /*******************************************************************************
  * DHT message types
  ******************************************************************************/
-
 /**
  * Client wants to store item in DHT.
  */
@@ -830,11 +840,6 @@ extern "C"
  */
 #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.
  */
@@ -890,6 +895,16 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_CADET_ENCRYPTED              280
 
+/**
+ * Axolotl key exchange.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_AX_KX                  281
+
+/**
+ * Axolotl encrypted data.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_AX                     282
+
 /**
  * Payload client <-> service
  */
@@ -1142,18 +1157,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
@@ -1292,6 +1295,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.
  */
@@ -1348,6 +1358,19 @@ extern "C"
  */
 #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
+
+/**
+ * Message for transport service from a client asking that a
+ * connection with another peer be torn down.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_REQUEST_DISCONNECT 391
+
+
 /*******************************************************************************
  * FS-PUBLISH-HELPER IPC Messages
  ******************************************************************************/
@@ -1861,9 +1884,9 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENT_REQUESTS 585
 
 /**
- * Operation is done.
+ * Union 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.
@@ -1891,9 +1914,10 @@ 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
+#define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_DONE 593
+
 
 /*******************************************************************************
  * TESTBED LOGGER message types
@@ -2043,39 +2067,39 @@ 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_MUTLIPART_ALICE 642
 
 /**
- * Alice -> Bob session initialization
+ * Client -> Bob multipart
  */
-#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_SESSION_INITIALIZATION 643
+#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_MUTLIPART_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
 
 
 
@@ -2607,7 +2631,7 @@ extern "C"
 
 /**
  * Send back peer that considers you are its successor, a confirmation
- * that you got the notify successor message. 
+ * that you got the notify successor message.
  */
 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_NOTIFY_SUCCESSOR_CONFIRMATION 892
 
@@ -2623,10 +2647,108 @@ extern "C"
 #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 PUSH message to push own ID to another peer
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_PP_PUSH         950
+
+/**
+ * RPS PULL REQUEST message to request the local view of another peer
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_PP_PULL_REQUEST 951
+
+/**
+ * RPS PULL REPLY message which contains the view of the other peer
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_PP_PULL_REPLY   952
+
+
+
+/* Client-Service Messages */
+
+/**
+ * RPS CS REQUEST Message for the Client to request (a) random peer(s)
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_CS_REQUEST      953
+
+/**
+ * RPS CS REPLY Message for the Server to send (a) random peer(s)
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_CS_REPLY        954
+
+/**
+ * RPS CS SEED Message for the Client to seed peers into rps
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_CS_SEED         955
+
+#ifdef ENABLE_MALICIOUS
+/**
+ * Turn RPS service malicious
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_ACT_MALICIOUS   956
+
+#endif /* ENABLE_MALICIOUS */
+
 /*******************************************************************************/
 
 /**
- * Next available: 904
+ * Next available: 960
  */
 
 /**