+xbt_fifo_item_t xbt_fifo_get_first_item(xbt_fifo_t l);
+xbt_fifo_item_t xbt_fifo_get_next_item(xbt_fifo_item_t i);
+xbt_fifo_item_t xbt_fifo_get_prev_item(xbt_fifo_item_t i);
+
+/**
+ * \brief List iterator
+ * asserts and stuff
+ * \param f a list (#xbt_fifo_t)
+ * \param i a bucket (#xbt_fifo_item_t)
+ * \param type a type
+ * \param n an object of type \a type.
+ *
+ * Iterates over the whole list.
+ */
+#define xbt_fifo_foreach(f,i,n,type) \
+ for(i=xbt_fifo_get_first_item(f); \
+ ((i)?(n=(type)(xbt_fifo_get_item_content(i))):(NULL)); \
+ i=xbt_fifo_get_next_item(i))
+
+/** @} */