- fixed string to address parsing
[oweals/gnunet.git] / src / include / gnunet_protocols.h
index fd52939f525cb98a023085b6ddcd1d327c8d3349..47689d4d972e316bd23a8156efae4f4ed625ab53 100644 (file)
@@ -78,31 +78,24 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_ARM_STOP 9
 
 /**
- * Response from ARM: service is now up.
+ * Request ARM service itself to shutdown.
  */
-#define GNUNET_MESSAGE_TYPE_ARM_IS_UP 10
+#define GNUNET_MESSAGE_TYPE_ARM_SHUTDOWN 10
 
 /**
- * Response from ARM: service is now down.
- * (failed to start it or shut it down).
+ * Response from ARM.
  */
-#define GNUNET_MESSAGE_TYPE_ARM_IS_DOWN 11
+#define GNUNET_MESSAGE_TYPE_ARM_RESULT 11
 
 /**
- * Response from ARM: service status is unknown.
+ * Request to ARM to list all currently running services
  */
-#define GNUNET_MESSAGE_TYPE_ARM_IS_UNKNOWN 12
+#define GNUNET_MESSAGE_TYPE_ARM_LIST 12
 
 /**
- * Request ARM service shutdown.
+ * Response from ARM for listing currently running services
  */
-#define GNUNET_MESSAGE_TYPE_ARM_SHUTDOWN 13
-
-/**
- * Acknowledge service shutting down, disconnect
- * indicates service stopped.
- */
-#define GNUNET_MESSAGE_TYPE_ARM_SHUTDOWN_ACK 14
+#define GNUNET_MESSAGE_TYPE_ARM_LIST_RESULT 13
 
 /*******************************************************************************
  * HELLO message types
@@ -135,15 +128,18 @@ extern "C"
  ******************************************************************************/
 
 /**
- * Type of messages between the gnunet-wlan-helper and the daemon
- *
+ * Type of data messages from the plugin to the gnunet-wlan-helper 
  */
-#define GNUNET_MESSAGE_TYPE_WLAN_HELPER_DATA 40
+#define GNUNET_MESSAGE_TYPE_WLAN_DATA_TO_HELPER 39
 
 /**
- * Control messages between the gnunet-wlan-helper and the daemon
+ * Type of data messages from the gnunet-wlan-helper to the plugin
  */
+#define GNUNET_MESSAGE_TYPE_WLAN_DATA_FROM_HELPER 40
 
+/**
+ * Control message between the gnunet-wlan-helper and the daemon (with the MAC).
+ */
 #define GNUNET_MESSAGE_TYPE_WLAN_HELPER_CONTROL 41
 
 /**
@@ -258,12 +254,6 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_CORE_INIT_REPLY 65
 
-/**
- * Notify clients about new peer-to-peer connections (before
- * key exchange and authentication).
- */
-#define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_PRE_CONNECT 66
-
 /**
  * Notify clients about new peer-to-peer connections (triggered
  * after key exchange).
@@ -533,6 +523,26 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_DHT_P2P_RESULT 148
 
+/**
+ * Request / receive information about transiting GETs
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET             149
+
+/**
+ * Request / receive information about transiting GET responses
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET_RESP        150
+
+/**
+ * Request / receive information about transiting PUTs
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_PUT             151
+
+/**
+ * Request / receive information about transiting PUT responses (TODO)
+ */
+#define GNUNET_MESSAGE_TYPE_DHT_MONITOR_PUT_RESP        152
+
 
 /*******************************************************************************
  * HOSTLIST message types
@@ -590,71 +600,109 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_VPN_HELPER 185
 
 /**
- * Type of messages containing an UDP packet for a service
+ * Type of messages containing an ICMP packet for a service.
+ */
+#define GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_SERVICE 190
+
+/**
+ * Type of messages containing an ICMP packet for the Internet.
+ */
+#define GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_INTERNET 191
+
+/**
+ * Type of messages containing an ICMP packet for the VPN
  */
