/*
This file is part of GNUnet.
- Copyright (C) 2001--2015 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)
+ *
* @{
*/
*/
#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
*/
#define GNUNET_MESSAGE_TYPE_CADET_KX 262
-/**
- * New ephemeral key.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_KX_EPHEMERAL 263
-
-/**
- * Answer to session key challenge.
- */
-#define GNUNET_MESSAGE_TYPE_CADET_KX_PONG 265
-
/**
* Request the destuction of a connection
*/
*/
#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_NACK 276
/**
- * Encrypted data. (Payload, channel management, keepalive)
+ * Axolotl key exchange.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_AX_KX 281
+
+/**
+ * Axolotl encrypted data.
*/
-#define GNUNET_MESSAGE_TYPE_CADET_ENCRYPTED 280
+#define GNUNET_MESSAGE_TYPE_CADET_AX 282
/**
* Payload client <-> service
*/
#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_ACK 286
+/**
+ * Start listening on a port.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_OPEN 287
+
+/**
+ * Stop listening on a port.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_CLOSE 288
+
/**
* Local information about all channels of service.
*/
*/
#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 SYN message exchanged between transport services to
* indicate that a session should be marked as 'connected'.
*/
#define GNUNET_MESSAGE_TYPE_TRANSPORT_TRAFFIC_METRIC 385
-/**
- * Request to monitor address validations by a peer or all peers.
- */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_REQUEST 386
-
-/**
- * Response to #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_REQUEST
- * request to iterate over all known addresses.
- */
-#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_SYNC 390
/**
- * Message for transport service from a client asking that a
- * connection with another peer be torn down.
+ * Response to #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_RESPONSE_END
+ * terminating list of replies.
*/
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_REQUEST_DISCONNECT 391
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_RESPONSE_END 391
/*******************************************************************************
#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
* 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
/**
#define GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENT_REQUESTS 585
/**
- * Union operation is done.
+ * Set operation is done.
*/
#define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_DONE 586
*/
#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
*/
*/
#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
*/
#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
+
+
/**
* 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
/*******************************************************************************
/* 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 */
#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
#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
/** 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
* Whanau DHT messages
******************************************************************************/
-/**
- * This message contains the query for initialization of a finger
- */
-#define GNUNET_MESSAGE_TYPE_WDHT_FINGER_SETUP 910
/**
- * This message contains the response to the query for intialization of a finger
+ * This message contains the query for performing a random walk
*/
-#define GNUNET_MESSAGE_TYPE_WDHT_FINGER_SETUP_RESPONSE 911
+#define GNUNET_MESSAGE_TYPE_WDHT_RANDOM_WALK 910
/**
- * This message contains a notification for the death of a finger
+ * This message contains the result of a random walk
*/
-#define GNUNET_MESSAGE_TYPE_WDHT_FINGER_DESTROY 912
+#define GNUNET_MESSAGE_TYPE_WDHT_RANDOM_WALK_RESPONSE 911
/**
- * This message are used to route a query to a peer
+ * This message contains a notification for the death of a trail
*/
-#define GNUNET_MESSAGE_TYPE_WDHT_FINGER_ROUTE 913
+#define GNUNET_MESSAGE_TYPE_WDHT_TRAIL_DESTROY 912
/**
- * This message contains the query to find a successor
+ * This message are used to route a query to a peer
*/
-#define GNUNET_MESSAGE_TYPE_WDHT_NEIGHBOUR_FIND 914
+#define GNUNET_MESSAGE_TYPE_WDHT_TRAIL_ROUTE 913
/**
- * Message which contains the response to a new successor found
+ * This message contains the query to transfer successor values.
*/
-#define GNUNET_MESSAGE_TYPE_WDHT_NEIGHBOUR_FOUND 915
+#define GNUNET_MESSAGE_TYPE_WDHT_SUCCESSOR_FIND 914
/**
* Message which contains the get query
*/
-#define GNUNET_MESSAGE_TYPE_WDHT_GET 916
+#define GNUNET_MESSAGE_TYPE_WDHT_GET 915
/**
- * Message which contains the put query
+ * Message which contains the "put", a response to
+ * #GNUNET_MESSAGE_TYPE_WDHT_SUCCESSOR_FIND.
*/
-#define GNUNET_MESSAGE_TYPE_WDHT_PUT 917
+#define GNUNET_MESSAGE_TYPE_WDHT_PUT 916
/**
- * Message which contains the get result.
+ * Message which contains the get result, a response
+ * to #GNUNET_MESSAGE_TYPE_WDHT_GET.
*/
-#define GNUNET_MESSAGE_TYPE_WDHT_GET_RESULT 918
+#define GNUNET_MESSAGE_TYPE_WDHT_GET_RESULT 917
/*******************************************************************************
/* 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 950
+#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 951
+#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 952
+#define GNUNET_MESSAGE_TYPE_RPS_PP_PULL_REPLY 953
/**
* RPS CS REQUEST Message for the Client to request (a) random peer(s)
*/
-#define GNUNET_MESSAGE_TYPE_RPS_CS_REQUEST 953
+#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 954
+#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 955
+#define GNUNET_MESSAGE_TYPE_RPS_CS_SEED 957
#ifdef ENABLE_MALICIOUS
/**
* Turn RPS service malicious
*/
-#define GNUNET_MESSAGE_TYPE_RPS_ACT_MALICIOUS 956
+#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
+
+/*******************************************************************************/
+
/**
- * Next available: 960
+ * Next available: 970
*/
/**
}
#endif
-/** @} */ /* end of group protocols */
-
/* ifndef GNUNET_PROTOCOLS_H */
#endif
+
+/** @} */ /* end of group protocols */
+
/* end of gnunet_protocols.h */