+xbt_fifo_item_t xbt_fifo_push(xbt_fifo_t l, void *t)
+{
+ xbt_fifo_item_t new;
+
+ new = xbt_fifo_newitem();
+ new->content = t;
+
+ xbt_fifo_push_item(l,new);
+ return new;
+}
+
+/*
+ * xbt_fifo_pop()
+ * from the tail
+ */
+void *xbt_fifo_pop(xbt_fifo_t l)
+{
+ xbt_fifo_item_t item;
+ void *content;
+
+ item = xbt_fifo_pop_item(l);
+ if(item==NULL) return NULL;
+
+ content = item->content;
+ xbt_fifo_freeitem(item);
+ return content;
+}
+
+/*
+ * xbt_fifo_unshift()
+ * at the head
+ */
+xbt_fifo_item_t xbt_fifo_unshift(xbt_fifo_t l, void *t)