struct GNUNET_MESH_LocalInfo
{
/**
- * Type: GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO[_TUNNEL]
+ * Type: GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO[_TUNNEL,_PEER]
*/
struct GNUNET_MessageHeader header;
/**
* ID of the owner of the channel (can be local peer).
*/
- struct GNUNET_PeerIdentity owner;
+// struct GNUNET_PeerIdentity owner;
/**
* ID of the destination of the channel (can be local peer).
*/
+ struct GNUNET_PeerIdentity peer;
+};
+
+
+/**
+ * Message to inform the client about one of the peers in the service.
+ */
+struct GNUNET_MESH_LocalInfoPeer
+{
+ /**
+ * Type: GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_PEER[S]
+ */
+ struct GNUNET_MessageHeader header;
+
+ /**
+ * Number of paths.
+ */
+ uint16_t paths GNUNET_PACKED;
+
+ /**
+ * Do we have a tunnel toward this peer?
+ */
+ int16_t tunnel GNUNET_PACKED;
+
+ /**
+ * ID of the destination of the tunnel (can be local peer).
+ */
struct GNUNET_PeerIdentity destination;
+
+ /* If type == PEER (no 'S'): GNUNET_PeerIdentity paths[]
+ * (each path ends in destination) */
};
/**
GM_min_pid (uint32_t a, uint32_t b);
+/**
+ * Convert a 256 bit MeshHash into a 512 HashCode to use in GNUNET_h2s,
+ * multihashmap, and other HashCode-based functions.
+ *
+ * @param id A 256 bit hash to expand.
+ *
+ * @return A HashCode containing the original 256 bit hash right-padded with 0.
+ */
+const struct GNUNET_HashCode *
+GM_h2hc (const struct GNUNET_MeshHash *id);
+
+/**
+ * Get a string from a Mesh Hash (256 bits).
+ * WARNING: Not reentrant (based on GNUNET_h2s).
+ */
+const char *
+GM_h2s (const struct GNUNET_MeshHash *id);
+
/**
* Convert a message type into a string to help debug
* Generated with: