#include "platform.h"
#include "gnunet_util_lib.h"
-#include "gnunet-service-mesh_channel.h"
-
/**
* Struct containing information about a client of the service
*/
struct MeshClient;
+#include "gnunet-service-mesh_channel.h"
+
/******************************************************************************/
/******************************** API ***********************************/
/******************************************************************************/
GML_shutdown (void);
/**
- * Get a chennel from a client
+ * Get a channel from a client.
*
- * @param client the client to check
- * @param chid Channel ID
+ * @param c Client to check.
+ * @param chid Channel ID, must be local (> 0x800...).
*
- * @return non-NULL if channel exists in the global DLL
+ * @return non-NULL if channel exists in the clients lists
*/
struct MeshChannel *
-GML_channel_get (struct MeshClient *client, uint32_t chid);
+GML_channel_get (struct MeshClient *c, uint32_t chid);
/**
* Add a channel to a client
*
* @param c Client whose tunnel to delete.
* @param ch Channel which should be deleted.
+ * @param id Channel ID.
*/
void
-GML_client_delete_channel (struct MeshClient *c, struct MeshChannel *ch);
+GML_client_delete_channel (struct MeshClient *c,
+ struct MeshChannel *ch,
+ MESH_ChannelNumber id);
/**
* Build a local ACK message and send it to a local client, if needed.
*
* If the client was already allowed to send data, do nothing.
*
- * @param ch Channel on which to send the ACK.
* @param c Client to whom send the ACK.
- * @param fwd Set to GNUNET_YES for FWD ACK (dest->root)
+ * @param id Channel ID to use
+ */
+void
+GML_send_ack (struct MeshClient *c, MESH_ChannelNumber id);
+
+/**
+ * Build a local channel NACK message and send it to a local client.
+ *
+ * @param c Client to whom send the NACK.
+ * @param id Channel ID to use
*/
void
-GML_send_ack (struct MeshChannel *ch, int fwd);
+GML_send_nack (struct MeshClient *c, MESH_ChannelNumber id);
/**
* Notify the appropriate client that a new incoming channel was created.
*
- * @param ch Channel that was created.
+ * @param c Client to notify.
+ * @param id Channel ID.
+ * @param port Channel's destination port.
+ * @param opt Options (bit array).
+ * @param peer Origin peer.
*/
void
GML_send_channel_create (struct MeshClient *c,