iterate topoogy header related stuff
[oweals/gnunet.git] / src / include / gnunet_protocols.h
index bfa1314c9dff18065a6cf5da23f0aa4e40be13e9..e3f266e2542137ed914e87e4cbd05fd108c98176 100644 (file)
@@ -52,26 +52,6 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_RESOLVER_RESPONSE 3
 
 
-/**
- * Set a statistical value.
- */
-#define GNUNET_MESSAGE_TYPE_STATISTICS_SET 4
-
-/**
- * Get a statistical value(s).
- */
-#define GNUNET_MESSAGE_TYPE_STATISTICS_GET 5
-
-/**
- * Response to a STATISTICS_GET message (with value).
- */
-#define GNUNET_MESSAGE_TYPE_STATISTICS_VALUE 6
-
-/**
- * Response to a STATISTICS_GET message (end of value stream).
- */
-#define GNUNET_MESSAGE_TYPE_STATISTICS_END 7
-
 
 /**
  * Request to ARM to start a service.
@@ -344,37 +324,46 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_DISCONNECT 68
 
+/**
+ * Notify clients about peer status change.
+ */
+#define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_STATUS_CHANGE 69
+
 /**
  * Notify clients about incoming P2P messages.
  */
-#define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_INBOUND 69
+#define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_INBOUND 70
 
 /**
  * Notify clients about outgoing P2P transmissions.
  */
-#define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_OUTBOUND 70
+#define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_OUTBOUND 71
 
 /**
  * Request from client to "configure" P2P connection.
  */
-#define GNUNET_MESSAGE_TYPE_CORE_REQUEST_INFO 71
+#define GNUNET_MESSAGE_TYPE_CORE_REQUEST_INFO 72
 
 /**
  * Response from server about (possibly updated) P2P
  * connection configuration.
  */
-#define GNUNET_MESSAGE_TYPE_CORE_CONFIGURATION_INFO 72
+#define GNUNET_MESSAGE_TYPE_CORE_CONFIGURATION_INFO 73
 
 /**
  * Request from client with message to transmit.
  */
-#define GNUNET_MESSAGE_TYPE_CORE_SEND 73
+#define GNUNET_MESSAGE_TYPE_CORE_SEND 74
 
 /**
  * Request from client asking to connect to a peer.
  */
-#define GNUNET_MESSAGE_TYPE_CORE_REQUEST_CONNECT 74
+#define GNUNET_MESSAGE_TYPE_CORE_REQUEST_CONNECT 75
 
+/**
+ * Request from client asking to call back with all connected peers.
+ */
+#define GNUNET_MESSAGE_TYPE_CORE_ITERATE_PEERS 76
 
 /**
  * Session key exchange between peers.
@@ -525,64 +514,99 @@ extern "C"
  */
 
 /**
- * Local and P2P generic DHT message start type
+ * Local DHT route request type
  */
-#define GNUNET_MESSAGE_TYPE_DHT_ROUTE 142
+#define GNUNET_MESSAGE_TYPE_DHT_LOCAL_ROUTE 142
 
 /**
- * Local and P2P generic DHT message start type
+ * Local generic DHT route result type
  */
-#define GNUNET_MESSAGE_TYPE_DHT_ROUTE_RESULT 143
+#define GNUNET_MESSAGE_TYPE_DHT_LOCAL_ROUTE_RESULT 143
 
 /**
- * Local and P2P generic DHT message stop type
+ * P2P DHT route request type
  */
-#define GNUNET_MESSAGE_TYPE_DHT_STOP 144
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_ROUTE 144
 
 /**
- * Local and message acknowledgment
+ * P2P DHT route result type
  */
-#define GNUNET_MESSAGE_TYPE_DHT_ACK 145
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_ROUTE_RESULT 145
 
 /**
- * Local DHT Put message, from API to service
+ * Local generic DHT message stop type
  */
-#define GNUNET_MESSAGE_TYPE_DHT_PUT 146
+#define GNUNET_MESSAGE_TYPE_DHT_LOCAL_ROUTE_STOP 146
 
 /**
- * Local DHT Get message, from API to service
+ * Local and P2P DHT PUT message
+ * (encapsulated in DHT_ROUTE message)
  */
