-/* Free a block allocated by `mmalloc', `mrealloc' or `mcalloc'. */
-extern void mfree(void *md, void *ptr);
+/* Datatype representing a separate heap. The whole point of the mmalloc module is to allow several such heaps in the
+ * process. It thus works by redefining all the classical memory management functions (malloc and friends) with an
+ * extra first argument: the heap in which the memory is to be taken.
+ *
+ * The heap structure itself is an opaque object that shouldnt be messed with.
+ */
+typedef struct mdesc s_xbt_mheap_t;
+typedef struct mdesc *xbt_mheap_t;