Home | History | Annotate | Download | only in datastruct

Lines Matching refs:elem

33 void dm_list_add(struct dm_list *head, struct dm_list *elem)
37 elem->n = head;
38 elem->p = head->p;
40 head->p->n = elem;
41 head->p = elem;
48 void dm_list_add_h(struct dm_list *head, struct dm_list *elem)
52 elem->n = head->n;
53 elem->p = head;
55 head->n->p = elem;
56 head->n = elem;
64 void dm_list_del(struct dm_list *elem)
66 elem->n->p = elem->p;
67 elem->p->n = elem->n;
73 void dm_list_move(struct dm_list *head, struct dm_list *elem)
75 dm_list_del(elem);
76 dm_list_add(head, elem);
90 int dm_list_start(const struct dm_list *head, const struct dm_list *elem)
92 return elem->p == head;
98 int dm_list_end(const struct dm_list *head, const struct dm_list *elem)
100 return elem->n == head;
122 struct dm_list *dm_list_prev(const struct dm_list *head, const struct dm_list *elem)
124 return (dm_list_start(head, elem) ? NULL : elem->p);
130 struct dm_list *dm_list_next(const struct dm_list *head, const struct dm_list *elem)
132 return (dm_list_end(head, elem) ? NULL : elem->n);