-#define GNUNET_MESSAGE_TYPE_DHT_GET 147
+#define GNUNET_MESSAGE_TYPE_DHT_PUT 147
 
 /**
- * Local DHT Get stop message, from API to service
+ * Local and P2P DHT GET message
+ * (encapsulated in DHT_ROUTE message)
  */
-#define GNUNET_MESSAGE_TYPE_DHT_GET_STOP 148
+#define GNUNET_MESSAGE_TYPE_DHT_GET 148
 
 /**
- * Local DHT Get result message, from service to API
+ * Local and P2P DHT Get result message
  */
 #define GNUNET_MESSAGE_TYPE_DHT_GET_RESULT 149
 
 /**
- * Local DHT Get message, from API to service
+ * Local and P2P DHT find peer message
  */
 #define GNUNET_MESSAGE_TYPE_DHT_FIND_PEER 150
 
 /**
- * Local DHT Get stop message, from API to service
+ * Local and P2P DHT find peer result message
  */
-#define GNUNET_MESSAGE_TYPE_DHT_FIND_PEER_STOP 151
+#define GNUNET_MESSAGE_TYPE_DHT_FIND_PEER_RESULT 151
 
 /**
- * Local DHT find peer result message, from service to API
+ * Hostlist advertisement message
  */
-#define GNUNET_MESSAGE_TYPE_DHT_FIND_PEER_RESULT 152
+#define GNUNET_MESSAGE_TYPE_HOSTLIST_ADVERTISEMENT 160
+
 
 /**
- * Hostlist advertisement message
+ * Set a statistical value.
  */
-#define GNUNET_MESSAGE_TYPE_HOSTLIST_ADVERTISEMENT 160
+#define GNUNET_MESSAGE_TYPE_STATISTICS_SET 168
+
+/**
+ * Get a statistical value(s).
+ */
+#define GNUNET_MESSAGE_TYPE_STATISTICS_GET 169
+
+/**
+ * Response to a STATISTICS_GET message (with value).
+ */
+#define GNUNET_MESSAGE_TYPE_STATISTICS_VALUE 170
+
+/**
+ * Response to a STATISTICS_GET message (end of value stream).
+ */
+#define GNUNET_MESSAGE_TYPE_STATISTICS_END 171
+
+/**
+ * Watch changes to a statistical value.  Message format is the same
+ * as for GET, except that the subsystem and entry name must be given.
+ */
+#define GNUNET_MESSAGE_TYPE_STATISTICS_WATCH 172
+
+/**
+ * Changes to a watched value.
+ */
+#define GNUNET_MESSAGE_TYPE_STATISTICS_WATCH_VALUE 173
+
+
+/**
+ * Type of messages between the gnunet-vpn-helper and the daemon
+ */
+#define GNUNET_MESSAGE_TYPE_VPN_HELPER 185
 
 /**
  * Type used to match 'all' message types.
@@ -591,12 +615,41 @@ extern "C"
 
 /*
   TODO:
-  - DV
-  - DHT
   - applications (FS, VPN, CHAT, TRACEKIT, TBENCH)
 */
 
 
+
+
+/* BELOW: experimental student-DHT protocol codes */
+
+/**
+ * Request to join a CAN DHT
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_CAN_JOIN_REQUEST 1174
+
+/**
+ * Response to join request of a CAN DHT
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_CAN_JOIN_REPLY 1175
+
+/**
+ * Messages for swapping locations
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_GET_NEIGHBOURLIST_REQUEST 1180
+
+#define GNUNET_MESSAGE_TYPE_DHT_GET_NEIGHBOURLIST_RESULT 1181
+
+#define GNUNET_MESSAGE_TYPE_DHT_SWAP_LOCATION_REQUEST 1182
+
+#define GNUNET_MESSAGE_TYPE_DHT_SWAP_LOCATION_ACK 1183
+
+/**
+ * Freenet hello message
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_FREENET_HELLO 1184
+
+
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
 #endif