return b->data;
}
+/**
+ * mb_move - move a memory block
+ * @m: memory block
+ * @p: target pool
+ *
+ * mb_move() moves the given memory block to another pool in the same way
+ * as rmove() moves a plain resource.
+ */
+void
+mb_move(void *m, pool *p)
+{
+ struct mblock *b = SKIP_BACK(struct mblock, data, m);
+ rmove(b, p);
+}
+
/**
* mb_free - free a memory block
void *mb_alloc(pool *, unsigned size);
void *mb_allocz(pool *, unsigned size);
void *mb_realloc(void *m, unsigned size);
+void mb_move(void *, pool *);
void mb_free(void *);
/* Memory pools with linear allocation */