-/* Any API call should be documented in the folowing table under API CALL.
- * Also, any message type should be documented in the following table, with the
- * associated event.
- *
- * API CALL (GNUNET_MESH_*) MESSAGE USED
- * ------------------------ ------------
- * connect GNUNET_MESH_Connect
- * disconnect None (network level disconnect)
- *
- * tunnel_create GNUNET_MESH_TunnelMessage
- * tunnel_destroy GNUNET_MESH_TunnelMessage
- *
- * peer_request_connect_add GNUNET_MESH_PeerControl
- * peer_request_connect_del GNUNET_MESH_PeerControl
- * peer_request_connect_by_type GNUNET_MESH_ConnectPeerByType
- *
- * notify_transmit_ready GNUNET_MESH_TransmitReady
- * notify_transmit_ready_cancel None (clear of internal data structures)
- *
- *
- *
- * EVENT MESSAGE USED
- * ----- ------------
- * notify_transmit_ready reply GNUNET_MESH_TransmitReady
- * notify_transmit_ready data GNUNET_MESH_Data or
- * GNUNET_MESH_DataBroadcast
- * new incoming tunnel GNUNET_MESH_PeerControl
- * peer connects to a tunnel GNUNET_MESH_PeerControl
- * peer disconnects from a tunnel GNUNET_MESH_PeerControl
+
+#define GNUNET_MESH_LOCAL_CHANNEL_ID_CLI 0x80000000
+#define GNUNET_MESH_LOCAL_CHANNEL_ID_SERV 0xB0000000
+
+#define HIGH_PID 0xFFFF0000
+#define LOW_PID 0x0000FFFF
+
+#define PID_OVERFLOW(pid, max) (pid > HIGH_PID && max < LOW_PID)
+
+/******************************************************************************/
+/************************** MESSAGES ******************************/
+/******************************************************************************/
+
+GNUNET_NETWORK_STRUCT_BEGIN
+
+/**
+ * Message for a client to register to the service