-#define GNUNET_MESSAGE_TYPE_VPN_SERVICE_UDP 186
+#define GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_VPN 192
 
 /**
- * Type of messages containing an UDP packet from a service
+ * Type of messages containing an DNS request for a DNS exit service.
  */
-#define GNUNET_MESSAGE_TYPE_VPN_SERVICE_UDP_BACK 187
+#define GNUNET_MESSAGE_TYPE_VPN_DNS_TO_INTERNET 193
 
 /**
- * Type of messages containing an TCP packet for a service
+ * Type of messages containing an DNS reply from a DNS exit service.
  */
-#define GNUNET_MESSAGE_TYPE_VPN_SERVICE_TCP 188
+#define GNUNET_MESSAGE_TYPE_VPN_DNS_FROM_INTERNET 194
 
 /**
- * Type of messages containing an TCP packet from a service
+ * Type of messages containing an TCP packet for a service.
  */
-#define GNUNET_MESSAGE_TYPE_VPN_SERVICE_TCP_BACK 189
+#define GNUNET_MESSAGE_TYPE_VPN_TCP_TO_SERVICE_START 195
 
 /**
- * Type of messages containing an UDP packet for a remote host
+ * Type of messages containing an TCP packet for the Internet.
  */
-#define GNUNET_MESSAGE_TYPE_VPN_REMOTE_UDP 190
+#define GNUNET_MESSAGE_TYPE_VPN_TCP_TO_INTERNET_START 196
+
+/**
+ * Type of messages containing an TCP packet of an established connection.
+ */
+#define GNUNET_MESSAGE_TYPE_VPN_TCP_DATA_TO_EXIT 197
+
+/**
+ * Type of messages containing an TCP packet of an established connection.
+ */
+#define GNUNET_MESSAGE_TYPE_VPN_TCP_DATA_TO_VPN 198
+
+/**
+ * Type of messages containing an UDP packet for a service.
+ */
+#define GNUNET_MESSAGE_TYPE_VPN_UDP_TO_SERVICE 199
+
+/**
+ * Type of messages containing an UDP packet for the Internet.
+ */
+#define GNUNET_MESSAGE_TYPE_VPN_UDP_TO_INTERNET 200
 
 /**
  * Type of messages containing an UDP packet from a remote host
  */
-#define GNUNET_MESSAGE_TYPE_VPN_REMOTE_UDP_BACK 191
+#define GNUNET_MESSAGE_TYPE_VPN_UDP_REPLY 201
+
 
 /**
- * Type of messages containing an TCP packet for a remote host
+ * Client asks VPN service to setup an IP to redirect traffic
+ * via an exit node to some global IP address.
  */
-#define GNUNET_MESSAGE_TYPE_VPN_REMOTE_TCP 192
+#define GNUNET_MESSAGE_TYPE_VPN_CLIENT_REDIRECT_TO_IP 202
 
 /**
- * Type of messages containing an TCP packet from a remote host
+ * Client asks VPN service to setup an IP to redirect traffic
+ * to some peer offering a service.
  */
-#define GNUNET_MESSAGE_TYPE_VPN_REMOTE_TCP_BACK 193
+#define GNUNET_MESSAGE_TYPE_VPN_CLIENT_REDIRECT_TO_SERVICE 203
+
+/**
+ * VPN service responds to client with an IP to use for the
+ * requested redirection.
+ */
+#define GNUNET_MESSAGE_TYPE_VPN_CLIENT_USE_IP 204
 
 
 /*******************************************************************************
  * VPN-DNS message types
  ******************************************************************************/
 
+
 /**
- * Type of messages to query the local service-dns
- */
-#define GNUNET_MESSAGE_TYPE_VPN_DNS_LOCAL_QUERY_DNS 205
-/**
- * Type of messages the local service-dns responds with
+ * Initial message from client to DNS service for registration.
  */
-#define GNUNET_MESSAGE_TYPE_VPN_DNS_LOCAL_RESPONSE_DNS 206
+#define GNUNET_MESSAGE_TYPE_DNS_CLIENT_INIT 211
+
 /**
- * Type of messages to instruct the local service-dns to rehijack the dns
+ * Type of messages between the gnunet-helper-dns and the service
  */
