- doc
[oweals/gnunet.git] / src / mesh / mesh.h
index bea5899239e04049d4492a6f45b78effc6a01397..02bf96ee619fff2e226ff02092839189d4a60b85 100644 (file)
@@ -89,17 +89,6 @@ struct GNUNET_MESH_ClientConnect
 typedef uint32_t MESH_ChannelNumber;
 
 
-/**
- * Hash to be used in Mesh communication. Only 256 bits needed,
- * instead of the 512 from @c GNUNET_HashCode.
- *
- */
-struct GNUNET_MeshHash
-{
-  unsigned char bits[256 / 8];
-};
-
-
 /**
  * Message for a client to create and destroy channels.
  */
@@ -321,6 +310,24 @@ uint32_t
 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: