+/* Remove element from list, initializing the element's list pointers. */
+static inline void
+cds_list_del_init (struct cds_list_head *elem)
+{
+ cds_list_del(elem);
+ CDS_INIT_LIST_HEAD(elem);
+}
+
+/* delete from list, add to another list as head */
+static inline void
+cds_list_move (struct cds_list_head *elem, struct cds_list_head *head)
+{
+ __cds_list_del (elem->prev, elem->next);
+ cds_list_add (elem, head);
+}
+
+/* replace an old entry.
+ */
+static inline void
+cds_list_replace(struct cds_list_head *old, struct cds_list_head *_new)
+{
+ _new->next = old->next;
+ _new->prev = old->prev;
+ _new->prev->next = _new;
+ _new->next->prev = _new;
+}