-#define GNUNET_MESSAGE_TYPE_REHIJACK 207
+#define GNUNET_MESSAGE_TYPE_DNS_CLIENT_REQUEST 212
+
 /**
- * Type of messages to send a DNS-query to another peer
+ * Type of messages between the gnunet-helper-dns and the service
  */
-#define GNUNET_MESSAGE_TYPE_VPN_REMOTE_QUERY_DNS 208
+#define GNUNET_MESSAGE_TYPE_DNS_CLIENT_RESPONSE 213
+
 /**
- * Type of messages to send a DNS-answer to another peer
+ * Type of messages between the gnunet-helper-dns and the service
  */
-#define GNUNET_MESSAGE_TYPE_VPN_REMOTE_ANSWER_DNS 209
-
+#define GNUNET_MESSAGE_TYPE_DNS_HELPER 214
 
 
 /*******************************************************************************
@@ -672,7 +720,6 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_MESH_HELLO 216
 
-
 /**
  * Request the creation of a path
  */
@@ -906,53 +953,66 @@ extern "C"
  */
 #define GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS 341
 
+/**
+ * Type of the 'struct RequestAddressMessage' sent by clients to ATS
+ * to request an address to help connect.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS_CANCEL 342
+
 /**
  * Type of the 'struct AddressUpdateMessage' sent by clients to ATS
  * to inform ATS about performance changes.
  */
-#define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_UPDATE 342
+#define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_UPDATE 343
 
 /**
  * Type of the 'struct AddressDestroyedMessage' sent by clients to ATS
  * to inform ATS about an address being unavailable.
  */
-#define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_DESTROYED 343
+#define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_DESTROYED 344
 
 /**
  * Type of the 'struct AddressSuggestionMessage' sent by ATS to clients
  * to suggest switching to a different address.
  */
-#define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_SUGGESTION 344
+#define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_SUGGESTION 345
 
 /**
  * Type of the 'struct PeerInformationMessage' sent by ATS to clients
  * to inform about QoS for a particular connection.
  */
-#define GNUNET_MESSAGE_TYPE_ATS_PEER_INFORMATION 345
+#define GNUNET_MESSAGE_TYPE_ATS_PEER_INFORMATION 346
 
 /**
  * Type of the 'struct ReservationRequestMessage' sent by clients to ATS
  * to ask for inbound bandwidth reservations.
  */
-#define GNUNET_MESSAGE_TYPE_ATS_RESERVATION_REQUEST 346
+#define GNUNET_MESSAGE_TYPE_ATS_RESERVATION_REQUEST 347
 
 /**
  * Type of the 'struct ReservationResultMessage' sent by ATS to clients
  * in response to a reservation request.
  */
-#define GNUNET_MESSAGE_TYPE_ATS_RESERVATION_RESULT 347
+#define GNUNET_MESSAGE_TYPE_ATS_RESERVATION_RESULT 348
 
 /**
  * Type of the 'struct ChangePreferenceMessage' sent by clients to ATS
  * to ask for allocation preference changes.
  */
-#define GNUNET_MESSAGE_TYPE_ATS_PREFERENCE_CHANGE 348
+#define GNUNET_MESSAGE_TYPE_ATS_PREFERENCE_CHANGE 349
 
 /**
  * Type of the 'struct SessionReleaseMessage' sent by ATS to client
  * to confirm that a session ID was destroyed.
  */
-#define GNUNET_MESSAGE_TYPE_ATS_SESSION_RELEASE 349
+#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
+
 
 
 
