- fixes, debug
[oweals/gnunet.git] / src / mesh / mesh.h
index b85a8d1587d691cf59a93620c1c10503d81d45a8..a5a817c4866626f30edac97d04e5a20bbeb50e00 100644 (file)
 
 #ifndef MESH_H_
 #define MESH_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#if 0                           /* keep Emacsens' auto-indent happy */
+}
+#endif
+#endif
+
 #include <stdint.h>
 
 #define MESH_DEBUG              GNUNET_YES
@@ -193,7 +202,12 @@ struct GNUNET_MESH_RegexAnnounce
      */
   uint16_t compression_characters;
 
-  /* regex  */
+    /**
+     * Is this the last message for this regex? (for regex > 65k)
+     */
+  int16_t last;
+
+  /* regex payload  */
 };
 
 
@@ -299,6 +313,40 @@ struct GNUNET_MESH_LocalAck
 };
 
 
+/**
+ * Message to inform the client about tunnels in the service.
+ */
+struct GNUNET_MESH_LocalMonitor
+{
+  /**
+     * Type: GNUNET_MESSAGE_TYPE_MESH_LOCAL_MONITOR[_TUNNEL]
+   */
+  struct GNUNET_MessageHeader header;
+
+  /**
+   * ID of the tunnel allowed to send more data.
+   */
+  MESH_TunnelNumber tunnel_id GNUNET_PACKED;
+
+  /**
+   * Number of peers in the tunnel.
+   */
+  uint32_t npeers GNUNET_PACKED;
+
+  /**
+   * Alignment.
+   */
+  uint32_t reserved GNUNET_PACKED;
+
+  /**
+   * ID of the owner of the tunnel (can be local peer).
+   */
+  struct GNUNET_PeerIdentity owner;
+
+  /* struct GNUNET_PeerIdentity peers[npeers] */
+};
+
+
 GNUNET_NETWORK_STRUCT_END
 
 /******************************************************************************/
@@ -396,4 +444,11 @@ GMC_min_pid (uint32_t a, uint32_t b);
 const char *
 GNUNET_MESH_DEBUG_M2S (uint16_t m);
 
+#if 0                           /* keep Emacsens' auto-indent happy */
+{
+#endif
+#ifdef __cplusplus
+}
+#endif
+
 #endif