SET service: accurate results for symmetric mode
[oweals/gnunet.git] / src / include / gnunet_protocols.h
index 4063b2efdc1cc68eb48ecb08036d6e859b2fc4c7..cd0aecd073273732846d1da5889e5881a003ece0 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
@@ -14,8 +14,8 @@
 
      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.
 */
 
 /**
@@ -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
@@ -1269,20 +1272,20 @@ extern "C"
 #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 +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.
  */
@@ -1336,6 +1346,31 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_RESPONSE 387
 
+/**
+ * Request to start monitoring the connection state of plugins.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_START 388
+
+/**
+ * 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
+
+/**
+ * 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
  ******************************************************************************/
@@ -1766,6 +1801,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 +1905,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.
@@ -1879,9 +1935,26 @@ 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
+
+/**
+ * Ask the set service to prepare a copy of a set.
+ */
+#define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_PREPARE 594
+
+/**
+ * Give the client an ID for connecting to the set's copy.
+ */
+#define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_RESPONSE 595
+
+/**
+ * Sent by the client to the server to connect to an existing,
+ * lazily copied set.
+ */
+#define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_CONNECT 596
+
 
 /*******************************************************************************
  * TESTBED LOGGER message types
@@ -2031,39 +2104,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_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
+
+/**
+ * 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 +2164,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
 
 
 /*******************************************************************************
@@ -2152,11 +2241,10 @@ extern "C"
 #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/remove channel slave in the membership database. */
+#define GNUNET_MESSAGE_TYPE_PSYC_CHANNEL_MEMBERSHIP_STORE 689
 
-/** C->S: request to add channel slave to the membership database */
-#define GNUNET_MESSAGE_TYPE_PSYC_CHANNEL_SLAVE_RM 690
+/* 690 */
 
 /** S<--C: PSYC message which contains one or more message parts. */
 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE 691
@@ -2187,11 +2275,11 @@ extern "C"
 
 /* 700 */
 
-/** C->S: client requests channel history from PSYCstore. */
-#define GNUNET_MESSAGE_TYPE_PSYC_STORY_REQUEST 701
+/** C->S: request channel history replay from PSYCstore. */
+#define GNUNET_MESSAGE_TYPE_PSYC_HISTORY_REPLAY 701
 
 /** S->C: result for a channel history request */
-#define GNUNET_MESSAGE_TYPE_PSYC_STORY_RESULT 702
+#define GNUNET_MESSAGE_TYPE_PSYC_HISTORY_RESULT 702
 
 
 /** C->S: request best matching state variable from PSYCstore. */
@@ -2370,6 +2458,16 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_MULTICAST_MEMBERSHIP_TEST_RESULT 762
 
+/**
+ * C<->S<->T: Replay response from a group member to another member.
+ */
+#define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_RESPONSE 763
+
+/**
+ * C<->S: End of replay response.
+ */
+#define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_RESPONSE_END 764
+
 
 
 /*******************************************************************************
@@ -2448,6 +2546,22 @@ extern "C"
  */
 #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
+
+/**
+ * Sensor anomaly report exchanged between peers
+ */
+#define GNUNET_MESSAGE_TYPE_SENSOR_ANOMALY_REPORT_P2P 811
+
 
 /*******************************************************************************
  * PEERSTORE message types
@@ -2568,11 +2682,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.
  */
@@ -2583,17 +2692,131 @@ 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 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 REQUEST CANCEL Message for the Client to cancel a request
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_CS_REQUEST_CANCEL 955
+
+/**
+ * RPS CS SEED Message for the Client to seed peers into rps
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_CS_SEED           956
+
+#ifdef ENABLE_MALICIOUS
+/**
+ * Turn RPS service malicious
+ */
+#define GNUNET_MESSAGE_TYPE_RPS_ACT_MALICIOUS     957
+
+#endif /* ENABLE_MALICIOUS */
+
 /*******************************************************************************/
 
 /**
- * Next available: 902
+ * Next available: 960
  */
 
 /**