@@ -1007,12 +1067,12 @@ extern "C"
 /**
  * Request to look addresses of peers in server.
  */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_LOOKUP 367
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_TO_STRING 367
 
 /**
  * Response to the address lookup request.
  */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_REPLY 368
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_TO_STRING_REPLY 368
 
 /**
  * Register a client that wants to do blacklisting.
@@ -1070,28 +1130,144 @@ extern "C"
 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_DISCONNECT 378
 
 /**
- * Request to look up addresses of peers.
+ * Request to monitor addresses used by a peer or all peers.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_ITERATE 380
+
+/**
+ * Message send by a peer to notify the other to keep the session alive
+ * and measure latency in a regular interval
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE 381
+
+/**
+ * Response to a GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE message to
+ * measure latency in a regular interval
  */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_PEER_ADDRESS_LOOKUP 379
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE_RESPONSE 382
+
 
 /**
  * Request to iterate over all known addresses.
  */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_ITERATE 380
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_ITERATE_RESPONSE 383
 
 /**
  * Message send by a peer to notify the other to keep the session alive.
  */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE 381
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_BROADCAST_BEACON 384
+
+/*******************************************************************************
+ * STREAM LIRBRARY MESSAGES
+ ******************************************************************************/
 
 /**
- * Message send by a peer to notify the other to keep the session alive.
+ * Message containing data exchanged between stream end-points over mesh.
+ */
+#define GNUNET_MESSAGE_TYPE_STREAM_DATA 400
+
+/**
+ * ACK message
+ */
+#define GNUNET_MESSAGE_TYPE_STREAM_ACK 401
+
+/**
+ * Handshake hello message
+ */
+#define GNUNET_MESSAGE_TYPE_STREAM_HELLO 402
+
+/**
+ * Handshake hello acknowledgement message
+ */
+#define GNUNET_MESSAGE_TYPE_STREAM_HELLO_ACK 403
+
+/**
+ * Reset message
+ */
+#define GNUNET_MESSAGE_TYPE_STREAM_RESET 404
+
+/**
+ * Transmit close message (data transmission no longer possible after this
+ * message) 
+ */
+#define GNUNET_MESSAGE_TYPE_STREAM_TRANSMIT_CLOSE 405
+
+/**
+ * Transmit close acknowledgement message
+ */
+#define GNUNET_MESSAGE_TYPE_STREAM_TRANSMIT_CLOSE_ACK 406
+
+/**
+ * Receive close message (data is no loger read by the receiver after this
+ * message) 
+ */
+#define GNUNET_MESSAGE_TYPE_STREAM_RECEIVE_CLOSE 407
+
+/**
+ * Receive close acknowledgement message
+ */
+#define GNUNET_MESSAGE_TYPE_STREAM_RECEIVE_CLOSE_ACK 408
+
+/**
+ * Stream close message (data is no longer sent or read after this message)
  */
-#define GNUNET_MESSAGE_TYPE_TRANSPORT_BROADCAST_BEACON 382
+#define GNUNET_MESSAGE_TYPE_STREAM_CLOSE 409
 
+/**
+ * Close acknowledgement message
+ */
+#define GNUNET_MESSAGE_TYPE_STREAM_CLOSE_ACK 410
+
+/*******************************************************************************
+ * FS-PUBLISH-HELPER IPC Messages
+ ******************************************************************************/
+
+/**
+ * Progress information from the helper: found a file
+ */
+#define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_PROGRESS_FILE 420
+
+/**
+ * Progress information from the helper: found a directory
+ */
+#define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_PROGRESS_DIRECTORY 421
+
+/**
+ * Error signal from the helper.
+ */
+#define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_ERROR 422
+
+/**
+ * Signal that helper skipped a file.
+ */
+#define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_SKIP_FILE 423
+
+/**
+ * Signal that helper is done scanning the directory tree.
+ */
+#define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_COUNTING_DONE 424
+
+/**
+ * Extracted meta data from the helper.
+ */
+#define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_META_DATA 425
+
+/**
+ * Signal that helper is done.
+ */
+#define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_FINISHED 426
+
+/*******************************************************************************
+ * NAMESTORE message types
+ ******************************************************************************/
+
+/**
+ * Request update and listing of a peer.
+ */
+#define GNUNET_MESSAGE_TYPE_NAMESTORE_START 430
 
 /**
- *  Next available: 400
+ *  Next available: 440
  */
 
 /*******************************************************************************