You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ SPDX-License-Identifier: AGPL3.0-or-later
*/
/**
#define GNUNET_PROTOCOLS_H
#ifdef __cplusplus
-extern "C"
-{
-#if 0 /* keep Emacsens' auto-indent happy */
+extern "C" {
+#if 0 /* keep Emacsens' auto-indent happy */
}
#endif
#endif
#define GNUNET_MESSAGE_TYPE_DV_DISCONNECT 50
/**
- * P2P DV message telling plugin that a message transmission failed (negative ACK)
+ * P2P DV message telling plugin that a message transmission failed (negative
+ * ACK)
*/
#define GNUNET_MESSAGE_TYPE_DV_SEND_NACK 51
/**
* Receive information about transiting GETs
*/
-#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET 149
+#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET 149
/**
* Receive information about transiting GET responses
*/
-#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET_RESP 150
+#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET_RESP 150
/**
* Receive information about transiting PUTs
*/
-#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_PUT 151
+#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_PUT 151
/**
* Receive information about transiting PUT responses (TODO)
*/
-#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_PUT_RESP 152
+#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_PUT_RESP 152
/**
* Request information about transiting messages
*/
-#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_START 153
+#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_START 153
/**
* Stop information about transiting messages
*/
-#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_STOP 154
+#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_STOP 154
/**
* Certain results are already known to the client, filter those.
*/
-#define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_RESULTS_KNOWN 156
+#define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_RESULTS_KNOWN 156
/**
* Further X-VINE DHT messages continued from 880
#define GNUNET_MESSAGE_TYPE_DNS_HELPER 214
-
/*******************************************************************************
* CHAT message types START
******************************************************************************/
#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
#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.
+ * 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
#define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_HELLO 546
/**
- * Report that the peer is synced with the partner after successfuly decoding the invertible bloom filter.
+ * Report that the peer is synced with the partner after successfuly decoding
+ * the invertible bloom filter.
*/
#define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_SYNCED 547
#define GNUNET_MESSAGE_TYPE_TESTBED_LOGGER_ACK 601
-
/**
* Advertise regex capability.
*/
#define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_BOB_CRYPTODATA 652
-
-
-
/*******************************************************************************
* PSYCSTORE message types
******************************************************************************/
/** S<--C: PSYC message which contains one or more message parts. */
#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE 691
-/** M<->S<->C: PSYC message which contains a header and one or more message parts. */
-#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_HEADER 692 // FIXME: start using this where appropriate
+/** M<->S<->C: PSYC message which contains a header and one or more message
+ * parts. */
+#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_HEADER \
+ 692 // FIXME: start using this where appropriate
/** Message part: method */
#define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_METHOD 693
#define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_RESPONSE_END 762
-
/*******************************************************************************
* SECRETSHARING message types
******************************************************************************/
/**
* Acknowledge receiving ACT MALICIOUS request
*/
-#define GNUNET_MESSAGE_TYPE_DHT_CLIENT_ACT_MALICIOUS_OK 894
+#define GNUNET_MESSAGE_TYPE_DHT_CLIENT_ACT_MALICIOUS_OK 894
#endif
/**
* RPS check liveliness message to check liveliness of other peer
*/
-#define GNUNET_MESSAGE_TYPE_RPS_PP_CHECK_LIVE 950
+#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 951
+#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 952
+#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 953
-
+#define GNUNET_MESSAGE_TYPE_RPS_PP_PULL_REPLY 953
/* Client-Service Messages */
/**
* RPS CS SEED Message for the Client to seed peers into rps
*/
-#define GNUNET_MESSAGE_TYPE_RPS_CS_SEED 954
+#define GNUNET_MESSAGE_TYPE_RPS_CS_SEED 954
-#ifdef ENABLE_MALICIOUS
+#if ENABLE_MALICIOUS
/**
* Turn RPS service malicious
*/
-#define GNUNET_MESSAGE_TYPE_RPS_ACT_MALICIOUS 955
+#define GNUNET_MESSAGE_TYPE_RPS_ACT_MALICIOUS 955
#endif /* ENABLE_MALICIOUS */
/**
* RPS client-service message to start a sub sampler
*/
-#define GNUNET_MESSAGE_TYPE_RPS_CS_SUB_START 956
+#define GNUNET_MESSAGE_TYPE_RPS_CS_SUB_START 956
/**
* RPS client-service message to stop a sub sampler
*/
-#define GNUNET_MESSAGE_TYPE_RPS_CS_SUB_STOP 957
+#define GNUNET_MESSAGE_TYPE_RPS_CS_SUB_STOP 957
/* Debugging API continues at 1130 */
*/
#define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_STORE 961
-#define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_STORE_RESPONSE 962
+#define GNUNET_MESSAGE_TYPE_RECLAIM_SUCCESS_RESPONSE 962
#define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_ITERATION_START 963
#define GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_ITERATION_NEXT 975
+#define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_DELETE 976
+
/**************************************************
*
* CREDENTIAL MESSAGE TYPES
*/
-#define GNUNET_MESSAGE_TYPE_CREDENTIAL_VERIFY 981
+#define GNUNET_MESSAGE_TYPE_CREDENTIAL_VERIFY 981
#define GNUNET_MESSAGE_TYPE_CREDENTIAL_VERIFY_RESULT 982
#define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_KX_AUTH 1009
-
/********************************** Channel *********************************/
/**
/**
* Local information about all channels of service.
*/
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CHANNELS 1030
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_CHANNEL 1030
/**
* Local information of service about a specific channel.
#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CHANNEL 1031
/**
- * Local information about all tunnels of service.
+ * End of local information of service about channels.
*/
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNELS 1032
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CHANNEL_END 1032
/**
- * Local information of service about a specific tunnel.
+ * Request local information about all peers known to the service.
*/
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNEL 1033
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_PEERS 1033
/**
- * Local information about all connections of service.
+ * Local information about all peers known to the service.
*/
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CONNECTIONS 1034
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEERS 1034
/**
- * Local information of service about a specific connection.
+ * End of local information about all peers known to the service.
*/
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CONNECTION 1035
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEERS_END 1035
/**
- * Local information about all peers known to the service.
+ * Request local information of service about paths to specific peer.
*/
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEERS 1036
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_PATH 1036
/**
- * Local information of service about a specific peer.
+ * Local information of service about a specific path.
*/
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEER 1037
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PATH 1037
/**
- * Debug request.
+ * End of local information of service about a specific path.
*/
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_DUMP 1038
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PATH_END 1038
/**
- * End of local information about all peers known to the service.
+ * Request local information about all tunnels of service.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_TUNNELS 1039
+
+/**
+ * Local information about all tunnels of service.
+ */
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNELS 1040
+
+/**
+ * End of local information about all tunnels of service.
*/
-#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEER_END 1039
+#define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNELS_END 1041
+
/******************************** Application *******************************/
/**
* Traffic (net-cat style) used by the Command Line Interface.
*/
-#define GNUNET_MESSAGE_TYPE_CADET_CLI 1040
+#define GNUNET_MESSAGE_TYPE_CADET_CLI 1059
/******************************************************************************/
#define GNUNET_MESSAGE_TYPE_NAT_AUTO_CFG_RESULT 1068
-/* 1080-1109 reserved for TMCG (Heiko Stamer, see gnunet-developers, January 2017) */
+/* 1080-1109 reserved for TMCG (Heiko Stamer, see gnunet-developers, January
+ * 2017) */
/******************************************************************************/
#define GNUNET_MESSAGE_TYPE_AUCTION_CLIENT_OUTCOME 1112
-
/******************************************************************************/
/********************************* RPS DEBUG ********************************/
/******************************************************************************/
/**
* @brief Send update of the view
*/
-#define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_VIEW_REPLY 1131
+#define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_VIEW_REPLY 1131
/**
* @brief Cancel getting updates of the view
*/
-#define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_VIEW_CANCEL 1132
+#define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_VIEW_CANCEL 1132
/**
/**
* @brief Send peer of biased stream
*/
-#define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_STREAM_REPLY 1134
+#define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_STREAM_REPLY 1134
/**
* @brief Cancel getting biased strem
*/
-#define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_STREAM_CANCEL 1135
+#define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_STREAM_CANCEL 1135
/*******************************************************
*/
#define GNUNET_MESSAGE_TYPE_TRANSPORT_NEW_COMMUNICATOR 1211
+/**
+ * Tell transport that it should assist with exchanging a
+ * message between communicators. Usually used when
+ * communciators are uni-directional and need an alternative
+ * back-channel.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_BACKCHANNEL 1212
+
+/**
+ * Message type used between transport services when they
+ * internally forward communicator backchannel messages.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_BACKCHANNEL_ENCAPSULATION 1213
+
+/**
+ * Type of a fragment of a CORE message created by transport to adjust
+ * message length to a queue's MTU.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_FRAGMENT 1214
+
+/**
+ * Wrapper around non-fragmented CORE message used to measure RTT
+ * and ensure reliability.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_RELIABILITY_BOX 1216
+
+/**
+ * Confirmation for a #GNUNET_MESSAGE_TYPE_TRANSPORT_RELIABILITY_BOX.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_RELIABILITY_ACK 1217
+
+/**
+ * Message sent for topology discovery at transport level.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_DV_LEARN 1218
+
+/**
+ * Source-routed transport message based DV information gathered.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_DV_BOX 1219
+
+/**
+ * Transport signalling incoming backchannel message to a communicator.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_BACKCHANNEL_INCOMING 1220
+
+/**
+ * We learned a possible network address of another peer. Transport
+ * should consider verifying it, and if successful, remembering it
+ * in the Peerstore.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_CONSIDER_VERIFY 1221
+
/**
* Message sent to indicate to the transport that a monitor
*/
#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_END 1252
+/**
+ * Message exchanged between communicators to confirm
+ * successful KX (and address validation).
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_KX_CONFIRMATION 1275
+
+/**
+ * Message exchanged between communicators to exchange
+ * flow control (FC) limits and acknowledgemets.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_FC_LIMITS 1276
+
+/**
+ * Type of the 'struct ExpressPreferenceMessage' send by clients to TRANSPORT
+ * to establish bandwidth preference.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_SUGGEST 1300
+
+/**
+ * Type of the 'struct ExpressPreferenceMessage' send by clients to TRANSPORT
+ * to abandon bandwidth preference.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_SUGGEST_CANCEL 1301
+
+/**
+ * Type of the 'struct RequestHelloValidationMessage' send by clients to
+ * TRANSPORT to trigger validation of addresses.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_REQUEST_HELLO_VALIDATION 1302
+
+
+/**
+ * P2P message: transport requests confirmation that an address works.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_VALIDATION_CHALLENGE 1303
+
+/**
+ * P2P message: transport proves that an address worked.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_VALIDATION_RESPONSE 1304
+
/* ************** NEW (NG) ATS Messages ************* */
+/* NOTE: it is not clear ATS will survive in TNG */
/**
* Type of the 'struct ExpressPreferenceMessage' send by clients to ATS
/**
- * Next available: 1450
+ * TCP communicator rekey message.
+ */
+#define GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_REKEY 1450
+
+/**
+ * TCP communicator payload box
+ */
+#define GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_BOX 1451
+
+/**
+ * TCP communicator end of stream.
+ */
+#define GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_FINISH 1452
+
+/**
+ * UDP KX acknowledgement.
*/
+#define GNUNET_MESSAGE_TYPE_COMMUNICATOR_UDP_ACK 1460
+/**
+ * UDP communicator padding.
+ */
+#define GNUNET_MESSAGE_TYPE_COMMUNICATOR_UDP_PAD 1461
+
+/**
+ * Next available: 1500
+ */
/**
#define GNUNET_MESSAGE_TYPE_ALL 65535
-#if 0 /* keep Emacsens' auto-indent happy */
+#if 0 /* keep Emacsens' auto-indent happy */
{
#endif
#ifdef __cplusplus